/* ═══════════════════════════════════════════════════════════════════
   MARSET — WooCommerce Cart & Checkout  v1.1.0
   Source-of-truth: cart.html / checkout.html mockups.

   Specificity strategy:
   • Every selector is scoped to body.marset-cart-page or
     body.marset-checkout-page (added by marset_body_classes()).
   • !important is used only where Hello Elementor reset.css or
     WooCommerce Blocks injects its own values at equal/higher
     specificity (buttons: border+color, links: color, inputs:
     border-radius, select: appearance).
   • WooCommerce Blocks = Gutenberg blocks — no classic shortcode
     hooks. HTML uses wc-block-* / wp-block-woocommerce-* classes.
   ═══════════════════════════════════════════════════════════════════ */


/* ── Brand tokens ─────────────────────────────────────────────────── */

body.marset-cart-page,
body.marset-checkout-page {
    --cb:      #3a5068;
    --cb-dark: #2d3f52;
    --warm-bg: #f7f5f0;
    --border:  #e0e1e6;
    --text:    #0a0a0a;
    --muted:   #666;
}


/* ══════════════════════════════════════════════════════════════════
   0. BREAK OUT OF ELEMENTOR / HELLO ELEMENTOR CONTAINER
   The cart & checkout are standard WP pages (not Elementor-built).
   Hello Elementor wraps page content in .entry-content which has a
   max-width. We unset that here so our blocks can go 100vw, then
   re-box the content internally.
   ══════════════════════════════════════════════════════════════════ */

body.marset-cart-page .entry-content,
body.marset-cart-page .page-content,
body.marset-cart-page article.page,
body.marset-checkout-page .entry-content,
body.marset-checkout-page .page-content,
body.marset-checkout-page article.page {
    max-width: none !important;
    padding:   0 !important;
    margin:    0 !important;
}

/* Full-viewport breakout mixin — applied to each full-width band */
body.marset-cart-page .page-header,
body.marset-checkout-page .page-header,
body.marset-cart-page .wp-block-woocommerce-cart,
body.marset-checkout-page .wp-block-woocommerce-checkout {
    width:        100vw !important;
    margin-left:  calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    max-width:    100vw !important;
    box-sizing:   border-box !important;
}


/* ══════════════════════════════════════════════════════════════════
   1. PAGE HEADER  (Hello Elementor renders .page-header > h1.entry-title)
   ══════════════════════════════════════════════════════════════════ */

body.marset-cart-page .page-header,
body.marset-checkout-page .page-header {
    background:  #0a0a0a !important;
    padding:     52px 40px 44px !important;
    margin-top:  0 !important;
    margin-bottom: 0 !important;
    position:    relative !important;
    overflow:    hidden !important;
}

body.marset-cart-page .page-header .entry-title,
body.marset-checkout-page .page-header .entry-title {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      clamp(48px, 7vw, 88px) !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    color:          #fff !important;
    margin:         0 !important;
    line-height:    1 !important;
    position:       relative !important;
    z-index:        2 !important;
}

/* Watermark ghost text — pure CSS, no extra markup needed */
body.marset-cart-page .page-header::after {
    content:        'Bag';
    position:       absolute;
    right:          5%;
    bottom:         -0.1em;
    font-family:    'Montserrat', sans-serif;
    font-size:      clamp(100px, 16vw, 200px);
    font-weight:    700;
    color:          rgba(255,255,255,.04);
    text-transform: uppercase;
    letter-spacing: -.04em;
    pointer-events: none;
    line-height:    1;
    white-space:    nowrap;
    user-select:    none;
    z-index:        0;
}
body.marset-checkout-page .page-header::after {
    content:        'Pay';
    position:       absolute;
    right:          5%;
    bottom:         -0.1em;
    font-family:    'Montserrat', sans-serif;
    font-size:      clamp(100px, 16vw, 200px);
    font-weight:    700;
    color:          rgba(255,255,255,.04);
    text-transform: uppercase;
    letter-spacing: -.04em;
    pointer-events: none;
    line-height:    1;
    white-space:    nowrap;
    user-select:    none;
    z-index:        0;
}


/* ══════════════════════════════════════════════════════════════════
   2. CART — OUTER WRAPPER & TWO-COLUMN GRID
   ══════════════════════════════════════════════════════════════════ */

body.marset-cart-page .wp-block-woocommerce-cart {
    padding: 56px 40px !important;
}

