/* ════════════════════════════════════════════════════════════════
   NOVUS — Cart CSS
   File: assets/css/cart.css
   Load order: AFTER woocommerce-general (see functions.php §4)

   Table of Contents:
    0.  Fonts Note
    1.  WooCommerce Page Hero (Global — all WC pages)
    2.  Page Padding, Background & Title Fixes
    3.  Grid Layout Fix
    4.  Cart Table
    5.  Remove Button
    6.  Thumbnail
    7.  Product Name & Variations
    8.  Price & Subtotal
    9.  Qty Stepper
   10.  Actions Row — Coupon + Update Cart
   11.  Cart Totals Panel
   12.  Proceed to Checkout Button
   13.  Empty Cart State
   14.  Order Pay Page
        14.1  Page Base
        14.2  Main Wrapper
        14.3  Order Summary Strip
        14.4  Info Message
        14.5  Order Review Table
        14.6  Payment Box
        14.7  Buttons (Pay Now / Razorpay / Cancel)
        14.8  Notices
   15.  Responsive — 1024px / 960px / 768px / 640px / 480px / 380px
   ════════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────────────────────
   0. FONTS
   Loaded via wp_enqueue_style('novus-fonts') in functions.php §4.
   No @import needed here.
───────────────────────────────────────────────────────────────── */


/* ─────────────────────────────────────────────────────────────────
   1. WOOCOMMERCE PAGE HERO
───────────────────────────────────────────────────────────────── */

