/* =====================================================
 * Raj Collection Sequel — mobile-final.css
 *
 * The "boutique-grade mobile" pass. Loaded LAST in the cascade
 * (after micro-polish) so it can override anything before it.
 *
 * Audit findings addressed:
 *   1. Section reveal — never leave content stuck at opacity 0
 *   2. Newsletter & form inputs — clip to viewport, fluid width
 *   3. Footer columns — single column stacked, full bleed
 *   4. Address row — readable wrap, centered
 *   5. WhatsApp FAB — lifts above bottom-nav, never overlaps content
 *   6. Bridal eyebrow — drop-shadow for legibility on bright bg
 *   7. Founder quote — generous mobile padding
 *   8. Hero CTA — fluid full-width pill
 *   9. Trust strip — true horizontal scroll with edge fade
 *  10. Section padding — rationalized 56px top/bottom on mobile
 *  11. Edits grid — 2-up at 360+, 1-up below
 *  12. Loom diary — full-bleed image + lifted caption
 *  13. Page content area — clip horizontal overflow once and for all
 *  14. Headings line-height — tighter on small viewports
 *  15. Body copy line-length — comfortable max ~58ch
 *  16. Touch targets ≥ 44×44px everywhere
 *  17. Bottom-nav safe area + visual polish
 *  18. Sticky ATC bar — proper height, no jump on scroll
 *  19. Cart row image — fixed 80px aspect on small screens
 *  20. WC notice banners — full-width with margin discipline
 * ===================================================== */

@media (max-width: 768px) {

    /* ─── 1. Reveal safety: never trap content at opacity 0 ─── */
    [data-reveal],
    [data-reveal]:not(.is-visible) {
        opacity: 1 !important;
        transform: none !important;
    }
    /* Re-enable the reveal animation only on properly observed elements */
    @media (prefers-reduced-motion: no-preference) {
        [data-reveal][data-revealed-by-observer] {
            transition: opacity 720ms var(--rcs-ease-out), transform 820ms var(--rcs-ease-out);
        }
    }

    /* ─── 2. Newsletter input box-model ─── */
    .rcs-footer__newsletter,
    .rcs-newsletter,
    .rcs-fb-live__form {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    .rcs-footer__newsletter input[type="email"],
    .rcs-newsletter input[type="email"] {
        flex: 1 1 0;
        min-width: 0;
        box-sizing: border-box;
        padding: 14px 16px;
        border-radius: var(--rcs-r-pill) 0 0 var(--rcs-r-pill);
        border: 1px solid var(--rcs-outline);
        background: var(--rcs-surface);
        font-size: var(--rcs-size-md);
    }
    .rcs-footer__newsletter button,
    .rcs-newsletter button {
        flex: 0 0 auto;
        padding: 14px 22px;
        border-radius: 0 var(--rcs-r-pill) var(--rcs-r-pill) 0;
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border: 0;
        font-weight: 600;
        font-size: var(--rcs-size-md);
        cursor: pointer;
        letter-spacing: var(--rcs-track-wide);
        text-transform: uppercase;
    }

    /* ─── 3. Footer columns — stack cleanly ─── */
    .rcs-footer {
        padding: 32px 20px calc(80px + var(--rcs-safe-bottom));
    }
    .rcs-footer__top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 0;
    }
    .rcs-footer__brand-col,
    .rcs-footer__col {
        max-width: 100%;
    }
    .rcs-footer__brand-col .rcs-footer__brand {
        font-size: var(--rcs-size-4xl);
    }
    .rcs-footer__bottom {
        flex-direction: column;
        gap: 14px;
        text-align: center;
        padding-top: 24px;
        margin-top: 24px;
        border-top: 1px solid var(--rcs-outline);
    }

    /* ─── 4. Address row — wrap and center ─── */
    .rcs-footer::before {
        text-align: center;
        line-height: 1.55;
        font-size: var(--rcs-size-sm);
        padding: 14px 16px;
        display: block;
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }

    /* ─── 5. WhatsApp FAB — lift above bottom-nav ─── */
    .rcs-whatsapp-fab {
        bottom: calc(var(--rcs-bottom-nav-h, 60px) + 16px + var(--rcs-safe-bottom)) !important;
        right: 16px !important;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: var(--rcs-whatsapp);
        color: #fff;
        display: grid;
        place-items: center;
        z-index: var(--rcs-z-fab);
        box-shadow: 0 6px 18px -4px rgba(37, 211, 102, 0.55);
        text-decoration: none;
    }
    .rcs-whatsapp-fab i {
        font-size: 26px;
    }
    /* On cart/checkout where bottom-nav hides, lower the FAB */
    .woocommerce-checkout .rcs-whatsapp-fab,
    .woocommerce-cart .rcs-whatsapp-fab {
        bottom: calc(76px + var(--rcs-safe-bottom)) !important;
    }
    /* Hide entirely during checkout (already in v8 but enforce here) */
    .woocommerce-checkout .rcs-whatsapp-fab {
        display: none !important;
    }

    /* ─── 6. Bridal eyebrow contrast ─── */
    .rcs-bridal .rcs-eyebrow,
    .rcs-bridal__eyebrow {
        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45), 0 0 2px rgba(0, 0, 0, 0.55);
        color: var(--rcs-accent);
        font-weight: 700;
    }
    .rcs-bridal h2,
    .rcs-bridal__title {
        text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    }
    .rcs-bridal p,
    .rcs-bridal__body {
        text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
    }

    /* ─── 7. Founder quote ─── */
    .rcs-founder {
        padding: 48px 24px;
        text-align: center;
    }
    .rcs-founder blockquote,
    .rcs-founder__quote {
        font-size: var(--rcs-size-lg);
        line-height: 1.5;
        max-width: 100%;
        padding: 0;
    }

    /* ─── 8. Hero CTA full-width ─── */
    .rcs-hero__cta {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }
    .rcs-hero__cta .rcs-btn--lg {
        width: 100%;
        justify-content: center;
    }
    .rcs-hero__story {
        text-align: center;
    }

    /* ─── 9. Trust strip — visible horizontal scroll ─── */
    .rcs-trust-strip {
        padding: 14px 0;
        background: var(--rcs-section-tint);
        position: relative;
    }
    .rcs-trust-strip__track {
        display: flex;
        gap: 28px;
        padding: 0 20px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .rcs-trust-strip__track::-webkit-scrollbar { display: none; }
    .rcs-trust-strip__item {
        flex: 0 0 auto;
        white-space: nowrap;
        scroll-snap-align: start;
        display: inline-flex;
        gap: 8px;
        align-items: center;
        font-size: var(--rcs-size-sm);
        font-weight: var(--rcs-fw-medium);
        color: var(--rcs-bronze);
    }
    .rcs-trust-strip__item i {
        color: var(--rcs-accent);
        font-size: 18px;
    }
    /* Edge fade as scroll affordance */
    .rcs-trust-strip::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 36px;
        background: linear-gradient(90deg, transparent, var(--rcs-section-tint));
        pointer-events: none;
    }

    /* ─── 10. Section padding rationalized ─── */
    main > section,
    main > .rcs-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    main > .rcs-hero {
        padding: 0;
    }
    main > .rcs-trust-strip {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    /* ─── 11. Edits / occasion grid 2-up below 480 ─── */
    .rcs-edits__grid,
    .rcs-occasions__grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }
    @media (max-width: 360px) {
        .rcs-edits__grid,
        .rcs-occasions__grid {
            grid-template-columns: 1fr;
        }
    }
    .rcs-edits__card,
    .rcs-occasions__card {
        position: relative;
        aspect-ratio: 3 / 4;
        overflow: hidden;
        border-radius: var(--rcs-r-3);
    }
    .rcs-edits__card img,
    .rcs-occasions__card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* ─── 12. Loom diary — full-bleed ─── */
    .rcs-loom {
        padding-left: 0;
        padding-right: 0;
    }
    .rcs-loom .rcs-container {
        padding-left: 0;
        padding-right: 0;
    }
    .rcs-loom__media {
        width: 100vw;
        max-width: 100%;
    }
    .rcs-loom__media img {
        width: 100%;
        height: auto;
        display: block;
    }
    .rcs-loom__caption {
        padding: 24px 20px;
    }

    /* ─── 13. Horizontal overflow guard ─── */
    html, body {
        max-width: 100vw;
        overflow-x: hidden;
    }
    img, video, iframe, svg {
        max-width: 100%;
        height: auto;
    }

    /* ─── 14. Heading line-height ─── */
    h1, h2, h3,
    .rcs-hero__title,
    .rcs-section__title,
    .rcs-h1, .rcs-h2, .rcs-h3 {
        line-height: 1.15;
        word-spacing: -0.01em;
    }

    /* ─── 15. Body copy line-length ─── */
    .rcs-prose,
    .rcs-founder__quote,
    .rcs-hero__body,
    .rcs-section__lede {
        max-width: 38ch;
        margin-left: auto;
        margin-right: auto;
    }

    /* ─── 16. Touch targets ─── */
    .rcs-btn,
    button,
    a.rcs-link,
    .rcs-chip,
    .rcs-icon-btn {
        min-height: var(--rcs-tap, 44px);
    }
    /* Inline links inside copy should NOT get min-height */
    p a, .rcs-prose a, .rcs-footer__list a {
        min-height: 0;
    }

    /* ─── 17. Bottom nav polish ─── */
    .rcs-bottom-nav,
    .rcs-bn {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: var(--rcs-bottom-nav-h, 60px);
        padding-bottom: var(--rcs-safe-bottom);
        background: var(--rcs-canvas);
        border-top: 1px solid var(--rcs-outline);
        z-index: var(--rcs-z-bottom-nav);
        display: flex;
        align-items: stretch;
        justify-content: space-around;
    }
    .rcs-bottom-nav a,
    .rcs-bn a,
    .rcs-bn-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        text-decoration: none;
        color: var(--rcs-text-muted);
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        position: relative;
    }
    .rcs-bottom-nav a.is-active,
    .rcs-bn a.is-active,
    .rcs-bn-item.is-active {
        color: var(--rcs-primary);
    }
    .rcs-bottom-nav a.is-active::after,
    .rcs-bn a.is-active::after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 28px;
        height: 2px;
        background: var(--rcs-primary);
        border-radius: 0 0 2px 2px;
    }
    .rcs-bottom-nav a i,
    .rcs-bn a i {
        font-size: 22px;
        line-height: 1;
    }
    /* Make body bottom padding accommodate the fixed nav so content doesn't hide */
    body:not(.rcs-no-bottom-nav) {
        padding-bottom: calc(var(--rcs-bottom-nav-h, 60px) + var(--rcs-safe-bottom));
    }

    /* ─── 18. Sticky ATC bar (PDP) ─── */
    .rcs-pdp__sticky,
    .rcs-sticky-atc {
        position: fixed;
        bottom: var(--rcs-bottom-nav-h, 60px);
        left: 0;
        right: 0;
        padding: 12px 16px calc(12px + var(--rcs-safe-bottom));
        background: var(--rcs-surface);
        border-top: 1px solid var(--rcs-outline);
        z-index: var(--rcs-z-sticky-bar);
        box-shadow: 0 -6px 20px -10px rgba(0,0,0,0.18);
        display: flex;
        gap: 12px;
        align-items: center;
    }
    .rcs-pdp__sticky .rcs-btn {
        flex: 1;
    }
    /* If sticky ATC is visible, push bottom nav out (PDP doesn't need both) */
    body.single-product .rcs-bottom-nav {
        display: none !important;
    }
    body.single-product {
        padding-bottom: 0 !important;
    }

    /* ─── 19. Cart product image fixed size ─── */
    .rcs-cart__item-img,
    .woocommerce-cart-form .product-thumbnail img {
        width: 80px;
        height: 106px;
        object-fit: cover;
        border-radius: var(--rcs-r-2);
    }

    /* ─── 20. WC notice banners — full-width with margin discipline ─── */
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        margin: 16px 16px !important;
        padding: 14px 18px 14px 48px !important;
        font-size: var(--rcs-size-md);
    }

    /* =====================================================
     * BLOCKS-CHECKOUT MOBILE FIXES
     * ===================================================== */
    /* Hide the collapsed top order-summary that just shows "Cart total" */
    .wp-block-woocommerce-checkout .wc-block-components-totals-wrapper:first-of-type,
    .wc-block-checkout__sidebar > .wc-block-components-sidebar-layout__sidebar-mobile-summary,
    .wc-block-components-order-summary--mobile-collapsed {
        /* Don't hide outright — restyle */
        background: var(--rcs-section-tint);
        border-radius: var(--rcs-r-3);
        margin: 8px 16px 16px;
        padding: 14px 16px;
        border: 1px solid var(--rcs-accent);
    }
    /* Hero CTA stacks on mobile */
    .wc-block-checkout__actions {
        flex-direction: column;
        gap: 12px;
    }
    .wc-block-checkout__actions_row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        justify-content: center !important;
    }

    /* =====================================================
     * HERO LIVING MOTION — disable parallax on mobile (it judders)
     * ===================================================== */
    .rcs-hero--living .rcs-hero__media img {
        transform: none !important;
    }
    .rcs-hero--living .rcs-hero__scrim {
        opacity: 0.55 !important;
    }
    .rcs-hero__scroll-cue {
        display: none;
    }

    /* Cursor dust + ambient motes already hidden on mobile via existing media queries */

}

