/* ═══════════════════════════════════════════════════════════════
   JEWEL NAG COUTURE — Cart · Checkout · Account
   Palette: Dark Olive #3a4530 / #2e3827  ·  Gold #C9A84C  ·  Cream #ece7da
   Reference: uploaded design image
   ═══════════════════════════════════════════════════════════════ */

/* ─── Design Tokens ──────────────────────────────────────────── */
:root {
    --jnc-bg:           #2e3827;
    --jnc-bg-card:      #3a4530;
    --jnc-bg-input:     #252e1e;
    --jnc-bg-sidebar:   #323d27;
    --jnc-border:       #5a6648;
    --jnc-border-light: #6b7a55;
    --jnc-gold:         #C9A84C;
    --jnc-gold-hover:   #e0bb5a;
    --jnc-gold-dim:     rgba(201,168,76,.15);
    --jnc-text:         #ece7da;
    --jnc-muted:        #7a8a6a;
    --jnc-muted-light:  #9aaa80;
    --jnc-font-serif:   'Cormorant Garamond', Georgia, serif;
    --jnc-font-sans:    'Inter', system-ui, sans-serif;
    --jnc-radius:       3px;
    --jnc-radius-lg:    6px;
}
/* ── Variables needed for drawer on all pages ── */

/* ════════════════════════════════════════════════════════════════
   PAGE SCAFFOLD — override jnc-global-theme for these pages
   ════════════════════════════════════════════════════════════════ */
body.woocommerce-cart,
body.woocommerce-account,
body.jnc-is-cart,
body.jnc-is-account {
    background: var(--jnc-bg) !important;
    color: var(--jnc-text) !important;
    font-family: var(--jnc-font-sans) !important;
}

body.woocommerce-cart  #page,
body.woocommerce-account #page,
body.jnc-is-cart   #page,
body.jnc-is-account  #page,
body.woocommerce-cart  .site-content,
body.woocommerce-account .site-content,
body.jnc-is-cart   .site-content,
body.jnc-is-account  .site-content,
body.woocommerce-cart  #content,
body.woocommerce-account #content,
body.jnc-is-cart   #content,
body.jnc-is-account  #content,
body.woocommerce-cart  .ast-container,
body.woocommerce-account .ast-container,
body.jnc-is-cart   .ast-container,
body.jnc-is-account  .ast-container,
body.woocommerce-cart  .entry-content,
body.woocommerce-account .entry-content,
body.jnc-is-cart   .entry-content,
body.jnc-is-account  .entry-content,
body.woocommerce-cart  .woocommerce,
body.woocommerce-account .woocommerce,
body.jnc-is-cart   .woocommerce,
body.jnc-is-account  .woocommerce {
    background: var(--jnc-bg) !important;
}

/* ─── Header on cart/checkout/account ───────────────────────── */
body.woocommerce-cart   .site-header,
body.woocommerce-account  .site-header,
body.jnc-is-cart   .site-header,
body.jnc-is-account  .site-header,
body.woocommerce-cart   #masthead,
body.woocommerce-account  #masthead,
body.jnc-is-cart   #masthead,
body.jnc-is-account  #masthead,
body.woocommerce-cart   .main-header-bar,
body.woocommerce-account  .main-header-bar,
body.jnc-is-cart   .main-header-bar,
body.jnc-is-account  .main-header-bar {
    background: var(--jnc-bg-sidebar) !important;
    border-bottom: 1px solid var(--jnc-border) !important;
}

/* ════════════════════════════════════════════════════════════════
   CART PAGE HEADING  "YOUR CART (2)"
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart h1.entry-title,
.wc-block-cart__main-heading,
body.jnc-is-cart h1.entry-title {
    font-family: var(--jnc-font-serif) !important;
    font-size: 2.4rem !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: var(--jnc-gold) !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
    margin-bottom: 32px !important;
}

/* ─── WC Notices ─────────────────────────────────────────────── */
body.woocommerce-cart   .woocommerce-notices-wrapper .woocommerce-message,
body.jnc-is-cart .woocommerce-notices-wrapper .woocommerce-message {
    background: var(--jnc-bg-card) !important;
    border-left: 3px solid var(--jnc-gold) !important;
    border-top: none !important;
    color: var(--jnc-text) !important;
    border-radius: var(--jnc-radius) !important;
    box-shadow: none !important;
}
.woocommerce-notices-wrapper .woocommerce-message a,
.jnc-view-cart-btn {
    color: var(--jnc-gold) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.woocommerce-notices-wrapper .woocommerce-message::before {
    color: var(--jnc-gold) !important;
}

/* ════════════════════════════════════════════════════════════════
   EMPTY CART STATE
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart .cart-empty,
.woocommerce-cart p.cart-empty {
    font-family: var(--jnc-font-serif) !important;
    font-size: 1.4rem !important;
    color: var(--jnc-muted-light) !important;
    text-align: center !important;
    padding: 48px 0 24px !important;
    font-style: italic !important;
}

.woocommerce-cart .return-to-shop {
    text-align: center !important;
    margin-top: 8px !important;
}

.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .wc-backward {
    display: inline-block !important;
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: var(--jnc-radius) !important;
    padding: 14px 36px !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .2s !important;
    font-family: var(--jnc-font-sans) !important;
}
.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart .wc-backward:hover {
    background: var(--jnc-gold-hover) !important;
    color: #1a1a1a !important;
}

/* ════════════════════════════════════════════════════════════════
   CART TWO-COLUMN LAYOUT: table left · summary right
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    grid-template-rows: auto !important;
    gap: 40px !important;
    align-items: start !important;
    padding: 32px 48px 64px !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}
/* Cart form occupies left column */
.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
/* Notices span full width */
.woocommerce-cart .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    grid-row: 0 !important;
}
/* Cart collaterals (totals) goes right */
.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: sticky !important;
    top: 100px !important;
}

@media (max-width: 900px) {
    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr !important;
        padding: 24px 20px 48px !important;
    }
    .woocommerce-cart .cart-collaterals {
        grid-column: 1 !important;
        grid-row: 2 !important;
        position: static !important;
    }
}

