.storefront {
  --night:#0d1530;--sun:#ffc83d;--green:#0f9d6b;--wine:#7a1631;
  --blue:var(--wine);--navy:var(--night);--ink:#0d1530;--surface:#fff;
  --background:#f6f7fb;--subtle:#eef0f7;--line:#dce1eb;--muted:#526079;
  color:var(--ink);background:var(--background);font-family:"DM Sans",system-ui,sans-serif;
}
.storefront :is(h1,h2,h3,.store-brand strong){font-family:"Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.035em}
.storefront h2{font-size:clamp(1.6rem,4vw,2.65rem);line-height:1.02}
.storefront h3{line-height:1.15}
.storefront .wrap{width:min(1280px,calc(100% - 2rem))}
.storefront main{display:grid;grid-template-columns:minmax(0,1fr);gap:1.65rem;padding:1rem 0 2.5rem}
.storefront a{color:inherit}
.storefront :is(input,select,textarea,dialog){background:var(--surface);color:var(--ink);border-color:var(--line)}
.storefront .muted,.storefront small{color:var(--muted)}
.storefront :is(button,.button){border-radius:999px}
.storefront .secondary{background:var(--subtle);color:var(--ink);border-color:var(--line)}
.storefront :focus-visible{outline:3px solid var(--green);outline-offset:3px}
.storefront [id]{scroll-margin-top:8.5rem}
.utility{background:var(--night);color:#fff;font-size:.79rem}
.utility-content{display:flex;align-items:center;justify-content:space-between;gap:.35rem .85rem;flex-wrap:wrap;padding:.5rem 0}
.utility a{text-decoration:none}
.utility a:hover{text-decoration:underline}
.utility .admin-link{background:var(--wine);padding:.35rem .65rem;border-radius:999px;color:#fff;font-weight:700}
.storefront .store-header{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}
.storefront .masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;padding:.55rem 0}
.storefront .store-header a{color:inherit}
.store-brand{display:flex;align-items:center;gap:.5rem;min-width:0}
.store-brand img{width:2.35rem;height:auto;border-radius:7px;flex:none}
.store-brand strong,.store-brand small{display:block;line-height:1.1}
.store-brand strong{font-size:clamp(.96rem,2.7vw,1.14rem)}
.store-brand small{font-size:.69rem}
.main-menu,.category-tabs,.level-choices{display:flex;min-width:0;overflow-x:auto;gap:.4rem;scrollbar-width:thin;padding:.25rem .16rem .45rem}
.main-menu{grid-row:2;grid-column:1/-1}
.main-menu a,.category-tabs a,.level-choices button{flex:none;white-space:nowrap;text-decoration:none;font-weight:700;border-radius:999px}
.main-menu a{font-size:.84rem;padding:.45rem .55rem}
.main-menu a:hover,.main-menu a[aria-current=true]{background:var(--subtle)}
.basket-button{grid-column:2;grid-row:1;background:var(--wine);font-size:.78rem;min-height:38px;padding:.42rem .62rem;gap:.17rem}
.hero-shell{background:var(--night);color:#fff;border-radius:28px;position:relative;overflow:hidden;display:grid;gap:1.35rem;padding:clamp(1.1rem,4vw,3.6rem)}
.hero-copy,.hero-media{min-width:0}
.eyebrow{color:#f6d978;text-transform:uppercase;font-weight:700;letter-spacing:.13em;font-size:.67rem;margin-bottom:.8rem}
.hero-shell h1{font-size:clamp(3.1rem,11vw,7.25rem);line-height:.84;letter-spacing:-.075em;margin:0 0 1.05rem;font-weight:800}
.hero-shell h1 em{font-style:normal;color:var(--sun)}
.hero-intro{max-width:43ch;color:#e0e5f4;font-size:clamp(.95rem,2vw,1.12rem)}
.hero-benefits,.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .8rem;margin-top:.85rem}
.hero-benefits{font-size:.77rem;font-weight:700;color:#e2e7f5}
.hero-benefits span::before{content:"✓";color:#70e2b5;margin-right:.24rem}
.storefront .gold-button{background:var(--sun);color:var(--night);gap:.45rem}
.storefront .outline-button{border:1px solid #ffffff85;color:white;background:transparent;gap:.45rem}
.hero-actions a{min-height:40px;font-size:.85rem}
.hero-media{position:relative;align-self:center;margin:.4rem .35rem .35rem;padding:.45rem;border-radius:23px;background:var(--sun);transform:rotate(-2deg)}
.hero-media img{display:block;width:100%;height:auto;aspect-ratio:1.68;object-fit:cover;object-position:73% center;border-radius:17px}
.hero-media figcaption{position:absolute;right:-.22rem;bottom:-.25rem;padding:.5rem .75rem;border-radius:12px;background:var(--wine);color:#fff;transform:rotate(4deg);font:800 clamp(.8rem,2vw,1.35rem)/1 "Bricolage Grotesque",system-ui,sans-serif}
.levels h2{margin-bottom:.55rem;font-size:clamp(1.3rem,3vw,1.85rem)}
.level-choices button,.category-tabs a{color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:.49rem .8rem;font-size:.88rem;gap:.25rem}
.level-choices button[aria-pressed=true],.category-tabs a[aria-current=true]{color:#fff;background:var(--wine);border-color:var(--wine)}
.catalog-head,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap}
.catalog-head :is(h2,h3,p),.dialog-heading h2{margin:0}
.catalog-head p{font-size:.9rem}
.catalog-tools{margin:.8rem 0 1rem;display:grid;gap:.45rem}
.store-search{position:relative}
.store-search span[aria-hidden]{position:absolute;left:.8rem;top:.52rem;font:1.6rem/1 system-ui,sans-serif;pointer-events:none}
.store-search input{padding:.66rem .8rem .66rem 2.45rem;border-radius:14px}
.store-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));gap:.5rem;align-items:end}
.store-filters label{min-width:0}
.store-filters select{padding:.45rem;border-radius:11px}
.more-filters summary{cursor:pointer;width:fit-content;font-weight:700;padding:.28rem .2rem}
.more-filters .store-filters{padding-top:.4rem}
.featured{border-top:1px solid var(--line);padding:.7rem 0 0;margin:.7rem 0 1rem}
.rail-controls{display:flex;gap:.25rem}
.rail-controls button{min-height:36px;padding:.35rem .6rem;font-size:.83rem}
.product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(145px,57%,245px);gap:.65rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.55rem .12rem .52rem;scrollbar-width:thin}
.product-rail article{scroll-snap-align:start}
.storefront .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.storefront .card{display:flex;min-width:0;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:22px}
.storefront .card-body{display:flex;flex-direction:column;flex:1;padding:.6rem;overflow-wrap:anywhere}
.storefront .card-body h3{font-size:.96rem;margin:.18rem 0 .42rem}
.storefront .card-body p{margin-bottom:.33rem}
.storefront .cover-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:var(--subtle)}
.storefront .cover-open:focus-visible{outline-offset:-3px}
.storefront .cover-open img,.storefront .cover-open .cover-fallback{display:block;width:100%;height:auto;aspect-ratio:4/4.5;object-fit:contain}
.storefront .cover-open img{padding:.45rem}
.storefront .cover-open .cover-fallback{display:grid}
.cover-fallback{display:grid;align-content:center;justify-items:center;min-height:100px;gap:.2rem;text-align:center;overflow-wrap:anywhere;padding:.55rem;color:#fff;background:linear-gradient(145deg,#283a72,var(--night) 65%,var(--wine));font-weight:800}
.cover-fallback small{color:var(--sun);font-size:.61rem}
.product-meta{font-size:.78rem;color:var(--muted)}
.storefront .tag{align-self:flex-start;background:var(--sun);color:var(--night)}
.product-actions{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:auto;padding-top:.3rem}
.product-actions :is(button,.button){font-size:.74rem;min-height:36px;padding:.3rem .5rem}
.storefront .empty{background:var(--surface);padding:1rem}
.services{display:grid;gap:.75rem}
.services>section,.contact-block,.order-help li{border-radius:24px;padding:clamp(.9rem,2.8vw,1.6rem)}
.delivery-panel,.order-help li{background:var(--surface);border:1px solid var(--line)}
.delivery-panel ul{margin:0;padding:0;list-style:none}
.delivery-panel li{display:flex;justify-content:space-between;gap:.45rem;padding:.36rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.delivery-panel li:last-child{border:0}
.delivery-panel strong{white-space:nowrap}
.digital-panel{background:var(--wine);color:#fff}
.digital-panel p{max-width:50ch}
.order-help ol{list-style:none;counter-reset:instruction;margin:0;padding:0;display:grid;gap:.6rem}
.order-help li{counter-increment:instruction}
.order-help li::before{content:counter(instruction);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;margin-bottom:.6rem;background:var(--sun);color:var(--night);font-weight:800}
.order-help li p,.contact-block h2:last-child{margin:0}
.contact-block{background:var(--sun);color:var(--night)}
.storefront .contact-primary{background:var(--night);color:white}
.storefront .contact-outline{border:1px solid #0d153066;background:transparent;color:var(--night)}
.storefront .footer{background:var(--night);color:#fff;padding:1.5rem 0}
.store-footer{display:grid;gap:1rem}
.store-footer a{display:block;overflow-wrap:anywhere}
.store-footer address{font-style:normal;font-size:.9rem}
.store-footer p{color:#dde2f1}
.storefront dialog{padding:1rem;border-radius:24px;max-width:calc(100% - 1rem)}
.dialog-heading{margin-bottom:.65rem}
.storefront #cart{inset:0 0 0 auto;margin:0;width:min(100%,440px);max-width:100%;height:100%;max-height:100%;border-radius:23px 0 0 23px}
.storefront #cart .cart-item{overflow-wrap:anywhere}
.storefront #cart .cart-item input{width:5rem}
.storefront #details .dialog-heading{justify-content:flex-end}
.storefront .thumbs img{width:min(100%,260px);height:auto;max-width:100%;max-height:48vh;object-fit:contain}
#customer-summary{margin-top:1rem;background:var(--surface)}
#preview-pages{user-select:none;-webkit-user-select:none}
#reader-page{width:5rem}
#reader-nav{align-items:end}
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:10;transform:translateY(-200%);background:var(--surface);padding:.6rem}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:620px){
 .storefront .wrap{width:min(1280px,calc(100% - 3rem))}
 .hero-shell{grid-template-columns:.95fr 1.05fr;gap:1.7rem;align-items:center}
 .hero-shell h1{font-size:clamp(3.2rem,7.6vw,7.25rem)}
 .hero-media img{aspect-ratio:1.13}
 .services,.store-footer{grid-template-columns:1fr 1fr}
 .order-help ol{grid-template-columns:repeat(3,minmax(0,1fr))}
 .storefront .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
 .product-rail{grid-auto-columns:clamp(150px,31%,245px)}
}
@media(min-width:1050px){
 .storefront .masthead{display:flex;gap:.95rem;justify-content:space-between}
 .store-brand{flex:none}
 .main-menu{gap:.18rem}
 .hero-media img{aspect-ratio:1.35}
 .storefront .cards{grid-template-columns:repeat(5,minmax(0,1fr))}
 .product-rail{grid-auto-columns:clamp(150px,22%,245px)}
 .storefront .card-body{padding:.78rem}
}
@media(prefers-color-scheme:dark){
 .storefront{color-scheme:dark;--ink:#f3f5ff;--surface:#171f39;--background:#10172b;--subtle:#222d4c;--line:#384460;--muted:#bbc5dc;--wine:#92304d}
 .storefront .notice{background:#262f4c}
 .storefront .notice.error{background:#48243a;color:#ffd8df}
}
@media(prefers-reduced-motion:reduce){.storefront *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{#preview,#preview-pages{display:none!important}}
.header-actions{display:flex;gap:.5rem;align-items:center}
.mobile-dock,.mobile-admin{display:none}
.network-notice{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.35rem .65rem;margin:0;padding:.4rem 1rem;background:#fff1bd;color:#352600;text-align:center;font-weight:700}
.network-notice p{margin:0}
.form-stack,.storefront #customer-form .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
.form-stack{margin:.8rem 0}
#local-profile{margin:1rem 0}
#local-profile summary{cursor:pointer;font-weight:700}
.storefront .share-whatsapp{white-space:normal;line-height:1.2;text-align:center}
.cart-checkout{position:sticky;bottom:-1rem;margin-inline:-1rem;padding:.65rem 1rem max(.65rem,env(safe-area-inset-bottom));background:var(--surface)}
.cart-checkout p:not(:empty){margin-bottom:.35rem}
.cart-checkout #checkout{width:100%;background:#076347}
.tracking-page :is(button,.button){min-height:48px}
@media(max-width:759px){
 .storefront{font-size:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .storefront.has-cart{padding-bottom:calc(128px + env(safe-area-inset-bottom))}
 .storefront [id]{scroll-margin-top:4.5rem}
 .storefront .wrap{width:min(100% - 1.25rem,1280px)}
 .storefront main{gap:1.3rem}
 .utility,.header-actions,.main-menu{display:none}
 .storefront .masthead{display:flex;min-height:58px;justify-content:flex-start;padding-inline:0}
 .store-brand strong,.store-brand small{font-size:1rem}
 .store-brand small{font-weight:400}
 .storefront :is(button,.button,input,select,summary),.storefront label{font-size:1rem}
 .storefront :is(button,.button,input:not([type=checkbox]),select,summary){min-height:48px}
 .storefront summary{align-content:center}
 .storefront :is(.eyebrow,.hero-benefits,.level-choices button,.category-tabs a,.catalog-head p,.product-meta,.store-footer address,.delivery-panel li,.cover-fallback small,.hero-media figcaption,.tag){font-size:1rem}
 .storefront .card-body h3{font-size:1rem}
 .category-tabs a,.store-footer a,.store-brand{display:flex;align-items:center;min-height:48px}
 .storefront .contact-block a{max-width:100%;overflow-wrap:anywhere;justify-content:flex-start;text-align:left}
 .hero-shell{gap:1rem}
 .hero-shell h1{font-size:clamp(3.25rem,13vw,5.2rem)}
 .hero-intro{font-size:1rem}
 .hero-benefits{display:grid;gap:.25rem}
 .hero-actions{gap:.48rem}
 .storefront .product-actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .product-actions :is(button,.button){white-space:normal;line-height:1.2;text-align:center}
 .storefront .mobile-admin{display:flex}
 .mobile-dock{display:block;position:fixed;z-index:4;inset:auto 0 0;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}
 .bottom-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
 .bottom-menu :is(a,button){min-width:0;min-height:64px;display:grid;align-content:center;justify-items:center;gap:3px;padding:4px 1px;background:none;border:0;color:var(--ink);border-radius:0;line-height:1.1;font-weight:700;text-align:center;text-decoration:none;font-size:1rem}
 .bottom-menu :is(a,button):active,.bottom-menu [aria-current=location]{color:var(--wine);background:var(--subtle)}
 .bottom-menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .basket-icon{position:relative;height:22px}
 .basket-count{position:absolute;top:-7px;left:70%;min-width:1.2rem;padding:.12rem .2rem;border-radius:999px;background:var(--wine);color:white;font-size:1rem}
 .storefront #mobile-checkout{display:flex;width:calc(100% - 1rem);margin:.38rem auto .15rem;background:#076347;color:white}
 .storefront #cart{width:100%;max-width:100%;height:100%;height:100dvh;max-height:100%;max-height:100dvh;border-radius:0}
 .storefront dialog{max-height:calc(100dvh - .5rem)}
 .dialog-heading{row-gap:.25rem}
}
