/*
 * Bafleh Jewellery - Public Mobile UX consolidation
 * Batch A / 2026-08-29
 * Loaded after all legacy/live-parity styles. This file is intentionally the
 * authoritative responsive layer for the jewellery public site.
 */
:root {
    --bafleh-mobile-header: 86px;
    --bafleh-mobile-utility: 26px;
    --bafleh-mobile-drawer: min(88vw, 390px);
    --bafleh-touch: 44px;
    --bafleh-mobile-pad: 16px;
    --bafleh-mobile-radius: 12px;
    --bafleh-mobile-shadow: 0 18px 55px rgba(0,0,0,.18);
}

html { -webkit-text-size-adjust: 100%; }
body.bafleh-public-body { overflow-x: hidden; }
body.bafleh-drawer-open,
body.bafleh-filter-open,
body.bafleh-search-open,
body.bafleh-modal-open { overflow: hidden; overscroll-behavior: none; }
.site-main { min-width: 0; }
.bafleh-public-body button,
.bafleh-public-body input,
.bafleh-public-body select,
.bafleh-public-body textarea { font-family: inherit; }
.bafleh-public-body button { -webkit-tap-highlight-color: transparent; }
.bafleh-public-body a,
.bafleh-public-body button { touch-action: manipulation; }

.bafleh-skip-link {
    position: fixed;
    left: 12px;
    top: 8px;
    z-index: 5000;
    transform: translateY(-150%);
    padding: 10px 14px;
    background: #111;
    color: #fff!important;
    font-size: 13px;
    border-radius: 6px;
}
.bafleh-skip-link:focus { transform: none; }

