/*
 * Module 29: default-Android public mall responsiveness.
 *
 * This file is intentionally isolated from app.css and scoped to public pages.
 * It provides a real 320-479px phone composition while preserving the approved
 * 600px/tablet and desktop layouts. No seller, staff or Super Admin selector is
 * targeted here.
 */

body.public-page{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body.public-page .public-header-main{display:contents}
body.public-page .public-cart-mobile{display:none}
body.public-page .public-mobile-menu,
body.public-page .public-history-mobile,
body.public-page .category-visual-media{display:none}
body.public-page .public-topbar,
body.public-page .public-nav,
body.public-page .public-container,
body.public-page .retail-hero,
body.public-page .retail-hero-copy,
body.public-page .retail-hero-board,
body.public-page .commerce-search-shell,
body.public-page .campaign-slot,
body.public-page .campaign-banner,
body.public-page .market-pulse,
body.public-page .product-shelf-section{min-width:0;max-width:100%}

body.public-page img,
body.public-page video{max-width:100%}

@media(max-width:479px){
  /* Compact sticky brand plus one non-wrapping navigation rail. */
  body.public-page .public-topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:5px;
    padding:7px 10px 6px;
  }
  body.public-page .public-header-main{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
  }
  body.public-page .public-brand{gap:9px;min-width:0}
  body.public-page .public-brand img{width:37px;height:37px;flex:0 0 37px}
  body.public-page .public-brand span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:15px;
    letter-spacing:.12em;
  }
  body.public-page .public-cart-mobile{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    flex:0 0 auto;
    min-width:44px;
    min-height:44px;
    padding:7px 9px;
    border:1px solid color-mix(in srgb,var(--theme-accent,var(--gold)) 28%,transparent);
    border-radius:14px;
    background:color-mix(in srgb,var(--theme-panel,var(--panel)) 92%,#fff 8%);
    color:var(--theme-text,var(--text));
    text-decoration:none;
  }
  body.public-page .public-nav{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:3px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:0 0 2px;
  }
  body.public-page .public-nav::-webkit-scrollbar{display:none}
  body.public-page .public-nav a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:7px 9px;
    scroll-snap-align:start;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
  }
  body.public-page .public-nav .cart-nav-link{display:none!important}

  /* A second top:0 sticky layer was disappearing underneath the header. */
  body.public-page .commerce-search-shell{
    position:relative;
    top:auto;
    z-index:1;
    margin:-4px 0 14px;
    padding:8px 8px 10px;
    border-radius:0 0 18px 18px;
  }
  body.public-page .commerce-search-bar{
    grid-template-columns:24px minmax(0,1fr) auto;
    gap:4px;
    padding:5px;
    border-radius:20px;
  }
  body.public-page .commerce-search-bar .search-icon{font-size:19px}
  body.public-page .commerce-search-bar input{
    min-width:0;
    min-height:44px;
    padding:10px 8px;
    font-size:16px;
  }
  body.public-page .commerce-search-bar button{
    min-width:0;
    min-height:44px;
    padding:9px 12px;
    font-size:14px;
  }
  body.public-page .quick-scroll{gap:7px;padding-top:8px;scroll-padding-inline:2px}
  body.public-page .quick-scroll a{min-height:38px;padding:8px 10px;font-size:11.5px}

  body.public-page .container.public-container{
    width:100%;
    padding:12px 10px 58px;
  }
  body.public-page .panel,
  body.public-page .card{padding:14px;border-radius:17px}
  body.public-page .panel.no-pad,
  body.public-page .panel.product-shelf-section{padding:0}
  body.public-page .section-block{margin-top:14px}
  body.public-page .eyebrow{margin-bottom:6px;font-size:10.5px;letter-spacing:.14em}
  body.public-page .lead{font-size:15px;line-height:1.52}

  /* True phone typography and home hero composition. */
  body.public-page .mall-hero,
  body.public-page .retail-hero{padding:14px;gap:17px;border-radius:18px}
  body.public-page .mall-hero h1,
  body.public-page .retail-hero h1{
    margin-bottom:11px;
    font-size:clamp(29px,8.6vw,33px);
    line-height:1.04;
    letter-spacing:-.038em;
    overflow-wrap:anywhere;
  }
  body.public-page .retail-value-row{gap:6px;margin:12px 0}
  body.public-page .retail-value-row span{padding:7px 9px;font-size:10.5px}
  body.public-page .hero-actions{gap:7px;margin-top:11px}
  body.public-page .hero-actions .btn{
    min-height:44px;
    padding:9px 12px;
    font-size:13px;
  }
  body.public-page .retail-hero-board{gap:11px}
  body.public-page .campaign-card{min-height:108px;padding:14px;border-radius:17px}
  body.public-page .campaign-card span{font-size:10px}
  body.public-page .campaign-card strong{font-size:21px;line-height:1.06}
  body.public-page .mini-product-stack{
    display:flex;
    align-items:stretch;
    gap:8px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scroll-padding-inline:1px;
    scrollbar-width:none;
    padding:1px 1px 6px;
  }
  body.public-page .mini-product-stack::-webkit-scrollbar{display:none}
  body.public-page .mini-product-tile{
    flex:0 0 clamp(142px,46vw,172px);
    scroll-snap-align:start;
    padding:7px;
    border-radius:15px;
  }

  /* Campaign stripes keep their fixed controls and give the marquee the rest. */
  body.public-page .campaign-card-frame-stripe .campaign-stripe{padding-right:58px}
  body.public-page .campaign-stripe{gap:6px;min-height:50px;padding:7px 8px;border-radius:14px}
  body.public-page .campaign-stripe-label{padding:5px 7px;font-size:9px;letter-spacing:.06em}
  body.public-page .campaign-stripe .campaign-marquee{flex:1 1 auto;min-width:0;font-size:12px}
  body.public-page .campaign-stripe .campaign-countdown-text{
    flex:0 1 auto;
    max-width:30vw;
    padding:5px 7px;
    font-size:8.5px;
  }
  body.public-page .campaign-public-share{
    top:4px;
    right:6px;
    width:44px;
    min-width:44px;
    min-height:44px;
  }

  /* Natural-ratio campaign media: no embedded wording or price may be cropped. */
  body.public-page .campaign-tile-media,
  body.public-page .campaign-hero-media{
    display:grid;
    place-items:center;
  }
  body.public-page .campaign-tile-media>.campaign-media,
  body.public-page .campaign-hero-media>.campaign-media{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    object-fit:contain;
    object-position:center;
    background:color-mix(in srgb,var(--campaign-bg) 86%,#fff 14%);
  }
  body.public-page .campaign-tile{gap:10px;padding:10px;border-radius:17px}
  body.public-page .campaign-tile-media,
  body.public-page .campaign-hero-media{min-height:0;border-radius:14px}
  body.public-page .campaign-tile-copy{gap:6px;padding:2px 3px 4px}
  body.public-page .campaign-tile-copy strong{
    font-size:clamp(22px,6.5vw,25px);
    line-height:1.05;
    letter-spacing:-.032em;
    overflow-wrap:anywhere;
  }
  body.public-page .campaign-tile-copy span{font-size:14px;line-height:1.4}
  body.public-page .campaign-tile-copy b,
  body.public-page .campaign-hero-copy b{min-height:42px;padding:8px 12px;font-size:13px}
  body.public-page .campaign-hero-carousel,
  body.public-page .campaign-hero-link{min-height:0}
  body.public-page .campaign-hero-link{gap:11px;padding:11px}
  body.public-page .campaign-hero-copy{gap:7px}
  body.public-page .campaign-hero-copy strong{
    font-size:clamp(28px,8vw,32px);
    line-height:1.02;
    letter-spacing:-.038em;
    overflow-wrap:anywhere;
  }
  body.public-page .campaign-hero-copy span{font-size:15px;line-height:1.4}
  body.public-page .campaign-hero-copy small{font-size:13px;line-height:1.45}

  /* Geometry campaign slots become complete, stacked creatives on phones. */
  body.public-page .campaign-geometry-landscape .campaign-geometry-link{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    min-height:0;
  }
  body.public-page .campaign-geometry-landscape .campaign-geometry-media{border-radius:18px 18px 0 0}
  body.public-page .campaign-geometry-media .campaign-media{width:100%;height:auto;min-height:0;object-fit:contain}
  body.public-page .campaign-geometry-copy{gap:5px;padding:11px 10px}
  body.public-page .campaign-geometry-copy strong{font-size:1rem;line-height:1.08}
  body.public-page .campaign-geometry-copy>span{font-size:.72rem}

  /* Compact standard-phone Market Pulse; 621px+ spotlight remains untouched. */
  body.public-page .market-pulse{padding:8px;border-radius:16px}
  body.public-page .market-pulse-head{gap:8px;padding:1px 3px 7px}
  body.public-page .market-pulse-head strong{font-size:.86rem}
  body.public-page .market-pulse-head span{font-size:.62rem}
  body.public-page .market-pulse-head small{padding:4px 6px;font-size:.56rem}
  body.public-page .market-pulse-stage{min-height:156px;border-radius:12px}
  body.public-page .market-pulse-item{grid-template-columns:minmax(0,46%) minmax(0,54%)}
  body.public-page .market-pulse-media>.market-pulse-image{padding:5%}
  body.public-page .market-pulse-copy{gap:4px;padding:9px 8px}
  body.public-page .market-pulse-copy>small{font-size:.53rem;letter-spacing:.07em}
  body.public-page .market-pulse-copy>strong{font-size:.88rem;line-height:1.08}
  body.public-page .market-pulse-price-row{gap:5px}
  body.public-page .market-pulse-price-row b{font-size:.87rem}
  body.public-page .market-pulse-price-row del{font-size:.55rem}
  body.public-page .market-pulse-discount,
  body.public-page .market-pulse-featured{padding:5px 6px;font-size:.52rem}
  body.public-page .market-pulse-controls{gap:8px;padding-top:7px}
  body.public-page .market-pulse-arrow{width:44px;height:44px;min-width:44px}

  /* Dense but readable merchandising and directories. */
  body.public-page .product-shelf-head{min-height:50px;padding:8px 10px}
  body.public-page .product-shelf-head h2{font-size:.96rem}
  body.public-page .product-shelf-head>a{font-size:.75rem}
  body.public-page .product-shelf-rail{gap:8px;padding:9px 9px 11px;scroll-padding-inline:9px}
  body.public-page .product-shelf-rail>.elite-cut-card{
    flex-basis:46vw;
    min-width:140px;
    max-width:172px;
  }
  body.public-page .category-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.public-page .category-tile{min-height:64px;padding:9px 10px}
  body.public-page .category-tile span{font-size:12px;line-height:1.18;overflow-wrap:anywhere}
  body.public-page .category-tile strong{font-size:11px}
  body.public-page .padded{padding:16px 14px 0}
  body.public-page .section-head{gap:7px;margin-bottom:11px}
  body.public-page .section-head h2{font-size:25px;line-height:1.08}
  body.public-page .store-grid-public{grid-template-columns:1fr;gap:10px}

  body.public-page .application-hero h1,
  body.public-page .product-detail-info h1,
  body.public-page .campaign-share-copy h1{
    font-size:clamp(27px,8vw,31px);
    line-height:1.05;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
  }
  body.public-page .application-phone-card h2,
  body.public-page .application-trust-card h2{font-size:22px;line-height:1.12}
  body.public-page .form-row{margin-bottom:12px}
  body.public-page input,
  body.public-page select,
  body.public-page textarea{font-size:16px}
  body.public-page .footer{padding:17px 10px;font-size:11px}
}