.novus-woo-hero {
    background-color: var(--plum);
    padding: 5rem 2rem;
    text-align: center;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.novus-woo-hero__inner {
    max-width: 700px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.novus-woo-hero__eyebrow-wrap {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.novus-woo-hero__line {
    display: block;
    width: 48px;
    height: 1px;
    background: var(--gold);
    opacity: 0.7;
}

.novus-woo-hero__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.58rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 500;
    white-space: nowrap;
}

.novus-woo-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(2.4rem, 6vw, 4rem);
    font-weight: 400;
    color: var(--cream);
    letter-spacing: 0.03em;
    line-height: 1.1;
    margin: 0;
}

.novus-woo-hero__sub {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: clamp(0.85rem, 2vw, 1rem);
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 0.04em;
    margin: 0;
}


/* ─────────────────────────────────────────────────────────────────
   2. PAGE PADDING, BACKGROUND & TITLE FIXES
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart .page-content,
body.woocommerce-page .page-content,
body.woocommerce-checkout .page-content,
body.woocommerce-account .page-content {
    padding: 0 !important;
    min-height: unset !important;
}

body.woocommerce-cart {
    background: var(--cream, #FAF7F2);
}

body.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 !important;
}

body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-account h1.entry-title {
    display: none !important;
}

body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty,
body.woocommerce-cart .woocommerce > p:empty {
    display: none !important;
}


/* ─────────────────────────────────────────────────────────────────
   3. GRID LAYOUT FIX
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart .novus-cart-page {
    padding: 3rem 2rem 4rem !important;
}

.novus-cart-page {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 2.5rem !important;
    align-items: start !important;
    float: none !important;
    width: 100% !important;
}

.novus-cart-page::before,
.novus-cart-page::after {
    display: none !important;
}

.novus-cart-page .woocommerce-cart-form {
    grid-column: 1 !important;
    float: none !important;
    width: 100% !important;
}

.novus-cart-page .cart-collaterals {
    grid-column: 2 !important;
    float: none !important;
    width: 100% !important;
    position: sticky !important;
    top: 6rem !important;
}

body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart-collaterals .cross-sells {
    float: none !important;
    width: 100% !important;
}


/* ─────────────────────────────────────────────────────────────────
   4. CART TABLE
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    border: 1px solid #EDE8F5 !important;
    border-bottom: none !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead th {
    padding: 1rem 1.2rem !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: var(--muted, #7A6F82) !important;
    font-weight: 500 !important;
    text-align: left !important;
    background: rgba(243, 232, 255, 0.35) !important;
    border-bottom: 2px solid #EDE8F5 !important;
}

body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead th.product-thumbnail { width: 90px !important; }
body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead th.product-remove   { width: 44px !important; }
body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead th.product-price,
body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead th.product-subtotal { text-align: right !important; }

body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item {
    border-bottom: 1px solid #EDE8F5 !important;
    transition: background 0.2s !important;
}
body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item:hover {
    background: rgba(243, 232, 255, 0.18) !important;
}
body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item td {
    padding: 1.2rem !important;
    vertical-align: middle !important;
    border-top: none !important;
}


/* ─────────────────────────────────────────────────────────────────
   5. REMOVE BUTTON
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table td.product-remove {
    width: 44px !important;
    text-align: center !important;
    padding: 0 0.5rem !important;
}

body.woocommerce-cart table.shop_table td.product-remove a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 0 !important;
    border: 1px solid #EDE8F5 !important;
    background: white !important;
    color: var(--muted, #7A6F82) !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    transition: all 0.25s !important;
    margin: auto !important;
    line-height: 1 !important;
}
body.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #ef4444 !important;
    transform: none !important;
}


/* ─────────────────────────────────────────────────────────────────
   6. THUMBNAIL
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table td.product-thumbnail {
    width: 90px !important;
    padding: 1rem 1rem 1rem 1.2rem !important;
}
body.woocommerce-cart table.shop_table td.product-thumbnail a {
    display: block !important;
    width: 72px !important;
    height: 88px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}
body.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
    margin: 0 !important;
}
body.woocommerce-cart table.shop_table td.product-thumbnail a:hover img {
    transform: scale(1.07) !important;
}


/* ─────────────────────────────────────────────────────────────────
   7. PRODUCT NAME & VARIATIONS
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table td.product-name {
    padding-left: 0.8rem !important;
}
body.woocommerce-cart table.shop_table td.product-name a {
    font-family: var(--font-serif, 'Cormorant Garamond', serif) !important;
    font-size: 1.05rem !important;
    color: var(--charcoal, #1A1A1A) !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 0.3rem !important;
    letter-spacing: 0.02em !important;
    transition: color 0.2s !important;
}
body.woocommerce-cart table.shop_table td.product-name a:hover {
    color: var(--violet, #6B21A8) !important;
}

body.woocommerce-cart table.shop_table td.product-name dl.variation {
    margin: 0.4rem 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.3rem !important;
}
body.woocommerce-cart table.shop_table td.product-name dl.variation dt,
body.woocommerce-cart table.shop_table td.product-name dl.variation dd {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.7rem !important;
    background: var(--pale-lavender, #F3E8FF) !important;
    padding: 0.15rem 0.55rem !important;
    border-radius: 100px !important;
    margin: 0 !important;
    color: var(--violet, #6B21A8) !important;
}


/* ─────────────────────────────────────────────────────────────────
   8. PRICE & SUBTOTAL
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table td.product-subtotal {
    text-align: right !important;
    white-space: nowrap !important;
}
body.woocommerce-cart table.shop_table td.product-price .woocommerce-Price-amount,
body.woocommerce-cart table.shop_table td.product-subtotal .woocommerce-Price-amount {
    font-family: var(--font-serif, 'Cormorant Garamond', serif) !important;
    font-size: 1.05rem !important;
    color: var(--plum, #2D0A4E) !important;
}
body.woocommerce-cart table.shop_table td.product-price del,
body.woocommerce-cart table.shop_table td.product-subtotal del {
    color: var(--muted, #7A6F82) !important;
    font-size: 0.82rem !important;
}
body.woocommerce-cart table.shop_table td.product-price ins,
body.woocommerce-cart table.shop_table td.product-subtotal ins {
    text-decoration: none !important;
}


/* ─────────────────────────────────────────────────────────────────
   9. QTY STEPPER
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table td.product-quantity {
    text-align: center !important;
}

.woocommerce-cart-form .novus-cart-qty {
    display: inline-flex;
    align-items: center;
    gap: 0;
}
.woocommerce-cart-form .novus-cart-qty .qty-btn {
    width: 32px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--plum, #2D0A4E);
    color: #ffffff;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0;
    flex-shrink: 0;
    transition: background 0.2s;
}
.woocommerce-cart-form .novus-cart-qty .qty-btn:hover {
    background: var(--violet, #6B21A8);
}
.woocommerce-cart-form .novus-cart-qty input.qty {
    width: 50px;
    height: 36px;
    text-align: center;
    border: 1px solid #EDE8F5;
    border-left: none;
    border-right: none;
    margin: 0;
    padding: 0;
    background: #ffffff;
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--charcoal, #1A1A1A);
    outline: none;
    box-shadow: none;
    -moz-appearance: textfield;
}
.woocommerce-cart-form .novus-cart-qty input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .novus-cart-qty input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body.woocommerce-cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #EDE8F5 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: white !important;
}
body.woocommerce-cart .quantity input.qty {
    width: 50px !important;
    border: none !important;
    text-align: center !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: var(--charcoal, #1A1A1A) !important;
    padding: 0.55rem 0 !important;
    background: transparent !important;
    outline: none !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
}
body.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
}
body.woocommerce-cart .quantity .qty-btn {
    width: 32px !important;
    min-height: 36px !important;
    border: none !important;
    background: var(--plum, #2D0A4E) !important;
    color: #ffffff !important;
    font-size: 1.1rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
}
body.woocommerce-cart .quantity .qty-btn:hover {
    background: var(--violet, #6B21A8) !important;
    color: white !important;
}


/* ─────────────────────────────────────────────────────────────────
   10. ACTIONS ROW — Coupon + Update Cart
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart table.shop_table td.actions {
    background: rgba(243, 232, 255, 0.25) !important;
    border-top: 1px solid #EDE8F5 !important;
    border-bottom: 1px solid #EDE8F5 !important;
    padding: 1.1rem 1.2rem !important;
}

body.woocommerce-cart table.shop_table td.actions .coupon {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    float: left !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon label {
    display: none !important;
}

body.woocommerce-cart table.shop_table td.actions .coupon input#coupon_code {
    padding: 0.65rem 1rem !important;
    border: 1px solid #EDE8F5 !important;
    border-radius: 0 !important;
    font-family: var(--font-body, 'Raleway', sans-serif) !important;
    font-size: 0.85rem !important;
    color: var(--charcoal, #1A1A1A) !important;
    outline: none !important;
    background: white !important;
    width: 180px !important;
    transition: border-color 0.25s, box-shadow 0.25s !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon input#coupon_code:focus {
    border-color: var(--plum, #2D0A4E) !important;
    box-shadow: none !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon input#coupon_code::placeholder {
    color: rgba(122, 111, 130, 0.4) !important;
}

body.woocommerce-cart table.shop_table td.actions .coupon button[name="apply_coupon"],
body.woocommerce-cart table.shop_table td.actions .coupon .button {
    padding: 0.65rem 1.3rem !important;
    border: 1px solid var(--plum, #2D0A4E) !important;
    border-radius: 0 !important;
    background: var(--plum, #2D0A4E) !important;
    color: #ffffff !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.25s !important;
    box-shadow: none !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon button[name="apply_coupon"]:hover,
body.woocommerce-cart table.shop_table td.actions .coupon .button:hover {
    background: var(--violet, #6B21A8) !important;
    border-color: var(--violet, #6B21A8) !important;
    color: #ffffff !important;
}

body.woocommerce-cart table.shop_table td.actions button[name="update_cart"] {
    float: right !important;
    padding: 0.65rem 1.5rem !important;
    border: 1px solid var(--muted, #7A6F82) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--muted, #7A6F82) !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.25s !important;
    box-shadow: none !important;
}
body.woocommerce-cart table.shop_table td.actions button[name="update_cart"]:hover {
    border-color: var(--violet, #6B21A8) !important;
    color: var(--violet, #6B21A8) !important;
    background: transparent !important;
}
body.woocommerce-cart table.shop_table td.actions button[name="update_cart"]:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

body.woocommerce-cart table.shop_table td.actions::after {
    content: '';
    display: table;
    clear: both;
}


/* ─────────────────────────────────────────────────────────────────
   11. CART TOTALS PANEL
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart .cart-collaterals .cart_totals {
    background: white !important;
    border-radius: 0 !important;
    border: 1px solid #EDE8F5 !important;
    overflow: hidden !important;
    float: none !important;
    width: 100% !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-family: var(--font-display, 'Playfair Display', serif) !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    color: var(--plum, #2D0A4E) !important;
    letter-spacing: 0.04em !important;
    padding: 1.2rem 1.5rem 1rem !important;
    border-bottom: 1px solid #EDE8F5 !important;
    margin: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    box-shadow: none !important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
    padding: 0.9rem 1.5rem !important;
    border-bottom: 1px solid #EDE8F5 !important;
    border-top: none !important;
    vertical-align: middle !important;
}
body.woocommerce-cart .cart_totals table.shop_table th {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--muted, #7A6F82) !important;
    font-weight: 500 !important;
    width: 38% !important;
    text-align: left !important;
    background: transparent !important;
}
body.woocommerce-cart .cart_totals table.shop_table td {
    font-family: var(--font-serif, 'Cormorant Garamond', serif) !important;
    font-size: 0.95rem !important;
    color: var(--charcoal, #1A1A1A) !important;
    text-align: right !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.shipping td { text-align: left !important; }
body.woocommerce-cart .cart_totals table.shop_table tr.shipping ul#shipping_method {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.shipping ul#shipping_method li {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.8rem !important;
    color: var(--charcoal, #1A1A1A) !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.2rem 0 !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.shipping ul#shipping_method label {
    cursor: pointer !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.shipping input[type="radio"] {
    accent-color: var(--violet, #6B21A8) !important;
    width: 14px !important;
    height: 14px !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.shipping .amount {
    font-family: var(--font-serif, 'Cormorant Garamond', serif) !important;
    color: var(--plum, #2D0A4E) !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    border-bottom: none !important;
    background: rgba(243, 232, 255, 0.25) !important;
    padding: 1.1rem 1.5rem !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.22em !important;
    color: var(--plum, #2D0A4E) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    font-family: var(--font-display, 'Playfair Display', serif) !important;
    font-size: 1.4rem !important;
    color: var(--plum, #2D0A4E) !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.order-total .woocommerce-Price-amount {
    color: var(--plum, #2D0A4E) !important;
    font-size: 1.4rem !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr.order-total small {
    display: block !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.65rem !important;
    color: var(--muted, #7A6F82) !important;
    font-weight: 400 !important;
    margin-top: 0.15rem !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.cart-discount td { color: #15803d !important; }
body.woocommerce-cart .cart_totals table.shop_table tr.cart-discount a.remove { color: #ef4444 !important; }


/* ─────────────────────────────────────────────────────────────────
   12. PROCEED TO CHECKOUT BUTTON
───────────────────────────────────────────────────────────────── */

body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 1.2rem 1.5rem !important;
    border-top: 1px solid #EDE8F5 !important;
    background: white !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout .button.alt {
    display: block !important;
    width: 100% !important;
    padding: 1.1rem 2rem !important;
    background: var(--plum, #2D0A4E) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    border-radius: 0 !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    box-shadow: none !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .button.alt:hover {
    background: var(--violet, #6B21A8) !important;
    box-shadow: none !important;
    transform: none !important;
    color: #ffffff !important;
}


/* ─────────────────────────────────────────────────────────────────
   13. EMPTY CART STATE
───────────────────────────────────────────────────────────────── */

.novus-empty-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 6rem 1.5rem;
    min-height: 60vh;
}

.ec-line {
    width: 40px;
    height: 1px;
    background: var(--gold);
    margin-bottom: 2.5rem;
    opacity: 0.7;
}

.ec-icon {
    width: 64px;
    height: 64px;
    color: var(--plum);
    opacity: 0.25;
    margin-bottom: 2rem;
}
.ec-icon svg { width: 100%; height: 100%; }

.ec-eyebrow {
    font-family: var(--font-sans);
    font-size: 0.58rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 500;
    display: block;
    margin-bottom: 1rem;
}

.ec-heading {
    font-family: var(--font-serif);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 300;
    color: var(--charcoal);
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin-bottom: 1.2rem;
}

.ec-sub {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    color: var(--muted);
    line-height: 1.8;
    letter-spacing: 0.02em;
    max-width: 360px;
    margin-bottom: 2.5rem;
}

.ec-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 2.5rem;
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cream);
    background: var(--charcoal);
    border: 1px solid var(--charcoal);
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    margin-bottom: 2rem;
}
.ec-btn:hover {
    background: var(--plum);
    border-color: var(--plum);
    color: var(--cream);
}