/* =====================================================
 * SMALL-PHONE SPECIFICS (≤ 360px)
 * ===================================================== */
@media (max-width: 360px) {
    .rcs-hero__title {
        font-size: var(--rcs-size-5xl);
    }
    .rcs-footer {
        padding: 28px 16px calc(80px + var(--rcs-safe-bottom));
    }
    .rcs-footer__brand-col .rcs-footer__brand {
        font-size: var(--rcs-size-3xl);
    }
}

/* =====================================================
 * LANDSCAPE PHONES — shrink hero so CTA stays visible
 * ===================================================== */
@media (max-width: 932px) and (orientation: landscape) and (max-height: 500px) {
    .rcs-hero {
        min-height: 100vh !important;
        padding: 24px 16px;
    }
    .rcs-hero__title { font-size: 28px; }
    .rcs-hero__body { display: none; }
}

/* =====================================================
 * CART (WC Blocks) MOBILE — added at audit pass
 * ===================================================== */
@media (max-width: 768px) {

    /* Cart layout: full-width single column */
    .wp-block-woocommerce-cart {
        padding: 16px 16px 100px;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .wp-block-woocommerce-cart .wc-block-cart {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }
    .wc-block-cart .wc-block-components-sidebar-layout,
    .wc-block-cart .wc-block-cart__sidebar,
    .wc-block-cart__main {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Cart item rows: stay inside viewport */
    .wc-block-cart-items {
        overflow: hidden;
    }
    .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 80px 1fr !important;
        grid-template-areas:
            "img info"
            "img price"
            "qty qty"
            "rem rem" !important;
        gap: 12px 14px !important;
        padding: 16px 0 !important;
        border-bottom: 1px solid var(--rcs-outline) !important;
        align-items: start;
        position: relative;
    }
    .wc-block-cart-item__image {
        grid-area: img !important;
        width: 80px !important;
        height: 106px !important;
        border-radius: var(--rcs-r-2);
        overflow: hidden;
        flex: 0 0 80px !important;
    }
    .wc-block-cart-item__image img,
    .wc-block-cart-item__image a {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }
    .wc-block-cart-item__product {
        grid-area: info !important;
        min-width: 0;
        padding: 0 !important;
        margin: 0 !important;
    }
    .wc-block-cart-item__product-name,
    .wc-block-cart-item__name {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-lg) !important;
        line-height: 1.25 !important;
        font-weight: var(--rcs-fw-medium) !important;
        color: var(--rcs-text) !important;
        margin: 0 0 4px !important;
        word-break: break-word;
    }
    .wc-block-cart-item__product-metadata,
    .wc-block-cart-item__short-description {
        font-size: var(--rcs-size-sm) !important;
        color: var(--rcs-text-muted) !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Price + sale badge cluster */
    .wc-block-cart-item__total,
    .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        grid-area: price !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        font-family: var(--rcs-font-display);
        color: var(--rcs-primary) !important;
        font-size: var(--rcs-size-lg) !important;
        font-weight: 600 !important;
        text-align: left !important;
        padding: 0 !important;
        margin: 4px 0 0 !important;
        max-width: 100% !important;
    }
    .wc-block-components-sale-badge {
        flex-shrink: 0 !important;
        font-size: var(--rcs-size-xs) !important;
        padding: 3px 8px !important;
        background: var(--rcs-success-soft) !important;
        color: var(--rcs-success) !important;
        border-radius: var(--rcs-r-pill) !important;
        font-weight: 600 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }
    .wc-block-components-formatted-money-amount {
        font-family: var(--rcs-font-display);
    }
    /* Strikethrough original price */
    .wc-block-components-product-price del,
    .wc-block-components-product-price__regular del {
        color: var(--rcs-text-subtle) !important;
        font-weight: 400 !important;
        font-size: var(--rcs-size-md) !important;
        margin-right: 4px !important;
    }

    /* Quantity stepper — pin to its own row */
    .wc-block-cart-item__quantity {
        grid-area: qty !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }
    .wc-block-components-quantity-selector {
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-pill) !important;
        background: var(--rcs-surface) !important;
        height: 44px !important;
        min-height: 44px !important;
        width: auto !important;
        max-width: 140px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    .wc-block-components-quantity-selector__button {
        width: 44px !important;
        height: 44px !important;
        font-size: 18px !important;
        color: var(--rcs-primary) !important;
    }
    .wc-block-components-quantity-selector__input {
        font-family: var(--rcs-font-display) !important;
        font-weight: 600 !important;
        color: var(--rcs-text) !important;
        min-width: 36px !important;
    }

    /* Remove button: own row, ghost-style danger */
    .wc-block-cart-item__remove-link,
    button.wc-block-cart-item__remove-link {
        grid-area: rem !important;
        font-size: var(--rcs-size-sm) !important;
        color: var(--rcs-text-muted) !important;
        text-decoration: none !important;
        padding: 6px 0 !important;
        margin: 0 !important;
        background: none !important;
        border: 0 !important;
        text-align: left !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: auto !important;
        justify-self: start !important;
    }
    .wc-block-cart-item__remove-link:hover {
        color: var(--rcs-error) !important;
    }
    .wc-block-cart-item__remove-link::before {
        content: '\\f1f8'; /* trash icon fallback */
        font-family: 'dashicons';
        font-size: 14px;
    }

    /* Hide WC default trash bin button (separate from the link) */
    .wc-block-cart-item .wc-block-cart-item__remove-button {
        display: none !important;
    }

    /* =====================================================
     * TOTALS SECTION (sidebar layout flattened on mobile)
     * ===================================================== */
    .wc-block-cart__sidebar,
    .wc-block-components-sidebar {
        background: var(--rcs-surface);
        border-radius: var(--rcs-r-4);
        padding: 18px 20px !important;
        margin: 16px 0 !important;
        box-shadow: var(--rcs-shadow-md);
    }
    .wc-block-cart__totals-title {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-xl);
        font-weight: 600;
        color: var(--rcs-primary);
        margin: 0 0 14px;
        text-transform: none;
        letter-spacing: var(--rcs-track-tight);
        text-align: left;
        border-bottom: 1px solid var(--rcs-outline);
        padding-bottom: 10px;
    }
    .wc-block-components-totals-item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 0 !important;
        font-size: var(--rcs-size-md);
        line-height: 1.4;
    }
    .wc-block-components-totals-item__label {
        font-weight: var(--rcs-fw-medium);
        color: var(--rcs-text-muted);
        font-size: var(--rcs-size-sm);
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
    }
    .wc-block-components-totals-item__value {
        font-family: var(--rcs-font-display);
        font-weight: var(--rcs-fw-medium);
        color: var(--rcs-text);
    }
    .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
        font-size: var(--rcs-size-md);
        color: var(--rcs-text);
        text-transform: none;
        letter-spacing: 0;
        font-family: var(--rcs-font-display);
    }
    .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        font-size: var(--rcs-size-2xl);
        color: var(--rcs-primary);
        font-weight: 600;
    }

    /* Free shipping badge */
    .wc-block-components-totals-shipping__price--free,
    .wc-block-components-shipping-rates-control__package--has-free {
        color: var(--rcs-success) !important;
        font-style: italic;
        font-weight: var(--rcs-fw-medium);
    }

    /* Coupon section */
    .wc-block-components-totals-coupon {
        padding: 12px 0 !important;
        border-top: 1px dashed var(--rcs-outline);
        border-bottom: 1px dashed var(--rcs-outline);
        margin: 10px 0 !important;
    }
    .wc-block-components-totals-coupon__button {
        color: var(--rcs-primary) !important;
        background: none !important;
        text-decoration: none !important;
        padding: 8px 0 !important;
        font-size: var(--rcs-size-md) !important;
        font-weight: 600 !important;
        display: flex !important;
        justify-content: space-between !important;
        width: 100% !important;
        text-align: left !important;
    }
    .wc-block-components-totals-coupon__form {
        margin-top: 12px !important;
        display: flex !important;
        gap: 8px !important;
    }
    .wc-block-components-totals-coupon__form input {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 12px 14px !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-2) !important;
        font-size: var(--rcs-size-md) !important;
    }
    .wc-block-components-totals-coupon__form button {
        padding: 0 18px !important;
        background: var(--rcs-primary) !important;
        color: #fff !important;
        border-radius: var(--rcs-r-2) !important;
        border: 0 !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
    }

    /* Proceed-to-Checkout button: full-width maroon pill */
    .wc-block-cart__submit-container {
        width: 100% !important;
        padding: 18px 0 0 !important;
    }
    .wc-block-cart__submit-button,
    a.wc-block-cart__submit-button {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-radius: var(--rcs-r-pill) !important;
        height: 56px !important;
        padding: 0 24px !important;
        font-size: var(--rcs-size-md) !important;
        font-weight: 600 !important;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        box-shadow: var(--rcs-shadow-cta);
        display: inline-flex !important;
        align-items: center !important;
        text-decoration: none !important;
    }
    .wc-block-cart__submit-button::after {
        content: '\\2192';
        margin-left: 10px;
        font-size: 18px;
    }

    /* Cross-sells / "you may also like" — strip default WP heading sizes */
    .wc-block-cart__cross-sells,
    .cross-sells {
        margin-top: 32px;
    }
    .wc-block-cart__cross-sells > h2,
    .cross-sells > h2 {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-2xl);
        font-weight: 600;
        color: var(--rcs-primary);
        text-align: center;
        margin-bottom: 18px;
    }

    /* Hide top-collapsed mobile summary on cart (it duplicates the bottom one) */
    .wc-block-cart .wc-block-components-sidebar-layout__sidebar-mobile-summary {
        display: none !important;
    }

    /* WhatsApp FAB on cart: lift above the sticky proceed button */
    body.woocommerce-cart .rcs-whatsapp-fab {
        bottom: calc(60px + 76px + var(--rcs-safe-bottom)) !important;
    }

    /* Cart empty state branding */
    .wc-block-cart-empty,
    .cart-empty {
        text-align: center;
        padding: 56px 20px;
    }
    .wc-block-cart-empty__title,
    .cart-empty.woocommerce-info {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-3xl);
        font-style: italic;
        color: var(--rcs-primary);
        background: none !important;
        border: 0 !important;
        padding: 0 !important;
    }
    .wc-block-cart-empty__description {
        color: var(--rcs-text-muted);
        margin: 14px auto 22px;
        max-width: 320px;
    }

    /* Brand header: don't truncate */
    .rcs-header__brand {
        font-size: var(--rcs-size-lg);
        white-space: nowrap;
        max-width: 130px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    @media (max-width: 380px) {
        .rcs-header__brand {
            max-width: 110px;
            font-size: var(--rcs-size-md);
        }
    }

}