/* Module 29.1: purpose-built mobile commerce composition. */
@media(max-width:479px){
  body.public-page .public-topbar{
    position:sticky;
    overflow:visible;
    gap:0;
    padding:6px 8px;
  }
  body.public-page .public-header-main{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px 44px;
    align-items:center;
    gap:4px;
  }
  body.public-page .public-nav{display:none!important}
  body.public-page .public-mobile-menu{display:block;position:static}
  body.public-page .public-mobile-menu>summary,
  body.public-page .public-history-mobile,
  body.public-page .public-cart-mobile{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
    padding:9px;
    border:1px solid color-mix(in srgb,var(--theme-accent,var(--gold)) 25%,transparent);
    border-radius:13px;
    background:color-mix(in srgb,var(--theme-panel,var(--panel)) 94%,#fff 6%);
    color:var(--theme-text,var(--text));
    cursor:pointer;
    text-decoration:none;
    list-style:none;
  }
  body.public-page .public-mobile-menu>summary::-webkit-details-marker{display:none}
  body.public-page .public-mobile-menu svg,
  body.public-page .public-history-mobile svg,
  body.public-page .public-cart-mobile svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body.public-page .public-mobile-menu[open]>summary{
    border-color:var(--theme-accent,var(--gold));
    color:var(--theme-accent,var(--gold));
  }
  body.public-page .public-mobile-menu-panel{
    position:absolute;
    z-index:40;
    top:50px;
    left:0;
    right:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding:9px;
    border:1px solid color-mix(in srgb,var(--theme-accent,var(--gold)) 30%,transparent);
    border-radius:15px;
    background:color-mix(in srgb,var(--theme-panel,var(--panel)) 96%,#fff 4%);
    box-shadow:0 20px 45px rgba(15,23,42,.22);
  }
  body.public-page .public-mobile-menu-panel a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:9px 11px;
    border-radius:10px;
    color:var(--theme-text,var(--text));
    background:color-mix(in srgb,var(--theme-accent,var(--gold)) 8%,transparent);
    font-size:12px;
    font-weight:850;
  }
  body.public-page .public-brand{justify-self:start;gap:8px}
  body.public-page .public-brand img{width:32px;height:32px;flex:0 0 32px}
  body.public-page .public-brand span{font-size:13px;letter-spacing:.11em}
  body.public-page .public-cart-mobile .cart-count{
    position:absolute;
    top:-3px;
    right:-3px;
    display:grid;
    place-items:center;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border-radius:999px;
    background:var(--theme-accent,var(--gold));
    color:#171105;
    font-size:9px;
    font-weight:950;
  }

  body.public-page .container.public-container{padding-top:8px}
  body.public-page .commerce-search-shell{margin-top:0;margin-bottom:10px;padding:6px 5px 8px}
  body.public-page .commerce-search-bar{border-radius:17px;padding:4px}
  body.public-page .commerce-search-bar input{min-height:42px;padding:8px 6px}
  body.public-page .commerce-search-bar button{min-height:42px;padding-inline:11px;border-radius:13px}
  body.public-page .quick-scroll{padding-top:6px}
  body.public-page .quick-scroll a{min-height:34px;padding:6px 9px;font-size:10.5px}

  /* Mobile home is product-first; the desktop brand manifesto remains unchanged. */
  body.public-page.public-home .retail-hero{
    padding:9px;
    gap:0;
    border-radius:15px;
    background:linear-gradient(135deg,rgba(255,157,27,.10),rgba(255,255,255,.92),rgba(25,198,161,.08));
  }
  body.public-page.public-home .retail-hero-copy{display:none}
  body.public-page.public-home .retail-hero-board{gap:8px}
  body.public-page.public-home .campaign-card{min-height:80px;padding:11px 12px;border-radius:13px}
  body.public-page.public-home .campaign-card span{font-size:8.5px}
  body.public-page.public-home .campaign-card strong{font-size:17px;max-width:82%}
  body.public-page.public-home .campaign-card a{font-size:11px}
  body.public-page.public-home .mini-product-stack{gap:6px;padding-bottom:3px}
  body.public-page.public-home .mini-product-tile{
    flex-basis:clamp(108px,31.5vw,132px);
    min-width:108px;
    max-width:132px;
    gap:4px;
    padding:5px;
    border-radius:11px;
  }
  body.public-page.public-home .mini-product-tile>span:not(.mini-product-media){font-size:10.5px}
  body.public-page.public-home .mini-product-tile>strong{font-size:11.5px}

  /* Artwork-complete onboarding campaigns are one clean visual, not repeated copy. */
  body.public-page .campaign-slot-seller_onboarding_offer{margin:10px 0}
  body.public-page .campaign-slot-seller_onboarding_offer .campaign-tile{
    display:block;
    padding:7px;
    border-radius:15px;
  }
  body.public-page .campaign-slot-seller_onboarding_offer .campaign-tile-copy{display:none}
  body.public-page .campaign-slot-seller_onboarding_offer .campaign-tile-media{border-radius:11px}
  body.public-page .campaign-slot-home_hero_carousel .campaign-target-onboarding .campaign-hero-link{
    display:block;
    min-height:0;
    padding:7px;
  }
  body.public-page .campaign-slot-home_hero_carousel .campaign-target-onboarding .campaign-hero-copy{display:none}
  body.public-page .campaign-slot-home_hero_carousel .campaign-target-onboarding .campaign-hero-media{
    min-height:0;
    border-radius:11px;
  }

  /* Elite compact cards: complete imagery, lighter chrome and near-three-card density. */
  body.public-page .product-shelf-section{border-radius:14px}
  body.public-page .product-shelf-head{min-height:46px;padding:7px 9px}
  body.public-page .product-shelf-head .eyebrow{font-size:8px;letter-spacing:.12em}
  body.public-page .product-shelf-head h2{font-size:.88rem}
  body.public-page .product-shelf-head>a{font-size:.68rem}
  body.public-page .product-shelf-rail{
    gap:6px;
    padding:8px 8px 9px;
    scroll-padding-inline:8px;
    scrollbar-width:none;
  }
  body.public-page .product-shelf-rail::-webkit-scrollbar{display:none}
  body.public-page .product-shelf-rail>.elite-cut-card{
    flex:0 0 clamp(108px,31.5vw,132px);
    min-width:108px;
    max-width:132px;
    border:0;
    border-radius:11px;
    box-shadow:0 5px 14px rgba(34,23,8,.08);
  }
  body.public-page .elite-cut-card--shelf .elite-cut-media{border-radius:10px 10px 3px 3px}
  body.public-page .elite-cut-media>.elite-product-image{padding:5%}
  body.public-page .elite-cut-card--shelf .elite-cut-info{min-height:68px;padding:6px 7px 8px}
  body.public-page .elite-cut-card--shelf .elite-cut-title{
    min-height:2.3em;
    margin-bottom:4px;
    font-size:.69rem;
    line-height:1.15;
  }
  body.public-page .elite-cut-card--shelf .elite-cut-price-row{display:grid;gap:1px;align-content:start}
  body.public-page .elite-cut-card--shelf .elite-cut-price,
  body.public-page .elite-cut-card--shelf .elite-cut-price-row em{font-size:0;line-height:1}
  body.public-page .elite-cut-card--shelf .elite-cut-price::after{
    content:attr(data-mobile-price);
    font-size:.76rem;
    white-space:nowrap;
  }
  body.public-page .elite-cut-card--shelf .elite-cut-price-row em::after{
    content:attr(data-mobile-price);
    font-size:.55rem;
    white-space:nowrap;
  }
  body.public-page .elite-card-store{
    top:5px;
    left:5px;
    max-width:calc(100% - 42px);
    padding:4px 5px;
    font-size:.43rem;
    letter-spacing:.035em;
  }
  body.public-page .elite-cut-media>.elite-discount-badge,
  body.public-page .product-gallery-slide>.elite-discount-badge{
    top:5px;
    right:5px;
    padding:4px 5px;
    font-size:.49rem;
  }
  body.public-page .elite-cut-media>.elite-card-logo{
    left:5px;
    bottom:5px;
    width:18px;
    height:18px;
    padding:1px;
  }
  body.public-page .elite-card-mark{
    right:5px;
    bottom:5px;
    padding:4px 5px;
    font-size:.41rem;
    letter-spacing:.07em;
  }

  /* Visual catalogue shortcuts use approved product imagery automatically. */
  body.public-page .mobile-category-zone{border-radius:14px}
  body.public-page .mobile-category-zone .section-head{display:flex;align-items:center;margin:0;padding:11px 10px 8px}
  body.public-page .mobile-category-zone .section-head h2{font-size:18px}
  body.public-page .mobile-category-zone .section-head>a{font-size:11px}
  body.public-page .category-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff}
  body.public-page .category-visual-tile{
    align-content:start;
    justify-items:center;
    gap:5px;
    min-height:112px;
    padding:7px 4px 8px;
    border-right:1px solid #f1ece3;
    border-bottom:1px solid #f1ece3;
    background:#fff;
    color:#211305;
    text-align:center;
  }
  body.public-page .category-visual-media{
    display:grid;
    place-items:center;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:11px;
    background:#fff;
  }
  body.public-page .category-visual-media img{width:100%;height:100%;object-fit:contain;padding:5%}
  body.public-page .category-visual-media i{font-size:30px;font-style:normal}
  body.public-page .category-visual-name{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:9.5px!important;
    font-weight:800;
    line-height:1.12!important;
  }
  body.public-page .category-visual-tile>strong{display:none}

  body.public-page .market-pulse{padding:7px}
  body.public-page .market-pulse-stage{min-height:142px}
  body.public-page .market-pulse-copy{padding:8px 7px}
  body.public-page .market-pulse-controls{padding-top:5px}
  body.public-page .market-pulse-arrow{width:38px;height:38px;min-width:38px;min-height:38px}
}