/* ════════════════════════════════════════════════════════════════
   CART TABLE — classic shortcode
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart-form { background: transparent !important; }

/* ── Kill ALL default WC/Astra white backgrounds on cart table ── */
.woocommerce-cart-form,
.woocommerce-cart-form *,
.woocommerce-cart-form table,
.woocommerce-cart-form table.shop_table,
.woocommerce-cart-form table.shop_table thead,
.woocommerce-cart-form table.shop_table thead tr,
.woocommerce-cart-form table.shop_table thead th,
.woocommerce-cart-form table.shop_table tbody,
.woocommerce-cart-form table.shop_table tbody tr,
.woocommerce-cart-form table.shop_table tbody td,
.woocommerce-cart-form table.shop_table tfoot,
.woocommerce-cart-form table.shop_table tfoot tr,
.woocommerce-cart-form table.shop_table tfoot td,
.woocommerce-cart-form table.shop_table tfoot th {
    background: transparent !important;
    background-color: transparent !important;
}

.woocommerce-cart-form table.shop_table {
    border: none !important;
    border-collapse: collapse !important;
    width: 100% !important;
}

/* Column headings: PRODUCT · PRICE · QUANTITY · SUBTOTAL → gold */
.woocommerce-cart-form table.shop_table thead th {
    color: var(--jnc-gold) !important;
    font-family: var(--jnc-font-sans) !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    padding: 10px 16px 14px !important;
    box-shadow: none !important;
}

.woocommerce-cart-form table.shop_table td {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    padding: 20px 16px !important;
    vertical-align: middle !important;
    box-shadow: none !important;
}

/* Remove column — keep it narrow, circle × */
.woocommerce-cart-form td.product-remove {
    width: 36px !important;
    padding: 20px 8px 20px 0 !important;
    text-align: center !important;
}
.woocommerce-cart-form td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    border: 1px solid var(--jnc-border) !important;
    color: var(--jnc-muted) !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    background: transparent !important;
    text-decoration: none !important;
    transition: border-color .2s, color .2s !important;
}
.woocommerce-cart-form td.product-remove a.remove:hover {
    border-color: var(--jnc-gold) !important;
    color: var(--jnc-gold) !important;
    background: transparent !important;
}

/* Product thumbnail — show full image without cropping */
.woocommerce-cart-form td.product-thumbnail {
    width: 90px !important;
    padding: 20px 8px !important;
}
.woocommerce-cart-form td.product-thumbnail img {
    width: 72px !important;
    height: 84px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: var(--jnc-radius) !important;
    display: block !important;
    background: var(--jnc-bg-card) !important;
}

/* Quantity stepper − N + */
.woocommerce-cart-form td.product-quantity {
    white-space: nowrap !important;
}
.woocommerce-cart-form .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius) !important;
    overflow: hidden !important;
    height: 36px !important;
}
/* WC outputs −/+ as buttons via JS or plugin — style both native and custom */
.woocommerce-cart-form .quantity .qty {
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--jnc-border) !important;
    border-right: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    text-align: center !important;
    width: 48px !important;
    height: 36px !important;
    padding: 0 4px !important;
    font-size: .9rem !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }
/* Qty step buttons (added by plugins / classic WC) */
.woocommerce-cart-form .quantity button.minus,
.woocommerce-cart-form .quantity button.plus,
.woocommerce-cart-form .quantity .qty-btn {
    background: transparent !important;
    border: none !important;
    color: var(--jnc-text) !important;
    width: 32px !important;
    height: 36px !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: color .2s !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce-cart-form .quantity button.minus:hover,
.woocommerce-cart-form .quantity button.plus:hover { color: var(--jnc-gold) !important; }

/* Product name */
.woocommerce-cart-form td.product-name a {
    color: var(--jnc-text) !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: block !important;
    margin-bottom: 4px !important;
}
.woocommerce-cart-form td.product-name a:hover { color: var(--jnc-gold) !important; }

.woocommerce-cart-form td.product-name .variation {
    color: var(--jnc-muted-light) !important;
    font-size: .78rem !important;
    margin-top: 5px !important;
    line-height: 1.5 !important;
}
.woocommerce-cart-form td.product-name .variation dt,
.woocommerce-cart-form td.product-name .variation dd {
    display: inline !important;
    margin: 0 !important;
}
.woocommerce-cart-form td.product-name .variation dt::after { content: ' ' !important; }
.woocommerce-cart-form td.product-name .variation dd::after { content: '  ·  ' !important; }
.woocommerce-cart-form td.product-name .variation dd:last-child::after { content: '' !important; }

/* Price columns */
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal {
    color: var(--jnc-text) !important;
    font-weight: 500 !important;
    font-size: .95rem !important;
}
.woocommerce-cart-form td.product-price .woocommerce-Price-amount,
.woocommerce-cart-form td.product-subtotal .woocommerce-Price-amount {
    color: var(--jnc-text) !important;
}

/* Remove × */
.woocommerce-cart-form td.product-remove a.remove {
    color: var(--jnc-muted) !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    background: transparent !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce-cart-form td.product-remove a.remove:hover {
    color: var(--jnc-gold) !important;
    background: transparent !important;
}

/* ── Actions row (continue shopping + coupon + update) ───────── */
.woocommerce-cart-form .actions {
    background: transparent !important;
    border: none !important;
    padding: 20px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* Continue Shopping button */
.woocommerce-cart-form .actions .jnc-continue-shopping,
.woocommerce-cart .return-to-shop a,
.wc-block-cart__continue-shopping,
.wc-block-cart__return-to-shop a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    border-radius: var(--jnc-radius) !important;
    padding: 10px 22px !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: border-color .2s, color .2s !important;
    font-family: var(--jnc-font-sans) !important;
    height: 42px !important;
}
.wc-block-cart__continue-shopping:hover,
.wc-block-cart__return-to-shop a:hover {
    border-color: var(--jnc-gold) !important;
    color: var(--jnc-gold) !important;
}

/* Coupon input */
.woocommerce-cart-form #coupon_code {
    background: var(--jnc-bg-input) !important;
    border: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    border-radius: var(--jnc-radius) !important;
    padding: 10px 16px !important;
    font-size: .85rem !important;
    letter-spacing: .02em !important;
    min-width: 220px !important;
    height: 42px !important;
    font-family: var(--jnc-font-sans) !important;
}
.woocommerce-cart-form #coupon_code::placeholder { color: var(--jnc-muted) !important; }
.woocommerce-cart-form #coupon_code:focus {
    outline: none !important;
    border-color: var(--jnc-gold) !important;
    box-shadow: 0 0 0 2px var(--jnc-gold-dim) !important;
}

/* Apply / Update buttons */
.woocommerce-cart-form .coupon .button,
.woocommerce-cart-form [name="update_cart"] {
    background: transparent !important;
    border: 1px solid var(--jnc-gold) !important;
    color: var(--jnc-gold) !important;
    border-radius: var(--jnc-radius) !important;
    padding: 10px 24px !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    height: 42px !important;
    transition: background .2s, color .2s !important;
    font-family: var(--jnc-font-sans) !important;
}
.woocommerce-cart-form .coupon .button:hover,
.woocommerce-cart-form [name="update_cart"]:hover {
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
}

