/*
Theme Name: NUEFELT
Theme URI: https://nuefelt.com/
Author: NUEFELT
Description: Lightweight custom WooCommerce storefront theme for NUEFELT, built with PHP, Vanilla CSS, and Vanilla JavaScript.
Version: 0.7.88
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: nuefelt
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/


/* =========================================================
   NUEFELT UNIQLO-STYLE CART & PRODUCT POLISH v0.7.5
   Scope: Cart, Points System, Checkout Button, Size Guide
   ========================================================= */

/* CART PAGE CONTAINER */
.woocommerce-cart main#main-content,
.woocommerce-cart .site-main,
.woocommerce-cart main.nf-commerce-page {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    display: block;
}

/* Sembunyikan judul halaman default 'Cart' agar tidak dobel dengan 'Shopping Cart' */
.woocommerce-cart .nf-page-heading {
    display: none !important;
}

.woocommerce-cart .woocommerce {
    padding: 24px 20px 80px;
    width: 100%;
    display: block;
}

.nf-uniqlo-cart-wrapper {
    max-width: 1240px;
    margin: 0 auto;
    width: 100%;
    display: block;
}

/* CART HEADER & SHIPPING BANNER */
.nf-uniqlo-cart-header {
    margin-bottom: 28px;
}

.nf-uniqlo-cart-title {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--nf-black, #111);
    margin: 0 0 10px;
    line-height: 1.2;
}

.nf-uniqlo-shipping-banner {
    font-size: 13.5px;
    color: #444;
    line-height: 1.5;
}

.nf-uniqlo-shipping-banner__text {
    display: block;
    color: #333;
}

.nf-uniqlo-shipping-banner__link {
    display: inline-block;
    color: #000;
    text-decoration: underline;
    text-underline-offset: 4px;
    font-weight: 500;
    margin-top: 2px;
    transition: color 0.15s ease;
}

.nf-uniqlo-shipping-banner__link:hover {
    color: var(--nf-brand, #ff625f);
}

/* 2-COLUMN DESKTOP GRID */
.nf-uniqlo-cart-form {
    width: 100%;
    display: block;
}

.nf-uniqlo-cart-grid {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 48px;
    align-items: start;
}

/* LEFT COLUMN: CARDS LIST */
.nf-uniqlo-cart-items-col {
    min-width: 0;
}

.nf-uniqlo-cart-items-list {
    border-top: 1px solid #e5e5e5;
}

/* PRODUCT CARD */
.nf-uniqlo-cart-card {
    display: grid;
    grid-template-columns: 28px 105px minmax(0, 1fr);
    gap: 16px;
    padding: 24px 0;
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    transition: opacity 0.2s ease, background 0.15s ease;
}

/* Product Thumbnail */
.nf-uniqlo-cart-card__image {
    width: 105px;
    height: 138px;
    border-radius: 4px;
    overflow: hidden;
    background: #f7f7f7;
    flex-shrink: 0;
}

.nf-uniqlo-cart-card__image a {
    display: block;
    width: 100%;
    height: 100%;
}

.nf-uniqlo-cart-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 4px;
    user-drag: none;
    -webkit-user-drag: none;
}

/* Product Info */
.nf-uniqlo-cart-card__info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

.nf-uniqlo-cart-card__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.nf-uniqlo-cart-card__title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
    color: var(--nf-black, #111);
}

.nf-uniqlo-cart-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s ease;
}

.nf-uniqlo-cart-card__title a:hover {
    color: var(--nf-brand, #ff625f);
}

.nf-uniqlo-cart-card__wishlist {
    background: transparent;
    border: none;
    font-size: 19px;
    color: #9ca3af;
    cursor: pointer;
    line-height: 1;
    padding: 2px;
    transition: color 0.15s ease, transform 0.15s ease;
    flex-shrink: 0;
}

.nf-uniqlo-cart-card__wishlist:hover {
    color: #ef4444;
    transform: scale(1.15);
}

/* Variations / Meta */
.nf-uniqlo-cart-card__variations {
    margin: 4px 0 6px;
    font-size: 12.5px;
    color: #6b7280;
}

.nf-uniqlo-cart-card__variations dl.variation {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin: 0;
}

.nf-uniqlo-cart-card__variations dt {
    font-weight: 500;
    color: #4b5563;
    margin: 0;
}

.nf-uniqlo-cart-card__variations dd {
    margin: 0;
    color: #111;
}

/* Price & Gender */
.nf-uniqlo-cart-card__pricing {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 12px;
}

.nf-uniqlo-cart-card__price {
    font-size: 15px;
    font-weight: 700;
    color: var(--nf-black, #111);
}

.nf-uniqlo-cart-card__subtitle {
    font-size: 12px;
    color: #9ca3af;
}

/* Action Row (Stepper, Hapus, Subtotal) */
.nf-uniqlo-cart-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 8px;
}

/* Stepper */
.nf-uniqlo-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    height: 36px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.nf-uniqlo-stepper__btn {
    width: 34px;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 17px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background 0.15s ease, color 0.15s ease;
    user-select: none;
}

.nf-uniqlo-stepper__btn:hover:not(:disabled) {
    background: #f3f4f6;
    color: #111;
}

.nf-uniqlo-stepper__btn:disabled {
    opacity: 0.25;
    cursor: not-allowed;
}

.nf-uniqlo-stepper input.qty.nf-uniqlo-stepper__input {
    width: 44px;
    height: 100%;
    border: none !important;
    border-left: 1px solid #e5e7eb !important;
    border-right: 1px solid #e5e7eb !important;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    background: #fff;
    padding: 0;
    margin: 0;
    border-radius: 0;
    -moz-appearance: textfield;
}

.nf-uniqlo-stepper input.qty::-webkit-outer-spin-button,
.nf-uniqlo-stepper input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Text Link Hapus */
.nf-uniqlo-cart-card__remove {
    margin-right: auto;
    margin-left: 14px;
}

.nf-uniqlo-remove-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #6b7280;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: color 0.15s ease;
}

.nf-uniqlo-remove-link .nf-trash-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
}

.nf-uniqlo-remove-link:hover {
    color: #111111;
}

/* Subtotal */
.nf-uniqlo-cart-card__subtotal {
    text-align: right;
    font-size: 13.5px;
    color: #4b5563;
    white-space: nowrap;
}

.nf-uniqlo-subtotal-val {
    font-size: 15px;
    font-weight: 700;
    color: var(--nf-black, #111);
    margin-left: 4px;
}

/* Cart Update Button Wrap (Hidden/Fallback) */
.nf-uniqlo-cart-update-wrap {
    padding: 16px 0;
    text-align: right;
    display: none;
}

/* RIGHT COLUMN (STICKY SUMMARY) */
.nf-uniqlo-cart-summary-col {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* SUMMARY CARD (Ringkasan Pesanan) */
.nf-uniqlo-summary-card {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
}

.nf-uniqlo-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 20px;
}

.nf-uniqlo-summary-title {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #111;
    margin: 0;
}

.nf-uniqlo-summary-count {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
}

.nf-uniqlo-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nf-uniqlo-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13.5px;
    color: #374151;
}

.nf-uniqlo-summary-row--fee,
.nf-uniqlo-summary-row--coupon {
    color: #15803d;
    font-weight: 500;
}

.nf-uniqlo-summary-divider {
    border-top: 1px solid #e5e7eb;
    margin: 6px 0;
}

.nf-uniqlo-summary-row--total {
    font-size: 16.5px;
    font-weight: 700;
    color: #111;
    margin-top: 4px;
}

.nf-uniqlo-total-value {
    font-size: 18px;
}

.nf-uniqlo-summary-tax {
    display: flex;
    justify-content: space-between;
    font-size: 11.5px;
    color: #9ca3af;
    margin-top: 2px;
}

/* COUPON ACCORDION */
.nf-uniqlo-coupon-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.nf-uniqlo-coupon-accordion summary {
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    list-style: none;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    user-select: none;
    transition: background 0.15s ease;
}

.nf-uniqlo-coupon-accordion summary:hover {
    background: #f9fafb;
}

.nf-uniqlo-coupon-accordion summary::-webkit-details-marker {
    display: none;
}

.nf-uniqlo-coupon-summary__left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nf-uniqlo-coupon-icon {
    width: 18px;
    height: 18px;
    color: #4b5563;
}

.nf-uniqlo-accordion-caret {
    font-size: 18px;
    color: #9ca3af;
    transition: transform 0.2s ease;
}

.nf-uniqlo-coupon-accordion[open] .nf-uniqlo-accordion-caret {
    transform: rotate(90deg);
}

.nf-uniqlo-coupon-form {
    padding: 0 20px 20px;
}

.nf-uniqlo-coupon-input-wrap {
    display: flex;
    gap: 8px;
}

.nf-uniqlo-coupon-input {
    flex: 1;
    min-width: 0;
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    padding: 0 12px;
    font-size: 13px;
    color: #111;
}

.nf-uniqlo-coupon-input:focus {
    border-color: #111;
    outline: none;
}

.nf-uniqlo-coupon-btn {
    height: 42px;
    padding: 0 18px;
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.nf-uniqlo-coupon-btn:hover {
    background: #333 !important;
}

/* POIN BELANJA NUEFELT INTEGRATION */
.woocommerce-cart .nuefelt-points-redeem-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px;
    box-shadow: none;
    margin: 0;
}

.woocommerce-cart .nuefelt-points-redeem-card__head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}

.woocommerce-cart .nuefelt-points-badge-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #111;
    color: #f59e0b;
    display: grid;
    place-items: center;
    font-size: 14px;
    flex-shrink: 0;
}

.woocommerce-cart .nuefelt-points-redeem-card__head strong {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    display: block;
    margin-bottom: 2px;
}

.woocommerce-cart .nuefelt-points-redeem-card__head p {
    font-size: 12px;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
}

.woocommerce-cart .nuefelt-points-input-wrap {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.woocommerce-cart .nuefelt-points-input-wrap input {
    flex: 1;
    min-width: 0;
    height: 40px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: #111;
}

.woocommerce-cart .nuefelt-points-input-wrap .nf-button {
    height: 40px;
    padding: 0 14px;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease;
}

.woocommerce-cart .nuefelt-points-input-wrap .nf-button:hover {
    background: #333;
}

/* CHECKOUT ACTIONS & CTA */
.nf-uniqlo-checkout-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nf-uniqlo-shipping-reminder {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.45;
    margin: 4px 0 0;
}

.nf-uniqlo-shipping-reminder a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
}

.nf-uniqlo-reservation-text {
    font-size: 11.5px;
    color: #9ca3af;
    line-height: 1.45;
    margin: 0;
}

.woocommerce-cart .checkout-button,
.woocommerce-cart .nf-uniqlo-checkout-btn,
.nf-uniqlo-checkout-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    min-height: 52px !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
    cursor: pointer;
    margin: 0 auto !important;
}

.woocommerce-cart .checkout-button:hover,
.nf-uniqlo-checkout-btn:hover {
    background: #222 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

/* SECTION: ANDA MUNGKIN JUGA SUKA (Gambar 4) */
.nf-uniqlo-cart-rec-section {
    margin-top: 64px;
    padding-top: 48px;
    border-top: 1px solid #e5e5e5;
}

.nf-uniqlo-cart-rec-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 24px;
    gap: 16px;
}

.nf-uniqlo-cart-rec-title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--nf-black, #111);
    margin: 0 0 4px;
    line-height: 1.2;
}

.nf-uniqlo-cart-rec-sub {
    font-size: 13.5px;
    color: #6b7280;
    margin: 0;
}

.nf-uniqlo-cart-rec-arrows {
    display: flex;
    gap: 8px;
}

.nf-rec-nav-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #d1d5db;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font-size: 22px;
    line-height: 1;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: all 0.15s ease;
    user-select: none;
}

.nf-rec-nav-btn:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

.nf-uniqlo-rec-scroll {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 280px;
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 8px;
}

.nf-uniqlo-rec-scroll::-webkit-scrollbar {
    display: none;
}

/* EMPTY CART STATE */
.nf-uniqlo-cart-empty__box {
    text-align: center;
    padding: 64px 20px;
    background: #fdfdfd;
    border: 1px dashed #e2e8f0;
    border-radius: 8px;
    margin-bottom: 40px;
}

.nf-uniqlo-cart-empty__icon {
    width: 52px;
    height: 52px;
    color: #9ca3af;
    margin: 0 auto 16px;
    display: block;
}