@media(max-width:359px){
  body.public-page .public-topbar{padding-inline:8px}
  body.public-page .public-brand img{width:30px;height:30px;flex-basis:30px}
  body.public-page .public-brand span{font-size:12px;letter-spacing:.09em}
  body.public-page .public-nav a{padding-inline:8px;font-size:12.5px}
  body.public-page .container.public-container{padding-left:8px;padding-right:8px}
  body.public-page .mall-hero h1,
  body.public-page .retail-hero h1{font-size:28px}
  body.public-page .hero-actions .btn{padding-inline:10px;font-size:12.5px}
  body.public-page.public-home .mini-product-tile{flex-basis:clamp(104px,34vw,112px);min-width:104px;max-width:112px}
  body.public-page .market-pulse-stage{min-height:150px}
  body.public-page .market-pulse-item{grid-template-columns:minmax(0,47%) minmax(0,53%)}
  body.public-page .market-pulse-copy{padding:8px 7px}
  body.public-page .market-pulse-copy>strong{font-size:.82rem}
  body.public-page .market-pulse-price-row b{font-size:.8rem}
  body.public-page .market-pulse-price-row del{display:none}
}

@media(prefers-reduced-motion:reduce){
  body.public-page .public-nav,
  body.public-page .quick-scroll,
  body.public-page .mini-product-stack,
  body.public-page .product-shelf-rail{scroll-behavior:auto}
}
/* =============================================================
   ELITE MALL HOMEPAGE V2 — APPROVED PRODUCTION IMPLEMENTATION
   Source of truth: approved standalone V2 no-crop preview.
   Homepage only. All informational images remain fully visible.
   ============================================================= */