/* ════════════════════════════════════════════════════════════════
   CART SUMMARY SIDEBAR — reference: dark card, right side
   ════════════════════════════════════════════════════════════════ */
.cart_totals,
.cart-collaterals .cart_totals {
    background: var(--jnc-bg-sidebar) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius-lg) !important;
    padding: 28px !important;
}

/* "CART SUMMARY" heading → gold */
.cart_totals h2 {
    font-family: var(--jnc-font-sans) !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    color: var(--jnc-gold) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--jnc-border) !important;
}

.cart_totals table.shop_table {
    background: transparent !important;
    border: none !important;
    width: 100% !important;
}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    padding: 14px 0 !important;
    font-size: .88rem !important;
}
/* All row label th → gold */
.cart_totals table.shop_table th {
    color: var(--jnc-gold) !important;
    font-weight: 600 !important;
    font-size: .78rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

/* Subtotal row */
.cart_totals table.shop_table .cart-subtotal th { color: var(--jnc-gold) !important; }
.cart_totals table.shop_table .cart-subtotal td { color: var(--jnc-text) !important; font-weight: 500 !important; text-align: right !important; }

/* Shipping */
.cart_totals table.shop_table .shipping th { color: var(--jnc-gold) !important; }
.cart_totals table.shop_table .shipping td { color: var(--jnc-text) !important; font-weight: 500 !important; text-align: right !important; }

/* TOTAL row */
.cart_totals table.shop_table .order-total th,
.cart_totals table.shop_table .order-total td {
    border-bottom: none !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
}
.cart_totals table.shop_table .order-total th {
    font-size: .82rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--jnc-gold) !important;
}
.cart_totals table.shop_table .order-total td {
    color: var(--jnc-gold) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    font-family: var(--jnc-font-serif) !important;
    text-align: right !important;
}
.cart_totals table.shop_table .order-total td small {
    color: var(--jnc-muted) !important;
    font-size: .68rem !important;
    display: block !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
    font-family: var(--jnc-font-sans) !important;
    letter-spacing: .04em !important;
    text-transform: none !important;
}

/* Tax line under total */
.cart_totals .woocommerce-shipping-destination { color: var(--jnc-muted) !important; font-size: .76rem !important; }

/* ── PROCEED TO CHECKOUT button ───────────────────────────────── */
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: var(--jnc-radius) !important;
    padding: 18px !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .2s !important;
    margin-top: 22px !important;
    font-family: var(--jnc-font-sans) !important;
    box-sizing: border-box !important;
}
.wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--jnc-gold-hover) !important;
    color: #1a1a1a !important;
}

/* Secure checkout note */
.wc-proceed-to-checkout p.secure-checkout-note,
.jnc-secure-note {
    text-align: center !important;
    color: var(--jnc-muted) !important;
    font-size: .7rem !important;
    margin-top: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    letter-spacing: .04em !important;
}

/* ── Trust badge row (bottom of cart) ────────────────────────── */
.jnc-cart-trust-row {
    display: flex !important;
    justify-content: center !important;
    gap: 48px !important;
    flex-wrap: wrap !important;
    padding: 28px 0 !important;
    border-top: 1px solid var(--jnc-border) !important;
    margin-top: 40px !important;
    background: transparent !important;
}
.jnc-cart-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-align: left !important;
}
.jnc-cart-trust-item svg {
    width: 28px !important;
    height: 28px !important;
    stroke: var(--jnc-gold) !important;
    flex-shrink: 0 !important;
}
.jnc-cart-trust-item strong {
    color: var(--jnc-text) !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
    display: block !important;
    margin-bottom: 2px !important;
}
.jnc-cart-trust-item span {
    color: var(--jnc-muted) !important;
    font-size: .7rem !important;
}

/* ════════════════════════════════════════════════════════════════
   BLOCK CART  (WC blocks version)
   ════════════════════════════════════════════════════════════════ */
.wp-block-woocommerce-cart,
.wc-block-cart {
    background: var(--jnc-bg) !important;
    color: var(--jnc-text) !important;
    padding: 40px 24px !important;
    max-width: 1300px !important;
    margin: 0 auto !important;
}
.wc-block-cart-items__row {
    border-bottom: 1px solid var(--jnc-border) !important;
    padding: 20px 0 !important;
    background: transparent !important;
}
.wc-block-cart-item__image img {
    border-radius: var(--jnc-radius) !important;
    width: 80px !important;
    height: 100px !important;
    object-fit: cover !important;
}
.wc-block-cart-item__product a {
    color: var(--jnc-text) !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    text-decoration: none !important;
}
.wc-block-cart-item__product .wc-block-components-product-metadata__description,
.wc-block-cart-item__product .wc-block-cart-item__meta {
    color: var(--jnc-muted-light) !important;
    font-size: .78rem !important;
}

/* Block quantity selector */
.wc-block-components-quantity-selector {
    background: transparent !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    overflow: hidden !important;
}
.wc-block-components-quantity-selector__button {
    background: transparent !important;
    color: var(--jnc-text) !important;
    border: none !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 1.1rem !important;
    cursor: pointer !important;
    transition: color .2s !important;
}
.wc-block-components-quantity-selector__button:hover { color: var(--jnc-gold) !important; }
.wc-block-components-quantity-selector__input {
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--jnc-border) !important;
    border-right: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    text-align: center !important;
    width: 48px !important;
    font-size: .9rem !important;
}
.wc-block-cart-item__remove-link {
    color: var(--jnc-muted) !important;
    font-size: .75rem !important;
    text-decoration: none !important;
    letter-spacing: .04em !important;
    transition: color .2s !important;
}
.wc-block-cart-item__remove-link:hover { color: var(--jnc-gold) !important; }
.wc-block-components-product-price,
.wc-block-cart-item__total .wc-block-components-product-price { color: var(--jnc-text) !important; font-weight: 500 !important; }

/* Block cart sidebar */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
    background: var(--jnc-bg-sidebar) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius-lg) !important;
    padding: 28px !important;
}
.wc-block-components-totals-item {
    border-bottom: 1px solid var(--jnc-border) !important;
    padding: 12px 0 !important;
    color: var(--jnc-text) !important;
    font-size: .88rem !important;
}
.wc-block-components-totals-item__label { color: var(--jnc-muted-light) !important; }
.wc-block-components-totals-item.is-total {
    border-bottom: none !important;
    padding-top: 18px !important;
}
.wc-block-components-totals-item.is-total .wc-block-components-totals-item__label {
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--jnc-text) !important;
}
.wc-block-components-totals-item.is-total .wc-block-components-totals-item__value {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--jnc-gold) !important;
    font-family: var(--jnc-font-serif) !important;
}