/* Inner layout is the max-width box — acts like the "container" */
body.marset-cart-page .wc-block-components-sidebar-layout {
    display:               grid !important;
    grid-template-columns: 1fr 380px !important;
    gap:                   64px !important;
    align-items:           start !important;
    max-width:             1400px !important;
    margin:                0 auto !important;
}


/* ══════════════════════════════════════════════════════════════════
   3. CART — ITEMS TABLE (left column)
   ══════════════════════════════════════════════════════════════════ */

body.marset-cart-page .wc-block-cart-items {
    width:           100%;
    border-collapse: collapse;
    border:          none !important;
}

/* Column header row */
body.marset-cart-page .wc-block-cart-items__header {
    border-bottom: 2px solid var(--text);
}
body.marset-cart-page .wc-block-cart-items__header th {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color:          var(--muted);
    padding:        0 0 14px;
    border:         none !important;
    background:     none !important;
    text-align:     left;
}
body.marset-cart-page .wc-block-cart-items__header-image { width: 120px; }
body.marset-cart-page .wc-block-cart-items__header-total { text-align: right; }

/* Item rows */
body.marset-cart-page .wc-block-cart-items__row {
    border-bottom: 1px solid var(--border);
}
body.marset-cart-page .wc-block-cart-items__row td {
    padding:        28px 0;
    vertical-align: top;
    border:         none !important;
    background:     none !important;
}

/* ── Product image cell ── */
body.marset-cart-page .wc-block-cart-item__image {
    width:         120px;
    padding-right: 24px;
}
body.marset-cart-page .wc-block-cart-item__image a { display: block; }
body.marset-cart-page .wc-block-cart-item__image img {
    width:         88px;
    height:        110px;
    object-fit:    cover;
    border-radius: 0 !important;
}

/* ── Product name ── */
body.marset-cart-page .wc-block-components-product-name {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      17px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color:          var(--text) !important;
    display:        block;
    margin-bottom:  4px;
    transition:     color .2s;
    text-decoration: none !important;
}
body.marset-cart-page .wc-block-components-product-name:hover {
    color: var(--cb) !important;
}

/* ── Unit price ── */
body.marset-cart-page .wc-block-cart-item__prices { margin-bottom: 8px; }
body.marset-cart-page .wc-block-cart-item__prices .wc-block-formatted-money-amount {
    font-size:   13px;
    font-weight: 500;
    color:       var(--muted);
}

/* ── Variation details ── */
body.marset-cart-page .wc-block-components-product-metadata { margin-bottom: 14px; }
body.marset-cart-page .wc-block-components-product-details {
    font-size:      11px;
    color:          var(--muted);
    letter-spacing: .04em;
}
body.marset-cart-page .wc-block-components-product-details__name {
    font-weight:    700;
    text-transform: uppercase;
    font-size:      10px;
    letter-spacing: .1em;
}

/* ── Quantity stepper ── */
body.marset-cart-page .wc-block-cart-item__quantity {
    display:     flex;
    align-items: center;
    margin-top:  14px;
}
body.marset-cart-page .wc-block-components-quantity-selector {
    display:       inline-flex !important;
    align-items:   center;
    border:        1px solid var(--border) !important;
    background:    #fff !important;
    border-radius: 0 !important;
    width:         auto !important;
}
body.marset-cart-page .wc-block-components-quantity-selector__button {
    width:          36px !important;
    height:         36px !important;
    display:        flex !important;
    align-items:    center;
    justify-content: center;
    background:     none !important;
    border:         none !important;
    border-radius:  0 !important;
    font-size:      18px;
    line-height:    1;
    color:          var(--text) !important;
    cursor:         pointer;
    padding:        0 !important;
    transition:     background .15s, color .15s;
}
body.marset-cart-page .wc-block-components-quantity-selector__button:hover:not(:disabled) {
    background: var(--cb) !important;
    color:      #fff !important;
}
body.marset-cart-page .wc-block-components-quantity-selector__button:disabled {
    opacity: .3;
    cursor:  not-allowed;
}
body.marset-cart-page .wc-block-components-quantity-selector__input {
    width:         44px !important;
    height:        36px !important;
    border:        none !important;
    border-left:   1px solid var(--border) !important;
    border-right:  1px solid var(--border) !important;
    border-radius: 0 !important;
    text-align:    center !important;
    font-family:   'Montserrat', sans-serif !important;
    font-size:     13px;
    font-weight:   600;
    color:         var(--text) !important;
    background:    #fff !important;
    padding:       0 !important;
    -moz-appearance: textfield;
    box-shadow:    none !important;
}
body.marset-cart-page .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
body.marset-cart-page .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}
body.marset-cart-page .wc-block-components-quantity-selector__input:focus {
    outline:      none;
    border-color: var(--cb) !important;
    box-shadow:   none !important;
}