.ec-links {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.ec-links a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.ec-links a:hover { color: var(--plum); }
.ec-dot { color: var(--gold); opacity: 0.5; }


/* ─────────────────────────────────────────────────────────────────
   14. ORDER PAY PAGE
───────────────────────────────────────────────────────────────── */

body.woocommerce-order-pay,
body.woocommerce-order-pay.woocommerce-checkout,
body.woocommerce-order-pay.woocommerce-page {
    background: var(--cream, #FAF7F2);
}

body.woocommerce-order-pay .page-content,
body.woocommerce-order-pay.woocommerce-page .page-content,
body.woocommerce-order-pay.woocommerce-checkout .page-content {
    padding: 0 !important;
    min-height: unset !important;
}

body.woocommerce-order-pay .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 !important;
}

body.woocommerce-order-pay h1.entry-title,
body.woocommerce-order-pay .page-title {
    display: none !important;
}

body.woocommerce-order-pay .woocommerce-order {
    padding: 0 0 4rem !important;
}

body.woocommerce-order-pay .woocommerce-order > .woocommerce-notices-wrapper {
    margin-top: 0;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-order-pay .woocommerce .woocommerce-message,
body.woocommerce-order-pay .woocommerce .woocommerce-info,
body.woocommerce-order-pay .woocommerce .woocommerce-error {
    margin: 1.25rem 0 0 !important;
    padding: 1rem 1.1rem !important;
    border: 1px solid #EDE8F5 !important;
    background: #ffffff !important;
    color: var(--charcoal, #1A1A1A) !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.92rem !important;
    line-height: 1.7 !important;
    box-shadow: none !important;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-order-pay .woocommerce .woocommerce-error {
    border-color: #fca5a5 !important;
    background: #fffafa !important;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-error li,
body.woocommerce-order-pay .woocommerce .woocommerce-error li {
    margin: 0 !important;
}

body.woocommerce-order-pay .woocommerce-order > p,
body.woocommerce-order-pay .woocommerce p {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: var(--charcoal, #1A1A1A) !important;
}

body.woocommerce-order-pay .woocommerce-order-overview,
body.woocommerce-order-pay .woocommerce ul.order_details {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 1.25rem 0 2rem !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #EDE8F5 !important;
    overflow: hidden !important;
}

body.woocommerce-order-pay .woocommerce-order-overview::before,
body.woocommerce-order-pay .woocommerce-order-overview::after,
body.woocommerce-order-pay .woocommerce ul.order_details::before,
body.woocommerce-order-pay .woocommerce ul.order_details::after {
    display: none !important;
}

body.woocommerce-order-pay .woocommerce-order-overview li,
body.woocommerce-order-pay .woocommerce ul.order_details li {
    margin: 0 !important;
    padding: 1rem 1.15rem !important;
    border-right: 1px solid #EDE8F5 !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.62rem !important;
    line-height: 1.6 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--muted, #7A6F82) !important;
}

body.woocommerce-order-pay .woocommerce-order-overview li:last-child,
body.woocommerce-order-pay .woocommerce ul.order_details li:last-child {
    border-right: 0 !important;
}

body.woocommerce-order-pay .woocommerce-order-overview li strong,
body.woocommerce-order-pay .woocommerce-order-overview li .amount,
body.woocommerce-order-pay .woocommerce ul.order_details li strong,
body.woocommerce-order-pay .woocommerce ul.order_details li .amount {
    display: block !important;
    margin-top: 0.4rem !important;
    font-family: var(--font-serif, 'Cormorant Garamond', serif) !important;
    font-size: 1.18rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    color: var(--plum, #2D0A4E) !important;
}

body.woocommerce-order-pay form#order_review {
    max-width: 860px;
    margin: 0 auto;
}

body.woocommerce-order-pay table.shop_table,
body.woocommerce-order-pay .woocommerce table.shop_table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    border: 1px solid #EDE8F5 !important;
    box-shadow: none !important;
    margin: 0 0 1.5rem !important;
}

body.woocommerce-order-pay table.shop_table thead th,
body.woocommerce-order-pay .woocommerce table.shop_table thead th {
    padding: 1rem 1.2rem !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: var(--muted, #7A6F82) !important;
    font-weight: 500 !important;
    text-align: left !important;
    background: rgba(243, 232, 255, 0.35) !important;
    border-bottom: 2px solid #EDE8F5 !important;
}

body.woocommerce-order-pay table.shop_table td,
body.woocommerce-order-pay table.shop_table th {
    padding: 1rem 1.2rem !important;
    border-top: none !important;
    border-bottom: 1px solid #EDE8F5 !important;
    vertical-align: middle !important;
}

body.woocommerce-order-pay table.shop_table td {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.95rem !important;
    color: var(--charcoal, #1A1A1A) !important;
}

body.woocommerce-order-pay table.shop_table td.product-name,
body.woocommerce-order-pay table.shop_table td.product-total,
body.woocommerce-order-pay table.shop_table tfoot td,
body.woocommerce-order-pay table.shop_table tfoot th {
    color: var(--plum, #2D0A4E) !important;
}

body.woocommerce-order-pay table.shop_table tfoot th {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--muted, #7A6F82) !important;
    font-weight: 500 !important;
}

body.woocommerce-order-pay table.shop_table tfoot tr:last-child th,
body.woocommerce-order-pay table.shop_table tfoot tr:last-child td {
    background: rgba(243, 232, 255, 0.25) !important;
    border-bottom: 0 !important;
}

body.woocommerce-order-pay #payment {
    background: #ffffff !important;
    border: 1px solid #EDE8F5 !important;
    padding: 1.4rem !important;
    margin-top: 1.5rem !important;
    box-shadow: none !important;
}

body.woocommerce-order-pay #payment ul.payment_methods {
    list-style: none !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border-bottom: 1px solid #EDE8F5 !important;
}

body.woocommerce-order-pay #payment ul.payment_methods li {
    margin: 0 0 0.85rem !important;
    padding: 0.95rem 1rem !important;
    border: 1px solid #EDE8F5 !important;
    background: rgba(243, 232, 255, 0.18) !important;
}

body.woocommerce-order-pay #payment ul.payment_methods li label {
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: var(--plum, #2D0A4E) !important;
    cursor: pointer !important;
}

body.woocommerce-order-pay #payment div.payment_box {
    background: #ffffff !important;
    border: 1px solid #EDE8F5 !important;
    color: var(--muted, #7A6F82) !important;
    padding: 0.95rem 1rem !important;
    margin-top: 0.8rem !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.85rem !important;
    line-height: 1.7 !important;
}

body.woocommerce-order-pay #payment div.payment_box::before {
    border-bottom-color: #ffffff !important;
}

body.woocommerce-order-pay #payment .form-row,
body.woocommerce-order-pay #payment .place-order {
    padding: 0 !important;
    margin-top: 1rem !important;
}

body.woocommerce-order-pay .woocommerce a.button,
body.woocommerce-order-pay .woocommerce button.button,
body.woocommerce-order-pay .woocommerce input.button,
body.woocommerce-order-pay .woocommerce #place_order,
body.woocommerce-order-pay .woocommerce .razorpay-payment-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0.9rem 1.8rem !important;
    background: var(--plum, #2D0A4E) !important;
    color: #ffffff !important;
    border: 1px solid var(--plum, #2D0A4E) !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: none !important;
    line-height: 1 !important;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

body.woocommerce-order-pay .woocommerce a.button:hover,
body.woocommerce-order-pay .woocommerce button.button:hover,
body.woocommerce-order-pay .woocommerce input.button:hover,
body.woocommerce-order-pay .woocommerce #place_order:hover,
body.woocommerce-order-pay .woocommerce .razorpay-payment-button:hover {
    background: var(--violet, #6B21A8) !important;
    border-color: var(--violet, #6B21A8) !important;
    color: #ffffff !important;
    transform: none !important;
}

body.woocommerce-order-pay .woocommerce a.button.cancel,
body.woocommerce-order-pay .woocommerce .button.cancel {
    background: transparent !important;
    color: var(--muted, #7A6F82) !important;
    border: 1px solid var(--muted, #7A6F82) !important;
}

body.woocommerce-order-pay .woocommerce a.button.cancel:hover,
body.woocommerce-order-pay .woocommerce .button.cancel:hover {
    background: transparent !important;
    color: var(--plum, #2D0A4E) !important;
    border-color: var(--plum, #2D0A4E) !important;
}

body.woocommerce-order-pay .woocommerce .woocommerce-info,
body.woocommerce-order-pay .woocommerce .woocommerce-message,
body.woocommerce-order-pay .woocommerce .woocommerce-error {
    background: #ffffff !important;
    border: 1px solid #EDE8F5 !important;
    color: var(--charcoal, #1A1A1A) !important;
    font-family: var(--font-sans, 'Jost', sans-serif) !important;
    font-size: 0.9rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: none !important;
}

@media (max-width: 1024px) {
    .novus-woo-hero { padding: 4rem 2rem; }
    .novus-woo-hero__eyebrow-wrap { gap: 0.75rem; }
    .novus-woo-hero__line { width: 36px; }
    .novus-empty-cart { padding: 5rem 2rem; min-height: 55vh; }
    .ec-heading { font-size: clamp(1.6rem, 3.5vw, 2.4rem); }
    .ec-sub { font-size: 0.78rem; max-width: 420px; }
    .ec-btn { padding: 0.8rem 2.2rem; }
}

@media (max-width: 960px) {
    .novus-cart-page { grid-template-columns: 1fr !important; }
    .novus-cart-page .woocommerce-cart-form,
    .novus-cart-page .cart-collaterals { grid-column: 1 !important; position: static !important; }
}

@media (max-width: 768px) {
    .novus-woo-hero { padding: 3.5rem 1.25rem; }
    .novus-woo-hero__line { width: 24px; }
    .novus-woo-hero__eyebrow { font-size: 0.52rem; letter-spacing: 0.2em; }
    .novus-woo-hero__title { font-size: clamp(1.8rem, 9vw, 2.6rem); }
    .novus-woo-hero__sub { font-size: 0.78rem; }

    .novus-empty-cart { padding: 4rem 1.25rem; min-height: 70vh; }
    .ec-line { margin-bottom: 2rem; }
    .ec-icon { width: 52px; height: 52px; margin-bottom: 1.5rem; }
    .ec-eyebrow { font-size: 0.55rem; letter-spacing: 0.22em; margin-bottom: 0.8rem; }
    .ec-heading { font-size: clamp(1.5rem, 7vw, 2rem); margin-bottom: 1rem; }
    .ec-sub { font-size: 0.75rem; line-height: 1.75; max-width: 100%; margin-bottom: 2rem; }
    .ec-btn { width: 100%; max-width: 320px; justify-content: center; padding: 0.9rem 1.5rem; font-size: 0.65rem; }
    .ec-links { flex-wrap: wrap; justify-content: center; gap: 0.5rem 0.75rem; font-size: 0.62rem; }
    .ec-dot { display: none; }

    body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents td { padding: 1rem 0.9rem !important; }
    body.woocommerce-cart table.shop_table td.product-thumbnail a { width: 58px !important; height: 72px !important; }

    body.woocommerce-order-pay .woocommerce-order { padding: 2rem 1rem 3rem !important; }
    body.woocommerce-order-pay .woocommerce-order-overview,
    body.woocommerce-order-pay .woocommerce ul.order_details { grid-template-columns: 1fr 1fr !important; }
    body.woocommerce-order-pay .woocommerce-order-overview li,
    body.woocommerce-order-pay .woocommerce ul.order_details li { border-right: 1px solid #EDE8F5 !important; border-bottom: 1px solid #EDE8F5 !important; }
    body.woocommerce-order-pay .woocommerce-order-overview li:nth-child(2n),
    body.woocommerce-order-pay .woocommerce ul.order_details li:nth-child(2n) { border-right: 0 !important; }
    body.woocommerce-order-pay #payment { padding: 1rem !important; }
}

@media (max-width: 640px) {
    body.woocommerce-cart table.shop_table thead th.product-price,
    body.woocommerce-cart table.shop_table td.product-price { display: none !important; }
}

@media (max-width: 480px) {
    body.woocommerce-cart .woocommerce { padding: 0 !important; }

    body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead { display: none !important; }

    body.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 66px 1fr 38px !important;
        grid-template-areas:
            "img name rmv"
            "img qty  qty"
            "img sub  sub" !important;
        padding: 1rem !important;
        gap: 0.25rem 0 !important;
    }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td { padding: 0 0.4rem 0 0 !important; border: none !important; display: block !important; }
    body.woocommerce-cart table.shop_table td.product-remove    { grid-area: rmv !important; text-align: right !important; }
    body.woocommerce-cart table.shop_table td.product-thumbnail { grid-area: img !important; padding: 0 0.7rem 0 0 !important; }
    body.woocommerce-cart table.shop_table td.product-name      { grid-area: name !important; }
    body.woocommerce-cart table.shop_table td.product-quantity  { grid-area: qty !important; text-align: left !important; }
    body.woocommerce-cart table.shop_table td.product-subtotal  { grid-area: sub !important; text-align: left !important; }
    body.woocommerce-cart table.shop_table td.product-price     { display: none !important; }

    body.woocommerce-cart table.shop_table td.actions { display: flex !important; flex-direction: column !important; gap: 0.8rem !important; }
    body.woocommerce-cart table.shop_table td.actions .coupon { float: none !important; width: 100% !important; }
    body.woocommerce-cart table.shop_table td.actions button[name="update_cart"] { float: none !important; width: 100% !important; justify-content: center !important; }

    body.woocommerce-order-pay .woocommerce-order-overview,
    body.woocommerce-order-pay .woocommerce ul.order_details { grid-template-columns: 1fr !important; }
    body.woocommerce-order-pay .woocommerce-order-overview li,
    body.woocommerce-order-pay .woocommerce ul.order_details li { border-right: 0 !important; }

    body.woocommerce-order-pay .woocommerce a.button,
    body.woocommerce-order-pay .woocommerce button.button,
    body.woocommerce-order-pay .woocommerce input.button,
    body.woocommerce-order-pay .woocommerce #place_order,
    body.woocommerce-order-pay .woocommerce .razorpay-payment-button { width: 100% !important; }
}

@media (max-width: 380px) {
    .novus-woo-hero { padding: 2.5rem 1rem 2rem; }
    .novus-woo-hero__eyebrow-wrap { flex-direction: column; gap: 0.4rem; }
    .novus-woo-hero__line { display: none; }
    .novus-woo-hero__title { font-size: 1.6rem; }

    .novus-empty-cart { padding: 3rem 1rem; }
    .ec-heading { font-size: 1.4rem; }
    .ec-sub { font-size: 0.72rem; }
    .ec-btn { max-width: 100%; font-size: 0.62rem; letter-spacing: 0.16em; }
    .ec-links { flex-direction: column; gap: 0.5rem; align-items: center; }
}