.nf-uniqlo-cart-empty__title {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px;
}

.nf-uniqlo-cart-empty__text {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 24px;
}

.nf-uniqlo-cart-empty__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    background: #000 !important;
    color: #fff !important;
    border-radius: 9999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: background 0.2s ease;
}

.nf-uniqlo-cart-empty__btn:hover {
    background: #222 !important;
}

/* RESPONSIVE MOBILE ADJUSTMENTS */
@media (max-width: 991px) {
    .nf-uniqlo-cart-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .nf-uniqlo-cart-summary-col {
        position: static;
    }

    .nf-uniqlo-rec-scroll {
        grid-auto-columns: 200px;
        gap: 14px;
    }
}

@media (max-width: 600px) {
    .nf-uniqlo-cart-title {
        font-size: 26px;
    }

    .nf-uniqlo-cart-card {
        grid-template-columns: 90px 1fr;
        gap: 14px;
        padding: 20px 0;
    }

    .nf-uniqlo-cart-card__image {
        width: 90px;
        height: 118px;
    }

    .nf-uniqlo-cart-card__actions {
        flex-wrap: wrap;
        gap: 10px;
    }

    .nf-uniqlo-cart-card__remove {
        order: 3;
        margin-left: 0;
        width: 100%;
    }

    .nf-uniqlo-cart-card__subtotal {
        margin-left: auto;
    }

    .nf-uniqlo-rec-scroll {
        grid-auto-columns: 160px;
        gap: 12px;
    }

    .nf-uniqlo-cart-rec-title {
        font-size: 20px;
    }
}

/* =========================================================
   CHECKOUT LAYOUT & PRESENTATION POLISH (UNIQLO / PREMIUM)
   ========================================================= */
.woocommerce-checkout .woocommerce {
    max-width: 1220px;
    margin: auto;
    padding: 40px 24px 80px;
}

.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(360px, 420px);
    gap: 48px;
    align-items: start;
}

/* CUSTOMER DETAILS CARD (LEFT COLUMN) */
.woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 32px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
}

.woocommerce-checkout .col2-set {
    display: block;
    width: 100%;
    float: none;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    display: block;
    width: 100%;
    float: none;
}

/* Section Headings */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #111111;
    margin-top: 0;
    margin-bottom: 22px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f0f0;
    line-height: 1.3;
}

/* Form Fields Grid */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.woocommerce-checkout .form-row {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    float: none !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row[id*="country_field"],
.woocommerce-checkout .form-row[id*="address_1_field"],
.woocommerce-checkout .form-row[id*="address_2_field"],
.woocommerce-checkout .form-row[id*="destination_field"] {
    grid-column: 1 / -1;
}

.woocommerce-checkout .form-row-first {
    grid-column: 1;
}

.woocommerce-checkout .form-row-last {
    grid-column: 2;
}

.woocommerce-checkout .form-row label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 6px;
    line-height: 1.4;
}

.woocommerce-checkout .form-row label .required {
    color: #e11d48;
    text-decoration: none;
    font-weight: 700;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #111111 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08) !important;
}

/* Shipping / Different address toggle */
.woocommerce-checkout #ship-to-different-address {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
    margin-bottom: 16px;
}

.woocommerce-checkout #ship-to-different-address label {
    font-size: 15px;
    font-weight: 600;
    color: #111111;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ORDER NOTES (OPTIONAL) - STRICT FIXED SIZE, NO RESIZE */
.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
    display: none;
}

.woocommerce-checkout #order_comments,
.woocommerce-checkout textarea[name="order_comments"],
.woocommerce-checkout .form-row textarea {
    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;
    max-height: 90px !important;
    resize: none !important; /* DIBUAT AGAR TIDAK BISA DIUBAH UKURAN LEBAR PANJANGNYA */
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout #order_comments:focus {
    border-color: #111111 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08) !important;
}

/* RIGHT COLUMN - YOUR ORDER & PAYMENT */
.woocommerce-checkout .nf-checkout-order-review-wrap {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 96px;
    align-self: start;
}

.woocommerce-checkout .woocommerce-checkout-review-order {
    width: 100%;
    float: none;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
    background: #fafafa;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
}

/* Fallback if template without wrapper is used */
.woocommerce-checkout form.checkout > #customer_details {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.woocommerce-checkout form.checkout > #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin-top: 0;
    margin-bottom: 20px;
}

.woocommerce-checkout form.checkout > #order_review {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
}

/* Order Review Table */
/* Order Review Table */
.woocommerce-checkout table.shop_table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse;
    border: none;
    margin-bottom: 20px;
    background: transparent;
}