/* ---------- Header actions / search ---------- */
.bafleh-live-header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    min-width: 0;
}
.bafleh-header-action {
    position: relative;
    width: 38px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #222!important;
    text-decoration: none!important;
    cursor: pointer;
}
.bafleh-header-action svg { width: 21px; height: 21px; display: block; }
.bafleh-header-action:hover,
.bafleh-header-action:focus-visible { color: var(--live-gold,#9a772b)!important; }
.bafleh-header-action-label {
    position: absolute;
    left: 50%;
    top: calc(100% - 1px);
    transform: translate(-50%, -2px);
    opacity: 0;
    pointer-events: none;
    padding: 4px 6px;
    border-radius: 3px;
    background: #111;
    color: #fff;
    font-size: 9px;
    white-space: nowrap;
    transition: .15s ease;
}
.bafleh-header-action:hover .bafleh-header-action-label,
.bafleh-header-action:focus-visible .bafleh-header-action-label { opacity: 1; transform: translate(-50%, 2px); }
.bafleh-header-cart-count {
    position: absolute;
    right: 1px;
    top: 2px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #111;
    color: #fff;
    font-size: 9px;
    line-height: 1;
}
.bafleh-header-cart-count.is-empty { display: none; }

.bafleh-header-search-panel {
    position: fixed;
    left: 0;
    right: 0;
    top: 100px;
    z-index: 1650;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #e5e5e5;
    background: rgba(255,255,255,.985);
    box-shadow: 0 22px 50px rgba(0,0,0,.12);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.bafleh-header-search-panel.is-open {
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
}
.bafleh-header-search-inner {
    width: min(calc(100% - 40px), 980px);
    margin: 0 auto;
    padding: 27px 0 30px;
}
.bafleh-header-search-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.bafleh-header-search-top strong {
    font-family: Georgia,'Times New Roman',serif;
    font-size: 19px;
    font-weight: 400;
}
.bafleh-search-close {
    width: var(--bafleh-touch);
    height: var(--bafleh-touch);
    border: 0;
    background: transparent;
    font-size: 29px;
    line-height: 1;
}
.bafleh-site-search-form {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    border-bottom: 1px solid #222;
}
.bafleh-site-search-form input {
    width: 100%;
    height: 52px;
    padding: 0 4px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #111;
    font-size: 20px;
}
.bafleh-site-search-form button {
    min-width: 110px;
    height: 52px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bafleh-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    margin-top: 15px;
    color: #777;
    font-size: 11px;
}
.bafleh-search-suggestions a { color: #444; text-decoration: underline; text-underline-offset: 3px; }

.bafleh-menu-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1580;
    border: 0;
    background: rgba(0,0,0,.44);
}
.bafleh-menu-backdrop.is-open { display: block; }
.mobile-nav-head,
.mobile-nav-quicklinks { display: none; }

/* ---------- Catalog refinements ---------- */
.catalog-mobile-actions { display: none; }
.catalog-filter-active-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 18px;
}
.catalog-filter-chip {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 10px;
    border: 1px solid #ded7ca;
    border-radius: 20px;
    background: #faf8f4;
    color: #555;
    font-size: 10px;
}
.catalog-filter-active-row .live-clear-filters {
    margin-left: 3px;
    color: #222;
    font-size: 10px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.catalog-filter-drawer-head,
.catalog-filter-mobile-footer { display: none; }
.live-filter-form input[type="radio"],
.live-filter-form input[type="checkbox"] { accent-color: #161616; }
.live-product-card { min-width: 0; }
.live-product-image img { user-select: none; -webkit-user-drag: none; }
.live-product-info h3 a { overflow-wrap: anywhere; }

/* ---------- Product detail ---------- */
.product-main-image-box { touch-action: pan-y; }
.live-thumb-row { scrollbar-width: thin; }
.mobile-product-buy-dock,
.mobile-cart-checkout-dock,
.mobile-checkout-submit-dock { display: none; }
.live-product-attributes { width: 100%; table-layout: fixed; }
.live-product-attributes th { width: 33%; }
.live-product-attributes th,
.live-product-attributes td { overflow-wrap: anywhere; }

/* ---------- Forms and commerce ---------- */
.commerce-page .form-control,
.enquiry-panel .form-control,
.live-wordpress-page-content input,
.live-wordpress-page-content select,
.live-wordpress-page-content textarea {
    min-height: 44px;
}
.commerce-page textarea.form-control,
.enquiry-panel textarea.form-control { min-height: 110px; }
.commerce-page label,
.enquiry-panel label { line-height: 1.35; }
.cart-product { min-width: 0; }
.cart-product a { overflow-wrap: anywhere; }
.checkout-item { min-width: 0; }
.checkout-item span { padding-right: 8px; }
.commerce-table { width: 100%; }
.commerce-panel { min-width: 0; }

/* ---------- Footer accordion semantics ---------- */
.bafleh-live-footer-column { min-width: 0; }
.bafleh-footer-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}
.bafleh-footer-title { color:#202020; font-size:12px; font-weight:600; letter-spacing:.02em; }
.bafleh-footer-toggle-icon { display: none; width: 18px; height: 18px; position: relative; }
.bafleh-footer-toggle-icon:before,
.bafleh-footer-toggle-icon:after {
    content: '';
    position: absolute;
    left: 3px;
    right: 3px;
    top: 8px;
    height: 1px;
    background: #222;
}
.bafleh-footer-toggle-icon:after { transform: rotate(90deg); transition: transform .18s ease; }
.bafleh-live-footer-column.is-open .bafleh-footer-toggle-icon:after { transform: rotate(0); }

/* ---------- Generic responsive content safety ---------- */
.bafleh-responsive-table { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bafleh-responsive-table > table { min-width: 620px; }
.live-wordpress-page-content iframe,
.live-page-main iframe,
.cms-copy iframe { max-width: 100%; }
.live-wordpress-page-content video,
.live-page-main video,
.cms-copy video { max-width: 100%; height: auto; }
.live-wordpress-page-content pre,
.live-page-main pre { max-width: 100%; overflow: auto; }
.live-wordpress-page-content p,
.live-page-main p,
.cms-copy p { overflow-wrap: anywhere; }

/* ---------- Tablet ---------- */
@media (max-width: 1180px) and (min-width: 981px) {
    .bafleh-live-header-shell {
        grid-template-columns: 155px minmax(0,1fr) auto!important;
        column-gap: 14px!important;
        padding-left: 22px!important;
        padding-right: 22px!important;
    }
    .bafleh-live-menu { gap: 15px!important; }
    .bafleh-live-menu>li>a,
    .bafleh-live-menu>li>button { font-size: 9px!important; }
    .bafleh-header-action { width: 34px; }
    .bafleh-header-action svg { width: 19px; height: 19px; }
}

/* ---------- Mobile / tablet portrait ---------- */
@media (max-width: 980px) {
    :root { --bafleh-header-height: var(--bafleh-mobile-header); --bafleh-utility-height: var(--bafleh-mobile-utility); }
    .bafleh-public-body .container { width: min(calc(100% - 32px), var(--live-page-width,1320px)); }
    .section-pad { padding-top: 42px; padding-bottom: 42px; }

    /* Header is an app-like sticky bar on mobile. */
    .bafleh-live-header {
        position: sticky!important;
        top: 0;
        z-index: 1500!important;
        height: var(--bafleh-mobile-header)!important;
        min-height: var(--bafleh-mobile-header)!important;
        background: rgba(255,255,255,.985)!important;
        box-shadow: 0 1px 0 rgba(0,0,0,.08);
        backdrop-filter: saturate(160%) blur(12px);
    }
    .bafleh-live-utility { height: var(--bafleh-mobile-utility)!important; }
    .bafleh-live-utility-inner {
        justify-content: center!important;
        padding: 0 10px!important;
        overflow: hidden;
    }
    .bafleh-live-localization-form { width: 100%; justify-content: flex-end; gap: 5px!important; }
    .bafleh-live-localization-choice { min-width: 0; }
    .bafleh-live-localization-choice>span { display: none!important; }
    .bafleh-live-localization-choice select {
        max-width: 128px!important;
        height: 24px!important;
        padding: 0 20px 0 5px!important;
        font-size: 10px!important;
        line-height: 24px!important;
        border: 0!important;
        background-color: transparent!important;
    }
    .bafleh-live-header-shell {
        height: var(--bafleh-mobile-header)!important;
        min-height: var(--bafleh-mobile-header)!important;
        grid-template-columns: minmax(100px,1fr) auto auto!important;
        align-items: center!important;
        column-gap: 4px!important;
        padding: var(--bafleh-mobile-utility) 12px 0!important;
    }
    .bafleh-live-logo { min-width: 0; }
    .bafleh-live-logo img { width: clamp(104px,29vw,132px)!important; max-height: 46px!important; }
    .bafleh-live-header-actions { gap: 0; }
    .bafleh-header-action {
        width: 38px;
        height: 48px;
    }
    .bafleh-header-action svg { width: 21px; height: 21px; }
    .bafleh-header-action-label { display: none; }
    .bafleh-live-eshop { display: none!important; }
    .bafleh-live-mobile-menu {
        width: 42px!important;
        height: 48px!important;
        display: flex!important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin: 0!important;
        padding: 0!important;
        border: 0!important;
        background: transparent!important;
    }
    .bafleh-live-mobile-menu span {
        width: 21px;
        height: 1.5px!important;
        margin: 2.8px 0!important;
        background: #111!important;
        transition: transform .2s ease, opacity .2s ease;
    }
    .bafleh-live-mobile-menu[aria-expanded="true"] span:nth-child(1) { transform: translateY(7.1px) rotate(45deg); }
    .bafleh-live-mobile-menu[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .bafleh-live-mobile-menu[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7.1px) rotate(-45deg); }

    /* True off-canvas navigation. */
    .bafleh-live-nav {
        display: block!important;
        position: fixed!important;
        left: 0!important;
        right: auto!important;
        top: 0!important;
        bottom: 0!important;
        z-index: 1600!important;
        width: var(--bafleh-mobile-drawer)!important;
        max-width: 390px;
        padding: 0!important;
        border: 0!important;
        background: #fff!important;
        box-shadow: var(--bafleh-mobile-shadow);
        overflow-y: auto!important;
        overscroll-behavior: contain;
        transform: translate3d(-104%,0,0)!important;
        visibility: hidden;
        transition: transform .26s cubic-bezier(.2,.8,.2,1), visibility .26s!important;
    }
    .bafleh-live-nav.is-open {
        transform: translate3d(0,0,0)!important;
        visibility: visible;
    }
    .mobile-nav-head {
        position: sticky;
        top: 0;
        z-index: 3;
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 18px;
        border-bottom: 1px solid #eee;
        background: rgba(255,255,255,.97);
    }
    .mobile-nav-head strong {
        font-family: Georgia,'Times New Roman',serif;
        font-size: 20px;
        font-weight: 400;
    }
    .mobile-nav-close {
        width: var(--bafleh-touch);
        height: var(--bafleh-touch);
        border: 0;
        background: transparent;
        color: #222;
        font-size: 31px;
        line-height: 1;
    }
    .mobile-nav-quicklinks {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        border-bottom: 1px solid #eee;
        background: #faf9f6;
    }
    .mobile-nav-quicklinks a {
        min-width: 0;
        min-height: 66px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 7px 2px;
        border-right: 1px solid #eee;
        color: #333!important;
        font-size: 9px;
        text-transform: uppercase;
        letter-spacing: .03em;
    }
    .mobile-nav-quicklinks a:last-child { border-right: 0; }
    .mobile-nav-quicklinks svg { width: 18px; height: 18px; }
    .bafleh-live-menu {
        display: block!important;
        padding: 8px 18px 30px!important;
    }
    .bafleh-live-menu>li>a,
    .bafleh-live-menu>li>button {
        min-height: 52px!important;
        height: auto!important;
        display: flex!important;
        align-items: center!important;
        justify-content: space-between!important;
        padding: 9px 2px!important;
        border: 0!important;
        border-bottom: 1px solid #ececec!important;
        border-radius: 0!important;
        font-size: 12px!important;
        font-weight: 500!important;
        line-height: 1.35!important;
        text-align: left!important;
    }
    .bafleh-live-menu>li>a:after,
    .bafleh-live-menu>li>button:after { display: none!important; }
    .new-menu-dropdown-panel {
        position: static!important;
        width: 100%!important;
        margin: 0!important;
        padding: 5px 0 10px 13px!important;
        transform: none!important;
        border: 0!important;
        border-bottom: 1px solid #eee!important;
        box-shadow: none!important;
        background: #faf9f6!important;
    }
    .new-menu-column { padding: 3px 0 8px; }
    .new-menu-column h6 {
        margin: 9px 0 3px!important;
        color: #8e681f!important;
        font-size: 9px!important;
        letter-spacing: .08em!important;
        text-transform: uppercase!important;
    }
    .new-menu-dropdown-panel a {
        min-height: 43px!important;
        display: flex!important;
        align-items: center!important;
        padding: 8px 10px!important;
        border-radius: 0!important;
        color: #444!important;
        font-size: 12px!important;
    }
    .bafleh-menu-backdrop { z-index: 1590; }

    /* Search becomes a mobile sheet. */
    .bafleh-header-search-panel {
        top: 0!important;
        bottom: auto;
        z-index: 1700;
        transform: translateY(-104%);
        opacity: 1;
        visibility: hidden;
        border: 0;
        box-shadow: var(--bafleh-mobile-shadow);
    }
    .bafleh-header-search-panel.is-open { transform: none; visibility: visible; }
    .bafleh-header-search-inner { width: 100%; padding: 18px 18px 25px; }
    .bafleh-header-search-top { margin-bottom: 8px; }
    .bafleh-site-search-form input { height: 50px; font-size: 17px; }
    .bafleh-site-search-form button { min-width: 70px; padding: 0 5px; }

    /* Home hero: make copy readable without hiding the jewellery image. */
    .bafleh-live-home-slider {
        height: calc(100svh - var(--bafleh-mobile-header))!important;
        min-height: 560px!important;
    }
    .bafleh-live-slide { background-position: center top!important; }
    .bafleh-live-hero-copy {
        left: 14px!important;
        right: 14px!important;
        bottom: 24px!important;
        top: auto!important;
        width: auto!important;
        max-width: none!important;
        min-height: 0!important;
        padding: 24px 20px!important;
        transform: none!important;
        background: linear-gradient(135deg,rgba(20,20,20,.72),rgba(30,30,30,.48))!important;
        backdrop-filter: blur(3px);
    }
    .bafleh-live-hero-copy h1,
    .bafleh-live-hero-copy h2 { font-size: clamp(26px,7.6vw,38px)!important; line-height: 1.14!important; }
    .bafleh-live-hero-copy h1 span,
    .bafleh-live-hero-copy h2 span { white-space: normal!important; }

    /* Catalog toolbar/filter drawer. */
    .mobile-filter-toggle { display: none!important; }
    .catalog-mobile-actions {
        position: sticky;
        top: calc(var(--bafleh-mobile-header) - 1px);
        z-index: 120;
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 8px;
        margin: 0 -16px 16px;
        padding: 10px 16px;
        border-top: 1px solid #eee;
        border-bottom: 1px solid #e6e6e6;
        background: rgba(255,255,255,.97);
        backdrop-filter: blur(10px);
    }
    .catalog-mobile-filter-button {
        min-height: var(--bafleh-touch);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1px solid #222;
        background: #fff;
        color: #222;
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .05em;
    }
    .catalog-mobile-filter-button .count {
        min-width: 18px;
        height: 18px;
        display: grid;
        place-items: center;
        padding: 0 4px;
        border-radius: 9px;
        background: #111;
        color: #fff;
        font-size: 9px;
    }
    .catalog-mobile-actions .catalog-sort-form { width: 100%; margin: 0; }
    .catalog-mobile-actions .catalog-sort-form select {
        width: 100%;
        min-width: 0!important;
        height: var(--bafleh-touch);
        padding: 0 30px 0 10px;
        border: 1px solid #ddd;
        background-color: #fff;
        font-size: 11px;
    }
    .catalog-content>.catalog-toolbar .catalog-sort-form { display: none; }
    .catalog-content>.catalog-toolbar { min-height: 28px; margin-bottom: 12px; }
    .catalog-result-count { font-size: 10px!important; }
    .catalog-filter-active-row { margin-bottom: 13px; }
    .catalog-filter-chip { min-height: 27px; padding: 4px 9px; font-size: 9px; }
    .catalog-sidebar,
    .catalog-sidebar.is-open {
        display: block!important;
        position: fixed!important;
        left: 0!important;
        top: 0!important;
        bottom: 0!important;
        z-index: 1660!important;
        width: min(90vw,390px)!important;
        max-width: 390px!important;
        margin: 0!important;
        padding: 0!important;
        background: #fff!important;
        box-shadow: var(--bafleh-mobile-shadow)!important;
        overflow: hidden!important;
        transform: translate3d(-104%,0,0)!important;
        visibility: hidden;
        transition: transform .26s cubic-bezier(.2,.8,.2,1), visibility .26s!important;
    }
    .catalog-sidebar.is-open { transform: none!important; visibility: visible; }
    .catalog-filter-drawer-head {
        height: 62px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 17px;
        border-bottom: 1px solid #e8e8e8;
        background: #fff;
    }
    .catalog-filter-drawer-head strong {
        font-family: Georgia,'Times New Roman',serif;
        font-size: 19px;
        font-weight: 400;
    }
    .catalog-filter-drawer-head button {
        width: var(--bafleh-touch);
        height: var(--bafleh-touch);
        border: 0;
        background: transparent;
        font-size: 29px;
    }
    .catalog-sidebar .live-filter-form {
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 0!important;
        overflow: hidden;
    }
    .catalog-filter-scroll {
        flex: 1;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 5px 18px 100px;
    }
    .catalog-filter-scroll .live-filter-heading { display: none; }
    .filter-block { padding: 17px 0!important; }
    .filter-block h3 { font-size: 12px!important; }
    .live-filter-option {
        min-height: 42px;
        display: flex!important;
        align-items: center;
        gap: 10px;
        margin: 0!important;
        padding: 7px 0!important;
        font-size: 12px!important;
    }
    .live-filter-option input { width: 17px; height: 17px; }
    .filter-link-list a {
        min-height: 42px;
        display: flex!important;
        align-items: center;
        padding: 7px 0!important;
        font-size: 12px!important;
    }
    .price-filter-row input { min-width: 0; height: 44px; font-size: 16px; }
    .price-filter-action { flex-wrap: wrap; gap: 8px; }
    .live-filter-price-button { min-height: 42px; }
    .catalog-filter-mobile-footer {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
        display: grid;
        grid-template-columns: .85fr 1.2fr;
        gap: 8px;
        padding: 10px 14px max(10px,env(safe-area-inset-bottom));
        border-top: 1px solid #e7e7e7;
        background: rgba(255,255,255,.98);
    }
    .catalog-filter-mobile-footer a,
    .catalog-filter-mobile-footer button {
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #222;
        background: #fff;
        color: #222!important;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
        text-decoration: none!important;
    }
    .catalog-filter-mobile-footer button { background: #171717; color: #fff!important; }
    .catalog-filter-backdrop {
        display: none!important;
        position: fixed!important;
        inset: 0!important;
        z-index: 1650!important;
        background: rgba(0,0,0,.44)!important;
    }
    .catalog-filter-backdrop.is-open { display: block!important; }

    /* Product cards become comfortable touch cards, still two-up. */
    .live-product-grid { grid-template-columns: repeat(2,minmax(0,1fr))!important; gap: 24px 12px!important; }
    .live-product-card { border: 0!important; box-shadow: none!important; }
    .live-product-image-wrap { background: #f8f7f4; }
    .live-product-card-tools { opacity: 1!important; transform: none!important; gap: 6px!important; }
    .live-card-tool {
        width: 38px!important;
        height: 38px!important;
        min-width: 38px!important;
        border-radius: 50%!important;
        background: rgba(255,255,255,.94)!important;
        box-shadow: 0 3px 12px rgba(0,0,0,.12);
        font-size: 19px!important;
    }
    .live-product-info { padding: 12px 2px 0!important; }
    .live-product-info h3 {
        min-height: 0!important;
        margin: 0 0 7px!important;
        font-size: 13px!important;
        line-height: 1.4!important;
        font-weight: 500!important;
    }
    .live-price-row { min-height: 24px!important; gap: 6px!important; flex-wrap: wrap; }
    .live-price-row .price { font-size: 13px!important; font-weight: 600!important; }
    .live-price-row .old-price { font-size: 10px!important; }
    .live-card-cart-form { opacity: 1!important; transform: none!important; margin-top: 9px!important; }
    .live-add-cart {
        width: 100%;
        min-height: 42px!important;
        display: flex!important;
        align-items: center!important;
        justify-content: center!important;
        padding: 8px 7px!important;
        border: 1px solid #222!important;
        background: #fff!important;
        color: #222!important;
        font-size: 10px!important;
        font-weight: 700!important;
        letter-spacing: .04em!important;
        text-transform: uppercase!important;
    }
    .live-add-cart:hover { background: #171717!important; color: #fff!important; }
    .live-badge { font-size: 9px!important; }

    /* Product detail. */
    .product-detail-live-section { padding-top: 20px!important; }
    .detail-breadcrumb {
        max-width: 100%;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-size: 9px!important;
    }
    .product-detail-live-grid { grid-template-columns: 1fr!important; gap: 23px!important; }
    .product-main-image-box { width: 100%; aspect-ratio: 1/1; }
    .primary-product-image { width: 100%; height: 100%!important; object-fit: contain!important; }
    .live-gallery-zoom { width: 42px!important; height: 42px!important; }
    .live-thumb-row {
        display: flex!important;
        gap: 8px!important;
        overflow-x: auto;
        padding: 9px 1px 4px!important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .live-thumb-row img {
        flex: 0 0 72px;
        width: 72px!important;
        height: 72px!important;
        scroll-snap-align: start;
        object-fit: cover;
    }
    .product-summary-live h1 { font-size: clamp(24px,7vw,31px)!important; line-height: 1.22!important; }
    .live-detail-price { margin: 12px 0!important; }
    .live-detail-price>span:not(.old-price) { font-size: 18px!important; }
    .product-short-description { font-size: 13px!important; line-height: 1.7!important; }
    .live-stock-line { font-size: 11px!important; }
    .live-cart-form { gap: 9px!important; }
    .live-quantity-control { min-height: 48px; }
    .live-quantity-control button { width: 42px!important; min-width: 42px; }
    .live-quantity-control input { width: 50px!important; font-size: 16px!important; }
    .live-product-add-button { min-height: 48px!important; font-size: 11px!important; }
    .live-product-secondary-actions {
        display: grid!important;
        grid-template-columns: 1fr 1fr;
        gap: 8px!important;
    }
    .live-product-secondary-actions form,
    .live-product-secondary-actions button,
    .live-product-secondary-actions a { width: 100%; }
    .live-product-secondary-actions button,
    .live-product-secondary-actions a {
        min-height: 44px!important;
        display: flex!important;
        align-items: center!important;
        justify-content: center!important;
        padding: 8px!important;
        border: 1px solid #ddd!important;
        background: #fff!important;
        font-size: 10px!important;
        text-align: center;
    }
    .live-product-meta-lines { font-size: 10px!important; }
    .live-product-tabs-section { padding-top: 32px!important; }
    .live-product-tab-nav {
        display: flex!important;
        gap: 0!important;
        overflow-x: auto!important;
        border-bottom: 1px solid #ddd!important;
        scrollbar-width: none;
    }
    .live-product-tab-nav::-webkit-scrollbar { display: none; }
    .live-product-tab-nav button {
        flex: 0 0 auto;
        min-height: 46px!important;
        padding: 9px 15px!important;
        font-size: 10px!important;
        white-space: nowrap;
    }
    .live-product-tab-panel { padding: 24px 0!important; font-size: 13px!important; line-height: 1.75!important; }
    .live-product-attributes th,
    .live-product-attributes td { padding: 11px 8px!important; font-size: 11px!important; vertical-align: top; }
    .live-related-products-section { padding-top: 38px!important; padding-bottom: 45px!important; }
    .mobile-product-buy-dock {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1250;
        min-height: 66px;
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(145px,.9fr);
        gap: 10px;
        align-items: center;
        padding: 9px 13px max(9px,env(safe-area-inset-bottom));
        border-top: 1px solid #ddd;
        background: rgba(255,255,255,.98);
        box-shadow: 0 -7px 24px rgba(0,0,0,.09);
        transition: transform .2s ease;
    }
    .mobile-product-buy-dock.is-hidden { transform: translateY(110%); }
    .mobile-product-buy-dock-info { min-width: 0; }
    .mobile-product-buy-dock-info small { display: block; color: #777; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mobile-product-buy-dock-info strong { display: block; margin-top: 2px; font-size: 13px; }
    .mobile-product-buy-dock form { margin: 0; }
    .mobile-product-buy-dock button,
    .mobile-product-buy-dock>a {
        width: 100%;
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #171717;
        background: #171717;
        color: #fff!important;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    /* Quick view: on phones behave like a bottom/full sheet, not a tiny desktop modal. */
    .bafleh-quick-view-modal { padding: 0!important; align-items: flex-end!important; }
    .bafleh-quick-view-dialog {
        width: 100%!important;
        max-height: 92svh!important;
        border-radius: 16px 16px 0 0;
    }
    .live-quick-view { grid-template-columns: 1fr!important; }
    .live-quick-view-image img { max-height: 43svh!important; object-fit: contain!important; }
    .live-quick-view-summary { padding: 24px 18px 30px!important; }
    .live-quick-view-summary h2 { font-size: 20px!important; }
    .live-quick-description { font-size: 12px!important; }

    /* Commerce pages. */
    .commerce-page { padding-top: 34px!important; padding-bottom: 80px!important; }
    .commerce-page h1 { font-size: clamp(25px,7vw,34px); line-height: 1.2; }
    .commerce-auth-card,
    .commerce-form-card,
    .commerce-panel,
    .commerce-success {
        padding: 18px!important;
        border-radius: 10px!important;
        box-shadow: none!important;
    }
    .commerce-account-grid,
    .cart-grid,
    .checkout-grid,
    .order-detail-grid,
    .live-track-grid { grid-template-columns: 1fr!important; gap: 14px!important; }
    .commerce-heading { align-items: flex-start!important; }
    .commerce-heading h1 { margin-bottom: 4px; }
    .commerce-page .row { margin-left: -6px; margin-right: -6px; }
    .commerce-page .row>[class*="col-"] { padding-left: 6px; padding-right: 6px; }
    .commerce-page .form-control {
        width: 100%;
        min-height: 46px!important;
        font-size: 16px!important; /* prevents iOS auto zoom */
    }
    .commerce-page label { font-size: 12px!important; }
    .commerce-option {
        min-height: 58px;
        padding: 12px!important;
        border-radius: 8px!important;
    }
    .commerce-option input { width: 18px; height: 18px; margin-top: 2px; }
    .commerce-option strong { font-size: 12px; }
    .commerce-option small { margin-top: 3px; font-size: 10px; line-height: 1.45; }
    .checkout-summary { position: static!important; }
    .checkout-item { font-size: 11px; line-height: 1.4; }

    .cart-line {
        grid-template-columns: 82px minmax(0,1fr)!important;
        gap: 12px!important;
        padding: 12px!important;
        border-radius: 10px!important;
    }
    .cart-line img { width: 82px!important; height: 82px!important; border-radius: 7px!important; }
    .cart-product strong { display: block; font-size: 12px; line-height: 1.4; }
    .cart-product>div { margin-top: 5px; color: #666; font-size: 11px; }
    .cart-qty-form {
        grid-column: 2!important;
        display: grid!important;
        grid-template-columns: auto auto;
        justify-content: start;
        gap: 7px!important;
        margin-top: 5px;
    }
    .cart-qty-form input { width: 46px!important; min-height: 40px!important; font-size: 16px!important; }
    .cart-qty-form .live-quantity-control { min-height:40px; }
    .cart-qty-form .live-quantity-control button { width:36px!important; min-width:36px; }
    .cart-qty-form button { min-height: 40px; }
    .cart-total {
        grid-column: 2!important;
        grid-row: auto!important;
        margin-top: 2px;
        font-size: 13px;
        font-weight: 700;
    }
    .cart-remove-form { grid-column: 2; margin: -2px 0 0; }
    .cart-remove-form button { padding-left: 0!important; min-height: 36px; font-size: 10px; }
    .mobile-cart-checkout-dock,
    .mobile-checkout-submit-dock {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1240;
        min-height: 66px;
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(145px,1fr);
        align-items: center;
        gap: 10px;
        padding: 9px 13px max(9px,env(safe-area-inset-bottom));
        border-top: 1px solid #ddd;
        background: rgba(255,255,255,.985);
        box-shadow: 0 -7px 24px rgba(0,0,0,.08);
        transition: transform .2s ease;
    }
    .mobile-cart-checkout-dock.is-hidden,
    .mobile-checkout-submit-dock.is-hidden { transform: translateY(110%); }
    .mobile-cart-checkout-dock small,
    .mobile-checkout-submit-dock small { display: block; color: #777; font-size: 9px; }
    .mobile-cart-checkout-dock strong,
    .mobile-checkout-submit-dock strong { display: block; font-size: 13px; }
    .mobile-cart-checkout-dock a,
    .mobile-checkout-submit-dock button {
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #171717;
        background: #171717;
        color: #fff!important;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    .mobile-checkout-submit-dock button:disabled { opacity: .45; }

    /* Account/order data becomes touch-friendly cards rather than wide tables. */
    .commerce-table thead { display: none; }
    .commerce-table,
    .commerce-table tbody,
    .commerce-table tr,
    .commerce-table td { display: block; width: 100%; }
    .commerce-table tr {
        margin-bottom: 12px;
        padding: 12px 14px;
        border: 1px solid #e8e2d9;
        border-radius: 9px;
        background: #fff;
    }
    .commerce-table td {
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 6px 0!important;
        border: 0!important;
        font-size: 11px;
        text-align: right;
    }
    .commerce-table td:before {
        content: attr(data-label);
        flex: 0 0 40%;
        color: #777;
        font-size: 9px;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    .commerce-table td:last-child { justify-content: flex-end; }
    .commerce-table td:last-child:before { display: none; }
    .order-item { grid-template-columns: 70px minmax(0,1fr)!important; gap: 10px!important; }
    .order-item img { width: 70px!important; height: 70px!important; }
    .order-item>b { grid-column: 2; }
    .status-timeline { overflow: hidden; }
    .live-track-timeline { gap: 0!important; overflow-x: auto; padding-bottom: 5px; }
    .live-track-timeline>div { min-width: 65px; }

    /* Newsletter / footer become compact accordions. */
    .bafleh-live-newsletter { padding: 30px 0!important; }
    .bafleh-live-newsletter-inner { grid-template-columns: 1fr!important; gap: 16px!important; }
    .bafleh-live-newsletter h3 { font-size: 23px!important; }
    .bafleh-live-newsletter p { font-size: 12px!important; line-height: 1.55; }
    .bafleh-live-newsletter-form { grid-template-columns: minmax(0,1fr) auto!important; }
    .bafleh-live-newsletter-form input { min-width: 0; font-size: 16px!important; }
    .bafleh-live-newsletter-form button { padding: 0 14px!important; }
    .bafleh-live-footer-main { padding: 12px 0 22px!important; }
    .bafleh-live-footer-grid {
        width: min(calc(100% - 32px),720px)!important;
        display: block!important;
    }
    .bafleh-live-footer-column { border-bottom: 1px solid #e4e4e4; }
    .bafleh-footer-toggle {
        min-height: 52px;
        padding: 0 1px;
        cursor: pointer;
    }
    .bafleh-footer-title { font-size:11px!important; }
    .bafleh-footer-toggle-icon { display: block; }
    .bafleh-footer-links {
        display: none;
        padding: 0 0 15px;
    }
    .bafleh-live-footer-column.is-open .bafleh-footer-links { display: block; }
    .bafleh-live-footer a,
    .bafleh-live-footer p { margin-bottom: 7px!important; font-size: 11px!important; line-height: 1.65!important; }
    .bafleh-live-social-row { height: 58px!important; }
    .bafleh-live-social-row a { width: 34px!important; height: 34px!important; }
    .bafleh-live-social-row svg { width: 17px!important; height: 17px!important; }
    .bafleh-live-footer-bottom { padding-bottom: max(15px,env(safe-area-inset-bottom))!important; font-size: 9px!important; }

    /* CMS/content pages. */
    .live-content-hero { min-height: clamp(270px,60vw,390px)!important; }
    .live-content-hero h1 { font-size: clamp(30px,9vw,45px)!important; }
    .live-content-hero p { font-size: 13px!important; }
    .live-page-content-section { padding: 38px 0 48px!important; }
    .live-page-main { font-size: 14px!important; line-height: 1.78!important; }
    .live-page-main h2 { font-size: 28px!important; }
    .live-page-main h3 { font-size: 21px!important; }
    .cms-section { padding: 42px 0!important; min-height: 0!important; }
    .cms-section .container { width: min(calc(100% - 32px),1180px)!important; }
    .cms-two-column { grid-template-columns: 1fr!important; gap: 24px!important; }
    .cms-two-column.image-right .cms-media { order: 0!important; }
    .cms-copy h2 { font-size: clamp(27px,8vw,38px)!important; }
    .cms-copy,
    .cms-copy p { font-size: 14px!important; line-height: 1.75!important; }
    .cms-actions { display: grid!important; grid-template-columns: 1fr; gap: 8px!important; }
    .cms-actions .btn { width: 100%; min-height: 46px; }
    .cms-full-image-stage { min-height: 0!important; }
    .cms-full-image { max-height: 72svh; object-fit: cover; }
    .cms-overlay-copy {
        position: relative!important;
        left: auto!important;
        right: auto!important;
        bottom: auto!important;
        max-width: none!important;
        width: 100%!important;
        padding: 24px 16px!important;
        background: #272727!important;
        color: #fff!important;
    }
    .cms-video iframe { min-height: 230px!important; aspect-ratio: 16/9; }

    /* Imported WordPress content: neutralise desktop-only widths/columns. */
    .live-wordpress-page-content {
        width: 100%!important;
        max-width: 100%!important;
        overflow-x: hidden!important;
        font-size: 14px!important;
        line-height: 1.72!important;
    }
    .live-wordpress-page-content img { max-width: 100%!important; height: auto!important; }
    .live-wordpress-page-content iframe { width: 100%!important; max-width: 100%!important; }
    .live-wordpress-page-content .row,
    .live-wordpress-page-content .row.row-collapse,
    .live-wordpress-page-content .row.row-small,
    .live-wordpress-page-content .row.row-large {
        width: 100%!important;
        max-width: 100%!important;
        display: flex!important;
        flex-wrap: wrap!important;
        margin-left: 0!important;
        margin-right: 0!important;
    }
    .live-wordpress-page-content .col,
    .live-wordpress-page-content [class*="col-"] {
        max-width: 100%!important;
    }
    .live-wordpress-page-content .bafleh-grid,
    .live-wordpress-page-content .bfl-reviews,
    .live-wordpress-page-content .info-grid,
    .live-wordpress-page-content .bullion-grid,
    .live-wordpress-page-content .bullion-imgs,
    .live-wordpress-page-content .services-grid,
    .live-wordpress-page-content .live-info-grid,
    .live-wordpress-page-content .live-birthstone-grid,
    .live-wordpress-page-content .boxes-area .owl-carousel,
    .live-wordpress-page-content .boxes-area .owlcarousel { grid-template-columns: 1fr!important; }
    .live-wordpress-page-content .bfl-row,
    .live-wordpress-page-content .bfl-row.reverse { flex-direction: column!important; min-height: 0!important; }
    .live-wordpress-page-content .bfl-col-img,
    .live-wordpress-page-content .bfl-col-txt { flex: 0 0 auto!important; width: 100%!important; }
    .live-wordpress-page-content .bfl-col-txt { padding: 34px 18px!important; }
    .live-wordpress-page-content .bafleh-text,
    .live-wordpress-page-content .bfl-container,
    .live-wordpress-page-content .bfl-intro,
    .live-wordpress-page-content .bfl-location,
    .live-wordpress-page-content .bfl-bank,
    .live-wordpress-page-content .info-section,
    .live-wordpress-page-content .services-section { padding-left: 16px!important; padding-right: 16px!important; }
    .live-wordpress-page-content .bafleh-grid,
    .live-wordpress-page-content .bullion-grid,
    .live-wordpress-page-content .bullion-imgs { padding-left: 14px!important; padding-right: 14px!important; }
    .live-wordpress-page-content .border-heading,
    .live-wordpress-page-content .policy-title { font-size: clamp(29px,8.5vw,38px)!important; }
    .live-wordpress-page-content .policy-block h2,
    .live-wordpress-page-content .live-policy-page h2,
    .live-wordpress-page-content .live-faq h2 { font-size: 24px!important; }
    .live-wordpress-page-content .rsg-table-shell { padding: 0!important; }
    .live-wordpress-page-content #sizeTable { min-width: 720px; }
}

/* ---------- Small phones ---------- */
@media (max-width: 560px) {
    .bafleh-public-body .container { width: calc(100% - 28px); }
    .bafleh-live-header-shell { padding-left: 9px!important; padding-right: 7px!important; }
    .bafleh-live-logo img { width: clamp(98px,28vw,116px)!important; }
    .bafleh-header-action { width: 35px; }
    .bafleh-header-action svg { width: 20px; height: 20px; }
    .bafleh-live-mobile-menu { width: 38px!important; }
    .bafleh-live-localization-choice select { max-width: 108px!important; font-size: 9px!important; }
    .bafleh-search-suggestions { font-size: 10px; }

    .catalog-title-band { padding-top: 23px!important; padding-bottom: 17px!important; }
    .catalog-heading h1 { font-size: 22px!important; }
    .catalog-page-section { padding-top: 12px!important; }
    .catalog-mobile-actions { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }

    .live-product-grid { gap: 21px 10px!important; }
    .live-product-info h3 { font-size: 12px!important; }
    .live-price-row .price { font-size: 12px!important; }
    .live-add-cart { min-height: 40px!important; font-size: 9px!important; }

    .product-detail-live-section .container { width: calc(100% - 24px); }
    .live-product-secondary-actions { grid-template-columns: 1fr; }
    .mobile-product-buy-dock { grid-template-columns: minmax(0,.9fr) minmax(140px,1.1fr); }

    .commerce-page { padding-top: 28px!important; }
    .commerce-auth-card,
    .commerce-form-card,
    .commerce-panel,
    .commerce-success { padding: 15px!important; }
    .commerce-page .row { display: block; margin: 0; }
    .commerce-page .row>[class*="col-"] { width: 100%; max-width: none; padding: 0; }
    .commerce-heading { flex-direction: column; gap: 5px!important; }
    .cart-line { grid-template-columns: 72px minmax(0,1fr)!important; }
    .cart-line img { width: 72px!important; height: 72px!important; }
    .mobile-cart-checkout-dock,
    .mobile-checkout-submit-dock { grid-template-columns: minmax(0,.8fr) minmax(150px,1.2fr); }

    .bafleh-live-newsletter-form { grid-template-columns: 1fr!important; gap: 7px; }
    .bafleh-live-newsletter-form input { border-right: 1px solid #d8d8d8!important; }
    .bafleh-live-newsletter-form button { width: 100%; min-height: 44px; }
}

@media (max-width: 420px) {
    .bafleh-header-action-wishlist { display: none; }
    .mobile-nav-quicklinks { grid-template-columns: repeat(4,1fr); }
    .mobile-nav-quicklinks a { font-size: 8px; }
    .catalog-mobile-actions { grid-template-columns: .95fr 1.25fr; }
}

@media (max-width: 330px) {
    .bafleh-header-action-account { display: none; }
    .live-product-grid { grid-template-columns: 1fr!important; }
}

/* RTL mobile drawers/spacing. */
@media (max-width: 980px) {
    .rtl-site .bafleh-live-nav,
    .rtl-site .catalog-sidebar { left: auto!important; right: 0!important; transform: translate3d(104%,0,0)!important; }
    .rtl-site .bafleh-live-nav.is-open,
    .rtl-site .catalog-sidebar.is-open { transform: none!important; }
    .rtl-site .bafleh-live-menu>li>a,
    .rtl-site .bafleh-live-menu>li>button,
    .rtl-site .bafleh-footer-toggle,
    .rtl-site .commerce-table td:before { text-align: right!important; }
    .rtl-site .new-menu-dropdown-panel { padding-left: 0!important; padding-right: 13px!important; }
    .rtl-site .commerce-table td { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto!important; }
    *, *:before, *:after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }
}

/* Batch A component polish shared by desktop and mobile. */
.sr-only {
    position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.live-commerce-page-title { margin: 0 0 24px; }
.live-commerce-page-title h1 { margin: 0 0 7px; }
.live-commerce-page-title p { margin: 0; color: #777; font-size: 12px; line-height: 1.6; }
.checkout-step-heading { display:flex; align-items:center; gap:10px; margin:0 0 18px; }
.checkout-step-heading>span {
    width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#171717;color:#fff;font-size:10px;font-weight:700;
}
.checkout-step-heading h3 { margin:0; }
.live-checkbox-row { display:flex; align-items:center; gap:8px; margin:12px 0 0; font-weight:400; }
.live-checkbox-row input { width:17px; height:17px; accent-color:#171717; }
.checkout-security-note { display:block; margin-top:11px; color:#777; font-size:9px; line-height:1.5; }
.live-continue-shopping { display:block; margin-top:13px; color:#555; font-size:10px; text-align:center; text-decoration:underline; text-underline-offset:3px; }
.commerce-success-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:22px; }
.live-account-mobile-nav { display:none; }
.live-empty-inline { color:#777; font-size:11px; }
.live-empty-inline a { color:#222; text-decoration:underline; }
.live-account-logout { font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.live-auth-submit { min-width:145px; }
button.is-submitting, input.is-submitting { cursor:progress; }

@media(max-width:980px){
    .checkout-step-heading { margin-bottom:15px; }
    .checkout-step-heading>span { width:26px;height:26px;font-size:9px; }
    .checkout-step-heading h3 { font-size:17px; }
    .live-account-mobile-nav {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        margin:0 0 14px;
    }
    .live-account-mobile-nav a {
        min-width:0;
        min-height:76px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        padding:11px;
        border:1px solid #e7e0d7;
        border-radius:9px;
        background:#fff;
        color:#222!important;
    }
    .live-account-mobile-nav strong { font-size:11px; }
    .live-account-mobile-nav small { display:block; margin-top:4px; color:#777; font-size:8px; line-height:1.35; }
    .live-account-links { display:none!important; }
    .commerce-success-actions { display:grid; grid-template-columns:1fr; }
    .commerce-success-actions .btn { width:100%; min-height:46px; }
    .live-auth-submit { width:100%; min-height:46px; }
    .enquiry-form .btn { width:100%; min-height:46px; }
    .enquiry-form .form-row { margin-bottom:13px; }
    .enquiry-form .form-control { width:100%; font-size:16px!important; }
}
@media(max-width:420px){
    .live-account-mobile-nav { grid-template-columns:1fr; }
    .live-account-mobile-nav a { min-height:60px; }
}


/* Keep floating customer-support controls clear of mobile commerce docks. */
@media (max-width: 980px) {
    .bafleh-has-mobile-dock .bafleh-live-whatsapp,
    .bafleh-has-mobile-dock .floating-whatsapp,
    .bafleh-has-mobile-dock [class*="whatsapp-float"] {
        bottom: calc(86px + env(safe-area-inset-bottom))!important;
    }
}

/* Order detail / tracking mobile ergonomics. */
.commerce-back-link { display:inline-flex; align-items:center; min-height:34px; margin-bottom:5px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#555; }
.order-item-image { display:block; flex:0 0 auto; }
.order-item-copy { min-width:0; }
.order-item-meta { margin-top:5px; color:#777; font-size:12px; }
.order-item-total { white-space:nowrap; }
.status-timeline-row { min-width:0; }
.after-sales-list { display:grid; gap:10px; margin-bottom:18px; }
.request-row { border:1px solid #e8e8e8; padding:12px; }
.request-row>div { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; }
.request-row>div>span { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#777; }
.status-pill-small { font-size:9px; padding:5px 8px; }
.live-tracking-block { display:grid; gap:8px; margin-top:14px; }
.live-delivery-address { white-space:pre-line; }

@media (max-width: 980px) {
    .live-order-detail-heading { align-items:flex-start!important; }
    .live-order-items-panel .order-item { grid-template-columns:72px minmax(0,1fr)!important; gap:12px!important; align-items:start!important; }
    .live-order-items-panel .order-item img { width:72px!important; height:72px!important; object-fit:cover; }
    .live-order-items-panel .order-item-total { grid-column:2; justify-self:start; }
    .status-timeline-row { padding-left:18px!important; }
    .after-sales-form .row { display:block!important; margin:0!important; }
    .after-sales-form .row>[class*="col-"] { width:100%!important; max-width:none!important; padding:0!important; }
    .live-after-sales-submit,
    .live-track-submit,
    .live-tracking-block .btn { width:100%; min-height:46px; }
    .live-order-detail-side { display:grid; gap:14px; }
}

@media (max-width: 980px) {
    .live-wishlist-remove-form { margin-top:10px!important; }
    .live-wishlist-remove-form button { min-height:40px; padding:8px 12px; font-size:11px!important; }
}


/* ==========================================================================\n   A2.1 MOBILE MENU VIEWPORT HOTFIX - 2026-08-30\n   The navigation lives inside the sticky header in Razor. Some mobile engines\n   treat backdrop-filter/filter ancestors as containing blocks for fixed\n   descendants, constraining the drawer to the header height. JS portals the\n   drawer to body on mobile; these rules also make the drawer independently\n   scrollable and safe if portal behavior is unavailable.\n   ========================================================================== */
@media (max-width: 980px) {
    .bafleh-live-header {
        -webkit-backdrop-filter: none!important;
        backdrop-filter: none!important;
        filter: none!important;
        transform: none!important;
        contain: none!important;
        overflow: visible!important;
    }

    .bafleh-live-nav {
        display: grid!important;
        grid-template-rows: 64px auto minmax(0, 1fr)!important;
        position: fixed!important;
        inset: 0 auto auto 0!important;
        top: 0!important;
        right: auto!important;
        bottom: auto!important;
        left: 0!important;
        width: min(92vw, 420px)!important;
        max-width: min(92vw, 420px)!important;
        height: 100vh!important;
        height: 100dvh!important;
        min-height: 100vh!important;
        min-height: 100dvh!important;
        max-height: 100vh!important;
        max-height: 100dvh!important;
        padding: 0!important;
        overflow: hidden!important;
        overscroll-behavior: contain!important;
        touch-action: pan-y!important;
        background: #fff!important;
        opacity: 1!important;
        z-index: 10010!important;
        isolation: isolate;
        transform: translate3d(-104%,0,0)!important;
        visibility: hidden!important;
        pointer-events: none!important;
    }

    .bafleh-live-nav.is-open {
        transform: translate3d(0,0,0)!important;
        visibility: visible!important;
        pointer-events: auto!important;
    }

    .mobile-nav-head {
        display: flex!important;
        position: relative!important;
        inset: auto!important;
        z-index: 4!important;
        width: 100%!important;
        height: 64px!important;
        min-height: 64px!important;
        flex: 0 0 64px!important;
        background: #fff!important;
    }

    .mobile-nav-quicklinks {
        display: grid!important;
        position: relative!important;
        z-index: 3!important;
        flex: 0 0 auto!important;
        background: #faf9f6!important;
    }

    .bafleh-live-menu,
    .bafleh-live-menu.is-open {
        display: block!important;
        position: relative!important;
        width: 100%!important;
        height: 100%!important;
        min-height: 0!important;
        max-height: none!important;
        margin: 0!important;
        padding: 8px 18px calc(34px + env(safe-area-inset-bottom))!important;
        overflow-x: hidden!important;
        overflow-y: auto!important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        touch-action: pan-y!important;
        background: #fff!important;
        opacity: 1!important;
        visibility: visible!important;
    }

    .bafleh-live-menu > li {
        display: block!important;
        position: relative!important;
        width: 100%!important;
        margin: 0!important;
        padding: 0!important;
        opacity: 1!important;
        visibility: visible!important;
    }

    .bafleh-live-menu > li > a,
    .bafleh-live-menu > li > button {
        width: 100%!important;
        color: #171717!important;
        opacity: 1!important;
        visibility: visible!important;
    }

    .bafleh-live-menu > li > button svg {
        display: block!important;
        flex: 0 0 16px!important;
        width: 16px!important;
        height: 16px!important;
        margin-left: 10px!important;
        transition: transform .18s ease;
    }

    .bafleh-live-menu > li.is-open > button svg {
        transform: rotate(180deg)!important;
    }

    .new-menu-dropdown-panel {
        max-height: none!important;
        overflow: visible!important;
    }

    .bafleh-menu-backdrop {
        position: fixed!important;
        inset: 0!important;
        width: 100vw!important;
        height: 100vh!important;
        height: 100dvh!important;
        z-index: 10000!important;
        background: rgba(0,0,0,.48)!important;
    }

    body.bafleh-drawer-open {
        overflow: hidden!important;
        touch-action: auto!important;
        overscroll-behavior: none;
    }
}

@media (max-width: 480px) {
    .bafleh-live-nav {
        width: min(94vw, 420px)!important;
        max-width: min(94vw, 420px)!important;
    }
}

@media (max-width: 360px) {
    .bafleh-live-nav {
        width: 96vw!important;
        max-width: 96vw!important;
    }
    .mobile-nav-quicklinks a {
        min-height: 60px!important;
    }
}

.rtl-site .bafleh-live-nav.bafleh-nav-portaled {
    left: auto!important;
    right: 0!important;
    transform: translate3d(104%,0,0)!important;
}
.rtl-site .bafleh-live-nav.bafleh-nav-portaled.is-open {
    transform: translate3d(0,0,0)!important;
}