/* Block coupon */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
    background: var(--jnc-bg-input) !important;
    border: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    border-radius: var(--jnc-radius) !important;
}
.wc-block-components-totals-coupon__button {
    background: transparent !important;
    border: 1px solid var(--jnc-gold) !important;
    color: var(--jnc-gold) !important;
    border-radius: var(--jnc-radius) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
    transition: background .2s, color .2s !important;
}
.wc-block-components-totals-coupon__button:hover {
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
}
.wc-block-cart__submit-button {
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: var(--jnc-radius) !important;
    width: 100% !important;
    padding: 18px !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin-top: 18px !important;
    transition: background .2s !important;
}
.wc-block-cart__submit-button:hover { background: var(--jnc-gold-hover) !important; }

/* ════════════════════════════════════════════════════════════════
   MY ACCOUNT PAGE
   ════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce { background: transparent !important; }

.woocommerce-MyAccount-navigation {
    background: var(--jnc-bg-sidebar) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius-lg) !important;
    padding: 20px !important;
    min-width: 200px !important;
}
.woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--jnc-muted-light) !important;
    text-decoration: none !important;
    padding: 10px 12px !important;
    border-radius: var(--jnc-radius) !important;
    font-size: .85rem !important;
    font-weight: 500 !important;
    transition: color .2s, background .2s !important;
}
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--jnc-text) !important; background: var(--jnc-gold-dim) !important; }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--jnc-gold) !important; background: var(--jnc-gold-dim) !important; }
.woocommerce-MyAccount-navigation::before {
    content: 'MY ACCOUNT' !important;
    display: block !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    letter-spacing: .2em !important;
    color: var(--jnc-muted) !important;
    padding: 0 12px 12px !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    margin-bottom: 8px !important;
}

.woocommerce-MyAccount-content {
    background: var(--jnc-bg-card) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius-lg) !important;
    padding: 32px !important;
    color: var(--jnc-text) !important;
    flex: 1 !important;
}
.woocommerce-MyAccount-content h2 {
    font-family: var(--jnc-font-serif) !important;
    font-size: 1.6rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: var(--jnc-text) !important;
    margin-bottom: 16px !important;
}
.woocommerce-MyAccount-content p { color: var(--jnc-muted-light) !important; font-size: .88rem !important; line-height: 1.7 !important; }
.woocommerce-MyAccount-content p a { color: var(--jnc-gold) !important; text-decoration: none !important; }

/* Login/register panels */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    background: var(--jnc-bg-card) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius-lg) !important;
    padding: 32px !important;
}
.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
    font-family: var(--jnc-font-sans) !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    color: var(--jnc-gold) !important;
    margin-bottom: 24px !important;
}
.woocommerce-account label {
    color: var(--jnc-muted-light) !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 5px !important;
}
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"] {
    background: var(--jnc-bg-input) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: var(--jnc-radius) !important;
    color: var(--jnc-text) !important;
    padding: 13px 16px !important;
    font-size: .88rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: 46px !important;
    font-family: var(--jnc-font-sans) !important;
}
.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus {
    border-color: var(--jnc-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px var(--jnc-gold-dim) !important;
}
.woocommerce-account input::placeholder { color: var(--jnc-muted) !important; opacity: .6 !important; }
.woocommerce-account .woocommerce-form__label-for-checkbox { text-transform: none !important; letter-spacing: 0 !important; }
.woocommerce-account .lost_password a { color: var(--jnc-gold) !important; font-size: .78rem !important; text-decoration: none !important; }
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-form-register button[type="submit"] {
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: var(--jnc-radius) !important;
    padding: 14px 32px !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background .2s !important;
    margin-top: 8px !important;
    font-family: var(--jnc-font-sans) !important;
}
.woocommerce-account .woocommerce-form-login button:hover,
.woocommerce-account .woocommerce-form-register button:hover { background: var(--jnc-gold-hover) !important; }

/* Orders table */
.woocommerce-account table.woocommerce-orders-table {
    background: transparent !important;
    border-collapse: collapse !important;
    width: 100% !important;
}
.woocommerce-account table.woocommerce-orders-table thead th {
    background: transparent !important;
    color: var(--jnc-muted) !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    padding: 10px 0 !important;
}
.woocommerce-account table.woocommerce-orders-table td {
    background: transparent !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    padding: 14px 0 !important;
    font-size: .88rem !important;
}
.woocommerce-account table.woocommerce-orders-table td a { color: var(--jnc-gold) !important; text-decoration: none !important; }
.woocommerce-account .button.view {
    background: transparent !important;
    border: 1px solid var(--jnc-gold) !important;
    color: var(--jnc-gold) !important;
    border-radius: var(--jnc-radius) !important;
    padding: 6px 16px !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .2s, color .2s !important;
}
.woocommerce-account .button.view:hover { background: var(--jnc-gold) !important; color: #1a1a1a !important; }
.woocommerce-account mark.order-status {
    background: var(--jnc-gold-dim) !important;
    color: var(--jnc-gold) !important;
    border-radius: 2px !important;
    padding: 3px 10px !important;
    font-size: .7rem !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

/* ════════════════════════════════════════════════════════════════
   MISC / SHARED
   ════════════════════════════════════════════════════════════════ */
.woocommerce-error,
.wc-block-components-validation-error {
    background: rgba(180,50,50,.12) !important;
    border-left: 3px solid #c0392b !important;
    border-radius: var(--jnc-radius) !important;
    color: #e57373 !important;
    padding: 12px 16px !important;
    list-style: none !important;
    font-size: .85rem !important;
}
.woocommerce-error li { color: #e57373 !important; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-radius: var(--jnc-radius) !important; }
.woocommerce-message {
    background: var(--jnc-bg-card) !important;
    border-top: 3px solid var(--jnc-gold) !important;
    color: var(--jnc-text) !important;
}
.woocommerce-message a.button,
.woocommerce-message a { color: var(--jnc-gold) !important; }
.woocommerce-info {
    background: var(--jnc-bg-card) !important;
    border-top: 3px solid var(--jnc-muted) !important;
    color: var(--jnc-muted-light) !important;
}
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--jnc-gold) !important; }
.blockUI.blockOverlay { background: rgba(46,56,39,.7) !important; }

/* ─── Astra padding removal ───────────────────────────────────── */
body.jnc-is-cart   .ast-separate-container .entry-content {
    padding: 0 !important;
}
body.jnc-is-cart   [class*="wc-block"] {
    background: var(--jnc-bg) !important;
    color: var(--jnc-text) !important;
}

/* ════════════════════════════════════════════════════════════════
   DESKTOP / TABLET LAYOUT (≥769px) — unchanged
   ════════════════════════════════════════════════════════════════ */

/* ── STEP 1: Break out of Astra's narrow container ───────────────
   Astra wraps everything in .ast-container with a max-width.
   We stretch the woocommerce div to fill the viewport width.
──────────────────────────────────────────────────────────────── */
body.woocommerce-cart .ast-container,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .ast-separate-container .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── STEP 2: Two-column cart layout with FIXED sidebar width ──── */
body.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: 1fr 360px !important;  /* sidebar locked at 360px */
    grid-template-rows: auto !important;
    gap: 40px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1400px !important;
    padding: 24px 48px 64px !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
}
body.woocommerce-cart .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
}
body.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
}
body.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 360px !important;           /* lock it — no shrinking */
    min-width: 360px !important;
    position: sticky !important;
    top: 90px !important;
}