/* ── Remove item button ── */
body.marset-cart-page .wc-block-cart-item__remove-link,
body.marset-cart-page button.wc-block-cart-item__remove-link {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           28px;
    height:          28px;
    background:      none !important;
    border:          none !important;
    border-radius:   0 !important;
    color:           #bbb !important;
    cursor:          pointer;
    padding:         0 !important;
    margin-left:     10px;
    transition:      color .2s;
}
body.marset-cart-page .wc-block-cart-item__remove-link:hover { color: #c33 !important; }

/* ── Row line total ── */
body.marset-cart-page .wc-block-cart-item__total {
    text-align:      right;
    vertical-align:  top;
}
body.marset-cart-page .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-family: 'Rajdhani', sans-serif !important;
    font-size:   20px;
    font-weight: 700;
    color:       var(--text);
}


/* ══════════════════════════════════════════════════════════════════
   4. CART — ORDER SUMMARY SIDEBAR (right column)
   ══════════════════════════════════════════════════════════════════ */

body.marset-cart-page .wc-block-cart__sidebar {
    position: sticky;
    top:      80px;
}

body.marset-cart-page .wp-block-woocommerce-cart-order-summary-block {
    background: var(--warm-bg);
    padding:    32px;
}

/* "Order Summary" heading */
body.marset-cart-page .wc-block-cart__totals-title {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      20px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color:          var(--text);
    margin:         0 0 20px;
    padding-bottom: 16px;
    border-bottom:  2px solid var(--text);
}

/* Coupon panel toggle button */
body.marset-cart-page .wc-block-components-panel__button {
    font-family:     'Montserrat', sans-serif !important;
    font-size:       11px;
    font-weight:     600;
    letter-spacing:  .1em;
    text-transform:  uppercase;
    color:           var(--cb) !important;
    background:      none !important;
    border:          none !important;
    padding:         8px 0;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    gap:             6px;
    transition:      color .2s;
    width:           100%;
}
body.marset-cart-page .wc-block-components-panel__button:hover {
    color: var(--cb-dark) !important;
}

/* Coupon input row */
body.marset-cart-page .wc-block-components-totals-coupon__form { display: flex; gap: 8px; margin-top: 12px; }
body.marset-cart-page .wc-block-components-totals-coupon__input,
body.marset-cart-page .wc-block-components-totals-coupon .wc-block-components-text-input {
    flex: 1;
}
body.marset-cart-page .wc-block-components-totals-coupon input,
body.marset-cart-page .wc-block-components-totals-coupon__input input {
    height:        40px;
    padding:       0 14px !important;
    border:        1px solid var(--border) !important;
    border-radius: 0 !important;
    font-family:   'Montserrat', sans-serif !important;
    font-size:     12px;
    color:         var(--text);
    background:    #fff !important;
    outline:       none;
    width:         100% !important;
}
body.marset-cart-page .wc-block-components-totals-coupon input:focus,
body.marset-cart-page .wc-block-components-totals-coupon__input input:focus {
    border-color: var(--cb) !important;
}
body.marset-cart-page .wc-block-components-totals-coupon__redeem-button,
body.marset-cart-page .wc-block-components-totals-coupon button {
    height:          40px;
    padding:         0 18px !important;
    background:      var(--text) !important;
    color:           #fff !important;
    border:          none !important;
    border-radius:   0 !important;
    font-family:     'Montserrat', sans-serif !important;
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  .1em;
    text-transform:  uppercase;
    cursor:          pointer;
    transition:      background .2s;
    white-space:     nowrap;
}
body.marset-cart-page .wc-block-components-totals-coupon__redeem-button:hover,
body.marset-cart-page .wc-block-components-totals-coupon button:hover {
    background: var(--cb) !important;
}