/* =====================================================
 * CHECKOUT (WC Blocks) MOBILE — full polish
 * ===================================================== */
@media (max-width: 768px) {

    /* Outer wrap: single column, full bleed */
    .wp-block-woocommerce-checkout {
        padding: 16px 16px 120px;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .wp-block-woocommerce-checkout > .wc-block-components-sidebar-layout,
    .wc-block-checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .wc-block-checkout__main {
        width: 100% !important;
        max-width: 100% !important;
        order: 2;
    }
    .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        order: 1;
        margin-bottom: 16px !important;
    }

    /* TOP ORDER SUMMARY — collapse to compact card */
    .wc-block-checkout__sidebar {
        background: var(--rcs-section-tint) !important;
        border: 1px solid var(--rcs-accent) !important;
        border-radius: var(--rcs-r-3) !important;
        padding: 14px 16px !important;
        box-shadow: var(--rcs-shadow-sm);
    }
    .wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    /* The "Order summary ₹14,298" header row */
    .wc-block-checkout__sidebar .wc-block-components-order-summary__button-text,
    .wc-block-checkout__sidebar .wc-block-components-panel__button,
    .wc-block-checkout__sidebar .wc-block-components-order-summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-direction: row !important;
        gap: 8px !important;
        width: 100% !important;
        background: none !important;
        border: 0 !important;
        padding: 8px 0 !important;
        font-family: var(--rcs-font-display) !important;
        font-size: var(--rcs-size-lg) !important;
        font-weight: 600 !important;
        color: var(--rcs-primary) !important;
        text-align: left !important;
        line-height: 1.2 !important;
        cursor: pointer !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-panel__button-icon {
        margin-left: auto !important;
        flex-shrink: 0;
        width: 20px;
        height: 20px;
    }
    /* eyebrow provided by checkout-polish.css — no duplicate */

    /* Compact title on mobile (avoid 2-line wrap) */
    .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
    .wc-block-checkout__sidebar .wc-block-components-order-summary__button-text,
    .wc-block-checkout__sidebar .wc-block-components-panel__button {
        font-size: var(--rcs-size-md) !important;
        line-height: 1.2 !important;
        gap: 6px !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-totals-item__value {
        font-size: var(--rcs-size-md) !important;
        white-space: nowrap;
    }
    /* Shrink overall sidebar padding on small screens */
    @media (max-width: 768px) {
        .wc-block-checkout__sidebar {
            padding: 10px 14px !important;
        }
    }

    /* When the panel is opened (expanded summary) */
    .wc-block-checkout__sidebar .wc-block-components-panel__content {
        padding-top: 12px !important;
        margin-top: 12px !important;
        border-top: 1px solid var(--rcs-outline) !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item {
        display: grid !important;
        grid-template-columns: 56px 1fr auto !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid var(--rcs-outline) !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image {
        width: 56px !important;
        height: 56px !important;
        border-radius: var(--rcs-r-2);
        overflow: hidden;
    }
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__description,
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__title {
        font-family: var(--rcs-font-display) !important;
        font-size: var(--rcs-size-md) !important;
        color: var(--rcs-text) !important;
        line-height: 1.3 !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price {
        font-family: var(--rcs-font-display) !important;
        font-weight: 600 !important;
        color: var(--rcs-primary) !important;
        font-size: var(--rcs-size-md) !important;
    }
    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity {
        font-size: var(--rcs-size-xs);
        color: var(--rcs-text-muted);
        margin-left: 4px;
    }

    /* =====================================================
     * STEP CARDS — Contact / Shipping / Payment / Place order
     * ===================================================== */
    .wp-block-woocommerce-checkout-contact-information-block,
    .wp-block-woocommerce-checkout-shipping-address-block,
    .wp-block-woocommerce-checkout-billing-address-block,
    .wp-block-woocommerce-checkout-payment-block,
    .wp-block-woocommerce-checkout-pickup-options-block,
    .wp-block-woocommerce-checkout-shipping-method-block,
    .wp-block-woocommerce-checkout-shipping-methods-block,
    .wp-block-woocommerce-checkout-order-note-block {
        background: var(--rcs-surface) !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-3) !important;
        padding: 18px 16px !important;
        margin-bottom: 14px !important;
        box-shadow: var(--rcs-shadow-sm);
    }
    /* Step headings */
    .wc-block-components-checkout-step__title {
        font-family: var(--rcs-font-display) !important;
        font-size: var(--rcs-size-xl) !important;
        font-weight: 600 !important;
        color: var(--rcs-primary) !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        line-height: 1.2 !important;
    }
    /* Step description (eyebrow-ish) */
    .wc-block-components-checkout-step__description {
        font-size: var(--rcs-size-sm) !important;
        color: var(--rcs-text-muted) !important;
        margin: -6px 0 14px !important;
    }

    /* Form fields */
    .wc-block-components-text-input,
    .wc-block-components-select-input,
    .wc-block-components-combobox {
        margin-bottom: 12px !important;
    }
    .wc-block-components-text-input input,
    .wc-block-components-combobox input,
    .wc-block-components-select-input select {
        padding: 14px 14px 12px !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-2) !important;
        font-size: 16px !important; /* iOS no-zoom */
        background: var(--rcs-field) !important;
        min-height: 48px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .wc-block-components-text-input input:focus,
    .wc-block-components-combobox input:focus,
    .wc-block-components-select-input select:focus {
        border-color: var(--rcs-primary) !important;
        box-shadow: var(--rcs-shadow-focus) !important;
        outline: none !important;
    }
    /* Floating label */
    .wc-block-components-text-input label,
    .wc-block-components-combobox label,
    .wc-block-components-select-input label {
        font-size: var(--rcs-size-sm) !important;
        color: var(--rcs-text-muted) !important;
        font-weight: var(--rcs-fw-medium) !important;
        padding-left: 14px !important;
    }
    .wc-block-components-text-input.is-active label,
    .wc-block-components-combobox.is-active label {
        font-size: var(--rcs-size-xs) !important;
        color: var(--rcs-primary) !important;
    }

    /* Field rows (first/last name etc) — 2 columns at 480+, stack below */
    .wc-block-components-address-form,
    .wc-block-components-address-card {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 0 12px !important;
    }
    .wc-block-components-address-form > * {
        grid-column: 1 / -1;
    }
    .wc-block-components-address-form #shipping-first_name,
    .wc-block-components-address-form #billing-first_name,
    .wc-block-components-address-form [data-block-name*="first"],
    .wc-block-components-address-form > div:has(#shipping-first_name),
    .wc-block-components-address-form > div:has(#billing-first_name) {
        grid-column: 1 / 2;
    }
    .wc-block-components-address-form #shipping-last_name,
    .wc-block-components-address-form #billing-last_name,
    .wc-block-components-address-form [data-block-name*="last"],
    .wc-block-components-address-form > div:has(#shipping-last_name),
    .wc-block-components-address-form > div:has(#billing-last_name) {
        grid-column: 2 / 3;
    }
    @media (max-width: 380px) {
        .wc-block-components-address-form {
            grid-template-columns: 1fr;
        }
        .wc-block-components-address-form > div:has(#shipping-first_name),
        .wc-block-components-address-form > div:has(#billing-first_name),
        .wc-block-components-address-form > div:has(#shipping-last_name),
        .wc-block-components-address-form > div:has(#billing-last_name) {
            grid-column: 1 / -1;
        }
    }

    /* Payment radio cards */
    .wc-block-components-payment-method,
    .wc-block-components-radio-control__option {
        background: var(--rcs-surface) !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-2) !important;
        padding: 14px 14px 14px 44px !important;
        margin-bottom: 8px !important;
        cursor: pointer;
        transition: border-color 200ms var(--rcs-ease-out), background 200ms var(--rcs-ease-out);
        position: relative;
        min-height: 56px;
    }
    .wc-block-components-payment-method--selected,
    .wc-block-components-radio-control__option--selected,
    .wc-block-components-radio-control__option-checked-icon {
        border-color: var(--rcs-primary) !important;
        background: var(--rcs-section-tint) !important;
    }
    .wc-block-components-payment-method__name,
    .wc-block-components-radio-control__label {
        font-family: var(--rcs-font-display);
        font-weight: 600 !important;
        color: var(--rcs-text) !important;
        font-size: var(--rcs-size-md) !important;
    }

    /* PLACE ORDER button */
    .wc-block-components-checkout-place-order-button {
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-radius: var(--rcs-r-pill) !important;
        padding: 0 24px !important;
        height: 56px !important;
        width: 100% !important;
        font-size: var(--rcs-size-md) !important;
        font-weight: 600 !important;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        box-shadow: var(--rcs-shadow-cta);
        margin-top: 14px !important;
    }
    .wp-block-woocommerce-checkout-actions-block {
        background: transparent !important;
        border: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }

    /* Hide WC default sidebar header noise on mobile */
    .wc-block-checkout__sidebar .wc-block-components-totals-wrapper > h2,
    .wc-block-checkout__sidebar .wc-block-components-totals-wrapper > .wc-block-components-totals-coupon {
        display: none !important;
    }
    /* When user expands the summary, show coupon inside */
    .wc-block-checkout__sidebar .wc-block-components-panel--expanded .wc-block-components-totals-coupon {
        display: block !important;
    }

    /* Login link at top */
    .wp-block-woocommerce-checkout-contact-information-block .wc-block-checkout-login {
        font-size: var(--rcs-size-sm);
        color: var(--rcs-primary);
        text-decoration: underline;
    }

    /* Address checkbox label */
    .wc-block-components-checkbox {
        padding: 10px 0 !important;
        font-size: var(--rcs-size-md);
    }
    .wc-block-components-checkbox__input {
        accent-color: var(--rcs-primary);
        width: 20px;
        height: 20px;
    }

    /* Error messages */
    .wc-block-components-validation-error {
        color: var(--rcs-error) !important;
        font-size: var(--rcs-size-sm) !important;
        margin-top: 4px !important;
    }
}

/* =====================================================
 * ORDERS / TRACKING / DOWNLOADS — mobile polish
 * Account sub-pages
 * ===================================================== */
@media (max-width: 768px) {

    /* ─── Orders table: card view on mobile ─── */
    .woocommerce-orders-table {
        display: block !important;
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        margin: 0;
    }
    .woocommerce-orders-table thead {
        display: none !important;
    }
    .woocommerce-orders-table tbody {
        display: block !important;
    }
    .woocommerce-orders-table tbody tr,
    .woocommerce-orders-table tr.order {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        gap: 6px 14px !important;
        padding: 16px !important;
        margin-bottom: 12px !important;
        background: var(--rcs-surface) !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-3) !important;
        box-shadow: var(--rcs-shadow-sm);
        position: relative;
    }
    .woocommerce-orders-table td {
        display: contents !important;
        border: 0 !important;
        padding: 0 !important;
    }
    .woocommerce-orders-table td::before {
        content: attr(data-title);
        display: inline-block;
        font-size: var(--rcs-size-xs);
        font-weight: 600;
        color: var(--rcs-text-muted);
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-ui);
        white-space: nowrap;
        padding-top: 4px;
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
        order: 1;
        font-family: var(--rcs-font-display);
        font-weight: 600;
        color: var(--rcs-primary);
        font-size: var(--rcs-size-lg);
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-date {
        order: 2;
        color: var(--rcs-text-muted);
        font-size: var(--rcs-size-sm);
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status {
        order: 3;
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status::after {
        content: attr(data-status);
        display: inline-block;
        padding: 3px 10px;
        border-radius: var(--rcs-r-pill);
        font-size: var(--rcs-size-xs);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        background: var(--rcs-section-tint);
        color: var(--rcs-primary);
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
        order: 4;
        font-family: var(--rcs-font-display);
        font-weight: 600;
        color: var(--rcs-text);
        font-size: var(--rcs-size-lg);
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
        order: 5;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px dashed var(--rcs-outline);
        grid-column: 1 / -1;
        display: flex !important;
        gap: 8px;
        flex-wrap: wrap;
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
        display: none;
    }
    .woocommerce-orders-table .button,
    .woocommerce-orders-table a.button {
        flex: 1 1 auto;
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        padding: 10px 16px;
        font-size: var(--rcs-size-sm);
        border-radius: var(--rcs-r-pill);
        text-decoration: none;
        text-align: center;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        min-height: var(--rcs-tap);
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .woocommerce-orders-table .button.view {
        background: var(--rcs-primary);
    }
    .woocommerce-orders-table .button.pay {
        background: var(--rcs-success);
    }
    .woocommerce-orders-table .button.cancel {
        background: transparent;
        color: var(--rcs-text-muted);
        border: 1px solid var(--rcs-outline);
    }

    /* ─── Pagination ─── */
    .woocommerce-pagination,
    .woocommerce-Pagination {
        display: flex;
        justify-content: center;
        gap: 6px;
        margin: 24px 0;
        flex-wrap: wrap;
    }
    .woocommerce-pagination a,
    .woocommerce-Pagination a,
    .woocommerce-pagination .current {
        min-width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: var(--rcs-size-md);
        font-family: var(--rcs-font-display);
        color: var(--rcs-text);
        text-decoration: none;
        background: var(--rcs-surface);
        border: 1px solid var(--rcs-outline);
    }
    .woocommerce-pagination .current {
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border-color: var(--rcs-primary);
    }

    /* =====================================================
     * VIEW ORDER (single order detail)
     * ===================================================== */
    .woocommerce-order-details,
    .woocommerce-order-details-table {
        background: var(--rcs-surface);
        border: 1px solid var(--rcs-outline);
        border-radius: var(--rcs-r-4);
        padding: 18px 16px;
        margin: 16px 0;
        box-shadow: var(--rcs-shadow-sm);
    }
    .woocommerce-order-details__title,
    .woocommerce-order-details h2 {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-2xl);
        font-weight: 600;
        color: var(--rcs-primary);
        margin: 0 0 14px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--rcs-outline);
    }
    /* Items list */
    .woocommerce-table--order-details {
        display: block;
        width: 100%;
    }
    .woocommerce-table--order-details thead {
        display: none;
    }
    .woocommerce-table--order-details tbody {
        display: block;
    }
    .woocommerce-table--order-details tbody tr {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 6px;
        padding: 12px 0;
        border-bottom: 1px solid var(--rcs-outline);
    }
    .woocommerce-table--order-details tbody tr td {
        display: block;
        border: 0;
        padding: 0;
    }
    .woocommerce-table--order-details .product-name {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-lg);
        color: var(--rcs-text);
        font-weight: var(--rcs-fw-medium);
    }
    .woocommerce-table--order-details .product-quantity {
        font-size: var(--rcs-size-xs);
        color: var(--rcs-text-muted);
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }
    .woocommerce-table--order-details .product-total {
        font-family: var(--rcs-font-display);
        font-weight: 600;
        color: var(--rcs-primary);
        text-align: right;
    }
    .woocommerce-table--order-details tfoot tr {
        display: flex;
        justify-content: space-between;
        padding: 8px 0;
        border-top: 1px solid var(--rcs-outline);
    }
    .woocommerce-table--order-details tfoot tr:last-child th,
    .woocommerce-table--order-details tfoot tr:last-child td {
        font-size: var(--rcs-size-xl);
        font-family: var(--rcs-font-display);
        font-weight: 600;
        color: var(--rcs-primary);
    }
    .woocommerce-customer-details {
        margin-top: 18px;
    }
    .woocommerce-customer-details address {
        font-style: normal;
        line-height: 1.6;
        padding: 14px;
        background: var(--rcs-canvas);
        border-radius: var(--rcs-r-2);
        border: 1px solid var(--rcs-outline);
    }

    /* =====================================================
     * ORDER TRACKING form (/order-tracking/ or shortcode)
     * ===================================================== */
    .track_order,
    .woocommerce-OrderTracking {
        max-width: 100%;
        padding: 20px;
        background: var(--rcs-surface);
        border-radius: var(--rcs-r-4);
        border: 1px solid var(--rcs-outline);
    }
    .track_order p.form-row,
    .woocommerce-OrderTracking p.form-row {
        margin-bottom: 14px;
    }
    .track_order .button,
    .woocommerce-OrderTracking .button {
        width: 100%;
        padding: 16px 20px;
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border-radius: var(--rcs-r-pill);
        font-size: var(--rcs-size-md);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        border: 0;
        cursor: pointer;
        min-height: 56px;
    }

    /* =====================================================
     * DOWNLOADS empty state already in mobile-polish.css.
     * Active downloads table — card view
     * ===================================================== */
    .woocommerce-MyAccount-downloads {
        display: block;
        width: 100%;
    }
    .woocommerce-MyAccount-downloads thead {
        display: none;
    }
    .woocommerce-MyAccount-downloads tr {
        display: grid;
        gap: 8px;
        padding: 14px;
        margin-bottom: 12px;
        background: var(--rcs-surface);
        border: 1px solid var(--rcs-outline);
        border-radius: var(--rcs-r-3);
    }
    .woocommerce-MyAccount-downloads td {
        display: block;
        padding: 0;
    }
    .woocommerce-MyAccount-downloads .download-product {
        font-family: var(--rcs-font-display);
        font-weight: 600;
        color: var(--rcs-text);
    }
    .woocommerce-MyAccount-downloads .download-file a {
        color: var(--rcs-primary);
        font-weight: 600;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }
    .woocommerce-MyAccount-downloads .download-file a::before {
        content: '\\f316';
        font-family: 'dashicons';
    }
}

/* =====================================================
 * MY ACCOUNT DASHBOARD + EDIT-ACCOUNT + ADDRESSES
 * + LOST-PASSWORD — mobile polish
 * ===================================================== */
@media (max-width: 768px) {

    /* ─── Dashboard hero card ─── */
    .rcs-account__hero,
    .woocommerce-MyAccount-content > p:first-child {
        background: linear-gradient(135deg, var(--rcs-primary), var(--rcs-primary-deep));
        color: var(--rcs-text-inverse);
        padding: 22px 20px;
        border-radius: var(--rcs-r-4);
        margin-bottom: 18px;
        position: relative;
        overflow: hidden;
        box-shadow: var(--rcs-shadow-md);
    }
    /* Avatar circle */
    .rcs-account__avatar {
        width: 56px;
        height: 56px;
        background: var(--rcs-accent);
        color: var(--rcs-primary);
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: var(--rcs-font-display);
        font-weight: 600;
        font-size: var(--rcs-size-2xl);
        flex-shrink: 0;
    }
    /* Stats row */
    .rcs-account__stats {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid rgba(255,255,255,0.18);
    }
    .rcs-account__stat-num {
        font-family: var(--rcs-font-display);
        font-weight: 600;
        font-size: var(--rcs-size-3xl);
        color: var(--rcs-accent);
    }
    .rcs-account__stat-label {
        font-size: var(--rcs-size-xs);
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-ui);
        opacity: 0.85;
    }

    /* ─── Account navigation tabs (mobile) ─── */
    .woocommerce-MyAccount-navigation,
    .rcs-account__nav {
        margin: 0 -16px 14px;
        padding: 0 16px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .woocommerce-MyAccount-navigation::-webkit-scrollbar,
    .rcs-account__nav::-webkit-scrollbar { display: none; }
    .woocommerce-MyAccount-navigation ul,
    .rcs-account__nav ul {
        display: flex;
        gap: 8px;
        list-style: none;
        margin: 0;
        padding: 0;
        white-space: nowrap;
        min-width: max-content;
    }
    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }
    .woocommerce-MyAccount-navigation li a {
        display: inline-block;
        padding: 10px 16px;
        background: var(--rcs-surface);
        border: 1px solid var(--rcs-outline);
        border-radius: var(--rcs-r-pill);
        font-size: var(--rcs-size-sm);
        color: var(--rcs-text);
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        font-weight: 600;
        font-size: var(--rcs-size-xs);
    }
    .woocommerce-MyAccount-navigation li.is-active a,
    .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border-color: var(--rcs-primary);
    }

    /* Action card grid */
    .rcs-account__action-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 18px;
    }
    .rcs-account__action {
        background: var(--rcs-surface);
        border: 1px solid var(--rcs-outline);
        border-radius: var(--rcs-r-3);
        padding: 16px 14px;
        text-decoration: none;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        transition: transform 200ms var(--rcs-ease-out), box-shadow 200ms var(--rcs-ease-out);
    }
    .rcs-account__action:active {
        transform: scale(0.97);
    }
    .rcs-account__action i {
        font-size: 24px;
        color: var(--rcs-primary);
    }
    .rcs-account__action-title {
        font-family: var(--rcs-font-display);
        font-weight: 600;
        color: var(--rcs-text);
        font-size: var(--rcs-size-md);
    }

    /* =====================================================
     * EDIT ACCOUNT — form polish
     * ===================================================== */
    .woocommerce-EditAccountForm,
    form.edit-account {
        background: var(--rcs-surface);
        border-radius: var(--rcs-r-4);
        padding: 20px 16px;
        border: 1px solid var(--rcs-outline);
    }
    .woocommerce-EditAccountForm fieldset {
        margin-top: 20px;
        padding: 16px 14px;
        border: 1px dashed var(--rcs-outline) !important;
        border-radius: var(--rcs-r-3);
        background: var(--rcs-canvas);
    }
    .woocommerce-EditAccountForm legend {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-lg);
        font-weight: 600;
        color: var(--rcs-primary);
        padding: 0 8px;
    }
    .woocommerce-EditAccountForm .form-row {
        margin-bottom: 12px;
    }
    .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-EditAccountForm .form-row-last {
        width: 100%;
        float: none;
    }
    .woocommerce-EditAccountForm input,
    .woocommerce-EditAccountForm textarea,
    form.edit-account input {
        width: 100% !important;
        padding: 14px 14px 12px !important;
        background: var(--rcs-field) !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-2) !important;
        font-size: 16px !important;
        min-height: 48px !important;
        box-sizing: border-box !important;
    }
    .woocommerce-EditAccountForm .button,
    .woocommerce-EditAccountForm button[type="submit"] {
        width: 100% !important;
        margin-top: 16px;
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-radius: var(--rcs-r-pill) !important;
        padding: 16px 24px !important;
        font-size: var(--rcs-size-md) !important;
        font-weight: 600 !important;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        border: 0 !important;
        min-height: 56px !important;
        box-shadow: var(--rcs-shadow-cta);
    }

    /* =====================================================
     * ADDRESSES — stacked cards
     * ===================================================== */
    .rcs-address-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .rcs-address-card {
        background: var(--rcs-surface) !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: var(--rcs-r-3) !important;
        padding: 18px 18px !important;
        box-shadow: var(--rcs-shadow-sm);
        position: relative;
    }
    .rcs-address-card__title {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-xl);
        font-weight: 600;
        color: var(--rcs-primary);
        margin: 0;
    }
    .rcs-address-card__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--rcs-outline);
    }
    .rcs-address-card__edit {
        padding: 8px 16px;
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border-radius: var(--rcs-r-pill);
        font-size: var(--rcs-size-xs);
        font-weight: 600;
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        min-height: 36px;
        display: inline-flex;
        align-items: center;
    }
    .rcs-address-card__body {
        font-style: normal;
        line-height: 1.55;
        color: var(--rcs-text);
        font-size: var(--rcs-size-md);
    }
    .rcs-address-card__empty {
        text-align: center;
        padding: 22px 0;
    }
    .rcs-address-card__empty p {
        color: var(--rcs-text-muted);
        margin: 0 0 14px;
    }
    .rcs-address-card__add-link {
        color: var(--rcs-primary);
        text-decoration: none;
        font-weight: 600;
        font-size: var(--rcs-size-md);
        display: inline-block;
        padding: 8px 0;
        position: relative;
    }
    .rcs-address-card__add-link::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 4px;
        right: 0;
        height: 1px;
        background: var(--rcs-accent);
        opacity: 0.6;
    }

    /* =====================================================
     * LOST PASSWORD — same card treatment as login
     * ===================================================== */
    .woocommerce-ResetPassword,
    .woocommerce-form-lost-password {
        background: var(--rcs-surface);
        border-radius: var(--rcs-r-4);
        padding: 24px 18px;
        border: 1px solid var(--rcs-outline);
        margin: 20px 0;
        box-shadow: var(--rcs-shadow-md);
    }
    .woocommerce-form-lost-password__title,
    .woocommerce-account-lost_password h1,
    .woocommerce-account-lost_password h2 {
        font-family: var(--rcs-font-display);
        font-size: var(--rcs-size-2xl);
        font-weight: 600;
        color: var(--rcs-primary);
        margin: 0 0 6px;
    }
    .woocommerce-ResetPassword + p,
    .woocommerce-form-lost-password p {
        color: var(--rcs-text-muted);
        font-size: var(--rcs-size-md);
        line-height: 1.5;
        margin-bottom: 18px;
    }
    .woocommerce-form-lost-password input[type="text"],
    .woocommerce-form-lost-password input[type="email"],
    .woocommerce-ResetPassword input {
        width: 100%;
        padding: 14px 14px 12px;
        background: var(--rcs-field);
        border: 1px solid var(--rcs-outline);
        border-radius: var(--rcs-r-2);
        font-size: 16px;
        min-height: 48px;
        box-sizing: border-box;
        margin-bottom: 14px;
    }
    .woocommerce-form-lost-password button,
    .woocommerce-ResetPassword button {
        width: 100%;
        padding: 16px 24px;
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border-radius: var(--rcs-r-pill);
        font-size: var(--rcs-size-md);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        border: 0;
        min-height: 56px;
        box-shadow: var(--rcs-shadow-cta);
        cursor: pointer;
    }

    /* =====================================================
     * GLOBAL ACCOUNT PAGE CONTAINERS
     * ===================================================== */
    .rcs-account__panel,
    .woocommerce-MyAccount-content {
        padding: 0 !important;
    }

    /* "Browse Products" link in empty states */
    .rcs-account__empty-cta,
    a.rcs-btn.rcs-btn--lg[href*="/shop"] {
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        padding: 16px 24px;
        border-radius: var(--rcs-r-pill);
        text-decoration: none;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 56px;
        width: 100%;
        max-width: 280px;
        margin: 16px auto 0;
    }
}