/* ── STEP 3: CART TOTALS SIDEBAR ─────────────────────────────── */
.cart_totals,
.cart-collaterals .cart_totals {
    background: var(--jnc-bg-sidebar) !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: 6px !important;
    padding: 28px 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
/* Kill every white/light bg inside */
.cart_totals *,
.cart_totals table,
.cart_totals table th,
.cart_totals table td,
.cart_totals table tr,
.cart_totals h2 {
    background: transparent !important;
    background-color: transparent !important;
}

/* CART TOTALS heading */
.cart_totals h2 {
    font-family: var(--jnc-font-sans) !important;
    font-size: .6rem !important;
    font-weight: 700 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
    color: var(--jnc-gold) !important;
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    white-space: nowrap !important;
}

/* Totals table — FIXED layout, two explicit columns */
.cart_totals table.shop_table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: none !important;
}
.cart_totals table.shop_table th {
    width: 40% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    padding: 13px 12px 13px 0 !important;
    color: var(--jnc-muted-light) !important;
    font-family: var(--jnc-font-sans) !important;
    font-size: .68rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
}
.cart_totals table.shop_table td {
    width: 60% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: right !important;
    padding: 13px 0 !important;
    color: var(--jnc-text) !important;
    font-family: var(--jnc-font-sans) !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
}

/* Shipping row — "Calculate shipping" white */
.cart_totals table.shop_table .shipping th { color: var(--jnc-muted-light) !important; }
.cart_totals table.shop_table .shipping td,
.cart_totals table.shop_table .shipping td *,
.cart_totals table.shop_table .shipping td a,
.cart_totals .woocommerce-shipping-destination,
.cart_totals a.shipping-calculator-button {
    color: var(--jnc-text) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.cart_totals a.shipping-calculator-button:hover {
    color: var(--jnc-gold) !important;
}

/* TOTAL row — gold, serif, larger */
.cart_totals table.shop_table .order-total th,
.cart_totals table.shop_table .order-total td {
    border-bottom: none !important;
    padding-top: 18px !important;
    padding-bottom: 4px !important;
}
.cart_totals table.shop_table .order-total th {
    color: var(--jnc-gold) !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    white-space: nowrap !important;
}
.cart_totals table.shop_table .order-total td,
.cart_totals table.shop_table .order-total td * {
    color: var(--jnc-gold) !important;
    font-family: var(--jnc-font-serif) !important;
    font-size: 1.55rem !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* PROCEED TO CHECKOUT — full width, single line */
.wc-proceed-to-checkout { margin-top: 22px !important; padding: 0 !important; }
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: var(--jnc-gold) !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 16px 12px !important;
    font-family: var(--jnc-font-sans) !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background .2s !important;
}
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--jnc-gold-hover) !important; color: #1a1a1a !important; }

/* ── STEP 4: CART TABLE full-width, proper columns ───────────── */
.woocommerce-cart-form { width: 100% !important; }
.woocommerce-cart-form table.shop_table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: none !important;
}

/* Column widths */
.woocommerce-cart-form table.shop_table .product-remove    { width: 40px !important; }
.woocommerce-cart-form table.shop_table .product-thumbnail { width: 130px !important; }
.woocommerce-cart-form table.shop_table .product-name      { width: auto !important; }  /* flex fills */
.woocommerce-cart-form table.shop_table .product-price     { width: 120px !important; }
.woocommerce-cart-form table.shop_table .product-quantity  { width: 130px !important; }
.woocommerce-cart-form table.shop_table .product-subtotal  { width: 130px !important; }

/* thead */
.woocommerce-cart-form table.shop_table thead th {
    color: var(--jnc-gold) !important;
    font-family: var(--jnc-font-sans) !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    padding: 10px 12px 14px !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

/* all td */
.woocommerce-cart-form table.shop_table td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    padding: 20px 12px !important;
    vertical-align: middle !important;
    box-shadow: none !important;
}

/* ── STEP 5: PRODUCT IMAGE — portrait, fitted ────────────────── */
.woocommerce-cart-form td.product-thumbnail {
    padding: 14px 10px !important;
    vertical-align: middle !important;
}
/* Strip height from all ancestors */
.woocommerce-cart-form td.product-thumbnail,
.woocommerce-cart-form td.product-thumbnail a {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}
.woocommerce-cart-form td.product-thumbnail a {
    display: block !important;
    width: 110px !important;
}
/* Image — explicit 3-way height lock */
.woocommerce-cart-form td.product-thumbnail img,
body.woocommerce-cart td.product-thumbnail img,
body.woocommerce-cart .shop_table td.product-thumbnail img,
body.woocommerce-cart .woocommerce-cart-form img.attachment-woocommerce_thumbnail {
    display: block !important;
    width: 110px !important;
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
    object-fit: contain !important;
    object-position: center top !important;
    border-radius: 3px !important;
    background: #3a4530 !important;
    flex-shrink: 0 !important;
}

/* ── STEP 6: PRODUCT NAME ─────────────────────────────────────── */
.woocommerce-cart-form td.product-name { overflow: hidden !important; }
.woocommerce-cart-form td.product-name a {
    display: block !important;
    color: var(--jnc-text) !important;
    font-weight: 600 !important;
    font-size: .92rem !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    word-break: break-word !important;
}
.woocommerce-cart-form td.product-name a:hover { color: var(--jnc-gold) !important; }

