/* Hats content, reference storefront presentation. */
body.hats-storefront{--yellow:#fcbf02!important;--store-bg:#0b0b0b!important;--store-text:#f5f5f5!important;--store-font:Montserrat!important;--store-heading:Montserrat!important;--paper:#161616;--ink:#f5f5f5;--muted:#b7b7bd;--line:#383838;background:#0b0b0b;color:var(--ink);font-family:Montserrat,system-ui,sans-serif}
.hats-storefront button,.hats-storefront input,.hats-storefront textarea,.hats-storefront select{font-family:inherit}
.hats-storefront h1,.hats-storefront h2,.hats-storefront h3{font-family:Montserrat,system-ui,sans-serif!important;letter-spacing:0;line-height:1.25}
body.hats-storefront .topbar{display:grid;grid-template-columns:1fr auto 1fr;background:var(--yellow);color:#000;border:0;min-height:88px;padding:calc(12px + env(safe-area-inset-top,0px)) max(18px,calc((100vw - 1160px)/2)) 12px;gap:12px}
.hats-storefront .brand{justify-content:center}.hats-storefront .brand-logo{width:64px;height:64px;border-radius:50%}.hats-storefront .brand>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hats-storefront .club-link{justify-self:end;background:transparent;color:#000;padding:10px 0;font-size:.875rem;font-weight:700;border-radius:0;white-space:nowrap}.hats-storefront .status-pill,.hats-storefront .install-button{display:none}
.menu-toggle{border:0;background:transparent;color:#000;display:grid;place-items:center;width:44px;height:44px;padding:8px;cursor:pointer}
.hats-storefront main{max-width:1160px}.burger-carousel{position:relative;background:#080808;overflow:hidden}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;min-width:0;height:440px;display:flex;justify-content:center;background:#080808}.carousel-slide img{display:block;width:100%;height:100%;object-fit:contain}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:#0009;color:#fff;font:40px/1 system-ui;display:grid;place-items:center;padding:0 0 5px;cursor:pointer}.carousel-arrow.previous{left:16px}.carousel-arrow.next{right:16px}.carousel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:0}.carousel-dots button{width:32px;height:40px;border:0;background:transparent;position:relative;cursor:pointer}.carousel-dots button:after{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#d5d5d5a8;margin:auto}.carousel-dots button[aria-current=true]:after{background:var(--yellow)}
.store-strip{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.875rem;line-height:1.6;background:#161616}.store-strip p{margin:0;font-weight:600}.store-strip span{color:var(--yellow);font-weight:700;margin-right:6px}.store-strip strong{font-weight:600;white-space:nowrap}
.hats-storefront .category-tabs{padding:22px 24px;gap:10px;margin:0;scroll-margin-top:100px}.hats-storefront .tab{border:1px solid #383838;box-shadow:0 2px 4px #00000006;color:#ddd;background:#161616;font-size:.875rem;font-weight:600;padding:12px 20px;text-transform:uppercase;min-height:44px}.hats-storefront .tab.active{background:var(--yellow);border-color:var(--yellow);color:#111}
.hats-storefront .menu-section{padding:0 24px 24px}.hats-storefront .section-heading{align-items:center;justify-content:center;position:relative;background:#22211d;color:#fff;padding:20px;min-height:72px;margin:0 0 24px;gap:16px}.hats-storefront .section-heading h2{font-size:1.25rem;font-weight:700;text-align:center;margin:0}.hats-storefront .section-heading>span{position:absolute;right:16px;color:#ddd;font-size:.75rem;font-weight:500}
.hats-storefront .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hats-storefront .product-card{display:grid;grid-template-columns:38% minmax(0,1fr);align-items:center;min-height:0;border:0;border-radius:20px;background:#191919!important;color:var(--ink)!important;box-shadow:0 3px 5px #00000013}.hats-storefront .product-card img{width:100%;height:auto;aspect-ratio:1;min-height:0;margin:0;object-fit:cover;background:#080808;border-radius:0}.hats-storefront .product-info{display:flex;flex-direction:column;gap:0;padding:16px;min-width:0;align-self:stretch}.hats-storefront .product-info h3{font-size:1rem;font-weight:700;margin:0 0 8px;text-transform:uppercase;overflow-wrap:anywhere}.hats-storefront .product-info p{font-size:.875rem;line-height:1.5;font-weight:400;color:#b7b7bd;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 14px}.hats-storefront .product-bottom{margin-top:auto;gap:8px;flex-wrap:nowrap;min-width:0}.hats-storefront .product-bottom>span{font-size:.75rem;line-height:1.35;color:#b7b7bd}.hats-storefront .product-bottom strong{display:block;font-size:1.25rem;line-height:1.3;font-weight:800;color:var(--ink);white-space:nowrap}.hats-storefront .add-circle{background:var(--yellow);color:#111;font:500 1.75rem/1 Montserrat,sans-serif;width:40px;height:40px;min-width:40px;display:grid;place-items:center;font-style:normal}
.hats-storefront .store-details{margin:8px 24px 28px;border-color:#383838;scroll-margin-top:105px}.hats-storefront .store-details summary{font-size:.875rem;font-weight:600}.hats-storefront .business-links{line-height:1.7}.hats-storefront .storefront-footer{background:#080808;color:#fff;flex-direction:column;justify-content:center;padding:36px 20px;gap:20px;margin-top:0}.hats-storefront .storefront-footer img{width:80px;height:80px;object-fit:contain;border-radius:50%}.hats-storefront .storefront-footer a{font-size:.875rem;font-weight:500;color:#aaa}
.hats-storefront .sheet-card{background:#191919!important;color:var(--ink)!important}.hats-storefront .sheet-content h2{font-size:1.65rem;font-weight:700;text-transform:none}.hats-storefront .product-hero{width:calc(100% - 64px);height:auto;aspect-ratio:1;margin:64px auto 0;background-size:cover;background-color:#080808;border-radius:0}.hats-storefront .sheet-content{padding:24px}.hats-storefront .description{font-size:1rem;line-height:1.55;color:#b7b7bd}.hats-storefront .eyebrow{letter-spacing:.03em;font-size:.875rem}.hats-storefront .choice{background:#191919!important;border-radius:0;border:0;border-bottom:1px solid #383838;padding:16px 0;color:var(--ink)!important}.hats-storefront .choice b{font-weight:500;font-size:1rem}.hats-storefront .primary{background:var(--yellow);color:#000;border-radius:999px;font-family:inherit;font-weight:700;font-size:1rem;min-height:48px}.hats-storefront .sheet-action{background:#161616;border-top:1px solid #383838;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));gap:12px}.hats-storefront .quantity button{border:1px solid #444;background:#161616;border-radius:50%;width:40px;height:40px;color:#eee;font-weight:400}.hats-storefront .quantity b{font-weight:600}.hats-storefront .cart-item{border:1px solid #383838;border-radius:14px;background:#222!important;padding:18px;color:var(--ink)!important}.hats-storefront .cart-item h3{font-size:1rem;font-weight:600}.hats-storefront .cart-item strong{font-weight:800}.hats-storefront .cart-item button{background:transparent;color:#dc3636;font-weight:600}.hats-storefront .cart-bar{background:var(--yellow);color:#111;border-radius:14px}.hats-storefront .cart-count{background:#111;color:#fff}.hats-storefront .checkout-action>div strong{font-weight:800}.hats-storefront .checkout-action .primary{border-radius:14px}
.site-menu{position:fixed;inset:0 0 auto;margin:0;width:100%;max-width:none;max-height:90dvh;overflow:auto;background:var(--yellow);color:#000;padding:calc(18px + env(safe-area-inset-top,0px)) max(24px,calc((100vw - 700px)/2)) 36px;border:0;box-shadow:0 10px 30px #0003}.site-menu::backdrop{background:#0009}.menu-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #0002;padding-bottom:18px}.menu-heading img{border-radius:50%}.menu-heading button{width:44px;height:44px;border:0;background:transparent;font:36px/1 system-ui}.site-menu nav{display:grid;gap:24px;padding-top:30px}.site-menu a{color:#000;text-decoration:none;text-transform:uppercase;font-size:1.125rem;font-weight:600;line-height:1.5}.hats-storefront :focus-visible{outline:3px solid #355fd5;outline-offset:3px}
@media(max-width:700px){.hats-storefront .topbar{min-height:80px;padding-left:16px;padding-right:16px}.hats-storefront .brand-logo{width:58px;height:58px}.carousel-slide{height:390px;height:clamp(300px,100vw,450px)}.store-strip{padding:16px;flex-wrap:wrap;gap:6px}.hats-storefront .category-tabs{padding:20px 16px}.hats-storefront .menu-section{padding:0 16px 20px}.hats-storefront .section-heading{padding:18px 12px;margin-bottom:20px;flex-direction:column;gap:4px}.hats-storefront .section-heading>span{position:static}.hats-storefront .product-grid{grid-template-columns:1fr;gap:16px}.hats-storefront .product-card{grid-template-columns:38% minmax(0,1fr);border-radius:18px}.hats-storefront .product-info{padding:12px;min-height:140px}.hats-storefront .product-info h3{font-size:.875rem;margin-bottom:6px}.hats-storefront .product-info p{font-size:.875rem;margin-bottom:10px}.hats-storefront .product-bottom strong{font-size:1.125rem}.hats-storefront .add-circle{width:36px;height:36px;min-width:36px}.hats-storefront .store-details{margin:8px 16px 24px}.hats-storefront .sheet-content{padding:24px 20px}.hats-storefront .sheet-content h2{font-size:1.5rem}.hats-storefront .sheet-action:not(.checkout-action){display:flex;flex-wrap:wrap}.hats-storefront .sheet-action:not(.checkout-action) .primary{flex:1;min-width:150px}}
@media(prefers-reduced-motion:reduce){.hats-storefront *{scroll-behavior:auto!important;transition:none!important}}

/* Consistent dark surfaces throughout the ordering flow. */
.hats-storefront .club-link{border:1.5px solid #111;border-radius:999px;padding:10px 14px;min-height:44px;text-align:center}
.hats-storefront .club-link:hover{background:#111;color:var(--yellow)}
.hats-storefront .store-details .business-links{gap:12px;padding:0 18px 20px}
.hats-storefront .store-details .business-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #444;border-radius:12px;text-decoration:none;font-weight:600;background:#202020}
.hats-storefront .store-details .business-links>a:hover{border-color:var(--yellow);color:var(--yellow)}
.hats-storefront .weekly-shop-hours{flex-basis:100%;margin-top:12px;color:#eee}
.hats-storefront .weekly-shop-hours h3{font-size:1rem;font-weight:600;margin:0 0 12px}
.hats-storefront .weekly-shop-hours dl{margin:0}
.hats-storefront .hours-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #303030;font-size:.875rem;line-height:1.5}
.hats-storefront .hours-row:last-child{border:0}
.hats-storefront .hours-row dt{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.hats-storefront .hours-row dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.hats-storefront .hours-row.is-today dt{color:var(--yellow);font-weight:600}
.hats-storefront .hours-today{font-size:.75rem;background:#342c11;border-radius:6px;padding:2px 6px;color:#ffde74}
.hats-storefront .hours-closed{color:#b7b7bd}
@media(max-width:350px){.hats-storefront .club-link{padding:10px;font-size:.8125rem}.hats-storefront .hours-row{grid-template-columns:1fr;gap:4px}.hats-storefront .hours-row dd{text-align:left}}
body.hats-storefront{color-scheme:dark}
.hats-storefront .segmented label[hidden]{display:none}
.hats-storefront .club-signup{background:#242012;border-color:#786421}
.hats-storefront .club-fields{background:#191919;border-color:#444}
.hats-storefront .club-toggle small,.hats-storefront .club-fields>small{color:#c9c9c9;font-size:.875rem;line-height:1.5}
.hats-storefront .club-fields a{color:var(--yellow);text-underline-offset:3px}
.hats-storefront .club-toggle input,.hats-storefront .club-notify input{accent-color:var(--yellow)}
.hats-storefront .club-fields>label{min-width:0;font-size:1rem;font-weight:600}
.hats-storefront .club-fields input:not([type=checkbox]){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #444;border-radius:11px;font:inherit}
.hats-storefront .form-grid input,.hats-storefront .delivery-fields input,.hats-storefront .notes textarea,.hats-storefront .coupon-box input,.hats-storefront select{font-size:1rem;min-width:0}
.hats-storefront .form-grid>label{min-width:0}
.hats-storefront .map-status,.hats-storefront .field-help,.hats-storefront .coupon-box p{font-size:.875rem;line-height:1.5}
.hats-storefront .checkout-action>div{min-width:0}
@media(max-width:420px){.hats-storefront .form-grid{grid-template-columns:1fr}.hats-storefront .checkout-action{flex-wrap:wrap;gap:12px}.hats-storefront .checkout-action .primary{flex:1;min-width:160px;padding:12px;font-size:.875rem}}
.hats-storefront .store-strip,.hats-storefront .tab{background:#161616;color:#eee}
.hats-storefront .tab.active{background:var(--yellow);color:#111}
.hats-storefront .store-strip span{color:var(--yellow)}
.hats-storefront .product-card{box-shadow:0 3px 12px #0003;border:1px solid #292929}
.hats-storefront .product-card img{object-fit:cover;object-position:center}
.hats-storefront .segmented label span,.hats-storefront .delivery-fields,.hats-storefront input:not([type=checkbox]):not([type=radio]),.hats-storefront textarea,.hats-storefront select{background:#242424;color:#f5f5f5;border-color:#444}
.hats-storefront input::placeholder,.hats-storefront textarea::placeholder{color:#aaa}
.hats-storefront .segmented label input:checked+span{background:var(--yellow);border-color:var(--yellow);color:#111}
.hats-storefront .choice input,.hats-storefront input[type=checkbox]{accent-color:var(--yellow)}
.hats-storefront .back-button,.hats-storefront .close{background:#292929;color:#fff}
.hats-storefront .empty-category,.hats-storefront .client-message,.hats-storefront .success-modal,.hats-storefront .fake-order{background:#191919;color:#f5f5f5;border-color:#444}
.hats-storefront .coupon-box button{background:var(--yellow);color:#111}
.hats-storefront .coupon-box p,.hats-storefront .map-status.ready{color:#78dda6}
.hats-storefront .cart-item button{color:#ff7979}
.hats-storefront .campaign-date,.hats-storefront .promotion-card.incentive,.hats-storefront .payment-restriction{background:#342c11;color:#ffde74;border-color:#786421}
.hats-storefront .sheet-action .whatsapp-button{background:var(--yellow)!important;color:#111}
.hats-storefront .carousel-slide img{object-fit:cover;object-position:center}
.hats-storefront .carousel-slide{height:auto;aspect-ratio:3/2}
@media(max-width:700px){.hats-storefront .carousel-slide{height:auto;aspect-ratio:1}.hats-storefront .carousel-slide img{height:100%;width:100%}}

/* Navigation stays in document flow and reserves the device's safe area. */
.hats-storefront .sheet{height:100dvh}
.hats-storefront .sheet-card{height:100%;top:0;border-radius:0;padding-bottom:calc(180px + env(safe-area-inset-bottom,0px))}
.hats-storefront .sheet-navigation{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#191919;padding:calc(16px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 12px max(20px,env(safe-area-inset-left,0px))}
.hats-storefront .sheet .sheet-navigation .back-button,.hats-storefront .sheet .sheet-navigation .close{position:static;flex:none;min-height:44px;margin:0;box-shadow:none}
.hats-storefront .sheet-navigation .back-button{height:auto;padding:12px 18px;font-family:inherit;font-weight:700;font-size:.9375rem;line-height:1.3}
.hats-storefront .sheet-navigation .back-button span{margin:0}
.hats-storefront .sheet-navigation .close{width:44px;height:44px}
.hats-storefront .product-hero{margin-top:12px}
.hats-storefront .sheet-content{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));min-width:0}
.hats-storefront .cart-item{grid-template-columns:minmax(0,1fr) auto;overflow-wrap:anywhere}
.hats-storefront .checkout-action{display:flex;flex-wrap:wrap}
.hats-storefront .checkout-action .primary{min-width:0;flex:1 1 180px;white-space:normal}
@media(max-width:360px){.hats-storefront .coupon-box>div{flex-wrap:wrap}.hats-storefront .coupon-box input{min-width:0;flex:1 1 160px}.hats-storefront .coupon-box button{flex:1 1 100px}}

/* Compact product preview for the offers shown inside checkout. */
.promotion-product{display:flex;align-items:center;gap:12px;min-width:0}
.promotion-product-photo{display:block;flex:0 0 72px;width:72px;height:72px;object-fit:cover;border-radius:10px;background:#242424}
.promotion-copy{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.promotion-card .promotion-copy>span{font-size:.75rem;letter-spacing:.06em;line-height:1.4}
.promotion-card .promotion-copy>p{font-size:.875rem;line-height:1.45}
.promotion-card.unlocked button{color:#111;min-height:44px;white-space:normal}
@media(max-width:420px){.promotion-product{gap:10px}.promotion-product-photo{flex-basis:64px;width:64px;height:64px}}

.hats-storefront #coupon-status[data-state="error"]{color:#ff9298}.hats-storefront #coupon-status[data-state="success"]{color:#78dda6}

.menu-load-status{padding:16px;margin-bottom:16px;border:1px solid var(--yellow);border-radius:14px;background:#fffbdf;color:#111}.menu-load-status[hidden]{display:none}.menu-load-status button{padding:10px 16px;border:0;border-radius:10px;background:#111;color:white;font:inherit;font-weight:700}.order-receipt{margin:20px 0;display:flex;justify-content:space-between;gap:12px;padding:15px;background:#f1f1ee;border-radius:12px}.success-card a,.success-card button{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin-top:10px}.success-card h2{overflow-wrap:anywhere}.success-card #finish-order{border:0;background:transparent;text-decoration:underline;font:inherit}.success-modal{max-height:90dvh;overflow:auto}

.hats-storefront .success-modal{background:#161616;color:#f5f5f5;border:1px solid #383838}.hats-storefront .order-receipt{background:#252525}.hats-storefront .success-card a:not(.primary),.hats-storefront .success-card #finish-order{color:#f5f5f5}.hats-storefront .success-card .primary{color:#111;text-decoration:none}