/* =====================================================
 * EMPTY CART — "New in store" recommendation grid
 * WC Blocks renders these as <ul.wc-block-grid__products> with display:block.
 * Force 2-up on mobile, 3-up on tablet+.
 * ===================================================== */
@media (max-width: 768px) {

    /* Empty cart wrapper */
    .wp-block-woocommerce-empty-cart-block {
        padding: 24px 16px 80px;
        text-align: center;
    }
    /* The emoji icon block */
    .wp-block-woocommerce-empty-cart-block > .has-text-align-center:first-child {
        font-size: 48px;
        line-height: 1;
        margin-bottom: 14px;
        color: var(--rcs-primary);
        opacity: 0.55;
    }
    /* "Your cart is currently empty!" headline */
    .wp-block-woocommerce-empty-cart-block .has-text-align-center {
        font-family: var(--rcs-font-display);
        color: var(--rcs-primary);
    }
    .wp-block-woocommerce-empty-cart-block h2,
    .wp-block-woocommerce-empty-cart-block h3 {
        font-family: var(--rcs-font-display) !important;
        font-size: var(--rcs-size-2xl) !important;
        color: var(--rcs-primary) !important;
        text-align: center;
        margin: 24px 0 16px;
        font-weight: 600;
    }

    /* The grid wrapper — force 2-up */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid,
    .wp-block-woocommerce-empty-cart-block .wp-block-product-new,
    .wp-block-woocommerce-empty-cart-block [class*="wc-block-grid"] {
        display: block !important;
        width: 100% !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
    .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
    .wp-block-woocommerce-empty-cart-block ul[class*="wc-block-grid__products"] {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px 12px !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
    .wp-block-woocommerce-empty-cart-block li.wc-block-grid__product,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products > li {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: var(--rcs-surface);
        border: 1px solid var(--rcs-outline);
        border-radius: var(--rcs-r-3);
        overflow: hidden;
        text-align: center;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 4;
        object-fit: cover;
        display: block;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
        display: block !important;
        text-decoration: none !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
    .wp-block-woocommerce-empty-cart-block h3.wc-block-grid__product-title {
        font-family: var(--rcs-font-display) !important;
        font-size: var(--rcs-size-md) !important;
        color: var(--rcs-text) !important;
        text-align: center !important;
        margin: 10px 8px 4px !important;
        line-height: 1.25 !important;
        font-weight: var(--rcs-fw-medium) !important;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
        font-family: var(--rcs-font-display) !important;
        color: var(--rcs-primary) !important;
        font-weight: 600 !important;
        text-align: center !important;
        margin: 0 8px 8px !important;
        font-size: var(--rcs-size-md) !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-onsale {
        position: absolute;
        top: 8px;
        right: 8px;
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-radius: var(--rcs-r-pill);
        padding: 4px 10px;
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        font-family: var(--rcs-font-ui);
    }
    .wp-block-woocommerce-empty-cart-block .wp-block-button {
        margin: 22px auto !important;
    }
    .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-radius: var(--rcs-r-pill) !important;
        padding: 14px 28px !important;
        font-weight: 600 !important;
        text-transform: uppercase;
        letter-spacing: var(--rcs-track-wide);
        font-size: var(--rcs-size-md) !important;
        display: inline-block;
    }
}

/* Tablet+ */
@media (min-width: 769px) {
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
    .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 24px !important;
        list-style: none !important;
        padding: 0 !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        display: flex !important;
        flex-direction: column !important;
    }
}

    
    /* Empty cart recommendation price — never truncate */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price ins,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price del {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 13px !important;
        word-spacing: -0.05em !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price del {
        color: var(--rcs-text-subtle) !important;
        margin-right: 4px;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price ins {
        text-decoration: none !important;
        color: var(--rcs-primary) !important;
    }
    /* Tighten title spacing too */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
        font-size: 13px !important;
        margin: 8px 8px 4px !important;
    }
    /* Card padding tighter on small screens */
    @media (max-width: 380px) {
        .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
            gap: 12px 8px !important;
        }
        .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
            font-size: 12px !important;
        }
        .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
            font-size: 12px !important;
        }
        .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a {
            font-size: 10px !important;
            padding: 6px 10px !important;
        }
    }

    
    /* Hide noisy "added" toast text content */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .added_to_cart {
        display: none !important;
    }
    /* Title — allow 2-line wrap on long names */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
        min-height: 2.4em !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        line-height: 1.2 !important;
        word-break: keep-all;
    }

    
    /* Reset for 380px small screens */
    @media (max-width: 380px) {
        
    }

    
    
    
    /* But we still want a visual CTA — use the link wrapping the whole product as the button */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        cursor: pointer !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
        transform: translateY(-2px);
        box-shadow: var(--rcs-shadow-md);
        border-color: var(--rcs-accent);
    }
    