/* Totals rows */
body.marset-cart-page .wc-block-components-totals-wrapper {
    border-top:  1px solid var(--border);
    padding-top: 12px;
    margin-top:  12px;
}
body.marset-cart-page .wc-block-components-totals-item {
    display:         flex !important;
    justify-content: space-between;
    align-items:     baseline;
    padding:         6px 0;
}
body.marset-cart-page .wc-block-components-totals-item__label {
    font-family:    'Montserrat', sans-serif !important;
    font-size:      11px;
    font-weight:    600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color:          var(--muted);
}
body.marset-cart-page .wc-block-components-totals-item__value {
    font-family: 'Montserrat', sans-serif !important;
    font-size:   14px;
    font-weight: 600;
    color:       var(--text);
}

/* Grand total row */
body.marset-cart-page .wc-block-components-totals-footer-item {
    border-top:  2px solid var(--text) !important;
    padding-top: 16px !important;
    margin-top:  8px !important;
}
body.marset-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      14px;
    font-weight:    700;
    letter-spacing: .1em;
    color:          var(--text) !important;
}
body.marset-cart-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    font-family: 'Rajdhani', sans-serif !important;
    font-size:   24px !important;
    font-weight: 700;
    color:       var(--text);
}

/* "Proceed to Checkout" button */
body.marset-cart-page .wc-block-cart__submit-container,
body.marset-cart-page .wc-block-cart__submit {
    padding:    0 !important;
    margin-top: 24px !important;
}
body.marset-cart-page .wc-block-cart__submit-button,
body.marset-cart-page .wc-block-cart__submit-button.wp-element-button {
    display:         block !important;
    width:           100% !important;
    background:      var(--cb) !important;
    color:           #fff !important;
    font-family:     'Montserrat', sans-serif !important;
    font-size:       11px !important;
    font-weight:     700 !important;
    letter-spacing:  .16em !important;
    text-transform:  uppercase !important;
    text-decoration: none !important;
    text-align:      center !important;
    padding:         18px 24px !important;
    border:          none !important;
    border-radius:   0 !important;
    cursor:          pointer !important;
    transition:      background .2s !important;
}
body.marset-cart-page .wc-block-cart__submit-button:hover,
body.marset-cart-page .wc-block-cart__submit-button.wp-element-button:hover {
    background: var(--cb-dark) !important;
    color:      #fff !important;
}

/* Trust rows (injected via wp_footer JS) */
body.marset-cart-page .ms-cart-trust {
    display:        flex;
    flex-direction: column;
    gap:            10px;
    margin-top:     24px;
    padding-top:    20px;
    border-top:     1px solid var(--border);
}
body.marset-cart-page .ms-trust-row {
    display:     flex;
    align-items: center;
    gap:         10px;
    font-size:   11px;
    color:       var(--muted);
}
body.marset-cart-page .ms-trust-row svg { color: var(--cb); flex-shrink: 0; }

/* Notices */
body.marset-cart-page .wc-block-components-notice-banner {
    border-radius: 0 !important;
    border-left:   3px solid var(--cb) !important;
    font-family:   'Montserrat', sans-serif !important;
}
body.marset-cart-page .wc-block-components-notice-banner.is-error {
    border-left-color: #c33 !important;
}


/* ══════════════════════════════════════════════════════════════════
   5. CHECKOUT — OUTER WRAPPER & TWO-COLUMN GRID
   ══════════════════════════════════════════════════════════════════ */

body.marset-checkout-page .wp-block-woocommerce-checkout {
    padding: 56px 40px !important;
}

/* Inner layout is the max-width box — acts like the "container" */
body.marset-checkout-page .wc-block-components-sidebar-layout {
    display:               grid !important;
    grid-template-columns: 1fr 380px !important;
    gap:                   64px !important;
    align-items:           start !important;
    max-width:             1400px !important;
    margin:                0 auto !important;
}


/* ══════════════════════════════════════════════════════════════════
   6. CHECKOUT — FORM SECTION HEADINGS
   ══════════════════════════════════════════════════════════════════ */

body.marset-checkout-page .wc-block-checkout__contact-fields > h2,
body.marset-checkout-page .wc-block-checkout__shipping-fields > h2,
body.marset-checkout-page .wc-block-checkout__billing-fields  > h2,
body.marset-checkout-page .wc-block-checkout__order-notes     > h2,
body.marset-checkout-page .wc-block-checkout__payment-method  > h2,
body.marset-checkout-page .wc-block-checkout__actions          > h2,
body.marset-checkout-page .wp-block-woocommerce-checkout-shipping-methods-block h2,
body.marset-checkout-page .wp-block-woocommerce-checkout-payment-block h2,
body.marset-checkout-page .wc-block-checkout__step-title {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      18px !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color:          var(--text) !important;
    margin:         0 0 20px !important;
    padding:        0 !important;
    border:         none !important;
}