.elite-v2-home{display:none}
@media (max-width:1023px){
  body.elite-mobile-homepage-v2{margin:0!important;background:#e9e9e9!important;color:#151515!important;overflow-x:hidden!important;min-height:100vh!important;}
  body.elite-mobile-homepage-v2>.public-topbar,body.elite-mobile-homepage-v2>.footer{display:none!important;}
  body.elite-mobile-homepage-v2>.public-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;min-height:100vh!important;}
  body.elite-mobile-homepage-v2 .em-desktop-home{display:none!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home{display:block!important;}

  html:has(body.elite-mobile-homepage-v2){background:#e9e9e9!important;}
  body.elite-mobile-homepage-v2::before,body.elite-mobile-homepage-v2::after{display:none!important;content:none!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-products a{display:contents!important;background:transparent!important;color:inherit!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
body.elite-mobile-homepage-v2 .elite-v2-home{--orange:#f36b00;--orange-dark:#d95f00;--ink:#151515;--muted:#6d7075;--line:#e7e7e7;--soft:#f7f7f7;--red:#e7192d;--green:#12915a;--shadow:0 3px 12px rgba(0,0,0,.07)}body.elite-mobile-homepage-v2 .elite-v2-home,body.elite-mobile-homepage-v2 .elite-v2-home *{box-sizing:border-box}body.elite-mobile-homepage-v2{background:#e9e9e9;scroll-behavior:smooth}body.elite-mobile-homepage-v2{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#e9e9e9;color:var(--ink);-webkit-font-smoothing:antialiased}body.elite-mobile-homepage-v2 .elite-v2-home a{text-decoration:none;color:inherit}body.elite-mobile-homepage-v2 .elite-v2-home button,body.elite-mobile-homepage-v2 .elite-v2-home input{font:inherit}body.elite-mobile-homepage-v2 .elite-v2-home button{color:inherit}body.elite-mobile-homepage-v2 .elite-v2-home .app-shell{width:min(100%,430px);margin:auto;min-height:100vh;background:#fff;box-shadow:0 0 28px rgba(0,0,0,.14);padding-bottom:76px;overflow:hidden}body.elite-mobile-homepage-v2 .elite-v2-home .app-header{height:64px;display:grid;grid-template-columns:44px 1fr 88px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:8}body.elite-mobile-homepage-v2 .elite-v2-home .brand{display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;letter-spacing:.3px}body.elite-mobile-homepage-v2 .elite-v2-home .brand b{color:var(--orange)}body.elite-mobile-homepage-v2 .elite-v2-home .icon-btn{border:0;background:none;width:42px;height:42px;padding:9px;display:grid;place-items:center}body.elite-mobile-homepage-v2 .elite-v2-home .icon-btn svg,body.elite-mobile-homepage-v2 .elite-v2-home .search-bar svg,body.elite-mobile-homepage-v2 .elite-v2-home .location svg,body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}body.elite-mobile-homepage-v2 .elite-v2-home .icon-btn svg{width:24px;height:24px}body.elite-mobile-homepage-v2 .elite-v2-home .head-actions{display:flex;justify-content:flex-end}body.elite-mobile-homepage-v2 .elite-v2-home .cart{position:relative}body.elite-mobile-homepage-v2 .elite-v2-home .cart span{position:absolute;right:0;top:0;background:var(--orange);color:#fff;border-radius:99px;font-size:10px;line-height:17px;min-width:17px;height:17px;text-align:center;font-weight:800}body.elite-mobile-homepage-v2 .elite-v2-home .search-zone{padding:9px 13px 8px;background:#fff;position:sticky;top:0;z-index:7;border-bottom:1px solid var(--line)}body.elite-mobile-homepage-v2 .elite-v2-home .search-bar{height:44px;border:1px solid #d4d4d4;border-radius:10px;display:grid;grid-template-columns:31px 1fr 34px;align-items:center;padding:0 8px;box-shadow:0 2px 8px rgba(0,0,0,.03);background:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .search-bar>svg{width:21px;height:21px}body.elite-mobile-homepage-v2 .elite-v2-home .search-bar input{border:0;outline:0;font-size:13.5px;min-width:0;width:100%;background:transparent}body.elite-mobile-homepage-v2 .elite-v2-home .scan-btn{border:0;background:none;padding:6px}body.elite-mobile-homepage-v2 .elite-v2-home .scan-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}body.elite-mobile-homepage-v2 .elite-v2-home .search-suggestions{position:absolute;left:13px;right:13px;top:57px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.14);padding:5px;z-index:9}body.elite-mobile-homepage-v2 .elite-v2-home .search-suggestions button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px;border-radius:7px;font-size:13px}body.elite-mobile-homepage-v2 .elite-v2-home .search-suggestions button:hover{background:#f6f6f6}body.elite-mobile-homepage-v2 .elite-v2-home .location{border:0;background:none;padding:8px 0 0;display:flex;align-items:center;gap:5px;font-size:12.5px}body.elite-mobile-homepage-v2 .elite-v2-home .location svg{width:17px;height:17px}body.elite-mobile-homepage-v2 .elite-v2-home .location span{margin-left:1px}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip{display:grid;grid-auto-flow:column;grid-auto-columns:68px;gap:2px;overflow-x:auto;padding:11px 12px 12px;scrollbar-width:none;border-bottom:1px solid var(--line);background:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip::-webkit-scrollbar,body.elite-mobile-homepage-v2 .elite-v2-home .product-rail::-webkit-scrollbar,body.elite-mobile-homepage-v2 .elite-v2-home .store-rail::-webkit-scrollbar{display:none}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip a{text-align:center;font-size:9.7px;line-height:1.13;font-weight:600}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip img,body.elite-mobile-homepage-v2 .elite-v2-home .cat-icon{width:47px;height:47px;border-radius:14px;object-fit:cover;background:#f6f3f0;margin:auto auto 5px;display:grid;place-items:center;font-size:25px}body.elite-mobile-homepage-v2 .elite-v2-home .cat-icon.more{background:#fff;border:1px solid #ddd;font-weight:900;letter-spacing:2px}body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:204px;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 37%,#ff8b22 0,#7c2704 34%,#160b09 72%);color:#fff;padding:15px 17px}body.elite-mobile-homepage-v2 .elite-v2-home .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.13) 73%)}body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy{position:relative;z-index:2}body.elite-mobile-homepage-v2 .elite-v2-home .pill{display:inline-block;background:var(--orange);border-radius:16px;padding:5px 8px;font-size:8.5px;font-weight:900}body.elite-mobile-homepage-v2 .elite-v2-home .hero h1{font-size:28px;line-height:1;margin:9px 0 5px;letter-spacing:-.5px}body.elite-mobile-homepage-v2 .elite-v2-home .hero p{font-size:17px;line-height:1.31;margin:0 0 13px}body.elite-mobile-homepage-v2 .elite-v2-home .hero strong{color:#ff932e}body.elite-mobile-homepage-v2 .elite-v2-home .hero a{display:inline-block;background:#fff;color:#111;font-weight:800;border-radius:8px;padding:9px 15px;font-size:12px}body.elite-mobile-homepage-v2 .elite-v2-home .hero-products img{position:absolute;z-index:1;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.46))}body.elite-mobile-homepage-v2 .elite-v2-home .hero-phone{width:145px;height:168px;right:61px;bottom:2px}body.elite-mobile-homepage-v2 .elite-v2-home .hero-bottle{width:91px;height:170px;right:2px;bottom:-2px}body.elite-mobile-homepage-v2 .elite-v2-home .dots{position:absolute;z-index:3;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px}body.elite-mobile-homepage-v2 .elite-v2-home .dots i{width:6px;height:6px;background:#fff9;border-radius:50%}body.elite-mobile-homepage-v2 .elite-v2-home .dots .active{background:var(--orange);width:16px;border-radius:8px}body.elite-mobile-homepage-v2 .elite-v2-home .section{padding:14px 12px 7px;background:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:9px}body.elite-mobile-homepage-v2 .elite-v2-home .section-title h2{font-size:16px;line-height:1.1;margin:0}body.elite-mobile-homepage-v2 .elite-v2-home .section-title a{font-size:11.5px;color:var(--orange);font-weight:650}body.elite-mobile-homepage-v2 .elite-v2-home .eyebrow{font-size:8px;letter-spacing:.12em;color:var(--orange);font-weight:900;margin:0 0 3px}body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 0 6px;scrollbar-width:none}body.elite-mobile-homepage-v2 .elite-v2-home .product-card{position:relative;border:1px solid #e5e5e5;border-radius:10px;overflow:hidden;min-height:259px;scroll-snap-align:start;box-shadow:0 2px 8px rgba(0,0,0,.055);background:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:130px;position:relative;background:#fafafa;overflow:hidden}body.elite-mobile-homepage-v2 .elite-v2-home .product-image img{width:100%;height:100%;object-fit:cover;display:block}body.elite-mobile-homepage-v2 .elite-v2-home .product-info{padding:8px}body.elite-mobile-homepage-v2 .elite-v2-home .product-card h3{font-size:11.5px;line-height:1.22;height:28px;overflow:hidden;margin:0 0 6px}body.elite-mobile-homepage-v2 .elite-v2-home .product-card strong{display:block;color:var(--orange);font-size:13.5px;line-height:1.15;margin-bottom:2px}body.elite-mobile-homepage-v2 .elite-v2-home .product-card del{display:block;font-size:9.5px;color:#898989}body.elite-mobile-homepage-v2 .elite-v2-home .product-card p{font-size:9.5px;margin:6px 0 3px;color:#626262;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.elite-mobile-homepage-v2 .elite-v2-home .product-card p b{color:#1689e8}body.elite-mobile-homepage-v2 .elite-v2-home .product-card small{font-size:9.5px;color:#393939}body.elite-mobile-homepage-v2 .elite-v2-home .product-card small span{color:#787878}body.elite-mobile-homepage-v2 .elite-v2-home .discount{position:absolute;z-index:2;left:6px;top:6px;background:var(--red);color:#fff;border-radius:4px;padding:4px 5px;font-size:8.5px;font-weight:900}body.elite-mobile-homepage-v2 .elite-v2-home .heart{position:absolute;z-index:2;right:6px;top:5px;border:0;background:#fff;width:25px;height:25px;border-radius:50%;font-size:17px;box-shadow:0 1px 5px #0002}body.elite-mobile-homepage-v2 .elite-v2-home .categories-block{padding-top:10px}body.elite-mobile-homepage-v2 .elite-v2-home .category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 6px}body.elite-mobile-homepage-v2 .elite-v2-home .category-grid a{text-align:center;font-size:10px;font-weight:600}body.elite-mobile-homepage-v2 .elite-v2-home .category-grid img,body.elite-mobile-homepage-v2 .elite-v2-home .category-grid .cat-icon{width:100%;height:60px;border-radius:8px;object-fit:cover;background:#fafafa;margin-bottom:4px}body.elite-mobile-homepage-v2 .elite-v2-home .category-grid .cat-icon{font-size:27px}body.elite-mobile-homepage-v2 .elite-v2-home .stores-section{padding-top:11px}body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{display:grid;grid-auto-flow:column;grid-auto-columns:36%;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:5px}body.elite-mobile-homepage-v2 .elite-v2-home .store-card{border:1px solid #e5e5e5;border-radius:10px;padding:8px;min-height:151px;box-shadow:0 2px 7px rgba(0,0,0,.045);background:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .store-logo{height:47px;border-radius:7px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:13px;margin-bottom:7px}body.elite-mobile-homepage-v2 .elite-v2-home .green{background:#0f9c62}body.elite-mobile-homepage-v2 .elite-v2-home .black{background:#111;color:#f0b52a}body.elite-mobile-homepage-v2 .elite-v2-home .teal{background:#0cb9af}body.elite-mobile-homepage-v2 .elite-v2-home .store-card h3{font-size:10.5px;line-height:1.2;margin:0 0 5px;height:26px;overflow:hidden}body.elite-mobile-homepage-v2 .elite-v2-home .store-card p{font-size:9px;color:#777;margin:0 0 5px}body.elite-mobile-homepage-v2 .elite-v2-home .store-card small{font-size:9px}body.elite-mobile-homepage-v2 .elite-v2-home .store-card small span{color:#777}body.elite-mobile-homepage-v2 .elite-v2-home .seller-cta{margin:12px;border:1px solid #ffd1b7;background:linear-gradient(90deg,#fff8f3,#fff1e8);border-radius:12px;padding:11px;display:grid;grid-template-columns:45px 1fr auto;gap:9px;align-items:center}body.elite-mobile-homepage-v2 .elite-v2-home .seller-icon{font-size:31px}body.elite-mobile-homepage-v2 .elite-v2-home .seller-cta h2{font-size:14px;margin:0 0 3px}body.elite-mobile-homepage-v2 .elite-v2-home .seller-cta p{font-size:9.5px;line-height:1.25;margin:0;color:#555}body.elite-mobile-homepage-v2 .elite-v2-home .seller-cta a{background:linear-gradient(#ff7c1d,#e86100);color:#fff;padding:9px;border-radius:8px;font-size:10.5px;font-weight:800;white-space:nowrap}body.elite-mobile-homepage-v2 .elite-v2-home .last-section{padding-bottom:15px}body.elite-mobile-homepage-v2 .elite-v2-home .trust-strip{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:12px 9px 17px}body.elite-mobile-homepage-v2 .elite-v2-home .trust-strip>div{display:flex;gap:5px;align-items:flex-start}body.elite-mobile-homepage-v2 .elite-v2-home .trust-strip b{width:21px;height:21px;border:1px solid var(--orange);color:var(--orange);border-radius:50%;display:grid;place-items:center;font-size:10px}body.elite-mobile-homepage-v2 .elite-v2-home .trust-strip span{font-size:8px;color:#777;line-height:1.2}body.elite-mobile-homepage-v2 .elite-v2-home .trust-strip strong{display:block;color:#222;font-size:8.5px}body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,430px);height:66px;background:#fff;border-top:1px solid #ddd;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:max(4px,env(safe-area-inset-bottom));box-shadow:0 -4px 15px rgba(0,0,0,.08)}body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav svg{width:21px;height:21px}body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav span{font-size:9.5px;margin-top:3px}body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav .active{color:var(--orange)}body.elite-mobile-homepage-v2 .elite-v2-home .nav-cart i{position:absolute;top:5px;right:20px;background:var(--orange);color:#fff;font-style:normal;font-size:8px;border-radius:20px;padding:2px 4px}body.elite-mobile-homepage-v2 .elite-v2-home .drawer-backdrop{position:fixed;z-index:20;inset:0;background:#0007}body.elite-mobile-homepage-v2 .elite-v2-home .drawer{position:fixed;z-index:21;top:0;bottom:0;left:0;width:min(82vw,320px);background:#fff;transform:translateX(-105%);transition:.22s ease;padding:25px 18px;box-shadow:10px 0 30px #0003}body.elite-mobile-homepage-v2 .elite-v2-home .drawer.open{transform:none}body.elite-mobile-homepage-v2 .elite-v2-home .drawer-close{float:right;border:0;background:none;font-size:32px}body.elite-mobile-homepage-v2 .elite-v2-home .drawer h2{color:var(--orange);margin:30px 0 20px}body.elite-mobile-homepage-v2 .elite-v2-home .drawer a{display:block;padding:13px 4px;border-bottom:1px solid #eee;font-weight:650;font-size:14px}@media (max-width:374px){body.elite-mobile-homepage-v2 .elite-v2-home .app-header{grid-template-columns:40px 1fr 82px}body.elite-mobile-homepage-v2 .elite-v2-home .brand{font-size:18px}body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:195px}body.elite-mobile-homepage-v2 .elite-v2-home .hero h1{font-size:26px}body.elite-mobile-homepage-v2 .elite-v2-home .hero p{font-size:16px}body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{grid-auto-columns:46%}body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:39%}body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:120px}}@media (min-width:431px) and (max-width:767px){body.elite-mobile-homepage-v2{padding:20px}body.elite-mobile-homepage-v2 .elite-v2-home .app-shell{border-radius:22px}body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav{bottom:20px;border-radius:0 0 22px 22px}body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{grid-auto-columns:31.5%}body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:26%}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip{grid-auto-columns:76px}body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:220px}body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:140px}}/* V2 live-data wiring: preserves the approved visual geometry. */body.elite-mobile-homepage-v2 .elite-v2-home .product-card>a,body.elite-mobile-homepage-v2 .elite-v2-home .store-card>a{display:block;height:100%;color:inherit;text-decoration:none}body.elite-mobile-homepage-v2 .elite-v2-home .store-logo img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:7px;background:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;z-index:1}body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-track::-webkit-scrollbar{display:none}body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;padding:15px 17px;color:#fff}body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.13) 73%);pointer-events:none}body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy{position:relative;z-index:2}body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products{position:absolute;inset:0;z-index:1}body.elite-mobile-homepage-v2 .elite-v2-home .dots button{border:0;padding:0;width:6px;height:6px;background:#fff9;border-radius:50%;cursor:pointer}body.elite-mobile-homepage-v2 .elite-v2-home .dots button.active{background:var(--orange);width:16px;border-radius:8px}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip img,body.elite-mobile-homepage-v2 .elite-v2-home .category-grid img{object-position:center}/* =========================================================
   V2 IMAGE INTEGRITY POLICY — APPROVAL REVISION
   Every informational image is scaled inside its own frame.
   No product, category, campaign-product, brand or store image
   may be zoomed, clipped or cropped by the V2 preview.
   ========================================================= */body.elite-mobile-homepage-v2 .elite-v2-home .product-image,body.elite-mobile-homepage-v2 .elite-v2-home .category-strip a,body.elite-mobile-homepage-v2 .elite-v2-home .category-grid a,body.elite-mobile-homepage-v2 .elite-v2-home .store-logo,body.elite-mobile-homepage-v2 .elite-v2-home .hero-products{
  isolation: isolate;
}body.elite-mobile-homepage-v2 .elite-v2-home .product-image img,body.elite-mobile-homepage-v2 .elite-v2-home .category-strip img,body.elite-mobile-homepage-v2 .elite-v2-home .category-grid img,body.elite-mobile-homepage-v2 .elite-v2-home .store-logo img,body.elite-mobile-homepage-v2 .elite-v2-home .hero-products img{
  object-fit: contain !important;
  object-position: center center !important;
  max-width: 100%;
  max-height: 100%;
}body.elite-mobile-homepage-v2 .elite-v2-home .product-image{
  display: grid;
  place-items: center;
  background: #f8f8f8;
}body.elite-mobile-homepage-v2 .elite-v2-home .product-image img{
  width: 100%;
  height: 100%;
  padding: 4px;
  background: #f8f8f8;
}body.elite-mobile-homepage-v2 .elite-v2-home .category-strip img{
  width: 47px;
  height: 47px;
  padding: 3px;
  background: #f6f3f0;
}body.elite-mobile-homepage-v2 .elite-v2-home .category-grid img{
  width: 100%;
  height: 60px;
  padding: 4px;
  background: #fafafa;
}body.elite-mobile-homepage-v2 .elite-v2-home .store-logo img{
  width: 100%;
  height: 100%;
  padding: 3px;
  background: #fff;
}body.elite-mobile-homepage-v2 .elite-v2-home .hero-products img{
  padding: 0;
  background: transparent;
}/* Keep campaign foreground images fully inside the visible banner frame. */body.elite-mobile-homepage-v2 .elite-v2-home .hero-bottle{bottom:2px}/* Lock product media to the exact frame before scaling the image inside it. */body.elite-mobile-homepage-v2 .elite-v2-home .product-image{display:block;position:relative;overflow:hidden}body.elite-mobile-homepage-v2 .elite-v2-home .product-image img{position:absolute;inset:0;width:100%;height:100%;display:block}
}
@media (min-width:1024px){
  body.elite-mobile-homepage-v2 .elite-v2-home{display:none!important;}
  body.elite-mobile-homepage-v2 .em-desktop-home{display:block!important;}
}


/* =============================================================
   V2 FINAL INTEGRATION OVERRIDES
   Full viewport from the 1023px upper limit downward. The V2
   structure remains unchanged; only density scales by max-width.
   ============================================================= */
@media (max-width:1023px){
  html:has(body.elite-mobile-homepage-v2),body.elite-mobile-homepage-v2{width:100%;max-width:none;margin:0!important;padding:0!important;background:#fff!important;overflow-x:hidden!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home,body.elite-mobile-homepage-v2 .elite-v2-home .app-shell{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;box-shadow:none!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .bottom-nav{left:0!important;right:0!important;transform:none!important;width:100%!important;max-width:none!important;bottom:0!important;border-radius:0!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{grid-auto-columns:19.2%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:19.2%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-grid{grid-template-columns:repeat(8,minmax(0,1fr));}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-strip{grid-auto-columns:82px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:250px;padding:0;}
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{padding:20px 24px;color:var(--hero-text,#fff);background:radial-gradient(circle at 76% 38%,color-mix(in srgb,var(--hero-accent,#f36b00) 76%,#fff 24%) 0,var(--hero-bg,#281006) 44%,color-mix(in srgb,var(--hero-bg,#281006) 82%,#000 18%) 100%);}
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide:after{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.09) 74%);}
  body.elite-mobile-homepage-v2 .elite-v2-home .pill{background:var(--hero-accent,#f36b00);color:#fff;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy h1{color:var(--hero-text,#fff);max-width:52%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy p,body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy small{display:block;color:var(--hero-text,#fff);max-width:50%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy small{font-size:11px;line-height:1.35;margin:-6px 0 11px;opacity:.9;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy>a{background:#fff!important;color:#111!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-phone{width:31%;height:88%;right:18%;bottom:3%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-bottle{width:22%;height:82%;right:1%;bottom:3%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:160px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image img,body.elite-mobile-homepage-v2 .elite-v2-home .category-strip img,body.elite-mobile-homepage-v2 .elite-v2-home .category-grid img,body.elite-mobile-homepage-v2 .elite-v2-home .store-logo img,body.elite-mobile-homepage-v2 .elite-v2-home .hero-products img{object-fit:contain!important;object-position:center!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image img{padding:4px;background:#f8f8f8;}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-strip img{padding:3px;background:#f6f3f0;}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-grid img{padding:4px;background:#fafafa;}
}
@media (max-width:899px){
  body.elite-mobile-homepage-v2 .elite-v2-home .product-rail,body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:24%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:238px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:150px;}
}
@media (max-width:767px){
  body.elite-mobile-homepage-v2{padding:0!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{grid-auto-columns:31.5%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:26%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-strip{grid-auto-columns:76px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:220px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{padding:16px 18px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:140px;}
}
@media (max-width:430px){
  body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{grid-auto-columns:44%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:36%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .category-strip{grid-auto-columns:68px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:204px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{padding:15px 17px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy h1{max-width:56%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy p,body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy small{max-width:54%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-phone{width:38%;right:18%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-bottle{width:27%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:130px;}
}
@media (max-width:374px){
  body.elite-mobile-homepage-v2 .elite-v2-home .product-rail{grid-auto-columns:46%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .store-rail{grid-auto-columns:39%;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero{height:195px;}
  body.elite-mobile-homepage-v2 .elite-v2-home .product-image{height:120px;}
}
/* Final V2 hero separation: live product art stays clear of editable copy. */
@media (max-width:1023px){
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-phone{width:28%!important;right:18%!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-bottle{width:20%!important;right:1%!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy h1{max-width:50%!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy p,
  body.elite-mobile-homepage-v2 .elite-v2-home .hero-copy small{max-width:48%!important;}
}

/* =============================================================
   V2 LIVE HERO — VERIFIED COPY/PRODUCT SEPARATION
   The editable campaign copy owns the left column. Live products
   own the right column. Informational product images are contained,
   never cropped, and cannot intrude into campaign copy.
   ============================================================= */
@media (max-width:1023px){
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{
    display:grid!important;
    grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
    align-items:stretch!important;
    column-gap:0!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy{
    grid-column:1!important;
    min-width:0!important;
    max-width:none!important;
    align-self:center!important;
    position:relative!important;
    z-index:3!important;
    overflow:hidden!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy h1,
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy p,
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy small{
    max-width:100%!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy h1{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy small{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products{
    grid-column:2!important;
    position:relative!important;
    inset:auto!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products a{
    display:block!important;
    position:absolute!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products a:first-child{
    left:0!important;
    right:auto!important;
    bottom:2%!important;
    width:74%!important;
    height:90%!important;
    z-index:1!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products a:nth-child(2){
    left:auto!important;
    right:0!important;
    bottom:2%!important;
    width:58%!important;
    height:84%!important;
    z-index:2!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products a:only-child{
    left:8%!important;
    right:4%!important;
    bottom:2%!important;
    width:88%!important;
    height:92%!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products img,
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products .hero-phone,
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products .hero-bottle{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    padding:0!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    background:transparent!important;
  }
}
@media (max-width:430px){
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{
    grid-template-columns:minmax(0,55%) minmax(0,45%)!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products a:first-child{
    width:80%!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products a:nth-child(2){
    width:62%!important;
  }
}

/* V2 store identity image containment — logo never escapes its frame. */
@media (max-width:1023px){
  body.elite-mobile-homepage-v2 .elite-v2-home .store-logo{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    height:47px!important;
    min-height:47px!important;
    max-height:47px!important;
    overflow:hidden!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .store-logo img{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:3px!important;
    margin:0!important;
    transform:none!important;
    background:#fff!important;
  }
}

/* V2 editable hero copy guardrails — long admin copy remains inside banner. */
@media (max-width:1023px){
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy{
    height:100%!important;
    max-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:4px!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy .pill{
    flex:0 0 auto!important;
    margin:0!important;
    padding:4px 7px!important;
    line-height:1.15!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy h1{
    flex:0 1 auto!important;
    margin:0!important;
    font-size:clamp(23px,6.6vw,28px)!important;
    line-height:1!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy p{
    flex:0 1 auto!important;
    margin:0!important;
    font-size:clamp(14px,4vw,17px)!important;
    line-height:1.2!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy small{
    flex:0 1 auto!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    -webkit-line-clamp:1!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy>a{
    flex:0 0 auto!important;
    align-self:flex-start!important;
    margin:2px 0 0!important;
    padding:8px 14px!important;
    line-height:1.2!important;
  }
}

/* =============================================================
   V2 HERO — EXACT PRODUCT BINDING VISUAL FINISH
   Sharp black-to-campaign colour field matching the approved V2.
   The right product column remains bright; the left copy remains crisp.
   ============================================================= */
@media (max-width:1023px){
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide{
    background:
      radial-gradient(circle at 84% 34%,color-mix(in srgb,var(--hero-accent,#ff6a00) 86%,#fff 14%) 0,transparent 34%),
      linear-gradient(108deg,#030100 0%,#130300 38%,color-mix(in srgb,var(--hero-bg,#7a2300) 74%,#000 26%) 66%,var(--hero-bg,#7a2300) 84%,var(--hero-accent,#ff6a00) 125%)!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide:after{
    z-index:1!important;
    background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.61) 37%,rgba(0,0,0,.18) 58%,rgba(0,0,0,0) 76%)!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-copy{z-index:3!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products{z-index:2!important;}
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .hero-products img{
    filter:drop-shadow(0 13px 14px rgba(0,0,0,.5))!important;
  }
  body.elite-mobile-homepage-v2 .elite-v2-home .v2-hero-slide .pill{
    background:var(--hero-accent,#ff6a00)!important;
    color:#fff!important;
    box-shadow:0 2px 0 rgba(0,0,0,.16)!important;
  }
}