/* ── STEP 7: REMOVE × ─────────────────────────────────────────── */
.woocommerce-cart-form td.product-remove {
    text-align: center !important;
    padding: 20px 4px !important;
    vertical-align: middle !important;
}
.woocommerce-cart-form td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 1px solid var(--jnc-border) !important;
    color: var(--jnc-muted) !important;
    font-size: .8rem !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: border-color .2s, color .2s !important;
}
.woocommerce-cart-form td.product-remove a.remove:hover {
    border-color: #c0392b !important;
    color: #e57373 !important;
    background: rgba(192,57,43,.08) !important;
}

/* ── STEP 8: QUANTITY STEPPER ────────────────────────────────── */
.woocommerce-cart-form td.product-quantity { vertical-align: middle !important; }
.woocommerce-cart-form .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: 2px !important;
    height: 32px !important;
    background: transparent !important;
    overflow: hidden !important;
}
.woocommerce-cart-form .quantity input.qty {
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--jnc-border) !important;
    border-right: 1px solid var(--jnc-border) !important;
    color: var(--jnc-text) !important;
    text-align: center !important;
    width: 40px !important;
    height: 32px !important;
    padding: 0 !important;
    font-size: .85rem !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none !important; }
.woocommerce-cart-form .quantity button.minus,
.woocommerce-cart-form .quantity button.plus,
.woocommerce-cart-form .quantity .minus,
.woocommerce-cart-form .quantity .plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: var(--jnc-muted-light) !important;
    width: 28px !important;
    height: 32px !important;
    font-size: .9rem !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transition: color .18s !important;
}
.woocommerce-cart-form .quantity button.minus:hover,
.woocommerce-cart-form .quantity button.plus:hover { color: var(--jnc-gold) !important; }

/* ── STEP 9: ACTIONS ROW (coupon + update) ───────────────────── */
.woocommerce-cart-form .actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;       /* keep on one line */
    padding: 24px 0 0 !important;
    border-top: 1px solid var(--jnc-border) !important;
    margin-top: 4px !important;
    background: transparent !important;
}

/* Coupon wrapper */
.woocommerce-cart-form .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
}

/* Coupon input */
.woocommerce-cart-form #coupon_code {
    background: var(--jnc-bg-input) !important;
    border: 1px solid var(--jnc-border) !important;
    border-right: none !important;
    border-radius: 2px 0 0 2px !important;
    color: var(--jnc-text) !important;
    padding: 0 14px !important;
    font-size: .8rem !important;
    font-family: var(--jnc-font-sans) !important;
    width: 180px !important;
    height: 38px !important;
    box-sizing: border-box !important;
    transition: border-color .2s !important;
}
.woocommerce-cart-form #coupon_code::placeholder { color: var(--jnc-muted) !important; font-style: italic !important; }
.woocommerce-cart-form #coupon_code:focus { outline: none !important; border-color: var(--jnc-gold) !important; }