/* ══════════════════════════════════════════════════════════════════
   7. CHECKOUT — FORM FIELDS
   ══════════════════════════════════════════════════════════════════ */

/* Field row grid */
body.marset-checkout-page .wc-block-components-form__row {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   16px;
    margin-bottom:         16px;
}

/* Labels */
body.marset-checkout-page .wc-block-components-text-input label,
body.marset-checkout-page .wc-block-components-select label,
body.marset-checkout-page .wc-block-components-textarea label {
    display:        block;
    font-family:    'Montserrat', sans-serif !important;
    font-size:      10px !important;
    font-weight:    700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color:          var(--muted) !important;
    margin-bottom:  6px !important;
}

/* All text-type inputs */
body.marset-checkout-page input[type="text"],
body.marset-checkout-page input[type="email"],
body.marset-checkout-page input[type="tel"],
body.marset-checkout-page input[type="password"],
body.marset-checkout-page input[type="number"],
body.marset-checkout-page .wc-block-components-text-input input,
body.marset-checkout-page .wc-block-components-text-input__input {
    height:        46px !important;
    padding:       0 14px !important;
    border:        1px solid var(--border) !important;
    border-radius: 0 !important;
    background:    #fff !important;
    color:         var(--text) !important;
    font-family:   'Montserrat', sans-serif !important;
    font-size:     13px !important;
    font-weight:   400 !important;
    outline:       none !important;
    box-shadow:    none !important;
    transition:    border-color .2s;
    width:         100% !important;
    display:       block !important;
}
body.marset-checkout-page input[type="text"]:focus,
body.marset-checkout-page input[type="email"]:focus,
body.marset-checkout-page input[type="tel"]:focus,
body.marset-checkout-page input[type="password"]:focus,
body.marset-checkout-page input[type="number"]:focus,
body.marset-checkout-page .wc-block-components-text-input input:focus,
body.marset-checkout-page .wc-block-components-text-input__input:focus {
    border-color: var(--cb) !important;
    box-shadow:   none !important;
    outline:      none !important;
}
body.marset-checkout-page input::placeholder { color: #bbb !important; }

/* Selects — override Hello Elementor border-radius: 3px */
body.marset-checkout-page select,
body.marset-checkout-page .wc-block-components-select select,
body.marset-checkout-page .wc-block-components-country-input select,
body.marset-checkout-page .wc-block-components-state-input select {
    height:           46px !important;
    padding:          0 36px 0 14px !important;
    border:           1px solid var(--border) !important;
    border-radius:    0 !important;
    background-color: #fff !important;
    color:            var(--text) !important;
    font-family:      'Montserrat', sans-serif !important;
    font-size:        13px !important;
    font-weight:      400 !important;
    -webkit-appearance: none !important;
    appearance:       none !important;
    outline:          none;
    box-shadow:       none !important;
    transition:       border-color .2s;
    cursor:           pointer;
    width:            100% !important;
    display:          block !important;
}
body.marset-checkout-page select:focus,
body.marset-checkout-page .wc-block-components-select select:focus {
    border-color: var(--cb) !important;
    box-shadow:   none !important;
}

/* Textarea */
body.marset-checkout-page textarea,
body.marset-checkout-page .wc-block-components-textarea textarea {
    padding:       12px 14px !important;
    border:        1px solid var(--border) !important;
    border-radius: 0 !important;
    background:    #fff !important;
    color:         var(--text) !important;
    font-family:   'Montserrat', sans-serif !important;
    font-size:     13px !important;
    font-weight:   400 !important;
    outline:       none;
    box-shadow:    none !important;
    transition:    border-color .2s;
    resize:        vertical;
    min-height:    100px;
    width:         100% !important;
    display:       block !important;
}
body.marset-checkout-page textarea:focus,
body.marset-checkout-page .wc-block-components-textarea textarea:focus {
    border-color: var(--cb) !important;
    box-shadow:   none !important;
}
body.marset-checkout-page textarea::placeholder { color: #bbb !important; }

/* Checkboxes & radios */
body.marset-checkout-page input[type="checkbox"] {
    width:  16px !important;
    height: 16px !important;
    accent-color: var(--cb);
    cursor: pointer;
}
body.marset-checkout-page input[type="radio"] {
    accent-color: var(--cb);
}

/* Checkbox label text */
body.marset-checkout-page .wc-block-components-checkbox label,
body.marset-checkout-page .wc-block-components-checkbox__label {
    font-family: 'Montserrat', sans-serif !important;
    font-size:   12px;
    font-weight: 500;
    color:       var(--text) !important;
}


/* ══════════════════════════════════════════════════════════════════
   8. CHECKOUT — SHIPPING METHOD (radio options)
   ══════════════════════════════════════════════════════════════════ */

body.marset-checkout-page .wc-block-components-shipping-rates-control__package {
    border:  none !important;
    padding: 0 !important;
    margin:  0 !important;
}
body.marset-checkout-page .wc-block-components-radio-control__option {
    display:         flex !important;
    align-items:     center;
    border:          1px solid var(--border) !important;
    border-radius:   0 !important;
    padding:         14px 18px !important;
    margin-bottom:   10px !important;
    cursor:          pointer;
    transition:      border-color .2s;
    background:      #fff !important;
}
body.marset-checkout-page .wc-block-components-radio-control__option:hover {
    border-color: var(--cb) !important;
}
body.marset-checkout-page .wc-block-components-radio-control__option-checked,
body.marset-checkout-page .wc-block-components-radio-control__option[aria-checked="true"] {
    border-color: var(--cb) !important;
}
body.marset-checkout-page .wc-block-components-radio-control__option-layout {
    font-family:    'Montserrat', sans-serif !important;
    font-size:      12px;
    font-weight:    700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          var(--text);
    flex:           1;
}
body.marset-checkout-page .wc-block-components-radio-control__secondary-label {
    font-weight:    400;
    font-size:      11px;
    color:          var(--muted);
    text-transform: none;
    letter-spacing: 0;
    display:        block;
    margin-top:     2px;
}
body.marset-checkout-page .wc-block-components-shipping-rates-control .wc-block-formatted-money-amount {
    font-family: 'Rajdhani', sans-serif !important;
    font-size:   16px;
    font-weight: 700;
    color:       var(--text);
}


/* ══════════════════════════════════════════════════════════════════
   9. CHECKOUT — PAYMENT METHOD (accordion)
   ══════════════════════════════════════════════════════════════════ */

body.marset-checkout-page .wc-block-components-radio-control-accordion-option {
    border:        1px solid var(--border) !important;
    border-radius: 0 !important;
    margin-bottom: 10px !important;
    padding:       0 !important;
    overflow:      hidden;
    transition:    border-color .2s;
    background:    #fff !important;
}
body.marset-checkout-page .wc-block-components-radio-control-accordion-option:hover {
    border-color: var(--cb) !important;
}
body.marset-checkout-page .wc-block-components-radio-control-accordion-option.is-selected,
body.marset-checkout-page .wc-block-components-radio-control-accordion-option[data-selected="true"] {
    border-color: var(--cb) !important;
}
body.marset-checkout-page .wc-block-components-radio-control-accordion-option__header {
    display:     flex !important;
    align-items: center;
    gap:         12px;
    padding:     16px 18px !important;
    cursor:      pointer;
}
body.marset-checkout-page .wc-block-components-payment-method-label__label {
    font-family:    'Montserrat', sans-serif !important;
    font-size:      12px !important;
    font-weight:    700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color:          var(--text) !important;
}
body.marset-checkout-page .wc-block-components-radio-control-accordion-option__content {
    padding:     0 18px 16px 44px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size:   11px;
    color:       var(--muted);
    line-height: 1.6;
}


/* ══════════════════════════════════════════════════════════════════
   10. CHECKOUT — "Place Order" BUTTON
   ══════════════════════════════════════════════════════════════════ */

body.marset-checkout-page .wc-block-checkout__actions { margin-top: 32px; }

body.marset-checkout-page .wc-block-components-checkout-place-order-button,
body.marset-checkout-page button.wc-block-components-checkout-place-order-button,
body.marset-checkout-page .wc-block-checkout__place-order button,
body.marset-checkout-page .wc-block-checkout__place-order .components-button {
    display:         block !important;
    width:           100% !important;
    background:      var(--cb) !important;
    color:           #fff !important;
    font-family:     'Montserrat', sans-serif !important;
    font-size:       11px !important;
    font-weight:     700 !important;
    letter-spacing:  .16em !important;
    text-transform:  uppercase !important;
    text-align:      center !important;
    padding:         18px 24px !important;
    border:          none !important;
    border-radius:   0 !important;
    cursor:          pointer !important;
    transition:      background .2s !important;
    height:          auto !important;
    line-height:     1 !important;
}
body.marset-checkout-page .wc-block-components-checkout-place-order-button:hover,
body.marset-checkout-page button.wc-block-components-checkout-place-order-button:hover,
body.marset-checkout-page .wc-block-checkout__place-order button:hover {
    background: var(--cb-dark) !important;
    color:      #fff !important;
}

/* Privacy / terms notice */
body.marset-checkout-page .wc-block-checkout__privacy-policy-notice,
body.marset-checkout-page .wc-block-components-checkout-place-order__text {
    font-family: 'Montserrat', sans-serif;
    font-size:   11px;
    color:       var(--muted);
    text-align:  center;
    margin-top:  12px;
    line-height: 1.6;
}
body.marset-checkout-page .wc-block-checkout__privacy-policy-notice a,
body.marset-checkout-page .wc-block-components-checkout-place-order__text a {
    color:           var(--cb) !important;
    text-decoration: underline !important;
}
body.marset-checkout-page .wc-block-checkout__privacy-policy-notice a:hover,
body.marset-checkout-page .wc-block-components-checkout-place-order__text a:hover {
    color: var(--cb-dark) !important;
}


/* ══════════════════════════════════════════════════════════════════
   11. CHECKOUT — ORDER SUMMARY SIDEBAR
   ══════════════════════════════════════════════════════════════════ */

body.marset-checkout-page .wc-block-checkout__sidebar,
body.marset-checkout-page .wc-block-components-sidebar {
    position: sticky;
    top:      80px;
}

/* Summary container */
body.marset-checkout-page .wc-block-order-summary,
body.marset-checkout-page .wc-block-order-summary-container {
    background:    var(--warm-bg) !important;
    padding:       32px !important;
    border:        none !important;
    border-radius: 0 !important;
}

/* "Your Order" heading / toggle button */
body.marset-checkout-page .wc-block-components-order-summary__button,
body.marset-checkout-page .wc-block-order-summary-heading,
body.marset-checkout-page .wc-block-order-summary__button-text {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      20px !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color:          var(--text) !important;
    background:     none !important;
    border:         none !important;
    border-bottom:  2px solid var(--text) !important;
    padding:        0 0 16px !important;
    margin:         0 0 20px !important;
    cursor:         default;
    width:          100% !important;
    text-align:     left !important;
}

/* Line items */
body.marset-checkout-page .wc-block-order-summary-item,
body.marset-checkout-page .wc-block-components-order-summary-item {
    display:       flex !important;
    gap:           16px;
    padding:       14px 0 !important;
    border-bottom: 1px solid var(--border) !important;
}
body.marset-checkout-page .wc-block-order-summary-item__image,
body.marset-checkout-page .wc-block-components-order-summary-item__image {
    position:   relative;
    flex-shrink: 0;
}
body.marset-checkout-page .wc-block-order-summary-item__image img,
body.marset-checkout-page .wc-block-components-order-summary-item__image img {
    width:         64px !important;
    height:        80px !important;
    object-fit:    cover !important;
    border-radius: 0 !important;
}
/* Qty badge on image */
body.marset-checkout-page .wc-block-order-summary-item__quantity,
body.marset-checkout-page .wc-block-components-order-summary-item__quantity {
    position:        absolute;
    top:             -6px;
    right:           -6px;
    width:           20px;
    height:          20px;
    border-radius:   50%;
    background:      var(--text);
    color:           #fff;
    font-size:       10px;
    font-weight:     700;
    display:         flex;
    align-items:     center;
    justify-content: center;
}
body.marset-checkout-page .wc-block-components-order-summary-item__name {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      14px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color:          var(--text) !important;
    display:        block;
    margin-bottom:  2px;
}
body.marset-checkout-page .wc-block-components-order-summary-item__meta-text {
    font-size:     11px;
    color:         var(--muted);
    margin-bottom: 4px;
    display:       block;
}
body.marset-checkout-page .wc-block-components-order-summary-item__total .wc-block-formatted-money-amount {
    font-family: 'Montserrat', sans-serif !important;
    font-size:   13px;
    font-weight: 600;
    color:       var(--text);
}

/* Checkout totals rows (shared selectors with cart) */
body.marset-checkout-page .wc-block-components-totals-wrapper {
    border-top:  1px solid var(--border);
    padding-top: 12px;
    margin-top:  12px;
}
body.marset-checkout-page .wc-block-components-totals-item {
    display:         flex !important;
    justify-content: space-between;
    align-items:     baseline;
    padding:         6px 0;
}
body.marset-checkout-page .wc-block-components-totals-item__label {
    font-family:    'Montserrat', sans-serif !important;
    font-size:      11px;
    font-weight:    600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color:          var(--muted);
}
body.marset-checkout-page .wc-block-components-totals-item__value {
    font-family: 'Montserrat', sans-serif !important;
    font-size:   14px;
    font-weight: 600;
    color:       var(--text);
}
body.marset-checkout-page .wc-block-components-totals-footer-item {
    border-top:  2px solid var(--text) !important;
    padding-top: 16px !important;
    margin-top:  8px !important;
}
body.marset-checkout-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family:    'Rajdhani', sans-serif !important;
    font-size:      14px;
    font-weight:    700;
    letter-spacing: .1em;
    color:          var(--text) !important;
}
body.marset-checkout-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    font-family: 'Rajdhani', sans-serif !important;
    font-size:   24px !important;
    font-weight: 700;
    color:       var(--text);
}