/* =====================================================
 * EMPTY CART — recommendation card ATC button (clean version)
 * Keep WC default text "Add to cart", just style it nicely as a pill.
 * ===================================================== */
@media (max-width: 768px) {
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
        margin: 8px !important;
        text-align: center !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart > a,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart > .wp-block-button > a {
        display: inline-block !important;
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        padding: 7px 12px !important;
        border-radius: 999px !important;
        font-family: var(--rcs-font-ui) !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        border: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .wp-block-woocommerce-empty-cart-block .added_to_cart {
        display: none !important;
    }
}

/* =====================================================
 * EMPTY CART PAGE — reduce wasted side margins on mobile
 * Outer WC Blocks cart wrapper has ~50px viewport waste on 430px.
 * Tighten to 12px gutters and let inner cards breathe.
 * ===================================================== */
@media (max-width: 768px) {
    .wp-block-woocommerce-cart,
    .wp-block-woocommerce-cart-items-block,
    .wp-block-woocommerce-empty-cart-block {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    /* Parent WP container that wraps the cart block */
    main .alignwide,
    main .alignfull,
    main > .entry-content,
    main > section > .rcs-container,
    .rcs-section > .rcs-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
    }
    /* WC section wrapper that we added (woocommerce.php hook) */
    body.woocommerce-cart .rcs-section,
    body.woocommerce-cart .rcs-section > .rcs-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* =====================================================
 * CART / CHECKOUT / ACCOUNT pages — remove .rcs-prose
 * indent on mobile so 2x2 product grids fill the viewport.
 * .rcs-prose was designed for reading width on articles only.
 * ===================================================== */
@media (max-width: 768px) {
    body.woocommerce-cart .rcs-page__content.rcs-prose,
    body.woocommerce-checkout .rcs-page__content.rcs-prose,
    body.woocommerce-account .rcs-page__content.rcs-prose {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    /* And same for the empty cart block to remove its own 12px so we don't double-pad */
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* And same for the WC cart block wrapper */
    body.woocommerce-cart .wp-block-woocommerce-cart {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* =====================================================
 * PDP STICKY ATC — fix overlap with footer + bottom-nav hidden
 * Bug: .rcs-pdp-sticky was bottom:60px on PDP where bottom-nav is hidden.
 *      No body padding-bottom = bar covered footer content.
 * Fix: pin to true bottom 0 on PDP, give body enough padding-bottom
 *      to clear the bar, raise z-index above footer.
 * ===================================================== */
@media (max-width: 768px) {
    body.single-product .rcs-pdp-sticky {
        bottom: 0 !important;
        z-index: 100 !important;
        padding-bottom: calc(12px + var(--rcs-safe-bottom)) !important;
    }
    /* Body MUST have enough bottom padding so the footer & content
       are never covered by the fixed bar */
    body.single-product {
        padding-bottom: calc(82px + var(--rcs-safe-bottom)) !important;
    }
    /* When the bar is visible, footer also needs to slide above it */
    body.single-product .rcs-footer {
        margin-bottom: 0 !important;
    }
    /* Hide the bar entirely while the inline ATC is still in view (JS toggles .is-visible) */
    body.single-product .rcs-pdp-sticky:not(.is-visible) {
        transform: translateY(110%);
        pointer-events: none;
        visibility: hidden;
    }
    /* Sticky-bar button text — never clip "Add to Bag" */
    body.single-product .rcs-pdp-sticky .rcs-btn,
    body.single-product .rcs-pdp-sticky button,
    body.single-product .rcs-pdp-sticky a.rcs-btn {
        white-space: nowrap !important;
        min-width: 140px !important;
        padding: 12px 22px !important;
        font-size: 13px !important;
        letter-spacing: 0.06em !important;
    }
    /* Bar price column — never let it grow so wide that it pushes the button off */
    body.single-product .rcs-pdp-sticky__info {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin-right: 12px;
    }
    body.single-product .rcs-pdp-sticky__price {
        font-size: 16px !important;
        font-family: var(--rcs-font-display) !important;
        color: var(--rcs-primary) !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.single-product .rcs-pdp-sticky__price del {
        color: var(--rcs-text-subtle) !important;
        font-weight: 400 !important;
        margin-right: 4px;
        font-size: 13px !important;
    }
    body.single-product .rcs-pdp-sticky__price ins {
        text-decoration: none !important;
        font-weight: 700 !important;
    }
}

/* =====================================================
 * PDP STICKY BAR — visually hide WC's "Original price was:"
 * and "Current price is:" accessibility text, force ALL CAPS button.
 * ===================================================== */
.rcs-pdp-sticky .screen-reader-text,
.rcs-pdp-sticky .woocommerce-Price-amount + .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}
.rcs-pdp-sticky .rcs-btn,
.rcs-pdp-sticky button,
.rcs-pdp-sticky a.rcs-btn {
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 700 !important;
}
/* Price layout — both prices on same line, no overlap */
.rcs-pdp-sticky__price {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important;
}
.rcs-pdp-sticky__price del {
    order: 1;
}
.rcs-pdp-sticky__price ins {
    order: 2;
    font-weight: 700;
}
/* Meta — make sure "Inclusive of all taxes" never gets clipped */
.rcs-pdp-sticky__meta {
    font-size: 11px !important;
    color: var(--rcs-text-muted) !important;
    margin-top: 2px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* =====================================================
 * CHECKOUT — fix awful layout (user reported)
 * Problems:
 *   1. Top order-summary block is just a teaser w/ no items
 *   2. Bottom actions-block is 1400+px tall because it nests
 *      another full order summary inside it
 *   3. Empty shipping-method / pickup-options thin lines
 *   4. 267px content on 323px viewport = wasted gutters
 * Fix:
 *   - Hide bottom redundant order summary inside actions block
 *   - Hide empty shipping-method and pickup-options if no rates
 *   - Make sections truly full-width (minus 12px gutter)
 *   - Tighten card padding so content uses 95%+ of viewport
 *   - Make top order-summary expandable AND useful
 *   - Visually distinct "PLACE ORDER" bar at bottom (sticky)
 * ===================================================== */
@media (max-width: 768px) {

    /* Outer cart wrapper: kill all wasted gutters */
    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout {
        padding-left: 8px !important;
        padding-right: 8px !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Each form section card: full width minus 8px gutters */
    body.woocommerce-checkout [class^="wp-block-woocommerce-checkout-"][class*="-block"] {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    /* TOP SIDEBAR ORDER SUMMARY — keep it tight and informative */
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        background: var(--rcs-section-tint) !important;
        border: 1px solid var(--rcs-accent) !important;
        border-radius: 10px !important;
        padding: 12px 14px !important;
        margin: 8px 0 14px !important;
        box-shadow: var(--rcs-shadow-sm);
    }
    body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* HIDE the empty shipping-method and pickup-options thin bars */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block:empty,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block:empty {
        display: none !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* (removed bad hide rule) */
    /* And ensure actions block is just the place-order button, not 1400px tall */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        padding: 0 !important;
        margin: 8px 0 24px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Section titles — softer + consistent */
    body.woocommerce-checkout .wc-block-components-checkout-step__title,
    body.woocommerce-checkout h2.wp-block-heading {
        font-family: var(--rcs-font-display) !important;
        font-size: 18px !important;
        color: var(--rcs-primary) !important;
        font-weight: 600 !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        letter-spacing: -0.01em !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-step__description {
        font-size: 13px !important;
        color: var(--rcs-text-muted) !important;
        margin: -6px 0 14px !important;
    }

    /* Reduce empty shipping-method-block to invisible spacer */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block + .wp-block-woocommerce-checkout-pickup-options-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block:empty {
        display: none !important;
    }

    /* Place order button — full width pill, sticky-looking */
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        height: 56px !important;
        border-radius: 999px !important;
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        box-shadow: var(--rcs-shadow-cta) !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
        opacity: 0.55 !important;
        cursor: not-allowed !important;
    }

    /* Step cards: cleaner spacing */
    body.woocommerce-checkout [class^="wp-block-woocommerce-checkout-"][class*="information-block"],
    body.woocommerce-checkout [class^="wp-block-woocommerce-checkout-"][class*="address-block"],
    body.woocommerce-checkout [class^="wp-block-woocommerce-checkout-"][class*="payment-block"],
    body.woocommerce-checkout [class^="wp-block-woocommerce-checkout-"][class*="methods-block"],
    body.woocommerce-checkout [class^="wp-block-woocommerce-checkout-"][class*="order-note-block"] {
        background: var(--rcs-surface) !important;
        border: 1px solid var(--rcs-outline) !important;
        border-radius: 12px !important;
        padding: 16px 14px !important;
        margin-bottom: 12px !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    }

    /* Terms checkbox */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block {
        padding: 12px 14px !important;
        background: transparent !important;
        font-size: 13px !important;
        color: var(--rcs-text-muted) !important;
    }

    /* Order summary block at the bottom — keep it but make compact */
    body.woocommerce-checkout > .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block:not(.wp-block-woocommerce-checkout-actions-block *) {
        background: var(--rcs-canvas) !important;
        border: 1px dashed var(--rcs-outline) !important;
        border-radius: 12px !important;
        padding: 14px !important;
        margin-bottom: 16px !important;
    }

    /* Total row — make ₹ bold serif */
    body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
    body.woocommerce-checkout .wc-block-components-totals-footer-item-tax-value {
        font-family: var(--rcs-font-display) !important;
        font-weight: 700 !important;
        color: var(--rcs-primary) !important;
        font-size: 20px !important;
    }
}

/* CHECKOUT — keep bottom order summary VISIBLE so user can review items
   before placing order, but make it compact (not 1400px). */
@media (max-width: 768px) {
    /* Show the order summary inside actions block again */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-woocommerce-checkout-order-summary-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary {
        display: block !important;
    }
    /* Place-order button must be full width */
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        max-width: 100% !important;
        margin: 12px 0 !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-button {
        width: 100% !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-button .wp-block-button__link {
        width: 100% !important;
    }
    /* But cap the inner order summary height visually so it doesn't dominate */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item {
        padding: 6px 0 !important;
        font-size: 12px !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image {
        width: 44px !important;
        height: 44px !important;
        border-radius: 6px !important;
    }
}

/* =====================================================
 * PLACE ORDER button — TRUE full width
 * Previous rules were 257px because the WC button is inside a flex
 * container that constrains it. Force the parent flex to be full-width
 * and the button to grow within it.
 * ===================================================== */
@media (max-width: 768px) {
    body.woocommerce-checkout .wc-block-checkout__actions,
    body.woocommerce-checkout .wc-block-checkout__actions_row,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block > *,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block a.button,
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-button,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-button__link {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        align-self: stretch !important;
        justify-content: center !important;
    }
    /* Hide the "Return to cart" link OR style it to a small ghost link */
    body.woocommerce-checkout .wc-block-checkout__actions_row > a:first-child {
        order: 2;
        text-align: center;
        font-size: 13px;
        color: var(--rcs-text-muted) !important;
        text-decoration: none;
        padding: 8px 0 !important;
    }
    body.woocommerce-checkout .wc-block-checkout__actions_row > button {
        order: 1;
    }
}

/* =====================================================
 * LOST PASSWORD page — kill the dead zone before footer
 * The reset card is only ~280px tall and the rcs-page__content
 * had no min-height so a big gap opened. Pad bottom of the form area.
 * ===================================================== */
@media (max-width: 768px) {
    body.woocommerce-account.woocommerce-lost-password .rcs-page__content,
    body.woocommerce-lost-password .rcs-page__content,
    body.woocommerce-account.woocommerce-account .woocommerce-form-lost-password {
        padding-bottom: 24px !important;
    }
    /* Add some breathing visual under the form so it doesn't look orphaned */
    body.woocommerce-lost-password .woocommerce-form-lost-password::after {
        content: '';
        display: block;
        height: 1px;
        margin: 32px auto 0;
        max-width: 80px;
        background: linear-gradient(90deg, transparent, var(--rcs-accent), transparent);
        opacity: 0.55;
    }
    /* Tighten outer container to remove its own bottom margin contributing to gap */
    body.woocommerce-lost-password .rcs-page,
    body.woocommerce-lost-password .rcs-section {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* =====================================================
 * PDP "Pair with" — ensure images load (lazy IO isn't firing
 * because container is below initial fold). Force min-height to
 * reserve space and content-visibility:visible to ensure rendering.
 * ===================================================== */
.rcs-pdp__related .rcs-product-card,
.rcs-pdp__related .rcs-product-card__media {
    content-visibility: visible !important;
}
.rcs-pdp__related .rcs-product-card__media img {
    min-height: 200px !important;
}

/* =====================================================
 * CHECKOUT — final fix: collapse the top sidebar summary
 * to a compact "Order summary ₹XXX ⌄" header. Keep the full
 * expanded one at the bottom (it has line items, coupon, totals).
 * ===================================================== */
@media (max-width: 768px) {
    /* Hide the contents of the top sidebar — just keep the chevron header */
    body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary {
        display: none !important;
    }
    body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-totals-wrapper > .wc-block-components-totals-item:not(:last-child),
    body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon,
    body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping {
        display: none !important;
    }
    body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item {
        display: flex !important;
        padding: 0 !important;
        border-top: 0 !important;
    }
    body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item__label {
        font-family: var(--rcs-font-display) !important;
        font-size: 14px !important;
        color: var(--rcs-primary) !important;
        text-transform: none !important;
        letter-spacing: -0.01em !important;
    }
}

/* =====================================================
 * CART/CHECKOUT SKELETON polish — make WC Blocks loading
 * state feel intentional (subtle shimmer + branded tint)
 * instead of grey rectangles.
 * ===================================================== */
@media (max-width: 768px) {
    .wc-block-components-skeleton,
    .wc-block-components-placeholder--has-loading-spinner,
    .wp-block-woocommerce-cart .is-loading,
    .wp-block-woocommerce-checkout .is-loading {
        background: linear-gradient(90deg,
            var(--rcs-section-tint, #f2e9d9) 0%,
            var(--rcs-surface, #fdf9f3) 50%,
            var(--rcs-section-tint, #f2e9d9) 100%) !important;
        background-size: 200% 100% !important;
        animation: rcs-shimmer 1.4s linear infinite !important;
        border-radius: 8px !important;
    }
    /* If cart hasn't hydrated within 1s, show a friendly message */
    .wp-block-woocommerce-cart:empty::after,
    .wp-block-woocommerce-cart .wc-block-components-skeleton:only-child::after {
        content: 'Loading your bag…';
        display: block;
        text-align: center;
        font-family: var(--rcs-font-display);
        color: var(--rcs-primary);
        font-size: 14px;
        padding: 24px;
    }
}

/* =====================================================
 * CHECKOUT — final dedupe of order summaries
 * Keep the IN-FORM bottom summary (with items, totals, place order).
 * Hide the redundant sidebar/top mini-summary that was added by
 * earlier mobile-polish CSS.
 * ===================================================== */
@media (max-width: 768px) {
    /* HIDE the top sidebar/teaser mini-summary entirely */
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-checkout > div > div > .wc-block-components-sidebar {
        display: none !important;
    }
    /* Make the in-form summary feel premium */
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-woocommerce-checkout-order-summary-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        background: var(--rcs-section-tint) !important;
        border: 1px solid var(--rcs-accent) !important;
        border-radius: 12px !important;
        padding: 16px !important;
        margin: 16px 0 !important;
    }
}

/* =====================================================
 * ACCOUNT TAB STRIP — never truncate labels + scroll fade
 * + Category-chip horizontal scroll fade hint
 * ===================================================== */
@media (max-width: 768px) {
    /* Account tabs scroll horizontally with gold edge fade */
    .rcs-account__tabs,
    .woocommerce-MyAccount-navigation {
        position: relative;
        overflow: hidden;
    }
    .rcs-account__tabs::after,
    .woocommerce-MyAccount-navigation::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 32px;
        background: linear-gradient(90deg, transparent, var(--rcs-canvas, #faf6f0));
        pointer-events: none;
        z-index: 2;
    }
    .rcs-account__tabs ul,
    .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 8px !important;
        list-style: none !important;
        padding: 0 16px !important;
        margin: 0 !important;
        scroll-snap-type: x mandatory;
    }
    .rcs-account__tabs ul::-webkit-scrollbar,
    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none !important; }
    .rcs-account__tabs li,
    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto !important;
        scroll-snap-align: start;
    }
    .rcs-account__tabs li a,
    .woocommerce-MyAccount-navigation li a {
        display: inline-block !important;
        white-space: nowrap !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: var(--rcs-text-muted) !important;
        text-decoration: none !important;
        border-radius: 999px !important;
        background: var(--rcs-surface) !important;
        border: 1px solid var(--rcs-outline) !important;
        min-width: max-content;
    }
    .rcs-account__tabs li.is-active a,
    .woocommerce-MyAccount-navigation li.is-active a,
    .rcs-account__tabs li.woocommerce-MyAccount-navigation-link--is-active a {
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-color: var(--rcs-primary) !important;
    }

    /* Category chip row scroll fade — make it explicit for shop + categories */
    .rcs-shop__chips,
    .rcs-cat-chips,
    .rcs-shop-header__chips {
        position: relative;
    }
    .rcs-shop__chips::after,
    .rcs-cat-chips::after,
    .rcs-shop-header__chips::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 36px;
        background: linear-gradient(90deg, transparent, var(--rcs-canvas, #faf6f0));
        pointer-events: none;
        z-index: 2;
    }
}

/* =====================================================
 * VIEW ORDER PAGE — status pill + empty-address polish
 * ===================================================== */
@media (max-width: 768px) {
    /* Status pill — replace inline yellow highlight with a branded chip */
    body.woocommerce-account .woocommerce-order-details + p,
    body.woocommerce-account .woocommerce-order-details-table-info,
    body.woocommerce-account-view-order .rcs-account__panel > p:first-child,
    body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
        background: var(--rcs-section-tint) !important;
        border: 1px solid var(--rcs-accent) !important;
        border-radius: 8px !important;
        padding: 12px 14px !important;
        margin: 12px 0 !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    /* Status word styled like a pill */
    body.woocommerce-account-view-order mark,
    body.woocommerce-account mark.order-status {
        display: inline-block;
        padding: 2px 10px;
        background: var(--rcs-primary) !important;
        color: var(--rcs-text-inverse) !important;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }
    /* Address - empty state */
    body.woocommerce-account-view-order address:empty,
    body.woocommerce-account address:contains('N/A') {
        padding: 14px !important;
        background: var(--rcs-canvas) !important;
        border: 1px dashed var(--rcs-outline) !important;
        border-radius: 8px !important;
        font-style: normal !important;
        color: var(--rcs-text-muted) !important;
    }
}

/* =====================================================
 * CART EMPTY — add hero CTA between "New in store" grid and footer
 * + Account form helpers
 * ===================================================== */
@media (max-width: 768px) {
    /* Empty cart — append a "Browse the boutique" CTA */
    .wp-block-woocommerce-empty-cart-block::after {
        content: 'Browse the boutique →';
        display: block;
        text-align: center;
        margin: 24px auto 8px;
        padding: 14px 20px;
        background: var(--rcs-primary);
        color: var(--rcs-text-inverse);
        border-radius: 999px;
        font-family: var(--rcs-font-ui);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-size: 13px;
        max-width: 280px;
        text-decoration: none;
        box-shadow: 0 4px 14px -4px rgba(107, 26, 46, 0.45);
    }
    /* Account password fields — helpful hint */
    .woocommerce-EditAccountForm input#password_1 + small,
    .woocommerce-EditAccountForm input#password_2 + small {
        font-size: 12px !important;
        color: var(--rcs-text-muted) !important;
    }
    .woocommerce-EditAccountForm input#password_1::placeholder {
        content: 'New password (8+ characters)';
    }
    /* Account address form — pincode/phone helpers */
    .woocommerce-address-fields .form-row label[for*="postcode"]::after {
        content: ' · 6-digit';
        font-size: 11px;
        font-weight: 400;
        color: var(--rcs-text-muted);
        font-style: italic;
        text-transform: none;
        letter-spacing: 0;
        margin-left: 6px;
    }
    .woocommerce-address-fields .form-row label[for*="phone"]::after {
        content: ' · 10-digit Indian mobile';
        font-size: 11px;
        font-weight: 400;
        color: var(--rcs-text-muted);
        font-style: italic;
        text-transform: none;
        letter-spacing: 0;
        margin-left: 6px;
    }
}

/* =====================================================
 * SEARCH NO-RESULTS — fill the dead zone with category chips + CTA
 * ===================================================== */
.rcs-search-empty {
    text-align: center;
    padding: 24px 16px 48px;
}
.rcs-search-empty__lede {
    font-size: 15px;
    color: var(--rcs-text-muted);
    margin: 0 0 24px;
    line-height: 1.5;
}
.rcs-search-empty__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 28px;
}
.rcs-search-empty__chip {
    display: inline-block;
    padding: 10px 18px;
    background: var(--rcs-surface);
    border: 1px solid var(--rcs-outline);
    border-radius: 999px;
    color: var(--rcs-text);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: background 200ms var(--rcs-ease-out), border-color 200ms var(--rcs-ease-out);
}
.rcs-search-empty__chip:hover,
.rcs-search-empty__chip:active {
    background: var(--rcs-primary);
    color: var(--rcs-text-inverse);
    border-color: var(--rcs-primary);
}
.rcs-search-empty__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto;
}
