/* ============================================================
   HEIKAYA MOBILE UX — v6.18.0
   Comprehensive mobile/tablet refinement layer.
   Desktop (981px+) intentionally left unchanged.
   ============================================================ */

@media (max-width: 980px) {
    :root {
        --heikaya-mobile-side: 14px;
        --heikaya-mobile-gap: 12px;
        --heikaya-mobile-radius: 14px;
        --heikaya-mobile-dark: #15120f;
        --heikaya-mobile-bright: #fffdf9;
    }

    html {
        overflow-x: clip !important;
        scroll-padding-top: 76px;
        -webkit-text-size-adjust: 100%;
    }

    body {
        overflow-x: hidden !important;
        min-width: 0 !important;
        background: #fffdf9 !important;
    }

    #page,
    #content,
    .site-content,
    .site-content > .ast-container,
    #primary,
    .site-main,
    main {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .site-content > .ast-container {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    img,
    video,
    iframe,
    svg {
        max-width: 100%;
    }

    input,
    select,
    textarea {
        font-size: 16px !important; /* Prevent iOS zoom on focus. */
    }

    button,
    a,
    input,
    select,
    textarea {
        -webkit-tap-highlight-color: transparent;
    }

    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible {
        outline: 2px solid #15120f !important;
        outline-offset: 2px !important;
    }

    /* -------------------- NEWS STRIPE -------------------- */
    .lumiere-news-stripe {
        height: 42px !important;
        min-height: 42px !important;
        gap: 5px !important;
    }

    .lumiere-news-stripe.has-multiple .lumiere-news-stripe__viewport {
        width: min(76vw, 430px) !important;
    }

    .lumiere-news-stripe__viewport,
    .lumiere-news-stripe__track,
    .lumiere-news-stripe__item {
        height: 42px !important;
        min-height: 42px !important;
    }

    .lumiere-news-stripe__item {
        padding-inline: 4px !important;
    }

    .lumiere-news-stripe__item a,
    .lumiere-news-stripe__item span {
        font-size: 8.5px !important;
        line-height: 1.25 !important;
        letter-spacing: .075em !important;
    }

    .lumiere-news-stripe__arrow {
        width: 20px !important;
        min-width: 20px !important;
        height: 30px !important;
    }

    /* -------------------- MOBILE HEADER -------------------- */
    #lumiere-site-header,
    .lumiere-site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 99990 !important;
        background: rgba(255,253,249,.985) !important;
        border-bottom: 1px solid rgba(21,18,15,.10) !important;
        box-shadow: 0 8px 24px rgba(21,18,15,.07) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
    }

    body.admin-bar #lumiere-site-header,
    body.admin-bar .lumiere-site-header {
        top: 32px !important;
    }

    #lumiere-site-header .lumiere-header__inner {
        width: calc(100% - 24px) !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        grid-template-columns: minmax(82px, 1fr) auto !important;
        gap: 8px !important;
        padding: 0 !important;
    }

    #lumiere-site-header .lumiere-header__brand,
    #lumiere-site-header .lumiere-header__actions {
        height: 72px !important;
        min-height: 72px !important;
    }

    #lumiere-site-header .lumiere-header__brand .custom-logo {
        width: auto !important;
        max-width: 112px !important;
        max-height: 52px !important;
    }

    .lumiere-header__actions {
        gap: 4px !important;
    }

    .lumiere-header__icon-button,
    .lumiere-mobile-toggle {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        border-color: rgba(21,18,15,.18) !important;
        background: #fffdf9 !important;
        color: #15120f !important;
        box-shadow: none !important;
    }

    .lumiere-header__icon-button svg {
        width: 17px !important;
        height: 17px !important;
    }

    .lumiere-mobile-toggle {
        display: grid !important;
    }

    .lumiere-cart-count,
    .lumiere-wishlist-count {
        top: -5px !important;
        right: -5px !important;
        min-width: 17px !important;
        height: 17px !important;
        padding: 0 4px !important;
        border-width: 1.5px !important;
        font-size: 8px !important;
    }

    .lumiere-primary-nav {
        position: absolute !important;
        top: 100% !important;
        right: -12px !important;
        left: -12px !important;
        z-index: 100 !important;
        display: none !important;
        width: auto !important;
        max-height: calc(100svh - 72px) !important;
        margin: 0 !important;
        padding: 12px 14px max(18px, env(safe-area-inset-bottom)) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        background: #fffdf9 !important;
        border-top: 1px solid rgba(21,18,15,.10) !important;
        border-bottom: 1px solid rgba(21,18,15,.10) !important;
        box-shadow: 0 24px 50px rgba(21,18,15,.16) !important;
    }

    .lumiere-primary-nav.is-open {
        display: block !important;
    }

    .lumiere-primary-nav .lumiere-menu,
    .lumiere-primary-nav .menu {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .lumiere-primary-nav .lumiere-menu > li,
    .lumiere-primary-nav .menu > li {
        position: relative !important;
        min-height: 50px !important;
        border-bottom: 1px solid rgba(21,18,15,.09) !important;
    }

    .lumiere-primary-nav .lumiere-menu > li > a,
    .lumiere-primary-nav .menu > li > a {
        width: calc(100% - 48px) !important;
        min-height: 50px !important;
        padding: 0 2px !important;
        color: #15120f !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: .08em !important;
    }

    .lumiere-primary-nav .sub-menu,
    .lumiere-primary-nav .menu .sub-menu,
    .lumiere-menu .sub-menu,
    .lumiere-menu .sub-menu .sub-menu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 0 10px !important;
        padding: 5px 0 7px 14px !important;
        background: #fffdf9 !important;
        border: 0 !important;
        border-left: 1px solid rgba(21,18,15,.15) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .lumiere-primary-nav .sub-menu a,
    .lumiere-menu .sub-menu a {
        min-height: 42px !important;
        padding: 10px 10px !important;
        color: #15120f !important;
        font-size: 10.5px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
    }

    .lumiere-submenu-toggle {
        top: 7px !important;
        right: 1px !important;
        width: 38px !important;
        height: 38px !important;
        color: #15120f !important;
    }

    .heikaya-mobile-nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 99980;
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        background: rgba(21,18,15,.28);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .2s ease, visibility .2s ease;
    }

    body.heikaya-mobile-menu-open {
        overflow: hidden !important;
        touch-action: none;
    }

    body.heikaya-mobile-menu-open .heikaya-mobile-nav-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .lumiere-search-panel {
        background: #fffdf9 !important;
        border-top: 1px solid rgba(21,18,15,.10) !important;
        box-shadow: 0 18px 30px rgba(21,18,15,.10) !important;
    }

    .lumiere-search-panel__inner {
        width: calc(100% - 28px) !important;
        padding: 14px 0 16px !important;
    }

    .lumiere-search-panel form {
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 8px !important;
    }

    .lumiere-search-panel input,
    .lumiere-search-panel button {
        min-height: 46px !important;
        height: 46px !important;
    }

    .lumiere-search-panel button {
        min-width: 92px !important;
        padding-inline: 16px !important;
        border: 1px solid #15120f !important;
        background: #15120f !important;
        color: #fffdf9 !important;
    }

    /* -------------------- GLOBAL MOBILE TYPOGRAPHY -------------------- */
    body h1,
    body h2,
    body h3,
    body p {
        overflow-wrap: anywhere;
    }

    .lumiere-button,
    body.woocommerce a.button,
    body.woocommerce button.button,
    body.woocommerce input.button {
        min-height: 46px !important;
        padding-inline: 20px !important;
    }

    /* -------------------- HOMEPAGE HERO -------------------- */
    body.home .lumiere-homepage {
        width: 100% !important;
        background: #fffdf9 !important;
    }

    body.home .lumiere-hero,
    body.home .lumiere-hero--slider {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
        background: #fffdf9 !important;
    }

    body.home .lumiere-hero--slider .lumiere-hero__content,
    body.home .lumiere-hero__content {
        min-height: 0 !important;
        height: auto !important;
        padding: 42px 18px 36px !important;
        justify-content: flex-start !important;
    }

    body.home .lumiere-hero__content::before {
        width: 52px !important;
        margin-bottom: 18px !important;
    }

    body.home .lumiere-eyebrow,
    body.home .lumiere-hero__content .lumiere-eyebrow {
        font-size: 9px !important;
        line-height: 1.5 !important;
        letter-spacing: .18em !important;
    }

    body.home .lumiere-hero h1 {
        max-width: 100% !important;
        margin: 14px 0 0 !important;
        font-size: clamp(43px, 12vw, 58px) !important;
        line-height: .97 !important;
        letter-spacing: -.025em !important;
    }

    body.home .lumiere-hero__text {
        max-width: 100% !important;
        margin: 20px 0 24px !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    body.home .lumiere-hero__content .lumiere-button {
        width: auto !important;
        min-width: 170px !important;
    }

    body.home .lumiere-hero__visual {
        width: 100% !important;
        height: min(108vw, 460px) !important;
        min-height: 0 !important;
        max-height: none !important;
        background: #15120f !important;
    }

    body.home .lumiere-hero__slide-image {
        object-fit: contain !important;
    }

    body.home .lumiere-hero__counter {
        top: 12px !important;
        right: 12px !important;
        padding: 8px 12px !important;
    }

    body.home .lumiere-hero__progress {
        right: 14px !important;
        bottom: 12px !important;
        left: 14px !important;
    }

    /* -------------------- HOMEPAGE PRODUCT GRIDS -------------------- */
    body.home .lumiere-collections,
    body.home .lumiere-home-new-arrivals,
    body.home .heikaya-clear-crystal,
    body.home .heikaya-silver-showcase,
    body.home .heikaya-candle-holder-showcase {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: #fffdf9 !important;
    }

    body.home .lumiere-collections {
        padding-top: 44px !important;
        padding-bottom: 30px !important;
    }

    body.home .lumiere-featured-products,
    body.home .heikaya-clear-crystal__products,
    body.home .heikaya-silver-showcase__products,
    body.home .heikaya-candle-holder-showcase__inner {
        position: static !important;
        left: auto !important;
        width: calc(100% - 20px) !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    body.home .lumiere-featured-products__heading {
        margin: 0 0 18px !important;
        padding: 0 6px !important;
        text-align: center !important;
    }

    body.home .lumiere-featured-products__heading h2,
    body.home .lumiere-categories-heading h2,
    body.home .lumiere-collection-section__heading h2,
    body.home .heikaya-candle-holder-showcase h2 {
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1 !important;
    }

    body.home .lumiere-featured-products__grid,
    body.home .heikaya-clear-crystal__products .lumiere-featured-products__grid,
    body.home .lumiere-featured-products--new-arrivals .lumiere-featured-products__grid,
    body.home .heikaya-silver-showcase__products .lumiere-featured-products__grid,
    body.home .heikaya-candle-holder-showcase__inner .lumiere-featured-products__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 16px 10px !important;
        width: 100% !important;
    }

    body.home .lumiere-featured-product {
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.home .lumiere-featured-product__image {
        display: block !important;
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        border-radius: 12px !important;
        background: #fff !important;
        border: 1px solid rgba(21,18,15,.08) !important;
    }

    body.home .lumiere-featured-product__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        padding: 6px !important;
    }

    body.home .lumiere-featured-product__body {
        min-height: 0 !important;
        padding: 11px 2px 0 !important;
        text-align: center !important;
    }

    body.home .lumiere-featured-product h3,
    body.home .lumiere-featured-product h3 a {
        min-height: 0 !important;
        margin: 0 !important;
        color: #15120f !important;
        font-size: 16px !important;
        line-height: 1.15 !important;
        text-align: center !important;
    }

    body.home .lumiere-featured-product__price {
        margin-top: 8px !important;
        font-size: 12.5px !important;
        line-height: 1.3 !important;
    }

    body.home .lumiere-featured-products__action {
        margin: 18px 0 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    body.home .lumiere-featured-products__action .lumiere-button {
        min-height: 46px !important;
    }

    /* Featured full-width video and category videos. */
    body.home .heikaya-featured-selection-video,
    body.home .heikaya-silver-wide-video {
        width: 100% !important;
        max-width: 100% !important;
        margin: 24px 0 !important;
        aspect-ratio: 16 / 9 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.home .heikaya-featured-selection-video video,
    body.home .heikaya-silver-wide-video video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* Egermann / Clear / Silver editorial features stack naturally. */
    body.home .lumiere-egermann-feature,
    body.home .heikaya-clear-crystal__editorial,
    body.home .heikaya-silver-showcase__editorial {
        position: static !important;
        left: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 24px 0 0 !important;
        padding: 0 !important;
    }

    body.home .lumiere-egermann-feature__media,
    body.home .heikaya-clear-crystal__media,
    body.home .heikaya-silver-showcase__media {
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        overflow: hidden !important;
        background: #fffdf9 !important;
    }

    body.home .lumiere-egermann-feature__media video,
    body.home .lumiere-egermann-feature__media img,
    body.home .heikaya-clear-crystal__media video,
    body.home .heikaya-clear-crystal__media img,
    body.home .heikaya-silver-showcase__media video,
    body.home .heikaya-silver-showcase__media img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
    }

    body.home .lumiere-egermann-feature__copy,
    body.home .heikaya-clear-crystal__copy,
    body.home .heikaya-silver-showcase__copy {
        min-height: 0 !important;
        padding: 30px 18px 34px !important;
        background: #fffdf9 !important;
        color: #15120f !important;
    }

    body.home .lumiere-egermann-feature__copy h2,
    body.home .heikaya-clear-crystal__copy h3,
    body.home .heikaya-silver-showcase__copy h3 {
        margin: 0 0 12px !important;
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1 !important;
    }

    body.home .lumiere-egermann-feature__copy p,
    body.home .heikaya-clear-crystal__copy p,
    body.home .heikaya-silver-showcase__copy p {
        margin: 0 0 22px !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    /* -------------------- SUBCATEGORY SLIDERS -------------------- */
    body.home .lumiere-categories-heading {
        margin: 0 !important;
        padding: 38px 14px 20px !important;
        text-align: center !important;
    }

    body.home .lumiere-collection-section.heikaya-subcategories-only {
        margin: 0 !important;
        padding: 26px 0 20px !important;
        border-bottom: 1px solid rgba(21,18,15,.10) !important;
    }

    body.home .heikaya-subcategories-only .lumiere-collection-section__heading {
        margin: 0 0 18px !important;
        padding: 0 14px !important;
        text-align: center !important;
    }

    body.home .heikaya-subcategories-only .lumiere-collection-section__heading a {
        font-size: 9px !important;
        letter-spacing: .14em !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider {
        position: relative !important;
        width: 100% !important;
        padding: 0 10px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider__viewport {
        width: 100% !important;
        overflow: hidden !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-grid {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-template-columns: none !important;
        grid-auto-columns: min(78vw, 330px) !important;
        gap: 10px !important;
        width: max-content !important;
        max-width: none !important;
        padding: 0 !important;
        scroll-snap-type: x mandatory !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card {
        min-width: 0 !important;
        scroll-snap-align: start !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__image {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        background: #fff !important;
        border: 1px solid rgba(21,18,15,.08) !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        padding: 5px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__body {
        display: block !important;
        padding: 11px 4px 0 !important;
        text-align: center !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card h3 {
        margin: 0 !important;
        font-size: 21px !important;
        line-height: 1.1 !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__body > span {
        display: none !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider__controls,
    body.home .heikaya-subcategories-only .lumiere-category-slider:not(.is-scrollable) .lumiere-category-slider__controls {
        top: 43% !important;
        right: 8px !important;
        left: 8px !important;
        z-index: 60 !important;
        pointer-events: none !important;
    }

    body.home .heikaya-subcategories-only .lumiere-slider-arrow {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        border: 1px solid rgba(21,18,15,.16) !important;
        background: rgba(255,253,249,.96) !important;
        box-shadow: 0 8px 20px rgba(21,18,15,.10) !important;
        pointer-events: auto !important;
    }

    /* -------------------- SIX CATEGORY EDITORIAL GRID -------------------- */
    body.home .heikaya-category-editorial-grid {
        margin: 18px 0 20px !important;
        padding: 20px 0 0 !important;
    }

    body.home .heikaya-category-editorial-grid__inner {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 10px !important;
        width: calc(100% - 20px) !important;
    }

    body.home .heikaya-category-editorial-card__media {
        aspect-ratio: 4 / 5 !important;
        border-radius: 10px !important;
    }

    body.home .heikaya-category-editorial-card__label {
        left: 8% !important;
        bottom: 7% !important;
        min-height: 38px !important;
        max-width: 84% !important;
        padding: 10px 12px !important;
        font-size: 8px !important;
        line-height: 1.1 !important;
        letter-spacing: .12em !important;
        white-space: normal !important;
    }

    /* -------------------- LANDSCAPE / CLOSING -------------------- */
    body.home .heikaya-home-landscape {
        min-height: 440px !important;
        padding: 24px 18px !important;
        background-position: center !important;
    }

    body.home .heikaya-home-landscape__content {
        width: 100% !important;
        max-width: 520px !important;
        padding: 24px 18px !important;
    }

    body.home .heikaya-home-landscape__content h2 {
        font-size: clamp(40px, 11vw, 54px) !important;
        line-height: .98 !important;
    }

    body.home .heikaya-home-landscape__content p {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    body.home .lumiere-closing-banner {
        display: block !important;
        padding: 52px 18px 58px !important;
        text-align: center !important;
    }

    body.home .lumiere-closing-banner h2 {
        font-size: clamp(38px, 10vw, 50px) !important;
        line-height: 1 !important;
    }

    body.home .lumiere-closing-banner .lumiere-button {
        margin-top: 22px !important;
    }

    /* -------------------- SHOP / CATEGORY ARCHIVES -------------------- */
    body.post-type-archive-product .site-content > .ast-container,
    body.tax-product_cat .site-content > .ast-container,
    body.tax-product_tag .site-content > .ast-container,
    body.search.search-results.post-type-archive-product .site-content > .ast-container {
        width: calc(100% - 20px) !important;
        margin: 0 auto !important;
        padding: 24px 0 46px !important;
    }

    body.post-type-archive-product .woocommerce-products-header,
    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_tag .woocommerce-products-header {
        margin-bottom: 22px !important;
        text-align: center !important;
    }

    body.post-type-archive-product .woocommerce-products-header__title,
    body.tax-product_cat .woocommerce-products-header__title,
    body.tax-product_tag .woocommerce-products-header__title {
        font-size: clamp(38px, 10vw, 48px) !important;
        line-height: 1 !important;
    }

    body.post-type-archive-product .woocommerce-result-count,
    body.tax-product_cat .woocommerce-result-count,
    body.tax-product_tag .woocommerce-result-count,
    body.post-type-archive-product .woocommerce-ordering,
    body.tax-product_cat .woocommerce-ordering,
    body.tax-product_tag .woocommerce-ordering {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    body.post-type-archive-product .woocommerce-ordering select,
    body.tax-product_cat .woocommerce-ordering select,
    body.tax-product_tag .woocommerce-ordering select {
        width: 100% !important;
        min-height: 44px !important;
    }

    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.search.search-results.post-type-archive-product ul.products,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 20px 10px !important;
        width: 100% !important;
    }

    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.post-type-archive-product ul.products li.product .astra-shop-thumbnail-wrap,
    body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
    body.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap,
    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__link,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__link,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__link {
        border-radius: 12px !important;
    }

    body.post-type-archive-product ul.products li.product img,
    body.tax-product_cat ul.products li.product img,
    body.tax-product_tag ul.products li.product img {
        object-fit: contain !important;
    }

    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        min-height: 0 !important;
        margin-top: 9px !important;
        font-size: 15px !important;
        line-height: 1.18 !important;
    }

    body.post-type-archive-product ul.products li.product .price,
    body.tax-product_cat ul.products li.product .price,
    body.tax-product_tag ul.products li.product .price {
        font-size: 12.5px !important;
    }

    body.post-type-archive-product .lumiere-archive-card-actions,
    body.tax-product_cat .lumiere-archive-card-actions,
    body.tax-product_tag .lumiere-archive-card-actions {
        gap: 6px !important;
        align-items: stretch !important;
    }

    body.post-type-archive-product .lumiere-archive-card-actions .button,
    body.tax-product_cat .lumiere-archive-card-actions .button,
    body.tax-product_tag .lumiere-archive-card-actions .button {
        min-height: 42px !important;
        padding-inline: 10px !important;
        font-size: 8.5px !important;
        letter-spacing: .07em !important;
    }

    body.post-type-archive-product .lumiere-wishlist-button--archive-action,
    body.tax-product_cat .lumiere-wishlist-button--archive-action,
    body.tax-product_tag .lumiere-wishlist-button--archive-action {
        width: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
    }

    /* -------------------- NEW ARRIVALS / CLEARANCE PAGES -------------------- */
    .heikaya-new-arrivals-page,
    .heikaya-clearance-page {
        width: 100% !important;
        background: #fffdf9 !important;
    }

    .heikaya-new-arrivals-header,
    .heikaya-clearance-header {
        padding: 34px 12px 24px !important;
    }

    .heikaya-new-arrivals-header__title h1,
    .heikaya-clearance-header__title h1 {
        font-size: clamp(42px, 11vw, 54px) !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    .heikaya-new-arrivals-search,
    .heikaya-clearance-search {
        width: 100% !important;
        max-width: none !important;
        margin-top: 18px !important;
    }

    .heikaya-new-arrivals-catalog,
    .heikaya-clearance-catalog {
        padding: 18px 10px 48px !important;
    }

    .heikaya-new-arrivals-toolbar,
    .heikaya-clearance-toolbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 18px !important;
    }

    .heikaya-new-arrivals-ordering select,
    .heikaya-clearance-ordering select {
        width: 100% !important;
        min-height: 44px !important;
    }

    .heikaya-new-arrivals-grid,
    .heikaya-clearance-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 20px 10px !important;
    }

    .heikaya-new-arrival-card,
    .heikaya-clearance-card {
        min-width: 0 !important;
    }

    .heikaya-new-arrival-card__image,
    .heikaya-clearance-card__image {
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
    }

    .heikaya-new-arrival-card__image img,
    .heikaya-clearance-card__image img {
        object-fit: contain !important;
    }

    .heikaya-new-arrival-card__body,
    .heikaya-clearance-card__body {
        padding: 10px 2px 0 !important;
    }

    .heikaya-new-arrival-card h2,
    .heikaya-clearance-card h2 {
        font-size: 15px !important;
        line-height: 1.18 !important;
    }

    .heikaya-new-arrival-card__actions,
    .heikaya-clearance-card__actions {
        gap: 6px !important;
    }

    .heikaya-new-arrival-card__actions .button,
    .heikaya-clearance-card__actions .button {
        min-height: 42px !important;
        padding-inline: 9px !important;
        font-size: 8.5px !important;
    }

    /* -------------------- SINGLE PRODUCT -------------------- */
    body.single-product .site-main {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 12px 12px 52px !important;
    }

    body.single-product div.product,
    body.single-product .woocommerce div.product {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .lumiere-product-home {
        min-height: 38px !important;
        margin: 0 0 10px !important;
        padding: 0 15px !important;
        font-size: 9px !important;
    }

    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport,
    body.single-product .woocommerce-product-gallery__wrapper {
        width: 100% !important;
        min-height: 0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    body.single-product .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery__image > a {
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1 !important;
    }

    body.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        order: 3 !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 9px 0 0 !important;
        padding: 0 0 4px !important;
        gap: 7px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
    }

    body.single-product .lumiere-gallery-rail::-webkit-scrollbar {
        display: none !important;
    }

    body.single-product .lumiere-gallery-rail .flex-control-thumbs {
        display: flex !important;
        flex-direction: row !important;
        gap: 7px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .lumiere-gallery-rail .flex-control-thumbs li,
    body.single-product .lumiere-gallery-rail .lumiere-video-trigger {
        flex: 0 0 64px !important;
        width: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
    }

    body.single-product .woocommerce-product-gallery__trigger {
        top: 10px !important;
        right: 10px !important;
        width: 40px !important;
        height: 40px !important;
    }

    body.single-product div.product > .summary {
        width: 100% !important;
        max-width: none !important;
        margin: 24px 0 0 !important;
        padding: 0 !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        margin: 0 0 12px !important;
        font-size: clamp(38px, 10vw, 48px) !important;
        line-height: .98 !important;
        letter-spacing: -.02em !important;
    }

    body.single-product div.product > .summary .price {
        margin: 0 0 14px !important;
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    body.single-product div.product > .summary .woocommerce-product-details__short-description,
    body.single-product div.product > .summary .woocommerce-product-details__short-description p {
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    body.single-product .lumiere-purchase-actions {
        display: grid !important;
        grid-template-columns: 118px minmax(0,1fr) 48px !important;
        align-items: stretch !important;
        gap: 7px !important;
        width: 100% !important;
        margin-top: 18px !important;
    }

    body.single-product .lumiere-purchase-actions .quantity {
        display: grid !important;
        grid-template-columns: 34px 50px 34px !important;
        width: 118px !important;
        min-width: 118px !important;
        margin: 0 !important;
    }

    body.single-product .lumiere-purchase-actions .quantity .qty {
        width: 50px !important;
        min-width: 50px !important;
        height: 48px !important;
        padding: 0 !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-qty-step {
        width: 34px !important;
        min-width: 34px !important;
        height: 48px !important;
    }

    body.single-product .lumiere-purchase-actions .single_add_to_cart_button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        padding: 0 8px !important;
        font-size: 9px !important;
        letter-spacing: .09em !important;
        white-space: nowrap !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single {
        width: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button__label {
        display: none !important;
    }

    body.single-product .product_meta {
        margin-top: 16px !important;
        padding-top: 14px !important;
        font-size: 11px !important;
        line-height: 1.65 !important;
    }

    body.single-product .lumiere-gift-wrap {
        margin-top: 18px !important;
        padding: 16px !important;
        border-radius: 14px !important;
    }

    body.single-product .lumiere-product-details {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 46px 0 16px !important;
    }

    body.single-product .lumiere-product-details h2,
    body.single-product .woocommerce-tabs h2,
    body.single-product .related.products > h2,
    body.single-product .upsells.products > h2 {
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1 !important;
    }

    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 18px 10px !important;
    }

    body.single-product .related.products ul.products li.product,
    body.single-product .upsells.products ul.products li.product {
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.single-product .related.products .woocommerce-loop-product__title,
    body.single-product .upsells.products .woocommerce-loop-product__title {
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    /* -------------------- CART -------------------- */
    body.woocommerce-cart .site-main {
        width: calc(100% - 20px) !important;
        margin: 0 auto !important;
        padding: 26px 0 48px !important;
    }

    body.woocommerce-cart .entry-title {
        font-size: clamp(40px, 10vw, 50px) !important;
        text-align: center !important;
    }

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

    body.woocommerce-cart table.shop_table_responsive,
    body.woocommerce-cart table.shop_table {
        border-radius: 14px !important;
    }

    body.woocommerce-cart table.shop_table_responsive tr {
        margin-bottom: 12px !important;
        padding: 12px !important;
        border: 1px solid rgba(21,18,15,.12) !important;
        border-radius: 14px !important;
        background: #fffdf9 !important;
    }

    body.woocommerce-cart table.shop_table_responsive td {
        padding: 9px 0 !important;
    }

    body.woocommerce-cart .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }

    body.woocommerce-cart .coupon .input-text,
    body.woocommerce-cart .coupon .button {
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .cart_totals {
        margin-top: 18px !important;
        padding: 18px !important;
        border-radius: 14px !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
        width: 100% !important;
        min-height: 52px !important;
    }

    /* WooCommerce Cart block fallback. */
    body.woocommerce-cart .wc-block-components-sidebar-layout {
        display: block !important;
    }

    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    /* -------------------- CHECKOUT -------------------- */
    .heikaya-native-checkout {
        width: 100% !important;
        padding: 26px 10px 28px !important;
    }

    .heikaya-native-checkout__heading {
        margin: 0 0 20px !important;
    }

    .heikaya-native-checkout__heading h1 {
        font-size: clamp(42px, 11vw, 54px) !important;
    }

    body.woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        grid-column: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 14px !important;
    }

    body.woocommerce-checkout #customer_details {
        grid-row: 1 !important;
        padding: 18px 14px !important;
    }

    body.woocommerce-checkout #order_review {
        grid-row: 2 !important;
    }

    body.woocommerce-checkout .form-row-first,
    body.woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
    }

    body.woocommerce-checkout .form-row input.input-text,
    body.woocommerce-checkout .form-row textarea,
    body.woocommerce-checkout .select2-container .select2-selection,
    body.woocommerce-checkout select {
        width: 100% !important;
        min-height: 48px !important;
    }

    body.woocommerce-checkout #order_review_heading {
        padding: 20px 16px 17px !important;
        font-size: 15px !important;
    }

    body.woocommerce-checkout #order_review table.shop_table {
        width: calc(100% - 28px) !important;
        margin: 14px 14px 0 !important;
        table-layout: fixed !important;
    }

    body.woocommerce-checkout #order_review table.shop_table th,
    body.woocommerce-checkout #order_review table.shop_table td {
        padding: 12px 0 !important;
        font-size: 11.5px !important;
        overflow-wrap: anywhere !important;
    }

    body.woocommerce-checkout #payment {
        margin: 16px 12px 12px !important;
        padding: 14px !important;
        border-radius: 12px !important;
    }

    body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
        min-height: 0 !important;
        padding: 13px 14px !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
    }

    body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 12px !important;
    }

    body.woocommerce-checkout form.checkout_coupon .button,
    body.woocommerce-checkout #place_order {
        width: 100% !important;
    }

    /* -------------------- MY ACCOUNT -------------------- */
    body.woocommerce-account .site-main {
        width: calc(100% - 20px) !important;
        margin: 0 auto !important;
        padding: 26px 0 48px !important;
    }

    body.woocommerce-account .woocommerce {
        display: block !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        margin: 0 0 14px !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 8px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        background: #15120f !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation a {
        display: flex !important;
        align-items: center !important;
        min-height: 38px !important;
        padding: 0 12px !important;
        border-radius: 8px !important;
        color: #fffdf9 !important;
        white-space: nowrap !important;
        font-size: 10px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
        background: #fffdf9 !important;
        color: #15120f !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        padding: 18px 14px !important;
        border-radius: 12px !important;
    }

    /* -------------------- WISHLIST -------------------- */
    .lumiere-wishlist-hero {
        padding: 34px 14px 24px !important;
    }

    .lumiere-wishlist-hero h1 {
        font-size: clamp(42px, 11vw, 54px) !important;
    }

    .lumiere-wishlist-content {
        padding: 24px 10px 50px !important;
    }

    .lumiere-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 18px 10px !important;
    }

    .lumiere-wishlist-card__image-wrap {
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
    }

    .lumiere-wishlist-card__content {
        min-height: 0 !important;
        padding: 11px 2px 0 !important;
    }

    .lumiere-wishlist-card h2 {
        min-height: 0 !important;
        font-size: 15px !important;
        line-height: 1.18 !important;
    }

    .lumiere-wishlist-card__actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .lumiere-wishlist-card__actions .button {
        width: 100% !important;
        min-height: 40px !important;
        font-size: 8.5px !important;
    }

    /* -------------------- WRAP AS A GIFT -------------------- */
    .lumiere-wrap-hero {
        padding: 34px 16px 28px !important;
    }

    .lumiere-wrap-hero h1 {
        font-size: clamp(42px, 11vw, 52px) !important;
    }

    .lumiere-wrap-selector {
        padding: 30px 10px 120px !important;
    }

    .lumiere-wrap-step {
        margin-bottom: 32px !important;
        padding-bottom: 32px !important;
    }

    .lumiere-wrap-step__heading {
        grid-template-columns: 36px minmax(0,1fr) !important;
        gap: 9px !important;
        margin-bottom: 18px !important;
    }

    .lumiere-wrap-step h2 {
        font-size: clamp(30px, 8vw, 38px) !important;
        line-height: 1 !important;
    }

    .lumiere-wrap-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 10px !important;
    }

    .lumiere-wrap-card {
        min-width: 0 !important;
        border-radius: 12px !important;
    }

    .lumiere-wrap-card__image,
    .lumiere-wrap-card__image--method {
        aspect-ratio: 1 / 1 !important;
    }

    .lumiere-wrap-card__image img,
    .lumiere-wrap-card__image--method img {
        object-fit: contain !important;
    }

    .lumiere-wrap-card__content {
        padding: 11px 10px 13px !important;
    }

    .lumiere-wrap-card h3 {
        font-size: 20px !important;
        line-height: 1.05 !important;
    }

    .lumiere-wrap-card p {
        font-size: 11px !important;
        line-height: 1.55 !important;
    }

    .lumiere-wrap-selection {
        right: 10px !important;
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        left: 10px !important;
        width: auto !important;
        max-width: none !important;
        padding: 10px !important;
        border-radius: 14px !important;
        gap: 8px !important;
    }

    .lumiere-wrap-selection__items {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .lumiere-wrap-selection__divider {
        display: none !important;
    }

    .lumiere-wrap-selection__continue {
        width: 100% !important;
        min-height: 42px !important;
    }

    /* -------------------- THE BRAND -------------------- */
    .lumiere-brand-hero {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .lumiere-brand-hero__copy {
        min-height: 0 !important;
        padding: 50px 18px 42px !important;
    }

    .lumiere-brand-hero h1 {
        font-size: clamp(50px, 13vw, 66px) !important;
        line-height: .95 !important;
    }

    .lumiere-brand-hero__visual {
        min-height: 0 !important;
        height: 390px !important;
    }

    .lumiere-brand-story {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 54px 18px !important;
    }

    .lumiere-brand-story h2,
    .lumiere-brand-philosophy h2,
    .lumiere-brand-closing h2 {
        font-size: clamp(40px, 10vw, 50px) !important;
        line-height: 1 !important;
    }

    .lumiere-brand-story__media,
    .lumiere-brand-philosophy__media {
        min-height: 0 !important;
        height: 360px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    .lumiere-brand-values {
        grid-template-columns: 1fr !important;
        padding: 0 14px !important;
    }

    .lumiere-brand-values article {
        padding: 34px 20px !important;
    }

    .lumiere-brand-philosophy {
        grid-template-columns: 1fr !important;
    }

    .lumiere-brand-philosophy__copy {
        padding: 50px 18px !important;
    }

    .lumiere-brand-closing {
        padding: 58px 18px 64px !important;
    }

    /* -------------------- CONTACT / FAQ / POLICIES -------------------- */
    .lumiere-contact-hero,
    .lumiere-info-hero {
        padding: 38px 16px 30px !important;
    }

    .lumiere-contact-hero h1,
    .lumiere-info-hero h1 {
        font-size: clamp(44px, 11vw, 54px) !important;
        line-height: 1 !important;
    }

    .lumiere-contact-details {
        padding: 18px 10px 6px !important;
    }

    .lumiere-contact-details__inner {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .lumiere-contact-card {
        min-height: 0 !important;
        padding: 20px 18px !important;
        border-radius: 12px !important;
    }

    .lumiere-contact-main {
        padding: 34px 10px 44px !important;
    }

    .lumiere-contact-main__inner {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .lumiere-contact-form-wrap {
        padding: 18px 14px !important;
        border-radius: 14px !important;
    }

    .lumiere-contact-form__row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .lumiere-contact-map-cta {
        width: calc(100% - 20px) !important;
        margin: 0 auto 42px !important;
        padding: 24px 18px !important;
        border-radius: 14px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .lumiere-policy-wrap,
    .lumiere-faq-wrap {
        padding: 30px 10px 48px !important;
    }

    .lumiere-policy-content {
        padding: 22px 16px !important;
        border-radius: 14px !important;
    }

    .lumiere-policy-content h2 {
        font-size: 30px !important;
    }

    .lumiere-faq-item summary {
        padding: 17px 14px !important;
        font-size: 20px !important;
        line-height: 1.15 !important;
    }

    .lumiere-faq-item__answer {
        padding: 0 14px 17px !important;
    }

    /* -------------------- INSTAGRAM -------------------- */
    .lumiere-instagram {
        padding: 38px 12px 42px !important;
    }

    .lumiere-instagram__heading {
        display: block !important;
        margin: 0 0 18px !important;
    }

    .lumiere-instagram h2 {
        font-size: clamp(36px, 10vw, 46px) !important;
        line-height: 1 !important;
    }

    .lumiere-instagram__profile {
        margin-top: 12px !important;
    }

    .lumiere-instagram__gallery-row {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .lumiere-instagram__rail {
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    .lumiere-instagram__vertical {
        writing-mode: initial !important;
        transform: none !important;
    }

    .lumiere-instagram #sb_instagram #sbi_images {
        display: flex !important;
        gap: 10px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none !important;
        padding: 2px 0 12px !important;
    }

    .lumiere-instagram #sb_instagram #sbi_images::-webkit-scrollbar {
        display: none !important;
    }

    .lumiere-instagram #sb_instagram #sbi_images .sbi_item {
        flex: 0 0 min(78vw, 330px) !important;
        scroll-snap-align: start !important;
        padding: 5px !important;
        border-radius: 14px !important;
    }

    /* -------------------- BENEFITS -------------------- */
    .lumiere-benefits {
        padding: 34px 12px 32px !important;
        background: #15120f !important;
    }

    .lumiere-benefits__inner {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 28px 14px !important;
    }

    .lumiere-benefit {
        padding: 0 4px !important;
    }

    .lumiere-benefit__icon,
    .lumiere-benefit__icon--image {
        width: 44px !important;
        height: 44px !important;
        margin-bottom: 10px !important;
    }

    .lumiere-benefit h3 {
        font-size: 10.5px !important;
        line-height: 1.3 !important;
        letter-spacing: .07em !important;
    }

    .lumiere-benefit p {
        font-size: 11px !important;
        line-height: 1.55 !important;
    }

    /* -------------------- FOOTER -------------------- */
    .lumiere-global-footer {
        padding: 42px 14px 20px !important;
    }

    .lumiere-footer__main {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 30px 18px !important;
    }

    .lumiere-footer__subscribe {
        grid-column: 1 / -1 !important;
    }

    .lumiere-footer__subscribe h2 {
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1 !important;
    }

    .lumiere-footer__form {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 8px !important;
        border-bottom: 0 !important;
    }

    .lumiere-footer__form input {
        min-height: 46px !important;
        padding: 0 12px !important;
        border: 1px solid rgba(21,18,15,.22) !important;
    }

    .lumiere-footer__form button {
        min-width: 104px !important;
        min-height: 46px !important;
        margin: 0 !important;
        border: 1px solid #15120f !important;
        background: #15120f !important;
        color: #fffdf9 !important;
        transform: none !important;
    }

    .lumiere-footer__column a {
        line-height: 1.7 !important;
    }

    .lumiere-footer__lower {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        margin-top: 38px !important;
    }

    .lumiere-footer__payments,
    .lumiere-footer__socials {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .lumiere-payment,
    .lumiere-social {
        min-height: 42px !important;
    }

    .lumiere-footer__bottom {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 8px !important;
        text-align: center !important;
    }

    /* -------------------- WHATSAPP FLOAT -------------------- */
    .lumiere-whatsapp-float {
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        width: 50px !important;
        height: 50px !important;
        z-index: 99970 !important;
    }
}

@media (max-width: 640px) {
    :root {
        --heikaya-mobile-side: 10px;
    }

    #lumiere-site-header .lumiere-header__inner {
        width: calc(100% - 18px) !important;
        height: 68px !important;
        min-height: 68px !important;
        max-height: 68px !important;
        gap: 5px !important;
    }

    #lumiere-site-header .lumiere-header__brand,
    #lumiere-site-header .lumiere-header__actions {
        height: 68px !important;
        min-height: 68px !important;
    }

    #lumiere-site-header .lumiere-header__brand .custom-logo {
        max-width: 102px !important;
        max-height: 48px !important;
    }

    .lumiere-header__actions {
        gap: 3px !important;
    }

    .lumiere-header__icon-button,
    .lumiere-mobile-toggle {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
    }

    .lumiere-header__icon-button svg {
        width: 16px !important;
        height: 16px !important;
    }

    .lumiere-primary-nav {
        right: -9px !important;
        left: -9px !important;
        max-height: calc(100svh - 68px) !important;
        padding-inline: 11px !important;
    }

    .lumiere-search-panel form {
        grid-template-columns: 1fr !important;
    }

    .lumiere-search-panel button {
        width: 100% !important;
    }

    body.home .lumiere-hero--slider .lumiere-hero__content,
    body.home .lumiere-hero__content {
        padding: 34px 14px 30px !important;
    }

    body.home .lumiere-hero h1 {
        font-size: clamp(40px, 12.2vw, 50px) !important;
    }

    body.home .lumiere-hero__visual {
        height: min(108vw, 420px) !important;
    }

    body.home .lumiere-featured-products,
    body.home .heikaya-clear-crystal__products,
    body.home .heikaya-silver-showcase__products,
    body.home .heikaya-candle-holder-showcase__inner {
        width: calc(100% - 16px) !important;
    }

    body.home .lumiere-featured-products__grid,
    body.home .heikaya-clear-crystal__products .lumiere-featured-products__grid,
    body.home .lumiere-featured-products--new-arrivals .lumiere-featured-products__grid,
    body.home .heikaya-silver-showcase__products .lumiere-featured-products__grid,
    body.home .heikaya-candle-holder-showcase__inner .lumiere-featured-products__grid {
        gap: 14px 8px !important;
    }

    body.home .lumiere-featured-product h3,
    body.home .lumiere-featured-product h3 a {
        font-size: 15px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-grid {
        grid-auto-columns: 80vw !important;
        gap: 8px !important;
    }

    body.home .heikaya-category-editorial-grid__inner {
        width: calc(100% - 16px) !important;
        gap: 8px !important;
    }

    body.home .heikaya-home-landscape {
        min-height: 400px !important;
    }

    /* Product grids remain 2-up instead of becoming oversized 1-up cards. */
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.search.search-results.post-type-archive-product ul.products,
    .heikaya-new-arrivals-grid,
    .heikaya-clearance-grid,
    .lumiere-wishlist-grid,
    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    body.single-product .site-main {
        padding-inline: 10px !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        font-size: clamp(36px, 10.5vw, 44px) !important;
    }

    body.single-product .lumiere-purchase-actions {
        grid-template-columns: 108px minmax(0,1fr) 46px !important;
        gap: 6px !important;
    }

    body.single-product .lumiere-purchase-actions .quantity {
        grid-template-columns: 31px 46px 31px !important;
        width: 108px !important;
        min-width: 108px !important;
    }

    body.single-product .lumiere-purchase-actions .quantity .qty {
        width: 46px !important;
        min-width: 46px !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-qty-step {
        width: 31px !important;
        min-width: 31px !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single {
        width: 46px !important;
        min-width: 46px !important;
    }

    .lumiere-wrap-selector {
        padding-inline: 8px !important;
    }

    .lumiere-wrap-grid {
        gap: 8px !important;
    }

    .lumiere-brand-hero__visual {
        height: 330px !important;
    }

    .lumiere-brand-story__media,
    .lumiere-brand-philosophy__media {
        height: 320px !important;
    }

    .lumiere-instagram #sb_instagram #sbi_images .sbi_item {
        flex-basis: 78vw !important;
    }

    .lumiere-global-footer {
        padding-inline: 12px !important;
    }
}

@media (max-width: 420px) {
    #lumiere-site-header .lumiere-header__brand .custom-logo {
        max-width: 94px !important;
    }

    .lumiere-header__icon-button,
    .lumiere-mobile-toggle {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }

    body.home .lumiere-featured-product h3,
    body.home .lumiere-featured-product h3 a,
    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
    .heikaya-new-arrival-card h2,
    .heikaya-clearance-card h2,
    .lumiere-wishlist-card h2 {
        font-size: 14px !important;
    }

    body.single-product .lumiere-purchase-actions {
        grid-template-columns: 102px minmax(0,1fr) 44px !important;
    }

    body.single-product .lumiere-purchase-actions .quantity {
        grid-template-columns: 29px 44px 29px !important;
        width: 102px !important;
        min-width: 102px !important;
    }

    body.single-product .lumiere-purchase-actions .quantity .qty {
        width: 44px !important;
        min-width: 44px !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-qty-step {
        width: 29px !important;
        min-width: 29px !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single {
        width: 44px !important;
        min-width: 44px !important;
    }

    body.single-product .lumiere-purchase-actions .single_add_to_cart_button {
        font-size: 8px !important;
        letter-spacing: .055em !important;
    }

    .lumiere-benefits__inner {
        gap: 24px 10px !important;
    }

    .lumiere-benefit h3 {
        font-size: 9.5px !important;
    }

    .lumiere-benefit p {
        font-size: 10.5px !important;
    }

    .lumiere-footer__main {
        gap: 26px 12px !important;
    }
}

@media (max-width: 360px) {
    /* Very small screens: keep everything usable rather than squeezed. */
    .lumiere-header__account {
        display: none !important;
    }

    .lumiere-wrap-grid {
        grid-template-columns: 1fr !important;
    }

    .lumiere-footer__main {
        grid-template-columns: 1fr !important;
    }

    .lumiere-footer__subscribe {
        grid-column: 1 !important;
    }
}

/* Touch devices should not inherit desktop hover movement. */
@media (hover: none) and (pointer: coarse) {
    .lumiere-button:hover,
    .lumiere-featured-product:hover,
    .lumiere-category-card:hover,
    .heikaya-category-editorial-card:hover,
    .lumiere-instagram #sb_instagram .sbi_item:hover,
    .lumiere-benefit:hover,
    .lumiere-wrap-card:hover,
    body.woocommerce ul.products li.product:hover {
        transform: none !important;
    }

    .lumiere-featured-product:hover img,
    .lumiere-category-card:hover img,
    .heikaya-category-editorial-card:hover img,
    .lumiere-instagram #sb_instagram .sbi_item:hover .sbi_photo {
        transform: none !important;
    }
}


/* ============================================================
   Heikaya v6.18.1 — MOBILE PRODUCT + CATEGORY REFINEMENT
   PHONE ONLY. DESKTOP IS UNCHANGED.
   ============================================================ */

@media (max-width: 767px) {

    /* --------------------------------------------------------
       SINGLE PRODUCT — cleaner hierarchy and purchase flow
       -------------------------------------------------------- */

    body.single-product .site-main {
        padding: 10px 10px 42px !important;
    }

    /* The Home pill adds clutter on a phone and wastes the top of the product. */
    body.single-product .lumiere-product-home {
        display: none !important;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        margin-top: 0 !important;
    }

    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready {
        margin-top: 0 !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport,
    body.single-product .woocommerce-product-gallery__wrapper {
        border: 1px solid rgba(21,18,15,.08) !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    body.single-product .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery__image > a {
        aspect-ratio: 1 / 1 !important;
    }

    body.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
        padding: 4px !important;
        object-fit: contain !important;
    }

    body.single-product .woocommerce-product-gallery__trigger {
        top: 8px !important;
        right: 8px !important;
        width: 36px !important;
        height: 36px !important;
        border: 1px solid rgba(21,18,15,.15) !important;
        background: rgba(255,253,249,.96) !important;
        box-shadow: none !important;
    }

    /* Horizontal thumbnail strip that looks intentional rather than cramped. */
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        order: 3 !important;
        margin: 8px 0 0 !important;
        padding: 0 1px 4px !important;
        gap: 7px !important;
        overflow-x: auto !important;
        scroll-snap-type: x proximity !important;
    }

    body.single-product .lumiere-gallery-rail .flex-control-thumbs {
        gap: 7px !important;
    }

    body.single-product .lumiere-gallery-rail .flex-control-thumbs li,
    body.single-product .lumiere-gallery-rail .lumiere-video-trigger {
        flex: 0 0 62px !important;
        width: 62px !important;
        min-width: 62px !important;
        min-height: 62px !important;
        scroll-snap-align: start !important;
    }

    body.single-product .lumiere-gallery-rail .flex-control-thumbs img,
    body.single-product .lumiere-gallery-rail .lumiere-video-trigger {
        border-radius: 9px !important;
    }

    body.single-product div.product > .summary {
        margin: 18px 0 0 !important;
        padding: 0 3px !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        margin: 0 0 10px !important;
        font-size: clamp(32px, 9.1vw, 39px) !important;
        line-height: .99 !important;
        letter-spacing: -.018em !important;
    }

    body.single-product div.product > .summary .price {
        margin: 0 0 12px !important;
        font-size: 20px !important;
        line-height: 1.15 !important;
    }

    body.single-product div.product > .summary .woocommerce-product-details__short-description,
    body.single-product div.product > .summary .woocommerce-product-details__short-description p {
        margin-bottom: 0 !important;
        font-size: 14px !important;
        line-height: 1.62 !important;
    }

    body.single-product form.cart {
        margin-top: 17px !important;
    }

    /*
     * Mobile purchase controls:
     * quantity + wishlist on one compact row,
     * Add to Cart full width underneath.
     */
    body.single-product .lumiere-purchase-actions {
        display: grid !important;
        grid-template-columns: 112px 52px !important;
        grid-template-areas:
            "qty wish"
            "add add" !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.single-product .lumiere-purchase-actions .quantity {
        grid-area: qty !important;
        display: grid !important;
        grid-template-columns: 32px 48px 32px !important;
        width: 112px !important;
        min-width: 112px !important;
        margin: 0 !important;
    }

    body.single-product .lumiere-purchase-actions .quantity .qty {
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-qty-step {
        width: 32px !important;
        min-width: 32px !important;
        height: 48px !important;
    }

    body.single-product .lumiere-purchase-actions .single_add_to_cart_button {
        grid-area: add !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        border-radius: 999px !important;
        background: #15120f !important;
        color: #fffdf9 !important;
        -webkit-text-fill-color: #fffdf9 !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .13em !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-single-wishlist {
        grid-area: wish !important;
        width: 52px !important;
        min-width: 52px !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single {
        width: 52px !important;
        min-width: 52px !important;
        min-height: 48px !important;
        padding: 0 !important;
        border-radius: 999px !important;
    }

    /*
     * Gift wrap is moved below the purchase actions by mobile JS.
     * Make it a refined secondary option, not the first thing the user sees.
     */
    body.single-product .lumiere-gift-wrap {
        width: 100% !important;
        margin: 12px 0 0 !important;
        padding: 14px 15px !important;
        border: 1px solid rgba(21,18,15,.13) !important;
        border-radius: 12px !important;
        background: #fffdf9 !important;
        box-shadow: none !important;
    }

    body.single-product .lumiere-gift-wrap__toggle {
        gap: 9px !important;
        color: #15120f !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    body.single-product .lumiere-gift-wrap__toggle input {
        flex: 0 0 18px !important;
        width: 18px !important;
        height: 18px !important;
        accent-color: #15120f !important;
    }

    body.single-product .lumiere-gift-wrap__toggle strong {
        margin-left: auto !important;
        color: #15120f !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body.single-product .lumiere-gift-wrap__message {
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid rgba(21,18,15,.10) !important;
    }

    body.single-product .lumiere-gift-wrap__message label {
        margin-bottom: 6px !important;
        color: #15120f !important;
        font-size: 9px !important;
        letter-spacing: .10em !important;
    }

    body.single-product .lumiere-gift-wrap__message textarea {
        min-height: 82px !important;
        padding: 11px !important;
        border: 1px solid rgba(21,18,15,.18) !important;
        border-radius: 9px !important;
        background: #fff !important;
        color: #15120f !important;
    }

    body.single-product .lumiere-gift-wrap__style {
        margin: 10px 0 0 !important;
        padding: 11px !important;
        border: 1px solid rgba(21,18,15,.12) !important;
        border-radius: 9px !important;
        background: #fff !important;
    }

    body.single-product .product_meta {
        margin-top: 15px !important;
        padding-top: 13px !important;
        border-top: 1px solid rgba(21,18,15,.11) !important;
        font-size: 10px !important;
        line-height: 1.65 !important;
    }

    body.single-product .product_meta > span {
        display: block !important;
        margin-bottom: 3px !important;
    }

    body.single-product .lumiere-product-details {
        gap: 22px !important;
        margin-top: 34px !important;
        padding: 32px 18px !important;
        border-radius: 18px !important;
    }

    body.single-product .lumiere-product-details h2,
    body.single-product .woocommerce-tabs h2,
    body.single-product .related.products > h2,
    body.single-product .upsells.products > h2 {
        margin-bottom: 18px !important;
        font-size: clamp(31px, 8.8vw, 39px) !important;
        line-height: 1 !important;
    }

    body.single-product .lumiere-product-copy {
        font-size: 13px !important;
        line-height: 1.7 !important;
    }

    body.single-product .lumiere-product-details dl div {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        padding: 11px 0 !important;
    }

    body.single-product .related.products,
    body.single-product .upsells.products {
        padding-top: 42px !important;
    }

    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 18px 9px !important;
    }

    body.single-product .related.products .woocommerce-loop-product__title,
    body.single-product .upsells.products .woocommerce-loop-product__title {
        font-size: 14px !important;
        line-height: 1.18 !important;
    }

    /* --------------------------------------------------------
       HOMEPAGE SUBCATEGORY SLIDERS — true mobile cards
       -------------------------------------------------------- */

    body.home .lumiere-categories-heading {
        padding: 32px 12px 12px !important;
    }

    body.home .lumiere-categories-heading h2 {
        font-size: clamp(36px, 10vw, 44px) !important;
        line-height: 1 !important;
    }

    body.home .lumiere-collection-section.heikaya-subcategories-only {
        padding: 22px 0 18px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-collection-section__heading {
        margin: 0 0 14px !important;
        padding: 0 11px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-collection-section__heading h3 {
        margin: 0 0 5px !important;
        font-size: 31px !important;
        line-height: 1 !important;
    }

    body.home .heikaya-subcategories-only .lumiere-collection-section__heading a {
        display: inline-block !important;
        margin: 0 !important;
        font-size: 8px !important;
        letter-spacing: .14em !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider {
        padding: 0 9px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider__viewport {
        overflow: hidden !important;
        border-radius: 0 !important;
    }

    /*
     * Two elegant cards visible at once instead of one oversized 78vw card.
     * This makes the collection readable immediately and still swipeable.
     */
    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-grid {
        grid-auto-columns: calc((100vw - 30px) / 2) !important;
        gap: 10px !important;
        width: max-content !important;
        padding: 0 !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card,
    body.home .heikaya-subcategories-only .lumiere-category-card:hover,
    body.home .heikaya-subcategories-only .lumiere-category-card:focus {
        display: block !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        text-decoration: none !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__image {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid rgba(21,18,15,.09) !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__image img,
    body.home .heikaya-subcategories-only .lumiere-category-card:hover .lumiere-category-card__image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        padding: 4px !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: none !important;
        filter: none !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__body {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        min-height: 48px !important;
        padding: 9px 3px 0 !important;
        text-align: center !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card h4 {
        display: -webkit-box !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
        color: #15120f !important;
        font-family: "Cormorant Garamond", Georgia, serif !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1.05 !important;
        text-align: center !important;
        text-transform: none !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    /* Keep arrows safely inside the screen and visually light. */
    body.home .heikaya-subcategories-only .lumiere-category-slider__controls,
    body.home .heikaya-subcategories-only .lumiere-category-slider:not(.is-scrollable) .lumiere-category-slider__controls {
        top: 38% !important;
        right: 13px !important;
        left: 13px !important;
        z-index: 70 !important;
        pointer-events: none !important;
    }

    body.home .heikaya-subcategories-only .lumiere-slider-arrow {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        border: 1px solid rgba(21,18,15,.13) !important;
        border-radius: 50% !important;
        background: rgba(255,253,249,.96) !important;
        color: #15120f !important;
        box-shadow: 0 5px 14px rgba(21,18,15,.08) !important;
        pointer-events: auto !important;
    }

    body.home .heikaya-subcategories-only .lumiere-slider-arrow svg {
        width: 17px !important;
        height: 17px !important;
    }
}

@media (max-width: 380px) {
    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-grid {
        grid-auto-columns: calc((100vw - 27px) / 2) !important;
        gap: 7px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card h4 {
        font-size: 15.5px !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        font-size: 31px !important;
    }
}


/* ============================================================
   Heikaya v6.18.2 — PHONE ROOT FIXES
   These rules intentionally use higher specificity than the old
   product/category rules. Desktop remains untouched.
   ============================================================ */

@media (max-width: 767px) {

    /* --------------------------------------------------------
       PRODUCT PAGE: force clean top-to-bottom phone flow
       -------------------------------------------------------- */

    /* Older product CSS used this exact high-specificity selector with
       display:inline-flex!important. Override that exact selector. */
    body.single-product div.product > .lumiere-product-home {
        display: none !important;
        position: static !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    body.single-product div.product {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product div.product > .summary {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.single-product div.product > .woocommerce-product-gallery {
        display: flex !important;
        flex-direction: column !important;
        margin-top: 0 !important;
        padding: 0 !important;
    }

    body.single-product div.product > .summary {
        display: block !important;
        margin-top: 17px !important;
        padding: 0 3px !important;
    }

    /* Empty desktop gift wrapper must never occupy mobile gallery space. */
    body.single-product .woocommerce-product-gallery > .lumiere-gallery-gift-wrap:empty {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* The real mobile gift area now lives after product meta. */
    body.single-product .heikaya-mobile-gift-wrap-zone {
        display: block !important;
        width: 100% !important;
        margin: 15px 0 0 !important;
        padding: 0 !important;
    }

    body.single-product .heikaya-mobile-gift-wrap-zone .lumiere-gift-wrap {
        margin: 0 !important;
    }

    body.single-product .heikaya-mobile-gift-wrap-zone .lumiere-gift-wrap__style {
        margin: 8px 0 0 !important;
    }

    /* Media first. No artificial blank band before the product image. */
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport,
    body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        order: 2 !important;
    }

    body.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
        object-fit: contain !important;
        object-position: center !important;
    }

    /* Keep the title readable without taking half the screen. */
    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        font-size: clamp(31px, 8.6vw, 38px) !important;
        line-height: 1.01 !important;
    }

    /* --------------------------------------------------------
       HOMEPAGE OUR CATEGORIES: eliminate horizontal page shift
       -------------------------------------------------------- */

    /*
     * The old desktop/full-width rule uses:
     * left:50% + margin-left:calc(-50vw + ...)
     * On Safari phones this is what pushed the entire category section
     * sideways. Reset it completely.
     */
    body.home .lumiere-stacked-collections {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: hidden !important;
    }

    body.home .lumiere-collection-section.heikaya-subcategories-only {
        position: relative !important;
        left: 0 !important;
        right: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 20px 9px 17px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.home .lumiere-collection-section.heikaya-subcategories-only
      + .lumiere-collection-section.heikaya-subcategories-only {
        margin-top: 0 !important;
        padding-top: 22px !important;
    }

    body.home .heikaya-subcategories-only .lumiere-collection-section__heading {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 13px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider {
        position: relative !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider__viewport {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-x: contain !important;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider__viewport::-webkit-scrollbar {
        display: none !important;
    }

    /* Override every historical grid rule with a simple flex rail. */
    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-grid,
    body.home .heikaya-subcategories-only .lumiere-category-grid {
        display: flex !important;
        flex-flow: row nowrap !important;
        grid-auto-flow: initial !important;
        grid-template-columns: none !important;
        grid-auto-columns: initial !important;
        align-items: stretch !important;
        gap: 9px !important;
        width: max-content !important;
        min-width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-card,
    body.home .heikaya-subcategories-only .lumiere-category-card {
        flex: 0 0 calc((100vw - 27px) / 2) !important;
        width: calc((100vw - 27px) / 2) !important;
        max-width: calc((100vw - 27px) / 2) !important;
        min-width: 0 !important;
        margin: 0 !important;
        scroll-snap-align: start !important;
        box-sizing: border-box !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__image {
        aspect-ratio: 1 / 1 !important;
        width: 100% !important;
        border-radius: 10px !important;
        background: #fff !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card__body {
        min-height: 42px !important;
        padding: 8px 2px 0 !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-card h4 {
        font-size: 16px !important;
        line-height: 1.08 !important;
    }

    body.home .heikaya-subcategories-only .lumiere-category-slider__controls,
    body.home .heikaya-subcategories-only .lumiere-category-slider:not(.is-scrollable) .lumiere-category-slider__controls {
        top: 39% !important;
        left: 5px !important;
        right: 5px !important;
        width: auto !important;
        max-width: none !important;
        transform: translateY(-50%) !important;
    }

    body.home .heikaya-subcategories-only .lumiere-slider-arrow {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
    }
}

/* Very narrow phones: one strong card + a subtle peek of the next card. */
@media (max-width: 350px) {
    body.home .heikaya-subcategories-only .lumiere-category-slider .lumiere-category-card,
    body.home .heikaya-subcategories-only .lumiere-category-card {
        flex-basis: 82vw !important;
        width: 82vw !important;
        max-width: 82vw !important;
    }
}