/* Trust rows (injected via wp_footer JS) */
body.marset-checkout-page .ms-checkout-trust {
    display:        flex;
    flex-direction: column;
    gap:            10px;
    margin-top:     20px;
    padding-top:    20px;
    border-top:     1px solid var(--border);
}
body.marset-checkout-page .ms-trust-row {
    display:     flex;
    align-items: center;
    gap:         10px;
    font-size:   11px;
    color:       var(--muted);
}
body.marset-checkout-page .ms-trust-row svg { color: var(--cb); flex-shrink: 0; }

/* Notices */
body.marset-checkout-page .wc-block-components-notice-banner {
    border-radius: 0 !important;
    border-left:   3px solid var(--cb) !important;
    font-family:   'Montserrat', sans-serif !important;
}
body.marset-checkout-page .wc-block-components-notice-banner.is-error {
    border-left-color: #c33 !important;
}

/* Spinner colour on dark buttons */
body.marset-cart-page     .wc-block-cart__submit-button .wc-block-components-spinner,
body.marset-checkout-page .wc-block-components-checkout-place-order-button .wc-block-components-spinner {
    border-top-color: rgba(255,255,255,.5) !important;
    border-color:     rgba(255,255,255,.2) !important;
}


/* ══════════════════════════════════════════════════════════════════
   12. RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    body.marset-cart-page .wc-block-components-sidebar-layout,
    body.marset-checkout-page .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr 300px !important;
        gap: 40px !important;
    }
}

@media (max-width: 860px) {
    body.marset-cart-page .wc-block-components-sidebar-layout,
    body.marset-checkout-page .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    body.marset-cart-page .wc-block-cart__sidebar {
        position: static !important;
    }
    body.marset-checkout-page .wc-block-checkout__sidebar,
    body.marset-checkout-page .wc-block-components-sidebar {
        position: static !important;
        order: -1;
    }
    body.marset-cart-page .wp-block-woocommerce-cart,
    body.marset-checkout-page .wp-block-woocommerce-checkout {
        padding: 32px 24px !important;
    }
    body.marset-cart-page .page-header,
    body.marset-checkout-page .page-header {
        padding: 36px 24px 30px !important;
    }
    body.marset-checkout-page .wc-block-order-summary,
    body.marset-checkout-page .wc-block-order-summary-container {
        padding: 24px !important;
    }
}

@media (max-width: 600px) {
    body.marset-checkout-page .wc-block-components-form__row {
        grid-template-columns: 1fr !important;
    }
    body.marset-cart-page .wp-block-woocommerce-cart,
    body.marset-checkout-page .wp-block-woocommerce-checkout {
        padding: 24px 16px !important;
    }
}

@media (max-width: 480px) {
    body.marset-cart-page .wc-block-cart-items__header-total,
    body.marset-cart-page .wc-block-cart-item__total {
        display: none !important;
    }
    body.marset-cart-page .page-header,
    body.marset-checkout-page .page-header {
        padding: 28px 16px 22px !important;
    }
}