/* APPLY COUPON — single line */
.woocommerce-cart-form .coupon .button {
    background: transparent !important;
    border: 1px solid var(--jnc-gold) !important;
    border-radius: 0 2px 2px 0 !important;
    color: var(--jnc-gold) !important;
    padding: 0 18px !important;
    height: 38px !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    font-family: var(--jnc-font-sans) !important;
    flex-shrink: 0 !important;
    transition: background .2s, color .2s !important;
}
.woocommerce-cart-form .coupon .button:hover { background: var(--jnc-gold) !important; color: #1a1a1a !important; }

/* UPDATE CART — far right, single line */
.woocommerce-cart-form [name="update_cart"] {
    margin-left: auto !important;
    background: transparent !important;
    border: 1px solid var(--jnc-border) !important;
    border-radius: 2px !important;
    color: var(--jnc-muted) !important;
    padding: 0 20px !important;
    height: 38px !important;
    font-size: .6rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    font-family: var(--jnc-font-sans) !important;
    flex-shrink: 0 !important;
    transition: border-color .2s, color .2s !important;
}
.woocommerce-cart-form [name="update_cart"]:hover { border-color: var(--jnc-gold) !important; color: var(--jnc-gold) !important; }
.woocommerce-cart-form [name="update_cart"]:disabled { opacity: .25 !important; cursor: not-allowed !important; }

/* ════════════════════════════════════════════════════════════════
   MOBILE CART CARD LAYOUT (≤768px)  — SINGLE AUTHORITATIVE BLOCK
   This is the ONLY mobile rule-set for the cart table. All older
   conflicting mobile blocks (table-display revert, flex rows,
   block-stacking, label injections) have been removed so there
   is exactly one source of truth here.
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* Kill WooCommerce's auto-injected "Product:" / "Quantity:" /
       "Subtotal:" mobile labels — these were overlapping your text */
    .woocommerce-cart-form table.shop_table td::before {
        content: none !important;
        display: none !important;
    }

    /* Cart container stacks: table on top, totals below */
    body.woocommerce-cart .woocommerce {
        display: block !important;
        grid-template-columns: unset !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 14px 40px !important;
        gap: 0 !important;
    }
    body.woocommerce-cart .cart-collaterals {
        width: 100% !important;
        min-width: 0 !important;
        position: static !important;
        margin-top: 24px !important;
    }

    /* Turn the table into a stack of cards: hide thead + table chrome,
       turn each row into a card, each cell into a flex line inside it */
    .woocommerce-cart-form table.shop_table { border: none !important; }
    .woocommerce-cart-form table.shop_table thead { display: none !important; }
    .woocommerce-cart-form table.shop_table,
    .woocommerce-cart-form table.shop_table tbody,
    .woocommerce-cart-form table.shop_table tr,
    .woocommerce-cart-form table.shop_table td {
        display: block !important;
        width: 100% !important;
    }

    /* Card = simple flex row: [image] [content column] */
    .woocommerce-cart-form table.shop_table tr.cart_item {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        position: relative !important;
        background: var(--jnc-bg-card) !important;
        border: 1px solid var(--jnc-border) !important;
        border-radius: var(--jnc-radius-lg) !important;
        padding: 14px !important;
        margin-bottom: 14px !important;
    }

    .woocommerce-cart-form table.shop_table td {
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    /* Image — fixed-width column on the left */
    .woocommerce-cart-form td.product-thumbnail {
        order: 1 !important;
        flex: 0 0 72px !important;
        margin-right: 14px !important;
    }
    .woocommerce-cart-form td.product-thumbnail a { width: 72px !important; display: block !important; }
    .woocommerce-cart-form td.product-thumbnail img {
        width: 72px !important;
        height: 92px !important;
        min-height: 92px !important;
        max-height: 92px !important;
        object-fit: contain !important;
        object-position: center top !important;
        border-radius: var(--jnc-radius) !important;
        background: var(--jnc-bg-input) !important;
    }

    /* Content column — name, stacked above qty/price row */
    .woocommerce-cart-form td.product-name {
        order: 2 !important;
        flex: 1 1 auto !important;
        min-width: 140px !important;
        max-width: 100% !important;
        padding-right: 26px !important; /* leave room for × */
        box-sizing: border-box !important;
    }
    .woocommerce-cart-form td.product-name a {
        display: block !important;
        text-align: left !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
        hyphens: none !important;
    }

    /* Hide unit price row entirely on mobile — subtotal is enough */
    body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-price,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-price {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        order: 99 !important;
    }

    /* Qty + subtotal sit directly under the name, same row, spread apart */
    .woocommerce-cart-form td.product-quantity {
        order: 3 !important;
        flex: 1 1 auto !important;
        margin-left: 86px !important; /* aligns under name, past image */
        display: flex !important;
        align-items: center !important;
    }
    .woocommerce-cart-form td.product-subtotal {
        order: 4 !important;
        margin-left: auto !important;
        align-self: center !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
    }

    /* Remove × pinned to top-right corner of the card */
    .woocommerce-cart-form td.product-remove {
        order: 5 !important;
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
    }

    .woocommerce-cart-form .quantity { height: 30px !important; }
    .woocommerce-cart-form .quantity input.qty { width: 32px !important; height: 30px !important; font-size: 12px !important; }
    .woocommerce-cart-form .quantity button.minus,
    .woocommerce-cart-form .quantity button.plus { width: 24px !important; height: 30px !important; font-size: 13px !important; }

    /* Actions row stacks */
    .woocommerce-cart-form .actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .woocommerce-cart-form .coupon { width: 100% !important; }
    .woocommerce-cart-form #coupon_code { flex: 1 !important; width: auto !important; min-width: 0 !important; }
    .woocommerce-cart-form [name="update_cart"] { margin-left: 0 !important; width: 100% !important; }

    /* Totals card full width */
    .cart_totals, .cart-collaterals .cart_totals { padding: 20px 16px !important; }
}

/* ── Responsive 480px ────────────────────────────────────────── */
@media (max-width: 480px) {
    .cart_totals { padding: 16px !important; }
    .jnc-cart-trust-row { flex-direction: column !important; align-items: flex-start !important; padding: 16px !important; }
}

/* ════════════════════════════════════════════════════════════════
   IMAGE OVERRIDE — applies at all widths, no conflicting rules
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart img,
.cart_item img,
.shop_table img,
.woocommerce-mini-cart img {
    object-fit: contain !important;
    object-position: center top !important;
}

/* ════════════════════════════════════════════════════════════════
   FINAL OVERRIDES — placed last so they win against any conflicts
   1) Unit price column fully removed everywhere on cart (mobile + desktop)
   2) Product images always shown FULL (uncropped) — contain, not cover
   ════════════════════════════════════════════════════════════════ */

body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table th.product-price {
    display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img,
body.woocommerce-cart .woocommerce-cart-form img.attachment-woocommerce_thumbnail {
    object-fit: contain !important;
    background: var(--jnc-bg-card) !important;
}

/* ── FINAL: fix mobile product name collapsing into vertical letters ── */
@media (max-width: 768px) {
    .woocommerce-cart-form table.shop_table tr.cart_item {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart-form td.product-name,
    .woocommerce-cart-form td.product-name a,
    .woocommerce-cart-form td.product-name span {
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
        -webkit-line-clamp: unset !important;
        display: block !important;
    }
}

/* ════════════════════════════════════════════════════════════════
   ACCOUNT DASHBOARD REDESIGN — Jewel Nag Couture
   ════════════════════════════════════════════════════════════════ */

.jnc-dash-header {
    display: flex; align-items: flex-start; justify-content: center;
    gap: 20px; margin-bottom: 28px; flex-wrap: wrap; text-align: center;
    flex-direction: column;
}
.jnc-dash-header h1 {
    font-family: var(--jnc-font-serif) !important;
    font-size: 1.9rem !important; font-weight: 500 !important;
    color: var(--jnc-gold) !important; margin: 0 0 6px !important;
    text-align: center !important; width: 100%;
}
.jnc-dash-header h1 span { color: var(--jnc-gold) !important; }
.jnc-dash-header p { color: var(--jnc-muted-light) !important; font-size: .88rem !important; margin: 0 !important; text-align: center !important; }
.jnc-dash-edit-btn {
    border: 1px solid var(--jnc-border) !important; color: var(--jnc-gold) !important;
    padding: 10px 18px !important; border-radius: var(--jnc-radius) !important;
    font-size: .78rem !important; font-weight: 600 !important; text-decoration: none !important;
    white-space: nowrap; align-self: center;
}
.jnc-dash-edit-btn:hover { background: var(--jnc-gold-dim) !important; }

.jnc-dash-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 32px; }
.jnc-stat-card {
    background: var(--jnc-bg-sidebar); border: 1px solid var(--jnc-border);
    border-radius: var(--jnc-radius-lg); padding: 22px;
}
.jnc-stat-value { font-family: var(--jnc-font-serif); font-size: 2rem; color: var(--jnc-text); line-height: 1; }
.jnc-stat-label { color: var(--jnc-muted-light); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; margin: 8px 0 12px; }
.jnc-stat-card a { color: var(--jnc-gold); font-size: .78rem; text-decoration: none; }

.jnc-dash-subhead {
    font-family: var(--jnc-font-sans) !important; font-size: .78rem !important;
    letter-spacing: .1em !important; text-transform: uppercase !important;
    color: var(--jnc-muted-light) !important; margin: 0 0 14px !important; font-weight: 700 !important;
}
.jnc-quick-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 14px; margin-bottom: 32px; }
.jnc-qa-card {
    background: var(--jnc-bg-sidebar); border: 1px solid var(--jnc-border);
    border-radius: var(--jnc-radius-lg); padding: 20px 12px; text-align: center;
    text-decoration: none; color: var(--jnc-text); font-size: .8rem; font-weight: 600;
}
.jnc-qa-card:hover { border-color: var(--jnc-gold); color: var(--jnc-gold); }
.jnc-qa-icon { display: block; font-size: 1.5rem; margin-bottom: 8px; }

.jnc-dash-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.jnc-dash-card {
    background: var(--jnc-bg-sidebar); border: 1px solid var(--jnc-border);
    border-radius: var(--jnc-radius-lg); padding: 24px; margin-bottom: 20px;
}
.jnc-dash-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.jnc-dash-card-head h2 { font-family: var(--jnc-font-sans); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--jnc-gold); margin: 0; }
.jnc-dash-card-head a { color: var(--jnc-gold); font-size: .78rem; text-decoration: none; }