.woocommerce-checkout table.shop_table thead,
.woocommerce-checkout table.shop_table tbody,
.woocommerce-checkout table.shop_table tfoot {
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout table.shop_table thead tr,
.woocommerce-checkout table.shop_table tr.cart-subtotal,
.woocommerce-checkout table.shop_table tr.order-total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 0;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-checkout table.shop_table tr.cart_item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 0;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-checkout table.shop_table tr.cart_item td.product-name {
    flex: 1 1 auto !important;
    padding: 0 16px 0 0 !important;
    border: none !important;
}

.woocommerce-checkout table.shop_table tr.cart_item td.product-total {
    flex: 0 0 auto !important;
    padding: 0 !important;
    border: none !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    padding: 0;
    border: none;
    font-size: 14px;
}

.woocommerce-checkout table.shop_table th {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #6b7280;
}

.woocommerce-checkout table.shop_table tr.order-total th,
.woocommerce-checkout table.shop_table tr.order-total td {
    font-size: 17px;
    font-weight: 700;
    color: #111111;
    border-top: 1px solid #111111;
    border-bottom: none;
    padding-top: 16px;
}

/* Shipping Totals & Methods Cards: 100% FULL WIDTH */
.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals,
.woocommerce-checkout table.shop_table tr.shipping {
    display: block !important;
    width: 100% !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals th,
.woocommerce-checkout table.shop_table tr.shipping th {
    display: block !important;
    width: 100% !important;
    padding: 0 0 10px 0 !important;
    border: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals td,
.woocommerce-checkout table.shop_table tr.shipping td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout ul#shipping_method,
.woocommerce-checkout ul.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 2px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-height: 290px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
    scrollbar-color: #d1d5db transparent !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods::-webkit-scrollbar {
    width: 5px !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods::-webkit-scrollbar-track {
    background: transparent !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods::-webkit-scrollbar-thumb {
    background: #d1d5db !important;
    border-radius: 4px !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods li {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    gap: 12px !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods li:hover {
    border-color: #9ca3af !important;
    background: #f9fafb !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods li:has(input:checked),
.woocommerce-checkout ul.woocommerce-shipping-methods li.is-selected {
    border-color: #111111 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 1px #111111, 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods li input.shipping_method {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 0 !important;
    accent-color: #111111 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #1f2937 !important;
    cursor: pointer !important;
    text-align: left !important;
    gap: 10px !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout ul.woocommerce-shipping-methods li label .amount {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    text-align: right !important;
}

.woocommerce-checkout tr.woocommerce-shipping-totals .woocommerce-shipping-destination,
.woocommerce-checkout tr.shipping .woocommerce-shipping-destination {
    margin: 8px 0 0 0 !important;
    font-size: 12.5px !important;
    color: #6b7280 !important;
    text-align: left !important;
}

/* Payment Methods */
.woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
    border-top: 1px solid #e5e7eb;
    padding-top: 20px;
    margin-top: 16px;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    margin: 0 0 20px 0;
    list-style: none;
    border: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin-bottom: 12px;
    font-size: 14px;
}

.woocommerce-checkout #payment div.payment_box {
    background: #f3f4f6;
    border-radius: 6px;
    padding: 12px 14px;
    font-size: 13px;
    color: #4b5563;
    margin-top: 8px;
}

.woocommerce-checkout #place_order {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    background: #111111 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-top: 16px !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.1s ease !important;
}

.woocommerce-checkout #place_order:hover {
    background: #333333 !important;
    transform: translateY(-1px) !important;
}

/* =========================================================
   UNIQLO-STYLE FULLSCREEN PRODUCT GALLERY LIGHTBOX
   ========================================================= */
body.nf-lightbox-open {
    overflow: hidden !important;
}

.nf-pdp-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    background: rgba(0, 0, 0, 0.50);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.nf-pdp-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.nf-pdp-lightbox__close {
    position: absolute;
    top: 24px;
    right: 28px;
    z-index: 30;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.25);
    font-size: 28px;
    font-weight: 300;
    color: #ffffff;
    cursor: pointer;
    line-height: 1;
    border-radius: 50%;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background 0.2s ease, transform 0.15s ease, color 0.2s ease;
}

.nf-pdp-lightbox__close:hover {
    background: rgba(0, 0, 0, 0.75);
    color: #ffffff;
    transform: scale(1.08);
}

.nf-pdp-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 25;
    width: 52px;
    height: 52px;
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #ffffff;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background 0.2s ease, transform 0.15s ease, opacity 0.2s ease, color 0.2s ease;
    padding: 0;
}

.nf-pdp-lightbox__nav svg {
    display: block;
    width: 28px;
    height: 28px;
    stroke: #ffffff;
}

.nf-pdp-lightbox__nav:hover {
    background: rgba(0, 0, 0, 0.75);
    color: #ffffff;
    transform: translateY(-50%) scale(1.08);
}

.nf-pdp-lightbox__nav--prev {
    left: 24px;
}

.nf-pdp-lightbox__nav--next {
    right: 24px;
}

.nf-pdp-lightbox__track-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.nf-pdp-lightbox__track-wrap::-webkit-scrollbar {
    display: none;
}

.nf-pdp-lightbox__track {
    display: flex;
    align-items: center;
    gap: 0;
    height: 100%;
    width: 100%;
}

.nf-pdp-lightbox__slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    user-select: none;
    box-sizing: border-box;
    padding: 40px 80px;
}

.nf-pdp-lightbox__slide img {
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    user-select: none;
    pointer-events: none;
    border-radius: 4px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
}

.nf-pdp-lightbox__counter {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(17, 17, 17, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 0.08em;
    z-index: 25;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

@media (max-width: 768px) {
    .nf-pdp-lightbox__close {
        top: 16px;
        right: 16px;
        width: 40px;
        height: 40px;
        font-size: 24px;
    }

    .nf-pdp-lightbox__nav {
        width: 42px;
        height: 42px;
    }

    .nf-pdp-lightbox__nav svg {
        width: 22px;
        height: 22px;
    }

    .nf-pdp-lightbox__nav--prev {
        left: 10px;
    }

    .nf-pdp-lightbox__nav--next {
        right: 10px;
    }

    .nf-pdp-lightbox__slide {
        padding: 30px 20px;
    }

    .nf-pdp-lightbox__slide img {
        max-height: 80vh;
    }

    .nf-pdp-lightbox__counter {
        bottom: 16px;
    }
}

/* RESPONSIVE (< 991px) */
@media (max-width: 991px) {
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        padding: 32px 16px 60px;
    }

    .woocommerce-cart .cart-collaterals {
        margin-top: 32px;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .woocommerce-cart td.actions .coupon {
        float: none;
        margin-bottom: 16px;
    }

    .woocommerce-cart td.actions button[name="update_cart"] {
        float: none;
        width: 100%;
    }

    .woocommerce-checkout .woocommerce,
    .nf-checkout-page .woocommerce,
    .nf-checkout-page .nf-commerce-page {
        padding: 28px 16px 60px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout form.checkout,
    .nf-checkout-page form.checkout,
    .nf-checkout-page form.checkout.woocommerce-checkout {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 28px !important;
    }

    .woocommerce-checkout #customer_details,
    .nf-checkout-page #customer_details,
    .woocommerce-checkout form.checkout > #customer_details,
    .nf-checkout-page form.checkout > #customer_details {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    .woocommerce-checkout .col2-set,
    .nf-checkout-page .col2-set {
        display: block !important;
        width: 100% !important;
        float: none !important;
    }

    .woocommerce-checkout .nf-checkout-order-review-wrap,
    .nf-checkout-page .nf-checkout-order-review-wrap,
    .woocommerce-checkout .woocommerce-checkout-review-order,
    .nf-checkout-page .woocommerce-checkout-review-order,
    .woocommerce-checkout form.checkout > #order_review_heading,
    .nf-checkout-page form.checkout > #order_review_heading,
    .woocommerce-checkout form.checkout > #order_review,
    .nf-checkout-page form.checkout > #order_review {
        grid-column: auto !important;
        grid-row: auto !important;
        position: static !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce,
    .nf-checkout-page .woocommerce {
        padding: 20px 14px 48px !important;
    }

    .woocommerce-checkout #customer_details,
    .nf-checkout-page #customer_details {
        padding: 20px 16px !important;
        border-radius: 12px !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    }

    .woocommerce-checkout h3,
    .woocommerce-checkout #order_review_heading {
        font-size: 16px !important;
        margin-bottom: 16px !important;
        padding-bottom: 10px !important;
    }

    /* Single column stack for all form fields on mobile */
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .nf-checkout-page .woocommerce-billing-fields__field-wrapper,
    .nf-checkout-page .woocommerce-shipping-fields__field-wrapper {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 14px !important;
    }

    .woocommerce-checkout .form-row,
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last,
    .woocommerce-checkout .form-row-wide,
    .nf-checkout-page .form-row,
    .nf-checkout-page .form-row-first,
    .nf-checkout-page .form-row-last,
    .nf-checkout-page .form-row-wide {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        grid-column: auto !important;
        grid-row: auto !important;
        clear: both !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout .form-row input.input-text,
    .woocommerce-checkout .form-row select,
    .woocommerce-checkout .form-row textarea,
    .woocommerce-checkout .select2-container,
    .woocommerce-checkout .select2-selection {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order,
    .nf-checkout-page .woocommerce-checkout-review-order {
        padding: 20px 16px !important;
        border-radius: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout table.shop_table,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout table.shop_table tr.cart_item {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 0 !important;
    }

    .woocommerce-checkout table.shop_table tr.cart_item td.product-name {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        word-break: break-word !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        padding-right: 0 !important;
    }

    .woocommerce-checkout table.shop_table tr.cart_item td.product-total {
        flex: 0 0 auto !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .woocommerce-checkout ul#shipping_method,
    .woocommerce-checkout ul.woocommerce-shipping-methods {
        max-height: 250px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout ul.woocommerce-shipping-methods li {
        padding: 10px 12px !important;
        gap: 10px !important;
        font-size: 13px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout ul.woocommerce-shipping-methods li label {
        font-size: 12.5px !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    .woocommerce-checkout ul.woocommerce-shipping-methods li label .amount {
        font-size: 13px !important;
    }

    .woocommerce-checkout table.shop_table tr.order-total th,
    .woocommerce-checkout table.shop_table tr.order-total td {
        font-size: 15px !important;
    }

    .woocommerce-checkout #payment {
        padding-top: 16px !important;
        margin-top: 14px !important;
    }

    .woocommerce-checkout #payment ul.payment_methods li {
        font-size: 13.5px !important;
    }

    .woocommerce-checkout #place_order {
        height: 50px !important;
        min-height: 50px !important;
        font-size: 13px !important;
        letter-spacing: 0.04em !important;
        margin-top: 14px !important;
    }
}

/* Prevent horizontal overflow on checkout page only */
body.woocommerce-checkout,
.nf-checkout-page {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.single-product {
    overflow-x: visible !important;
}

body.woocommerce-checkout .site,
body.woocommerce-checkout #page,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main,
body.woocommerce-checkout .nf-commerce-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

@media (max-width: 680px) {
    .woocommerce-cart table.shop_table thead {
        display: none;
    }

    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr.cart_item {
        display: block;
    }

    .woocommerce-cart table.shop_table tr.cart_item {
        position: relative;
        padding: 16px 0 16px 96px;
        min-height: 110px;
        border-bottom: 1px solid #eee;
    }

    .woocommerce-cart table.shop_table td.product-remove {
        position: absolute;
        top: 14px;
        right: 0;
        width: auto;
        padding: 0;
    }

    .woocommerce-cart table.shop_table td.product-thumbnail {
        position: absolute;
        top: 16px;
        left: 0;
        width: 80px;
        padding: 0;
    }

    .woocommerce-cart table.shop_table td.product-name,
    .woocommerce-cart table.shop_table td.product-price,
    .woocommerce-cart table.shop_table td.product-quantity,
    .woocommerce-cart table.shop_table td.product-subtotal {
        display: block;
        padding: 4px 0;
        text-align: left;
    }

    .woocommerce-cart table.shop_table td.product-name {
        padding-right: 32px;
    }

    .woocommerce-cart table.shop_table td.product-price::before {
        content: 'Harga: ';
        font-weight: 500;
        color: #777;
    }

    .woocommerce-cart table.shop_table td.product-subtotal::before {
        content: 'Subtotal: ';
        font-weight: 600;
        color: #444;
    }

    .woocommerce-cart td.actions .coupon {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart td.actions .coupon input#coupon_code {
        width: 100%;
    }
}

/* =========================================================
   MY ACCOUNT: PRODUK DISUKAI (WISHLIST)
   ========================================================= */
.nf-account-wishlist-section {
    width: 100%;
}

.nf-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 24px;
}

.nf-account-wishlist-section .nf-product-card {
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.nf-wishlist-empty {
    text-align: center;
    padding: 64px 20px;
    background: #fbfbfb;
    border-radius: 8px;
    border: 1px dashed #e5e7eb;
    margin-top: 16px;
}

.nf-wishlist-empty h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #111;
}

.nf-wishlist-count-badge {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
    background: #f3f4f6;
    padding: 6px 14px;
    border-radius: 9999px;
    color: #111;
}

@media (max-width: 768px) {
    .nf-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

/* v0.7.10 / v0.7.14: checkout & order received thumbnails. */
.woocommerce-checkout .nf-checkout-product,
.woocommerce-order-received .nf-checkout-product,
.woocommerce-table--order-details .nf-checkout-product,
.woocommerce-view-order .nf-checkout-product,
table.order_details .nf-checkout-product { display:flex; align-items:flex-start; gap:12px; }

.woocommerce-checkout .nf-checkout-product img.nf-checkout-product-image,
.woocommerce-order-received .nf-checkout-product img.nf-checkout-product-image,
.woocommerce-table--order-details .nf-checkout-product img.nf-checkout-product-image,
.woocommerce-view-order .nf-checkout-product img.nf-checkout-product-image,
table.order_details .nf-checkout-product img.nf-checkout-product-image { width:60px; height:80px; flex:0 0 60px; object-fit:cover; border-radius:4px; margin:0; }

.woocommerce-checkout .nf-checkout-product-title,
.woocommerce-order-received .nf-checkout-product-title,
.woocommerce-table--order-details .nf-checkout-product-title,
.woocommerce-view-order .nf-checkout-product-title,
table.order_details .nf-checkout-product-title { min-width:0; overflow-wrap:anywhere; }

.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { width:68%; padding-right:16px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total { text-align:right; vertical-align:top; white-space:nowrap; }
.nf-popup-source { display:none !important; }
@media (max-width:480px) {
 .woocommerce-checkout .nf-checkout-product,
 .woocommerce-order-received .nf-checkout-product,
 .woocommerce-table--order-details .nf-checkout-product,
 .woocommerce-view-order .nf-checkout-product,
 table.order_details .nf-checkout-product { gap:8px; }
 .woocommerce-checkout .nf-checkout-product img.nf-checkout-product-image,
 .woocommerce-order-received .nf-checkout-product img.nf-checkout-product-image,
 .woocommerce-table--order-details .nf-checkout-product img.nf-checkout-product-image,
 .woocommerce-view-order .nf-checkout-product img.nf-checkout-product-image,
 table.order_details .nf-checkout-product img.nf-checkout-product-image { width:44px; height:59px; flex-basis:44px; }
 .woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { padding-right:10px; }
}

/* v0.7.10: brand notification cards, top right, without blocking the page. */
.nf-toast-region { position:fixed; top:20px; right:24px; z-index:1000000; display:flex; flex-direction:column; gap:12px; width:min(440px, calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow-y:auto; padding:4px; box-sizing:border-box; pointer-events:none; }
.admin-bar .nf-toast-region { top:52px; max-height:calc(100dvh - 72px); }
.nf-toast-card { position:relative; display:flex; align-items:flex-start; gap:14px; padding:22px 46px 22px 20px; background:#fff7f6; border:1px solid var(--nf-brand, #ff625f); border-radius:16px; box-shadow:0 10px 30px rgba(32,18,18,.12); color:var(--nf-text, #111); font:inherit; pointer-events:auto; animation:nfToastAppear .2s ease-out; }
.nf-toast-icon { display:grid; place-items:center; flex:0 0 25px; width:25px; height:25px; margin-top:2px; border-radius:6px; color:#fff; background:var(--nf-brand, #ff625f); font-size:18px; font-weight:700; line-height:1; }
.nf-toast-main { min-width:0; flex:1; }
.nf-toast-title { display:block; margin:0 0 7px; font-size:18px; font-weight:700; line-height:1.35; }
.nf-toast-message { color:#555; font-size:15px; line-height:1.55; overflow-wrap:anywhere; }
.nf-toast-region .nf-toast-close { position:absolute; top:10px; right:9px; display:grid; place-items:center; width:32px; height:32px; padding:0; background:transparent; border:0; color:var(--nf-brand, #ff625f); font:inherit; font-size:27px; line-height:1; cursor:pointer; }
.nf-toast-close:focus-visible { outline:2px solid #111; outline-offset:2px; border-radius:5px; }
.nf-toast-region .nf-toast-message > * { position:static; display:block; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; font:inherit; color:inherit; list-style:none; animation:none; opacity:1; transform:none; }
.nf-toast-region .nf-toast-message > *::before,
.nf-toast-region .nf-toast-message > *::after,
.nf-toast-region .wc-block-components-notice-banner > svg { display:none; }
.nf-toast-message li + li { margin-top:6px; }
.nf-toast-region .nf-toast-message a.button { float:none; display:table; margin:14px 0 4px; padding:10px 18px; min-height:0; border:1px solid var(--nf-brand, #ff625f); border-radius:8px; background:var(--nf-brand, #ff625f); color:#111; font:inherit; font-weight:600; line-height:1.4; text-decoration:none; }
.nf-toast-region .nf-toast-message a:not(.button) { color:#111; text-decoration:underline; }
.nf-toast-product-layout { display:flex !important; align-items:flex-start !important; gap:12px !important; width:100% !important; }
.nf-toast-product-thumb-wrap { flex:0 0 52px !important; width:52px !important; height:62px !important; border-radius:6px !important; overflow:hidden !important; background:#f3f4f6 !important; border:1px solid rgba(0,0,0,.08) !important; }
.nf-toast-product-thumb, .nf-toast-product-thumb-wrap img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.nf-toast-product-body { flex:1 !important; min-width:0 !important; }
.nf-account-loading { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:var(--nf-muted, #666); font-size:14px; }
.nf-account-loading[hidden] { display:none; }
.nf-account-spinner { width:18px; height:18px; border:2px solid #eee; border-top-color:var(--nf-brand, #ff625f); border-radius:50%; animation:nfAccountSpin .7s linear infinite; }
.woocommerce-MyAccount-content.nf-account-is-loading > :not(.nf-account-loading) { opacity:.4; pointer-events:none; }
.woocommerce-MyAccount-content { transition:opacity .15s ease; }
.woocommerce-MyAccount-content:focus { outline:none; }
@keyframes nfToastAppear { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes nfAccountSpin { to { transform:rotate(360deg); } }
@media (max-width:782px) { .admin-bar .nf-toast-region { top:62px; max-height:calc(100dvh - 82px); } }
@media (max-width:480px) { .nf-toast-region { top:12px; right:12px; width:calc(100vw - 24px); } .nf-toast-card { padding:18px 40px 18px 16px; gap:10px; border-radius:12px; } .nf-toast-title { font-size:17px; } .nf-toast-message { font-size:14px; } }
@media (prefers-reduced-motion:reduce) { .nf-toast-card, .nf-account-spinner { animation:none; } .woocommerce-MyAccount-content { transition:none; } }

/* =========================================================
   MY ACCOUNT ADDRESSES REDESIGN (v0.7.14)
   Clear, modern, upright cards for billing and shipping addresses
   ========================================================= */
.woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-MyAccount-content .addresses.col2-set,
.woocommerce-MyAccount-content .col2-set.addresses {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px !important;
    margin-top: 24px !important;
    float: none !important;
    width: 100% !important;
}

.woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-MyAccount-content .woocommerce-Addresses::after,
.woocommerce-MyAccount-content .col2-set::before,
.woocommerce-MyAccount-content .col2-set::after {
    display: none !important;
}

.woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-MyAccount-content .addresses .col-1,
.woocommerce-MyAccount-content .addresses .col-2 {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-content .woocommerce-Address:hover,
.woocommerce-MyAccount-content .addresses .col-1:hover,
.woocommerce-MyAccount-content .addresses .col-2:hover {
    border-color: #d1d5db !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title::before,
.woocommerce-MyAccount-content .woocommerce-Address-title::after,
.woocommerce-MyAccount-content header.title::before,
.woocommerce-MyAccount-content header.title::after,
.woocommerce-Address-title::before,
.woocommerce-Address-title::after {
    display: none !important;
    content: none !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-MyAccount-content header.title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #f3f4f6 !important;
    padding-bottom: 14px !important;
    margin-bottom: 16px !important;
    float: none !important;
    width: 100% !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-MyAccount-content header.title h3 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    letter-spacing: -0.01em !important;
    float: none !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
.woocommerce-MyAccount-content header.title a.edit,
.woocommerce-MyAccount-content .woocommerce-Address a.edit {
    float: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.15s ease !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover,
.woocommerce-MyAccount-content header.title a.edit:hover,
.woocommerce-MyAccount-content .woocommerce-Address a.edit:hover {
    color: #4b5563 !important;
}

.woocommerce-MyAccount-content .woocommerce-Address address,
.woocommerce-MyAccount-content .addresses address {
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
    margin: 0 !important;
}

/* =========================================================
   MY ACCOUNT: REMOVE OVERVIEW TAB & SAFEGUARD (v0.7.15)
   ========================================================= */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard {
    display: none !important;
}

/* =========================================================
   MY ACCOUNT: ORDERS TABLE & BANNER REDESIGN (v0.7.15)
   Clean, modern card-table design with status pill badges
   and sleek action buttons
   ========================================================= */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-notice {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #374151 !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin-bottom: 24px !important;
}

.woocommerce-MyAccount-content .woocommerce-message a.button,
.woocommerce-MyAccount-content .woocommerce-info a.button,
.woocommerce-MyAccount-content .woocommerce-notice a.button {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px 18px !important;
    background: #111111 !important;
    color: #ffffff !important;
    border: 1.5px solid #111111 !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, transform 0.15s ease !important;
}

.woocommerce-MyAccount-content .woocommerce-message a.button:hover,
.woocommerce-MyAccount-content .woocommerce-info a.button:hover,
.woocommerce-MyAccount-content .woocommerce-notice a.button:hover {
    background: #374151 !important;
    border-color: #374151 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Orders Table Card */
.woocommerce-MyAccount-content table.woocommerce-orders-table,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders,
.woocommerce-MyAccount-content table.account-orders-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    margin-top: 10px !important;
}

.woocommerce-MyAccount-content table.woocommerce-orders-table thead,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders thead {
    background: #f9fafb !important;
}

.woocommerce-MyAccount-content table.woocommerce-orders-table th,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders th {
    padding: 16px 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    border-bottom: 1.5px solid #e5e7eb !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: #f9fafb !important;
    text-align: left !important;
}

.woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders tbody tr {
    transition: background-color 0.15s ease !important;
}

.woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr:hover,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders tbody tr:hover {
    background-color: #fafafa !important;
}

.woocommerce-MyAccount-content table.woocommerce-orders-table td,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td {
    padding: 18px 20px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    vertical-align: middle !important;
    font-size: 14px !important;
}

.woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr:last-child td,
.woocommerce-MyAccount-content table.woocommerce-MyAccount-orders tbody tr:last-child td {
    border-bottom: none !important;
}

/* Order Number Link */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a:hover {
    color: var(--nf-brand, #ff625f) !important;
    text-decoration: underline !important;
}

/* Order Date */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-date {
    color: #4b5563 !important;
    font-size: 13.5px !important;
    white-space: nowrap !important;
}

/* Order Status Badges */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status {
    white-space: nowrap !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}

/* Processing Status */
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
    color: #92400e !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status::before {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #f59e0b !important;
    margin-right: 7px !important;
    vertical-align: middle !important;
}

/* Completed Status */
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
    color: #065f46 !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status::before {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #10b981 !important;
    margin-right: 7px !important;
    vertical-align: middle !important;
}

/* On-Hold Status */
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
    color: #1e40af !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status::before {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #3b82f6 !important;
    margin-right: 7px !important;
    vertical-align: middle !important;
}

/* Cancelled / Failed Status */
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status {
    color: #991b1b !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status::before,
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status::before {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #ef4444 !important;
    margin-right: 7px !important;
    vertical-align: middle !important;
}

/* Order Total */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-total {
    font-size: 13.5px !important;
    color: #4b5563 !important;
    white-space: nowrap !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-total .amount {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

/* Order Actions Buttons */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions {
    text-align: right !important;
    white-space: nowrap !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 7px 16px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin: 0 0 0 8px !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button.view {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1.5px solid #111111 !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button.view:hover {
    background: #111111 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button.track {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1.5px solid #111111 !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button.track:hover {
    background: #374151 !important;
    border-color: #374151 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-1px) !important;
}

/* =========================================================
   STORE STOCK BANNER HIDE (v0.7.16)
   ========================================================= */
.shop-stock-banner {
    display: none !important;
}

/* =========================================================
   ORDER RECEIVED (THANK YOU) & ORDER DETAILS REDESIGN (v0.7.16)
   Clean Uniqlo-style layout, clear confirmation, full-width
   totals table, aligned product thumbnails & info, 
   edge-to-edge addresses
   ========================================================= */
.nf-order-received-page .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-thankyou-order-received {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
    font-size: clamp(22px, 3.2vw, 32px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    color: #111111 !important;
    line-height: 1.25 !important;
}

.nf-order-received-page .woocommerce-thankyou-order-received::before,
.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: "\2713" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #10b981 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Order Overview Summary Card */
.nf-order-received-page ul.woocommerce-order-overview::before,
.nf-order-received-page ul.woocommerce-order-overview::after,
.woocommerce-order-received ul.woocommerce-order-overview::before,
.woocommerce-order-received ul.woocommerce-order-overview::after,
.woocommerce-checkout ul.woocommerce-order-overview::before,
.woocommerce-checkout ul.woocommerce-order-overview::after {
    display: none !important;
    content: none !important;
}

.nf-order-received-page ul.woocommerce-order-overview,
.woocommerce-order-received ul.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important;
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 22px 26px !important;
    margin: 28px 0 32px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    list-style: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

@media (max-width: 900px) {
    .nf-order-received-page ul.woocommerce-order-overview,
    .woocommerce-order-received ul.woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 480px) {
    .nf-order-received-page ul.woocommerce-order-overview,
    .woocommerce-order-received ul.woocommerce-order-overview {
        grid-template-columns: 1fr !important;
    }
}

.nf-order-received-page ul.woocommerce-order-overview li,
.woocommerce-order-received ul.woocommerce-order-overview li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    color: #6b7280 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.nf-order-received-page ul.woocommerce-order-overview strong,
.woocommerce-order-received ul.woocommerce-order-overview strong {
    display: block !important;
    margin-top: 6px !important;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    word-break: break-word !important;
}

/* Payment Instructions Notice */
.nf-order-received-page .woocommerce-order > p:not(.woocommerce-thankyou-order-received):not(.nf-thankyou-actions),
.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received):not(.nf-thankyou-actions) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f0fdf4 !important;
    border: 1.5px solid #bbf7d0 !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    color: #166534 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    margin: 0 0 32px 0 !important;
}

/* Order Details Table Header */
.nf-order-received-page .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-view-order .woocommerce-order-details h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    color: #111111 !important;
    margin: 32px 0 16px !important;
}

/* Order Details Full-Width Card Table */
.nf-order-received-page table.woocommerce-table--order-details,
.nf-order-received-page table.order_details,
.woocommerce-order-received table.woocommerce-table--order-details,
.woocommerce-order-received table.order_details,
.woocommerce-view-order table.woocommerce-table--order-details,
.woocommerce-view-order table.order_details {
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 36px !important;
    box-sizing: border-box !important;
}

.nf-order-received-page table.order_details thead,
.nf-order-received-page table.order_details tbody,
.nf-order-received-page table.order_details tfoot,
.woocommerce-order-received table.order_details thead,
.woocommerce-order-received table.order_details tbody,
.woocommerce-order-received table.order_details tfoot,
.woocommerce-view-order table.order_details thead,
.woocommerce-view-order table.order_details tbody,
.woocommerce-view-order table.order_details tfoot {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Header Row: PRODUCT (left) ... TOTAL (right) */
.nf-order-received-page table.order_details thead tr,
.woocommerce-order-received table.order_details thead tr,
.woocommerce-view-order table.order_details thead tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    background: #f9fafb !important;
    border-bottom: 1.5px solid #e5e7eb !important;
    padding: 14px 22px !important;
    box-sizing: border-box !important;
}

.nf-order-received-page table.order_details thead th,
.woocommerce-order-received table.order_details thead th,
.woocommerce-view-order table.order_details thead th {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
}

.nf-order-received-page table.order_details thead th.product-name,
.woocommerce-order-received table.order_details thead th.product-name,
.woocommerce-view-order table.order_details thead th.product-name {
    flex: 1 1 auto !important;
    text-align: left !important;
}

.nf-order-received-page table.order_details thead th.product-total,
.woocommerce-order-received table.order_details thead th.product-total,
.woocommerce-view-order table.order_details thead th.product-total {
    flex: 0 0 auto !important;
    text-align: right !important;
}

/* Product Item Row (tbody): Thumbnail + Title + Qty (left) ... Item Price (right) */
.nf-order-received-page table.order_details tbody tr,
.woocommerce-order-received table.order_details tbody tr,
.woocommerce-view-order table.order_details tbody tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 20px 22px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.nf-order-received-page table.order_details tbody td,
.woocommerce-order-received table.order_details tbody td,
.woocommerce-view-order table.order_details tbody td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.nf-order-received-page table.order_details tbody td.product-name,
.woocommerce-order-received table.order_details tbody td.product-name,
.woocommerce-view-order table.order_details tbody td.product-name {
    flex: 1 1 auto !important;
    text-align: left !important;
    min-width: 0 !important;
}

.nf-order-received-page table.order_details tbody td.product-total,
.woocommerce-order-received table.order_details tbody td.product-total,
.woocommerce-view-order table.order_details tbody td.product-total {
    flex: 0 0 auto !important;
    text-align: right !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #111111 !important;
    white-space: nowrap !important;
    margin-left: 20px !important;
}

/* Product Thumbnail + Info Alignment */
.nf-order-received-page .nf-checkout-product,
.woocommerce-order-received .nf-checkout-product,
.woocommerce-view-order .nf-checkout-product,
table.order_details .nf-checkout-product {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.nf-order-received-page .nf-checkout-product-info,
.woocommerce-order-received .nf-checkout-product-info,
.woocommerce-view-order .nf-checkout-product-info,
table.order_details .nf-checkout-product-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.nf-order-received-page .nf-checkout-product-title,
.woocommerce-order-received .nf-checkout-product-title,
.woocommerce-view-order .nf-checkout-product-title,
table.order_details .nf-checkout-product-title {
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
}

.nf-order-received-page .nf-checkout-product-qty,
.woocommerce-order-received .nf-checkout-product-qty,
.woocommerce-view-order .nf-checkout-product-qty,
table.order_details .nf-checkout-product-qty {
    font-size: 13px !important;
    color: #6b7280 !important;
    font-weight: 500 !important;
}

/* Suppress orphan / floating quantity outside thumbnail card */
.nf-order-received-page .product-quantity,
.woocommerce-order-received .product-quantity,
.woocommerce-view-order .product-quantity,
table.order_details .product-quantity,
.nf-order-qty-hidden {
    display: none !important;
}

/* Totals Rows (tfoot): Subtotal, Shipping, Total, Payment Method */
.nf-order-received-page table.order_details tfoot tr,
.woocommerce-order-received table.order_details tfoot tr,
.woocommerce-view-order table.order_details tfoot tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 14px 22px !important;
    background: #fafafa !important;
    border-bottom: 1px solid #f3f4f6 !important;
    box-sizing: border-box !important;
}

.nf-order-received-page table.order_details tfoot th,
.woocommerce-order-received table.order_details tfoot th,
.woocommerce-view-order table.order_details tfoot th {
    display: block !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #4b5563 !important;
    text-align: left !important;
    width: auto !important;
}

.nf-order-received-page table.order_details tfoot td,
.woocommerce-order-received table.order_details tfoot td,
.woocommerce-view-order table.order_details tfoot td {
    display: block !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 14px !important;
    color: #111111 !important;
    text-align: right !important;
    white-space: nowrap !important;
    width: auto !important;
    margin-left: 20px !important;
}

.nf-order-received-page table.order_details tfoot td small.shipped_via,
.woocommerce-order-received table.order_details tfoot td small.shipped_via,
.woocommerce-view-order table.order_details tfoot td small.shipped_via {
    display: block !important;
    font-size: 12px !important;
    color: #6b7280 !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
}

/* Highlight Total Row */
.nf-order-received-page table.order_details tfoot tr:nth-last-child(2),
.woocommerce-order-received table.order_details tfoot tr:nth-last-child(2),
.woocommerce-view-order table.order_details tfoot tr:nth-last-child(2) {
    border-top: 1.5px solid #111111 !important;
    background: #ffffff !important;
}

.nf-order-received-page table.order_details tfoot tr:nth-last-child(2) th,
.nf-order-received-page table.order_details tfoot tr:nth-last-child(2) td,
.woocommerce-order-received table.order_details tfoot tr:nth-last-child(2) th,
.woocommerce-order-received table.order_details tfoot tr:nth-last-child(2) td,
.woocommerce-view-order table.order_details tfoot tr:nth-last-child(2) th,
.woocommerce-view-order table.order_details tfoot tr:nth-last-child(2) td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

.nf-order-received-page table.order_details tfoot tr:last-child,
.woocommerce-order-received table.order_details tfoot tr:last-child,
.woocommerce-view-order table.order_details tfoot tr:last-child {
    border-bottom: none !important;
}

/* Customer Addresses Cards on Order Received / View Order: Edge-to-Edge */
.nf-order-received-page .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-view-order .woocommerce-customer-details {
    width: 100% !important;
    margin-top: 36px !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

.nf-order-received-page .woocommerce-customer-details h2,
.woocommerce-order-received .woocommerce-customer-details h2,
.woocommerce-view-order .woocommerce-customer-details h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin-bottom: 18px !important;
    text-align: left !important;
}

/* Remove clearfix pseudo-elements that create ghost grid columns */
.nf-order-received-page .woocommerce-customer-details .woocommerce-columns::before,
.nf-order-received-page .woocommerce-customer-details .woocommerce-columns::after,
.nf-order-received-page .woocommerce-customer-details .col2-set::before,
.nf-order-received-page .woocommerce-customer-details .col2-set::after,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::after,
.woocommerce-order-received .woocommerce-customer-details .col2-set::before,
.woocommerce-order-received .woocommerce-customer-details .col2-set::after,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns::after,
.woocommerce-view-order .woocommerce-customer-details .col2-set::before,
.woocommerce-view-order .woocommerce-customer-details .col2-set::after {
    display: none !important;
    content: none !important;
}

.nf-order-received-page .woocommerce-customer-details .woocommerce-columns,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Hide Billing Address Card on Order Received & View Order */
.nf-order-received-page .woocommerce-customer-details .woocommerce-column--billing-address,
.nf-order-received-page .woocommerce-customer-details .woocommerce-column--1,
.nf-order-received-page .woocommerce-customer-details .col-1,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--billing-address,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--1,
.woocommerce-order-received .woocommerce-customer-details .col-1,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--billing-address,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--1,
.woocommerce-view-order .woocommerce-customer-details .col-1,
.wp-block-woocommerce-order-confirmation-billing-address {
    display: none !important;
}

/* Single Shipping Address Card Full Width */
.nf-order-received-page .woocommerce-customer-details .woocommerce-column--shipping-address,
.nf-order-received-page .woocommerce-customer-details .woocommerce-column--2,
.nf-order-received-page .woocommerce-customer-details .col-2,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--shipping-address,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--2,
.woocommerce-order-received .woocommerce-customer-details .col-2,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--shipping-address,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--2,
.woocommerce-view-order .woocommerce-customer-details .col-2,
.wp-block-woocommerce-order-confirmation-shipping-address {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

.nf-order-received-page .woocommerce-customer-details .woocommerce-column__title,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column__title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 14px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f3f4f6 !important;
}

.nf-order-received-page .woocommerce-customer-details address,
.woocommerce-order-received .woocommerce-customer-details address,
.woocommerce-view-order .woocommerce-customer-details address {
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
    margin: 0 !important;
}

/* Thank you Next Step Action Buttons */
.nf-thankyou-actions {
    display: flex !important;
    gap: 14px !important;
    margin-top: 36px !important;
    flex-wrap: wrap !important;
}

.nf-thankyou-actions .nf-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 28px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    background: #111111 !important;
    color: #ffffff !important;
    border: 1.5px solid #111111 !important;
}

.nf-thankyou-actions .nf-button:hover {
    background: #333333 !important;
    border-color: #333333 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.nf-thankyou-actions .nf-button.nf-button--outline {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1.5px solid #111111 !important;
}

.nf-thankyou-actions .nf-button.nf-button--outline:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

/* =========================================================
   VIEW ORDER POLISH (v0.7.17)
   Back Button & Enlarged Typography
   ========================================================= */

.nf-view-order-header-bar {
    margin-bottom: 24px !important;
}

.nf-view-order-footer-bar {
    margin-top: 36px !important;
    padding-top: 24px !important;
    border-top: 1px solid #e5e7eb !important;
}

.nf-view-order-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    padding: 10px 22px !important;
    border-radius: 8px !important;
    border: 1.5px solid #111111 !important;
    color: #111111 !important;
    background: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.nf-view-order-back-btn:hover {
    background: #111111 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
}

/* Status Callout Card in View Order */
.nf-view-order-status-card {
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.nf-view-order-status-card__text {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #1f2937 !important;
}

.nf-view-order-status-card__text strong {
    color: #111111 !important;
    font-weight: 700 !important;
}

.nf-order-status-pill {
    display: inline-block !important;
    padding: 3px 12px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-left: 6px !important;
}

.nf-order-status-pill--processing {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.nf-order-status-pill--completed {
    background: #d1fae5 !important;
    color: #065f46 !important;
}

.nf-order-status-pill--on-hold {
    background: #dbeafe !important;
    color: #1e40af !important;
}

.nf-order-status-pill--cancelled,
.nf-order-status-pill--failed {
    background: #ffe4e6 !important;
    color: #991b1b !important;
}

/* View Order: Enlarged Font Sizes */
.woocommerce-view-order .woocommerce-order-details h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    margin: 28px 0 16px !important;
}

.woocommerce-view-order table.order_details thead th {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

.woocommerce-view-order .nf-checkout-product-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    color: #111111 !important;
}

.woocommerce-view-order .nf-checkout-product-qty {
    font-size: 14px !important;
    color: #4b5563 !important;
    font-weight: 500 !important;
}

.woocommerce-view-order table.order_details tbody td.product-total {
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

.woocommerce-view-order table.order_details tfoot th {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #374151 !important;
}

.woocommerce-view-order table.order_details tfoot td {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

.woocommerce-view-order table.order_details tfoot td small.shipped_via {
    font-size: 13px !important;
    color: #6b7280 !important;
}

.woocommerce-view-order table.order_details tfoot tr:nth-last-child(2) th,
.woocommerce-view-order table.order_details tfoot tr:nth-last-child(2) td {
    font-size: 18.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

.woocommerce-view-order .woocommerce-customer-details h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
}

.woocommerce-view-order .woocommerce-customer-details .woocommerce-column__title {
    font-size: 17px !important;
    font-weight: 600 !important;
}

.woocommerce-view-order .woocommerce-customer-details address {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
}

/* =========================================================
   POLISH v0.7.18:
   - Hide Products ALL, MEN, SALE category subnav
   - Lookbook filter bar mobile fix (no floating / dropping)
   ========================================================= */

/* Hide ALL, MEN, SALE on Products */
.shop-category-nav {
    display: none !important;
}

/* Lookbook Filter Bar on Mobile: Not floating or dropping down */
@media (max-width: 768px) {
    .lookbook-filter-bar,
    .admin-bar .lookbook-filter-bar {
        position: static !important;
        top: auto !important;
        box-shadow: none !important;
        background: #ffffff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* =========================================================
   POLISH v0.7.19:
   - Remove thick left border on My Account notices
   - Hide Billing address everywhere & stretch Shipping address full width
   - Single product buy box sticky down to Similar Products
   - Single product mobile ordering (Gallery -> Panel -> Accordions -> Similar)
   - Product policy formatting in Delivery / Exchange / Return tab
   ========================================================= */

/* 1. Ensure uniform border on account notices, no thick left border */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-notice {
    border: 1.5px solid #e5e7eb !important;
    border-left: 1.5px solid #e5e7eb !important;
    border-left-width: 1.5px !important;
    border-top: 1.5px solid #e5e7eb !important;
}
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-notice::before {
    display: none !important;
}

/* 2. Hide Billing Address Everywhere & stretch Shipping Address full width */
.woocommerce-MyAccount-content .woocommerce-Address--billing,
.woocommerce-MyAccount-content .addresses .col-1,
.woocommerce-MyAccount-content .u-column1.col-1,
.woocommerce-customer-details .woocommerce-column--billing-address,
.woocommerce-customer-details .woocommerce-column--1,
.woocommerce-customer-details .col-1,
.nf-order-received-page .woocommerce-column--billing-address,
.woocommerce-view-order .woocommerce-column--billing-address {
    display: none !important;
}

.woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-MyAccount-content .addresses.col2-set,
.woocommerce-MyAccount-content .col2-set.addresses,
.woocommerce-customer-details .woocommerce-columns,
.woocommerce-customer-details .woocommerce-columns--addresses,
.woocommerce-customer-details .woocommerce-columns--2,
.nf-order-received-page .woocommerce-customer-details .woocommerce-columns,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
}

.woocommerce-MyAccount-content .woocommerce-Address--shipping,
.woocommerce-MyAccount-content .addresses .col-2,
.woocommerce-MyAccount-content .u-column2.col-2,
.woocommerce-customer-details .woocommerce-column--shipping-address,
.woocommerce-customer-details .woocommerce-column--2,
.woocommerce-customer-details .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* 3. Single Product: Hide short description in buy panel */
.nf-pdp-short-description {
    display: none !important;
}

/* 4. Single Product: Sticky panel down through description & accordions */
.nf-pdp-description-column {
    margin-top: 48px;
    min-width: 0;
}

.nf-pdp-delivery-policy-list {
    margin: 0 0 16px;
    padding-left: 20px;
    line-height: 1.75;
    color: #374151;
}

.nf-pdp-delivery-policy-list li {
    margin-bottom: 8px;
}

@media (min-width: 783px) {
    .nf-pdp-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 600px) minmax(340px, 480px) !important;
        justify-content: center !important;
        gap: 48px !important;
        align-items: start !important;
        max-width: 1160px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-top: 32px !important;
    }
    .nf-pdp-left {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 600px !important;
    }
    .nf-pdp-panel {
        position: sticky !important;
        top: 98px !important;
        align-self: start !important;
        max-width: 480px !important;
        width: 100% !important;
    }
    .admin-bar .nf-pdp-panel {
        top: 130px !important;
    }
}

@media (max-width: 1180px) and (min-width: 783px) {
    .nf-pdp-layout {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr) !important;
        gap: 32px !important;
        max-width: 960px !important;
    }
}

/* Single Product Mobile Layout: Gallery -> Buy Box (Panel) -> Description -> Similar */
@media (max-width: 782px) {
    .nf-pdp-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .nf-pdp-left {
        display: contents !important;
    }
    .nf-pdp-gallery-shell {
        order: 1 !important;
    }
    .nf-pdp-panel {
        order: 2 !important;
        position: static !important;
    }
    .nf-pdp-description-column {
        order: 3 !important;
        margin-top: 24px !important;
    }
}

/* =========================================================
   POLISH v0.7.21:
   - Selective Cart Checkout (Checkbox per item & Select All)
   - Lookbook upload disclaimer styling
   - Size Guide CM-only (hidden unit switcher)
   - Completely remove and hide Coupon accordion in Cart
   ========================================================= */

/* 1. SELECTIVE CART CHECKOUT */
.nf-cart-select-all-bar {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin-bottom: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.nf-cart-select-all-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 600;
    color: #111111;
    user-select: none;
}

.nf-cart-select-all-checkbox,
.nf-cart-item-checkbox {
    width: 20px;
    height: 20px;
    accent-color: #111111;
    cursor: pointer;
    margin: 0;
    flex-shrink: 0;
}

.nf-uniqlo-cart-card__select {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.nf-cart-item-checkbox-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0;
}

.nf-uniqlo-cart-card.is-unselected {
    opacity: 1 !important;
}

@media (max-width: 768px) {
    .nf-uniqlo-cart-card {
        grid-template-columns: 24px 90px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: start !important;
    }
    .nf-uniqlo-cart-card__select {
        padding-top: 10px;
        align-items: flex-start !important;
    }
}

/* 2. LOOKBOOK UPLOAD DISCLAIMER */
.lookbook-upload-disclaimer {
    font-size: 11px !important;
    line-height: 1.55 !important;
    color: #6b7280 !important;
    margin: 14px 0 16px !important;
    text-align: justify !important;
}

/* 3. SIZE GUIDE CM-ONLY */
.nf-size-guide__units {
    display: none !important;
}

/* 4. REMOVE COUPON FROM CART AND SUMMARY */
.nf-uniqlo-coupon-card,
.nf-uniqlo-summary-row--coupon {
    display: none !important;
}

/* =========================================================
   NUEFELT v0.7.22 REFINEMENTS
   Scope: Size Guide Match Theme, Single Shipping Address, Logout Modal
   ========================================================= */

/* 5. SIZE GUIDE MATCH THEME PALETTE */
.nf-size-chart-card {
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 24px 18px 20px !important;
    margin-top: 10px !important;
}

.nf-size-chart-table tbody tr:hover {
    background: rgba(0, 0, 0, 0.03) !important;
}

/* 6. SINGLE SHIPPING ADDRESS POLISH (Addresses Page & View Order) */
.nf-shipping-address-only-wrap {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

.woocommerce-Address-title::before,
.woocommerce-Address-title::after,
.woocommerce-MyAccount-content .woocommerce-Address-title::before,
.woocommerce-MyAccount-content .woocommerce-Address-title::after,
.nf-address-card__header::before,
.nf-address-card__header::after {
    display: none !important;
    content: none !important;
}

.nf-single-address-card,
.nf-address-card,
.nf-shipping-address-only-wrap .woocommerce-Address,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--shipping-address {
    width: 100% !important;
    max-width: 680px !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 24px 26px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.nf-single-address-card:hover,
.nf-address-card:hover,
.nf-shipping-address-only-wrap .woocommerce-Address:hover,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--shipping-address:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05) !important;
}

/* Address Card Header: Left-aligned title & Right-aligned edit icon */
.nf-address-card__header,
.woocommerce-MyAccount-content .woocommerce-Address-title.nf-address-card__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-bottom: 1px solid #f1f3f5 !important;
    padding-bottom: 16px !important;
    margin-bottom: 18px !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.nf-address-card__header-left {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nf-address-card__header-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f3f4f6 !important;
    color: #111111 !important;
    flex-shrink: 0 !important;
}

.nf-address-card__title,
.woocommerce-MyAccount-content .woocommerce-Address-title h3.nf-address-card__title {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    float: none !important;
    line-height: 1.3 !important;
}

.nf-address-card__badge {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    background: #f0fdf4 !important;
    color: #15803d !important;
    border: 1px solid #bbf7d0 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
}

.nf-address-card__header-right {
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important;
    float: none !important;
}

.nf-address-card__edit-btn,
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit.nf-address-card__edit-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: 1.5px solid #e5e7eb !important;
    background: #ffffff !important;
    color: #374151 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    float: none !important;
    margin: 0 !important;
    cursor: pointer !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.nf-address-card__edit-btn:hover,
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit.nf-address-card__edit-btn:hover {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12) !important;
}

/* Recipient Section */
.nf-address-card__recipient-section {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.nf-address-card__recipient-name {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    letter-spacing: -0.01em !important;
}

.nf-address-user-icon {
    color: #6b7280 !important;
    flex-shrink: 0 !important;
}

.nf-address-card__company {
    font-weight: 500 !important;
    color: #6b7280 !important;
    font-size: 13px !important;
}

.nf-address-card__recipient-phone {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    background: #f3f4f6 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    border: 1px solid #e5e7eb !important;
}

.nf-address-card__recipient-phone svg {
    color: #6b7280 !important;
}

/* Location Content Box */
.nf-address-card__location-box {
    background: #f9fafb !important;
    border: 1px solid #edf0f2 !important;
    border-radius: 10px !important;
    padding: 16px 18px !important;
    margin-bottom: 16px !important;
}

.nf-address-card__location-label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    margin-bottom: 8px !important;
}

.nf-address-card__location-label svg {
    color: #9ca3af !important;
}

.nf-address-card__address-text,
.woocommerce-MyAccount-content .woocommerce-Address address.nf-address-card__address-text {
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #1f2937 !important;
    margin: 0 !important;
}

/* Card Footer Bar */
.nf-address-card__footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding-top: 14px !important;
    border-top: 1px dashed #e5e7eb !important;
    font-size: 12.5px !important;
    color: #6b7280 !important;
}

.nf-address-card__footer-note {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex: 1 1 260px !important;
    line-height: 1.4 !important;
}

.nf-address-card__footer-note svg {
    color: #9ca3af !important;
    flex-shrink: 0 !important;
}

.nf-address-card__footer-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    white-space: nowrap !important;
}

.nf-address-card__footer-link:hover {
    color: #4b5563 !important;
    text-decoration: underline !important;
}

/* Empty State */
.nf-address-card__empty {
    text-align: center !important;
    padding: 36px 20px !important;
}

.nf-address-card__empty-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    background: #f3f4f6 !important;
    margin-bottom: 14px !important;
}

.nf-address-card__empty-text {
    font-size: 14px !important;
    color: #6b7280 !important;
    margin: 0 0 18px !important;
}

.nf-address-card__add-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 20px !important;
    background: #111111 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}

.nf-address-card__add-btn:hover {
    background: #333333 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 640px) {
    .nf-single-address-card,
    .nf-address-card,
    .nf-shipping-address-only-wrap .woocommerce-Address {
        padding: 18px 16px !important;
    }
    .nf-address-card__header {
        gap: 10px !important;
    }
    .nf-address-card__recipient-section {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .nf-address-card__footer {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

.woocommerce-view-order .woocommerce-customer-details .woocommerce-column--billing-address {
    display: none !important;
}

.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns {
    display: block !important;
    width: 100% !important;
}

/* 7. SIGN OUT CONFIRMATION MODAL */
.nf-logout-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}

.nf-logout-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.nf-logout-modal .nf-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.nf-logout-modal .nf-logout-modal__dialog {
    position: relative;
    z-index: 2;
    background: #ffffff;
    border-radius: 12px;
    width: min(100%, 420px);
    padding: 32px 28px 28px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22);
    transform: translateY(16px) scale(0.98);
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
    text-align: center;
}

.nf-logout-modal.is-open .nf-logout-modal__dialog {
    transform: translateY(0) scale(1);
}

.nf-logout-modal .nf-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    color: #9ca3af;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.nf-logout-modal .nf-modal__close:hover {
    color: #111111;
    background: #f3f4f6;
}

.nf-logout-modal__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    background: #fef2f2;
    color: #dc2626;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nf-logout-modal__title {
    font-size: 20px;
    font-weight: 700;
    color: #111111;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}

.nf-logout-modal__desc {
    font-size: 14px;
    line-height: 1.55;
    color: #6b7280;
    margin: 0 0 26px;
}

.nf-logout-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.nf-logout-modal__btn-cancel {
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 18px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nf-logout-modal__btn-cancel:hover {
    background: #f9fafb !important;
    border-color: #d1d5db !important;
    color: #111111 !important;
}

.nf-logout-modal__btn-confirm {
    background: #111111 !important;
    border: 1.5px solid #111111 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 18px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
}

.nf-logout-modal__btn-confirm:hover {
    background: #2b2b2b !important;
    border-color: #2b2b2b !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Single Product: Stock Badge & Realtime Indicator
   ========================================================================== */
.nf-pdp-stock-badge-wrap {
    margin: 10px 0 16px 0;
    display: flex;
    align-items: center;
}

.nf-pdp-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 12px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #374151;
    transition: all 0.2s ease;
}

.nf-pdp-stock-badge .nf-pdp-stock-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    flex-shrink: 0;
    display: inline-block;
}

.nf-pdp-stock-badge.is-in-stock .nf-pdp-stock-dot {
    background: #10b981;
}

.nf-pdp-stock-badge.is-out-of-stock {
    background: #fef2f2;
    border-color: #fee2e2;
    color: #991b1b;
}

.nf-pdp-stock-badge.is-out-of-stock .nf-pdp-stock-dot {
    background: #ef4444;
}

.nf-pdp-stock-badge.is-on-backorder {
    background: #fffbeb;
    border-color: #fef3c7;
    color: #92400e;
}

.nf-pdp-stock-badge.is-on-backorder .nf-pdp-stock-dot {
    background: #f59e0b;
}

/* ==========================================================================
   Single Product: Split Actions (80% Wishlist, 20% Share Button)
   ========================================================================== */
.nf-pdp-actions-split {
    display: flex;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin-top: 9px;
    box-sizing: border-box;
}

.nf-pdp-actions-split .nf-pdp-secondary-actions {
    flex: 0 0 calc(80% - 4px) !important;
    width: calc(80% - 4px) !important;
    min-height: 48px !important;
    margin-top: 0 !important;
    border: 1px solid #b7b7b7 !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.nf-pdp-actions-split .nf-pdp-secondary-actions:hover {
    background: #f9fafb !important;
    border-color: #111111 !important;
}

.nf-pdp-actions-split .nf-pdp-share-button {
    flex: 0 0 calc(20% - 4px) !important;
    width: calc(20% - 4px) !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #b7b7b7 !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    color: #111111 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.nf-pdp-actions-split .nf-pdp-share-button:hover {
    background: #f9fafb !important;
    border-color: #111111 !important;
    color: #000000 !important;
}

.nf-pdp-actions-split .nf-pdp-share-button svg {
    display: block;
    pointer-events: none;
}

/* ==========================================================================
   Product Social Share Pop-Up Modal
   ========================================================================== */
.nf-share-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.nf-share-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.nf-share-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.nf-share-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 440px;
    background: #ffffff;
    border: 1.5px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    transform: scale(0.95);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
}

.nf-share-modal.is-open .nf-share-modal__dialog {
    transform: scale(1);
}

.nf-share-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f3f4f6;
}

.nf-share-modal__title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #111111;
    letter-spacing: -0.02em;
}

.nf-share-modal__close {
    background: transparent;
    border: none;
    font-size: 26px;
    line-height: 1;
    color: #6b7280;
    cursor: pointer;
    padding: 0 4px;
    transition: color 0.15s ease;
}

.nf-share-modal__close:hover {
    color: #111111;
}

.nf-share-modal__body {
    padding: 20px 24px 24px;
}

.nf-share-modal__preview {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    margin-bottom: 20px;
}

.nf-share-modal__thumb {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

.nf-share-modal__info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nf-share-modal__product-name {
    font-size: 13px;
    font-weight: 600;
    color: #111111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nf-share-modal__product-price {
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    margin-top: 2px;
}

.nf-share-modal__channels {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}

.nf-share-channel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-decoration: none;
    padding: 4px 0;
    transition: transform 0.15s ease;
}

.nf-share-channel:hover {
    transform: translateY(-2px);
}

.nf-share-channel__icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #e5e7eb;
    background: #ffffff;
    color: #111111;
    transition: all 0.2s ease;
}

.nf-share-channel--copy .nf-share-channel__icon {
    background: #f3f4f6;
    color: #111111;
}

.nf-share-channel--whatsapp .nf-share-channel__icon {
    background: #eefcf3;
    border-color: #bbf7d0;
    color: #25d366;
}

.nf-share-channel--instagram .nf-share-channel__icon {
    background: #fdf2f8;
    border-color: #fbcfe8;
    color: #e1306c;
}

.nf-share-channel--x .nf-share-channel__icon {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #000000;
}

.nf-share-channel--facebook .nf-share-channel__icon {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1877f2;
}

.nf-share-channel:hover .nf-share-channel__icon {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.nf-share-channel__label {
    font-size: 11px;
    font-weight: 500;
    color: #4b5563;
    text-align: center;
}

.nf-share-modal__copy-box {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 4px 4px 12px;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
}

.nf-share-modal__input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    font-size: 12px;
    color: #6b7280;
    min-width: 0;
}

.nf-share-modal__copy-btn {
    padding: 8px 16px;
    background: #111111;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.nf-share-modal__copy-btn:hover {
    background: #333333;
}

.nf-share-modal__feedback {
    margin: 10px 0 0;
    font-size: 12px;
    min-height: 18px;
    text-align: center;
    font-weight: 500;
}

.nf-share-modal__feedback.is-success {
    color: #16a34a;
}

.nf-share-modal__feedback.is-error {
    color: #dc2626;
}

@media (max-width: 480px) {
    .nf-share-modal__channels {
        gap: 6px;
    }
    .nf-share-channel__icon {
        width: 42px;
        height: 42px;
    }
    .nf-share-channel__label {
        font-size: 10px;
    }
}

/* ==========================================================================
   Language Switcher (Native 2-Language: ID | EN Text Format)
   ========================================================================== */
.nf-lang-switcher {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 4px 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    user-select: none !important;
}

.nf-lang-btn {
    text-decoration: none !important;
    color: #888888 !important;
    font-weight: 600 !important;
    padding: 2px 3px !important;
    border-radius: 3px !important;
    transition: color 0.15s ease, background 0.15s ease !important;
}

.nf-lang-btn:hover {
    color: #111111 !important;
}

.nf-lang-btn.is-active {
    color: var(--nf-brand, #ff625f) !important;
    font-weight: 800 !important;
    pointer-events: none !important;
    cursor: default !important;
}

.nf-lang-divider {
    color: #d1d5db !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    margin: 0 1px !important;
}

/* Mobile drawer head actions */
.mobile-drawer__head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.nf-lang-switcher--mobile {
    padding: 4px 10px !important;
    background: #f3f4f6 !important;
    border-radius: 999px !important;
}

.nf-lang-switcher--mobile .nf-lang-btn {
    font-size: 13px !important;
}

/* =========================================================
   MY ACCOUNT - GAYA SAYA 2-COLUMN MOBILE CARD GRID (v0.7.28)
   ========================================================= */
.nf-my-styles-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
    gap: 20px 16px !important;
}

.nf-my-style-card {
    position: relative !important;
    background: #ffffff !important;
    border: 1px solid var(--nf-line) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.nf-my-style-card .nf-status-badge {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    color: #111111 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
    pointer-events: none !important;
    max-width: calc(100% - 64px) !important;
    white-space: nowrap !important;
}

.nf-my-style-card .nf-status-badge .nf-status-text {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.nf-my-style-card .nf-status-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.nf-my-style-card .nf-status-badge.is-approved .nf-status-dot {
    background-color: #16a34a !important;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.2) !important;
}

.nf-my-style-card .nf-status-badge.is-pending .nf-status-dot {
    background-color: #f59e0b !important;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2) !important;
}

.nf-my-style-card .nf-status-badge.is-draft .nf-status-dot {
    background-color: #9ca3af !important;
    box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.2) !important;
}

.nf-my-style-card__points-row {
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid #f0f0f0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 11.5px !important;
}

.nf-my-style-points {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.nf-my-style-points.is-awarded {
    color: #15803d !important;
}

.nf-my-style-points.is-pending {
    color: #737373 !important;
    font-weight: 600 !important;
}

/* Mobile: Force exactly 2 cards per row on mobile screens (< 768px) */
@media (max-width: 768px) {
    .lookbook-grid.nf-my-styles-grid,
    .nf-my-styles-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px 10px !important;
    }

    .nf-my-style-card .lookbook-card__info {
        padding: 10px 8px 8px !important;
    }

    .nf-my-style-card .lookbook-card__author-row {
        margin-bottom: 6px !important;
        gap: 4px !important;
    }

    .nf-my-style-card .lookbook-card__avatar {
        width: 20px !important;
        height: 20px !important;
    }

    .nf-my-style-card .lookbook-card__name {
        font-size: 11px !important;
        max-width: 60px !important;
    }

    .nf-my-style-card .lookbook-card__height-badge {
        font-size: 10px !important;
        padding: 1px 5px !important;
    }

    .nf-my-style-card .lookbook-card__title {
        font-size: 12.5px !important;
        margin: 0 0 6px !important;
        line-height: 1.3 !important;
        -webkit-line-clamp: 2 !important;
    }

    .nf-my-style-card .lookbook-card__like-btn {
        top: 6px !important;
        right: 6px !important;
        padding: 3px 7px !important;
        font-size: 10px !important;
        gap: 3px !important;
    }

    .nf-my-style-card .lookbook-card__like-btn .lookbook-heart-icon {
        width: 12px !important;
        height: 12px !important;
    }

    .nf-my-style-card .lookbook-card__item-badge {
        bottom: 6px !important;
        left: 6px !important;
        padding: 2px 6px !important;
        font-size: 10px !important;
        gap: 3px !important;
    }

    .nf-my-style-card .lookbook-card__item-badge .lookbook-bag-icon {
        width: 11px !important;
        height: 11px !important;
    }

    .nf-my-style-card .nf-status-badge {
        top: 6px !important;
        left: 6px !important;
        padding: 2px 6px !important;
        font-size: 9.5px !important;
        gap: 4px !important;
        max-width: calc(100% - 54px) !important;
    }

    .nf-my-style-card .lookbook-card__tagged-preview {
        margin-top: 4px !important;
        padding-top: 4px !important;
        gap: 3px !important;
    }

    .nf-my-style-card .lookbook-card__tagged-thumb {
        width: 22px !important;
        height: 22px !important;
    }

    .nf-my-style-card .nf-my-style-card__points-row {
        margin-top: 6px !important;
        padding-top: 6px !important;
        font-size: 10.5px !important;
    }
}

/* =========================================================
   AJAX CART UPDATES & CHECKOUT UNIFIED ALAMAT TUJUAN (v0.7.29)
   ========================================================= */
.nf-uniqlo-cart-wrapper {
    position: relative;
    transition: opacity 0.2s ease;
}

.nf-uniqlo-cart-wrapper.nf-cart-is-updating {
    opacity: 0.55 !important;
    pointer-events: none !important;
}

.nf-uniqlo-cart-wrapper.nf-cart-is-updating::after {
    content: "";
    position: fixed;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid rgba(0, 0, 0, 0.12);
    border-top-color: var(--nf-brand, #ff625f);
    border-radius: 50%;
    animation: nfCartUpdatingSpin 0.75s linear infinite;
    z-index: 9999;
}

@keyframes nfCartUpdatingSpin {
    to { transform: rotate(360deg); }
}

/* Hide 'Ship to different address' checkbox and separate shipping form entirely */
#ship-to-different-address,
.woocommerce-shipping-fields,
.shipping_address,
#customer_details .col-2 {
    display: none !important;
}

#customer_details .col-1,
#customer_details.col2-set {
    width: 100% !important;
    float: none !important;
}

/* =========================================================
   CHECKOUT ORDER NOTES & DESTINATION ADDRESS (v0.7.30)
   ========================================================= */
.nf-checkout-page form.checkout.woocommerce-checkout,
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.4fr) minmax(360px, 420px) !important;
    column-gap: 48px !important;
    align-items: start !important;
}

.nf-checkout-page form.checkout > .nf-checkout-left-col,
.woocommerce-checkout form.checkout > .nf-checkout-left-col {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
}

.nf-checkout-page #customer_details,
.woocommerce-checkout #customer_details {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 32px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.nf-checkout-additional-fields {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 24px 32px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
}

.nf-checkout-additional-fields h3 {
    display: none !important;
}

.nf-checkout-additional-fields .form-row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.nf-checkout-additional-fields label {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.01em !important;
}

.nf-checkout-additional-fields label .optional {
    font-weight: 500 !important;
    color: #6b7280 !important;
    font-size: 13px !important;
}

.nf-checkout-additional-fields textarea#order_comments,
.nf-checkout-page textarea[name="order_comments"],
.woocommerce-checkout textarea[name="order_comments"] {
    width: 100% !important;
    height: 105px !important;
    min-height: 105px !important;
    max-height: 180px !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    color: #1f2937 !important;
    resize: vertical !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.nf-checkout-additional-fields textarea#order_comments::placeholder,
.nf-checkout-page textarea[name="order_comments"]::placeholder {
    color: #9ca3af !important;
}

.nf-checkout-additional-fields textarea#order_comments:focus,
.nf-checkout-page textarea[name="order_comments"]:focus {
    border-color: #111111 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #111111 !important;
}

@media (max-width: 900px) {
    .nf-checkout-page form.checkout.woocommerce-checkout,
    .woocommerce-checkout form.checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }
    .nf-checkout-page form.checkout > .nf-checkout-left-col,
    .woocommerce-checkout form.checkout > .nf-checkout-left-col {
        width: 100% !important;
        gap: 20px !important;
    }
    .nf-checkout-additional-fields,
    .woocommerce-checkout #customer_details,
    .nf-checkout-page #customer_details {
        padding: 20px 16px !important;
    }
}

/* Single Shipping Address Card (Thank You & View Order) */
.nf-order-shipping-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 24px 28px !important;
    box-sizing: border-box !important;
    margin-top: 24px !important;
}

.nf-order-shipping-card .woocommerce-column__title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 16px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    text-align: left !important;
}

.nf-order-shipping-card address {
    font-style: normal !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
    margin: 0 !important;
    text-align: left !important;
}

.nf-order-shipping-card address p {
    margin: 4px 0 0 !important;
    font-size: 14px !important;
    color: #4b5563 !important;
}

/* =========================================================
   NUEFELT LINK COLOR & NAVIGATION REFINEMENT (v0.7.31)
   Prevent browser-default / core-default blue links
   ========================================================= */

/* General safe link color fallback across theme */
a, a:link, a:visited {
    color: inherit;
}

/* Site Header Desktop Nav Links: Crisp Black (#111111) when inactive */
.site-header .desktop-nav a,
.site-header .desktop-nav a:link,
.site-header .desktop-nav a:visited,
.desktop-nav a,
.desktop-nav a:link,
.desktop-nav a:visited {
    color: #111111 !important;
    text-decoration: none !important;
}

.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus,
.site-header .desktop-nav a.is-active,
.site-header .desktop-nav a.current-menu-item,
.site-header .desktop-nav .current-menu-item > a,
.desktop-nav a:hover,
.desktop-nav a:focus,
.desktop-nav a.is-active,
.desktop-nav a.current-menu-item,
.desktop-nav .current-menu-item > a {
    color: var(--nf-brand, #ff625f) !important;
    border-bottom-color: var(--nf-brand, #ff625f) !important;
}

/* Home / Front Page: Never highlight any menu item by default */
body.home .site-header .desktop-nav a.is-active,
body.home .site-header .desktop-nav a.current-menu-item,
body.home .site-header .desktop-nav .current-menu-item > a,
body.home .desktop-nav a.is-active,
body.home .desktop-nav a.current-menu-item,
body.home .desktop-nav .current-menu-item > a,
body.front-page .desktop-nav a.is-active,
body.front-page .desktop-nav a.current-menu-item,
body.front-page .desktop-nav .current-menu-item > a {
    color: #111111 !important;
    border-bottom-color: transparent !important;
}

body.home .site-header .desktop-nav a:hover,
body.home .site-header .desktop-nav a:focus,
body.home .desktop-nav a:hover,
body.home .desktop-nav a:focus,
body.front-page .desktop-nav a:hover,
body.front-page .desktop-nav a:focus {
    color: var(--nf-brand, #ff625f) !important;
    border-bottom-color: var(--nf-brand, #ff625f) !important;
}

/* Order Details Product Links (Order Received / View Order) */
.nf-order-received-page table.order_details td.product-name a,
.woocommerce-order-received table.order_details td.product-name a,
.woocommerce-view-order table.order_details td.product-name a,
table.order_details td.product-name a,
table.order_details .nf-checkout-product-title a,
.nf-checkout-product-title a {
    color: #111111 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.nf-order-received-page table.order_details td.product-name a:hover,
.woocommerce-order-received table.order_details td.product-name a:hover,
.woocommerce-view-order table.order_details td.product-name a:hover,
table.order_details td.product-name a:hover,
table.order_details .nf-checkout-product-title a:hover,
.nf-checkout-product-title a:hover {
    color: var(--nf-brand, #ff625f) !important;
    text-decoration: underline !important;
}

/* General order received & confirmation page text / links safety */
.nf-order-received-page a:not(.button):not(.nf-btn),
.woocommerce-order-received a:not(.button):not(.nf-btn) {
    color: inherit;
}

/* =========================================================
   NUEFELT LOOKBOOK REFINEMENTS (v0.7.33)
   - Zero gap between navbar and lookbook sticky bar
   - Single lookbook like button heart icon color (white default, pink/red liked)
   ========================================================= */

/* Lookbook Filter Bar: Seamlessly attach to navbar without any gap */
.lookbook-filter-bar {
    position: sticky !important;
    top: var(--nf-branded-header-h, 72px) !important;
    z-index: 40 !important;
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-top: 1px solid var(--nf-line) !important;
    border-bottom: 1px solid var(--nf-line) !important;
    padding: 12px 0 !important;
    margin-top: -1px !important;
}

.admin-bar .lookbook-filter-bar {
    top: calc(var(--nf-wp-adminbar-h, 32px) + var(--nf-branded-header-h, 72px)) !important;
}

@media (max-width: 782px) {
    .admin-bar .lookbook-filter-bar {
        top: calc(var(--nf-wp-adminbar-h, 46px) + var(--nf-branded-header-h, 60px)) !important;
    }
}

@media (max-width: 768px) {
    .lookbook-filter-bar,
    .admin-bar .lookbook-filter-bar {
        position: static !important;
        top: auto !important;
        margin-top: 0 !important;
    }
}

/* Single Lookbook Like Button Heart Icon */
.lookbook-like-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #111111 !important;
    color: #ffffff !important;
    border: 1.5px solid #111111 !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.lookbook-like-action-btn:hover {
    background: #262626 !important;
    border-color: #262626 !important;
}

/* Default state: love icon is crisp white */
.lookbook-like-action-btn .lookbook-heart-icon,
.lookbook-like-action-btn:not(.is-liked) .lookbook-heart-icon {
    width: 18px !important;
    height: 18px !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    display: inline-block !important;
    vertical-align: middle !important;
    transition: fill 0.25s ease, stroke 0.25s ease, transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Liked state: love icon turns pink / red love */
.lookbook-like-action-btn.is-liked {
    border-color: #ff4b72 !important;
}

.lookbook-like-action-btn.is-liked .lookbook-heart-icon {
    fill: #ff4b72 !important;
    stroke: #ff4b72 !important;
    transform: scale(1.2) !important;
}

/* =========================================================
   NUEFELT BLOG & SINGLE POST POLISH v0.7.40
   - Shop Collection CTA button hover contrast fix
   - Mobile category horizontal swiping & scrollbar hidden
   - Mobile single blog 4:3 featured image sizing
   ========================================================= */

/* Blog Bottom CTA Button Hover Contrast */
.nf-blog-cta .nf-button,
.nf-blog-cta .nf-button--light,
.nf-blog-cta .nf-button.nf-button--light {
    background: #ffffff !important;
    border: 1.5px solid #ffffff !important;
    color: #111111 !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 13px 32px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.nf-blog-cta .nf-button:hover,
.nf-blog-cta .nf-button--light:hover,
.nf-blog-cta .nf-button.nf-button--light:hover,
.nf-blog-cta a.nf-button:hover {
    background: #f0f0f0 !important;
    border-color: #f0f0f0 !important;
    color: #111111 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
}

/* Responsive Mobile Blog Category Swiping & Single Blog 4:3 Image */
@media (max-width: 768px) {
    .nf-blog-categories {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 8px !important;
        padding-top: 10px !important;
        padding-bottom: 12px !important;
        margin-left: -14px !important;
        margin-right: -14px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .nf-blog-categories::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .nf-cat-pill {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        font-size: 13px !important;
        padding: 7px 16px !important;
    }

    /* Single Blog: 4:3 aspect ratio on mobile */
    .nf-post-featured-media {
        margin: 0 auto 22px !important;
    }

    .nf-post-media-box {
        width: 100% !important;
        aspect-ratio: 4 / 3 !important;
        overflow: hidden !important;
        border-radius: 8px !important;
        position: relative !important;
    }

    .nf-post-featured-img {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
        display: block !important;
    }
}

/* =========================================================
   GAYA SAYA & LOOKBOOK CARD IMAGE FULL-BLEED FIX (v0.7.41)
   Eliminate empty space/gap below lookbook card images
   ========================================================= */
.lookbook-card__media,
.nf-my-style-card .lookbook-card__media {
    position: relative !important;
    aspect-ratio: 3 / 4 !important;
    background: #f7f7f7 !important;
    overflow: hidden !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.lookbook-card__media-link,
.nf-my-style-card .lookbook-card__media-link {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.lookbook-card__media .lookbook-card__img,
.lookbook-card__media img.lookbook-card__img,
.lookbook-card__media-link > img,
.lookbook-card__media > a > img,
.nf-my-style-card .lookbook-card__media .lookbook-card__img,
.nf-my-style-card .lookbook-card__media-link > img,
.woocommerce-page .lookbook-card .lookbook-card__media img.lookbook-card__img,
.woocommerce-account .lookbook-card .lookbook-card__media img.lookbook-card__img,
.woocommerce-account .nf-my-style-card .lookbook-card__media img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transition: transform 0.4s ease !important;
}

.lookbook-card:hover .lookbook-card__media .lookbook-card__img,
.nf-my-style-card:hover .lookbook-card__media .lookbook-card__img {
    transform: scale(1.03) !important;
}

.lookbook-card__placeholder,
.nf-my-style-card .lookbook-card__placeholder {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    background: #f7f7f7 !important;
}

/* Explicitly safeguard author avatar and tagged product thumbnails in lookbook cards */
.lookbook-card__avatar {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    position: relative !important;
    display: inline-block !important;
    background: #eee !important;
}

.lookbook-card__avatar img,
.nf-my-style-card .lookbook-card__avatar img,
.woocommerce-account .nf-my-style-card .lookbook-card__avatar img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lookbook-card__tagged-preview {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: auto !important;
    padding-top: 8px !important;
    border-top: 1px solid #f4f4f4 !important;
}

.lookbook-card__tagged-thumb {
    width: 26px !important;
    height: 26px !important;
    border-radius: 3px !important;
    border: 1px solid var(--nf-line) !important;
    overflow: hidden !important;
    position: relative !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

.lookbook-card__tagged-thumb img,
.nf-my-style-card .lookbook-card__tagged-thumb img,
.woocommerce-account .nf-my-style-card .lookbook-card__tagged-thumb img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   NUEFELT BLOG & EDITORIAL POLISH v0.7.47
   - Fix Blog Page header alignment: ensure .nf-blog-header__inner 
     strictly follows standard .nf-container bounds (aligning with article card & logo)
   - Revert single blog post featured image size to original
   ========================================================= */

.nf-blog-header .nf-blog-header__inner,
.nf-blog-header .nf-container.nf-blog-header__inner {
    max-width: none !important;
}

/* =========================================================
   NUEFELT SINGLE PRODUCT GALLERY POLISH v0.7.51
   - 1 Main Image on top: 600px x 600px SQUARE (aspect-ratio: 1/1, max-width: 600px)
   - 5 small square thumbnail boxes underneath aligned to 600px
   - PDP Layout position centered (max-width: 1160px)
   ========================================================= */

.nf-pdp-layout {
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.nf-pdp-left {
    max-width: 600px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.nf-pdp-panel {
    max-width: 480px !important;
    width: 100% !important;
}

.nf-pdp-gallery-shell {
    position: relative !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

.nf-pdp-main-image-viewport {
    position: relative !important;
    width: 100% !important;
    max-width: 600px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f1f1f1 !important;
    aspect-ratio: 1 / 1 !important;
}

.nf-pdp-main-image-viewport .nf-pdp-gallery {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}

.nf-pdp-main-image-viewport .nf-pdp-gallery::-webkit-scrollbar {
    display: none !important;
}

.nf-pdp-main-image-viewport .nf-pdp-gallery__item {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    background: #f1f1f1 !important;
    position: relative !important;
    grid-column: auto !important;
}

.nf-pdp-main-image-viewport .nf-pdp-gallery__item:first-child {
    grid-column: auto !important;
}

.nf-pdp-main-image-viewport .nf-pdp-gallery__item a,
.nf-pdp-main-image-viewport .nf-pdp-gallery__link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    cursor: zoom-in !important;
}

.nf-pdp-main-image-viewport .nf-pdp-gallery__item img,
.nf-pdp-main-image-viewport .nf-pdp-main-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}

.nf-pdp-thumbs-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 600px !important;
}

.nf-pdp-thumbs-wrapper.has-no-overflow .nf-pdp-thumb-arrow {
    display: none !important;
}

.nf-pdp-thumbs-track-wrap {
    flex: 1 !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
}

.nf-pdp-thumbs-track-wrap::-webkit-scrollbar {
    display: none !important;
}

.nf-pdp-thumbs-track {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
}

.nf-pdp-thumb-box {
    flex: 0 0 calc((100% - 32px) / 5) !important;
    width: calc((100% - 32px) / 5) !important;
    min-width: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid transparent !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #f4f4f4 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    opacity: 0.75 !important;
    transition: opacity 0.2s ease, border-color 0.2s ease, transform 0.15s ease !important;
    position: relative !important;
    pointer-events: auto !important;
    z-index: 5 !important;
}

.nf-pdp-thumb-box:hover {
    opacity: 1 !important;
    transform: translateY(-1px) !important;
}

.nf-pdp-thumb-box.is-active {
    opacity: 1 !important;
    border-color: #111111 !important;
    box-shadow: 0 0 0 1px #111111 !important;
}

.nf-pdp-thumb-box img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    pointer-events: none !important;
}

.nf-pdp-thumb-arrow {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    color: #111111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    z-index: 2 !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
}

.nf-pdp-thumb-arrow:hover {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
    transform: scale(1.06) !important;
}

.nf-pdp-thumb-arrow svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
}

.nf-pdp-description-column {
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 782px) {
    .nf-pdp-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        max-width: 100% !important;
    }
    .nf-pdp-gallery-shell {
        max-width: 100% !important;
        margin: 0 !important;
        margin-inline: calc(var(--nf-gutter) * -1) !important;
    }
    .nf-pdp-main-image-viewport {
        border-radius: 0 !important;
        aspect-ratio: 1 / 1 !important;
    }
    .nf-pdp-main-image-viewport .nf-pdp-gallery__item {
        aspect-ratio: 1 / 1 !important;
    }
    .nf-pdp-thumbs-wrapper {
        max-width: 100% !important;
        padding-inline: var(--nf-gutter) !important;
        margin: 10px auto 0 !important;
        gap: 6px !important;
    }
    .nf-pdp-thumbs-track {
        gap: 6px !important;
    }
    .nf-pdp-thumb-box {
        flex: 0 0 calc((100% - 24px) / 5) !important;
        width: calc((100% - 24px) / 5) !important;
        border-radius: 4px !important;
    }
    .nf-pdp-thumb-arrow {
        width: 24px !important;
        height: 24px !important;
    }
    .nf-pdp-description-column {
        max-width: 100% !important;
    }
}

/* =========================================================
   NUEFELT v0.7.58 SIZE GUIDE RESTORATION & POLISH
   Scope: High z-index drawer, refined link trigger, responsive alignment
   ========================================================= */

.nf-size-guide {
    z-index: 999999 !important;
}

.nf-size-guide-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid currentColor !important;
    background: transparent !important;
    color: var(--nf-text, #111111) !important;
    font: inherit !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}

.nf-size-guide-link:hover {
    opacity: 0.7 !important;
}

.nf-selector-head .nf-size-guide-link {
    margin-left: auto !important;
}

.nf-size-guide-fallback-wrap,
.nf-simple-size-guide-wrap {
    display: flex !important;
    justify-content: flex-end !important;
    margin: 8px 0 14px !important;
}

.nf-pdp-size-guide-accordion-prompt {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