.jnc-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.jnc-details-grid span { display: block; color: var(--jnc-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.jnc-details-grid strong { color: var(--jnc-text); font-size: .88rem; font-weight: 500; }

.jnc-addr-summary p { color: var(--jnc-muted-light); font-size: .82rem; line-height: 1.7; margin: 8px 0 0; }
.jnc-badge {
    background: var(--jnc-gold-dim); color: var(--jnc-gold); font-size: .62rem;
    text-transform: uppercase; letter-spacing: .06em; padding: 3px 8px; border-radius: 3px; margin-left: 8px;
}
.jnc-empty-note { color: var(--jnc-muted-light); font-size: .85rem; }

.jnc-recent-order { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--jnc-border); }
.jnc-recent-order:last-child { border-bottom: none; }
.jnc-recent-order-img img { width: 48px; height: 48px; object-fit: contain; background: var(--jnc-bg-card); border-radius: 4px; }
.jnc-recent-order-body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.jnc-recent-order-body a { color: var(--jnc-text); font-weight: 600; text-decoration: none; font-size: .85rem; }
.jnc-recent-order-body span { color: var(--jnc-muted-light); font-size: .74rem; }
.jnc-recent-order-total { color: var(--jnc-gold); font-weight: 600; font-size: .85rem; }
.jnc-recent-order-status { color: var(--jnc-muted-light); font-size: .72rem; border: 1px solid var(--jnc-border); border-radius: 3px; padding: 4px 10px; }

/* ── Sidebar navigation ── */
.jnc-nav-profile { text-align: center; padding: 24px 16px; border-bottom: 1px solid var(--jnc-border); margin-bottom: 12px; }
.jnc-nav-avatar {
    width: 64px; height: 64px; border-radius: 50%; background: var(--jnc-bg-card);
    border: 1px solid var(--jnc-gold); color: var(--jnc-gold); font-family: var(--jnc-font-serif);
    font-size: 1.4rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px;
}
.jnc-nav-profile p { margin: 0; color: var(--jnc-muted-light); font-size: .78rem; }
.jnc-nav-profile strong { display: block; color: var(--jnc-gold); font-size: 1rem; font-weight: 500; }

/* ── Mobile stacking ── */
@media (max-width: 768px) {
    .jnc-dash-stats { grid-template-columns: 1fr 1fr; }
    .jnc-dash-grid { grid-template-columns: 1fr; }
    .jnc-details-grid { grid-template-columns: 1fr; }
    .jnc-dash-header { flex-direction: column; }
}
@media (max-width: 480px) {
    .jnc-dash-stats { grid-template-columns: 1fr; }
    .jnc-quick-actions { grid-template-columns: repeat(2, 1fr); }
}

/* ════════════════════════════════════════════════════════════════
   ADDRESS BOOK — Saved Addresses tab
   ════════════════════════════════════════════════════════════════ */
.jnc-addr-book-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.jnc-addr-book-head h2 { font-family: var(--jnc-font-serif); color: var(--jnc-text); font-size: 1.3rem; margin: 0; }
.jnc-addr-add-btn {
    background: var(--jnc-gold) !important; color: #1a1a1a !important; border: none !important;
    padding: 10px 18px !important; border-radius: var(--jnc-radius) !important; font-weight: 600 !important;
    font-size: .8rem !important; cursor: pointer;
}
.jnc-addr-add-btn:hover { background: var(--jnc-gold-hover) !important; }

.jnc-addr-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.jnc-addr-card { background: var(--jnc-bg-sidebar); border: 1px solid var(--jnc-border); border-radius: var(--jnc-radius-lg); padding: 18px; }
.jnc-addr-card-top { display: flex; align-items: center; margin-bottom: 8px; }
.jnc-addr-card-top strong { color: var(--jnc-gold); font-size: .9rem; }
.jnc-addr-card p { color: var(--jnc-muted-light); font-size: .82rem; line-height: 1.65; margin: 0 0 14px; }
.jnc-addr-card-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.jnc-addr-card-actions button {
    background: transparent; border: 1px solid var(--jnc-border); color: var(--jnc-text);
    font-size: .72rem; padding: 6px 12px; border-radius: 3px; cursor: pointer;
}
.jnc-addr-card-actions button:hover { border-color: var(--jnc-gold); color: var(--jnc-gold); }
.jnc-addr-card-actions .jnc-addr-delete:hover { border-color: #c0524a; color: #c0524a; }

.jnc-addr-form-wrap { background: var(--jnc-bg-sidebar); border: 1px solid var(--jnc-border); border-radius: var(--jnc-radius-lg); padding: 24px; margin-top: 20px; }
.jnc-addr-form-wrap h3 { font-family: var(--jnc-font-serif); color: var(--jnc-gold); margin: 0 0 16px; font-size: 1.1rem; }
#jnc-addr-form .form-row-first { float: left; width: 48%; }
#jnc-addr-form .form-row-last { float: right; width: 48%; }
#jnc-addr-form .form-row-wide { clear: both; }
#jnc-addr-form label { display: block; color: var(--jnc-muted-light); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
#jnc-addr-form input[type="text"], #jnc-addr-form input[type="tel"] {
    width: 100%; background: var(--jnc-bg-input); border: 1px solid var(--jnc-border); border-radius: var(--jnc-radius);
    padding: 10px 12px; color: var(--jnc-text); font-size: .85rem; box-sizing: border-box;
}
.jnc-addr-form-actions { clear: both; display: flex; gap: 12px; margin-top: 8px; }
.jnc-addr-save-btn {
    background: var(--jnc-gold) !important; color: #1a1a1a !important; border: none !important;
    padding: 10px 20px !important; border-radius: var(--jnc-radius) !important; font-weight: 600 !important; cursor: pointer;
}
.jnc-addr-cancel-btn { background: transparent !important; border: 1px solid var(--jnc-border) !important; color: var(--jnc-muted-light) !important; padding: 10px 20px !important; border-radius: var(--jnc-radius) !important; cursor: pointer; }