/*
Theme Name: Saitta School
Theme URI: https://saittaschool.it
Author: Saitta Pubblicità & Comunicazione
Description: Tema ecommerce scolastico personalizzato per Saitta School. Richiede WooCommerce e Saitta School Core.
Version: 1.0.2
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: saitta-school
*/

:root { --yellow:#ffdc19; --ink:#121212; --paper:#fffdf4; --blue:#80cef1; --pink:#f3a5ba; --lime:#dcff72; --line:rgba(18,18,18,.13); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; overflow-x:hidden; }
button,input { font:inherit; }
a { color:inherit; text-decoration:none; }
main { min-height:100vh; }

[data-slot="dialog-overlay"] { background:rgba(18,18,18,.78)!important; backdrop-filter:blur(7px); }
.intro-dialog { width:min(920px,calc(100vw - 24px))!important; max-width:920px!important; max-height:calc(100svh - 24px); padding:0!important; display:grid!important; grid-template-columns:minmax(300px,.88fr) minmax(360px,1.12fr); gap:0!important; overflow:hidden; border:3px solid var(--ink)!important; border-radius:28px!important; background:var(--paper)!important; box-shadow:14px 14px 0 var(--yellow)!important; }
.intro-poster { min-height:600px; display:grid; place-items:center; overflow:hidden; background:#1b1b1b; }
.intro-poster img { width:100%; height:100%; display:block; object-fit:contain; }
.intro-school { min-width:0; padding:36px; display:flex; flex-direction:column; justify-content:center; overflow-y:auto; }
.intro-step { width:fit-content; margin-bottom:12px; padding:7px 9px; display:inline-block; border-radius:7px; background:var(--ink); color:var(--yellow); font-size:8px; font-weight:950; letter-spacing:1.4px; }
.intro-school [data-slot="dialog-title"],.colors-dialog [data-slot="dialog-title"] { margin:0; font:950 42px/.92 "Arial Black",Arial,sans-serif; letter-spacing:-2.5px; text-transform:uppercase; }
.intro-school [data-slot="dialog-description"],.colors-dialog [data-slot="dialog-description"] { margin-top:12px; color:#6c675e; font-size:13px; font-weight:700; line-height:1.5; }
.intro-school>label { margin:25px 0 8px; font-size:9px; font-weight:950; letter-spacing:.8px; text-transform:uppercase; }
.intro-continue { width:100%; min-height:54px; margin-top:20px; gap:10px!important; border-radius:14px!important; background:var(--ink)!important; color:white!important; font-weight:950!important; }
.intro-continue svg { width:17px; }
.intro-school>p { margin:13px 0 0; display:flex; align-items:center; justify-content:center; gap:7px; color:#6b665d; font-size:9px; font-weight:800; text-align:center; }
.intro-school>p svg { width:14px; }

.site-header { position:fixed; z-index:50; top:14px; left:50%; transform:translateX(-50%); width:min(1180px,calc(100% - 28px)); height:70px; padding:8px 9px 8px 18px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(18,18,18,.1); border-radius:22px; background:rgba(255,255,255,.92); box-shadow:0 18px 50px rgba(18,18,18,.12); backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.brand img { width:142px; height:46px; object-fit:contain; object-position:left center; }
.brand span { padding:7px 9px 6px; border-radius:7px; background:var(--yellow); font-size:8px; font-weight:950; letter-spacing:1.7px; text-transform:uppercase; }
.nav { display:flex; gap:32px; font-size:13px; font-weight:900; }
.nav a { position:relative; }
.nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:3px; border-radius:99px; background:var(--yellow); transition:right .25s; }
.nav a:hover::after { right:0; }
.header-actions { display:flex; align-items:center; gap:7px; }
.menu-button { display:none!important; }
.cart-button { height:52px!important; padding:0 8px 0 18px!important; gap:10px!important; border-radius:16px!important; background:var(--ink)!important; color:white!important; font-weight:900!important; }
.cart-button svg { width:18px; }
.cart-button b { width:35px; height:35px; display:grid; place-items:center; border-radius:11px; background:var(--yellow); color:var(--ink); }

.transform-story { position:relative; height:265vh; min-height:1900px; background:var(--yellow); }
.transform-sticky { position:sticky; top:0; height:100vh; height:100svh; min-height:660px; padding:108px max(6vw,28px) 52px; display:grid; grid-template-columns:48% 52%; align-items:center; overflow:hidden; background:radial-gradient(circle at 11% 31%,rgba(255,255,255,.74) 0 3px,transparent 4px) 0 0/33px 33px,var(--yellow); }
.transform-sticky::before { content:""; position:absolute; width:48vw; height:48vw; min-width:620px; min-height:620px; right:-8vw; bottom:-16vw; border-radius:44% 56% 62% 38%/48% 41% 59% 52%; background:var(--blue); box-shadow:inset 18px 20px 0 rgba(255,255,255,.18); transform:rotate(7deg); }
.story-copy-wrap { position:relative; z-index:3; height:min(620px,72vh); }
.story-copy { position:absolute; inset:50% 0 auto; max-width:680px; opacity:0; pointer-events:none; transform:translateY(calc(-50% + 35px)); transition:opacity .45s,transform .65s cubic-bezier(.2,.8,.2,1); }
.story-copy.active { opacity:1; pointer-events:auto; transform:translateY(-50%); }
.eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 18px; font-size:11px; font-weight:950; letter-spacing:2px; text-transform:uppercase; }
.eyebrow svg { width:16px; }
.story-copy :is(h1,h2) { margin:0; font:950 clamp(66px,8vw,122px)/.82 "Arial Black",Arial,sans-serif; letter-spacing:-7px; text-transform:uppercase; }
.story-copy :is(h1,h2) em { display:inline-block; color:white; font-style:normal; -webkit-text-stroke:3px var(--ink); text-shadow:5px 5px 0 var(--ink); transform:rotate(-3deg); }
.story-copy>p:not(.eyebrow) { max-width:550px; margin:28px 0; font-size:18px; font-weight:650; line-height:1.6; }
.primary-cta,.continue-button,.light-cta { min-height:62px; width:fit-content; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:14px; border:2px solid var(--ink); border-radius:18px; background:var(--ink); color:white; box-shadow:6px 6px 0 rgba(18,18,18,.18); font-size:14px; font-weight:950; transition:transform .2s,box-shadow .2s; }
.primary-cta:hover,.continue-button:hover,.light-cta:hover { transform:translate(-2px,-2px); box-shadow:9px 9px 0 rgba(18,18,18,.18); }
.primary-cta svg,.continue-button svg,.light-cta svg { width:18px; }
.hero-fast-cta { width:fit-content; min-height:44px; padding:0 16px; display:inline-flex; align-items:center; gap:9px; border:1.5px solid var(--ink); border-radius:13px; background:white; font-size:10px; font-weight:950; text-transform:uppercase; transition:transform .2s,box-shadow .2s; }
.hero-fast-cta:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--ink); }
.hero-fast-cta svg { width:15px; }
.transform-stage { position:relative; z-index:2; align-self:stretch; min-height:570px; }
.child-stack { position:absolute; width:min(440px,40vw); height:min(740px,84vh); left:50%; bottom:-58px; overflow:hidden; border:3px solid var(--ink); border-radius:44px 44px 10px 10px; background:#f1f0ee; box-shadow:12px 12px 0 rgba(18,18,18,.2); transform:translateX(-50%) rotate(1deg); }
.child-stack img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:bottom center; transition:opacity .12s linear; }
.pop-tag { position:absolute; z-index:5; padding:12px 17px; border:2px solid var(--ink); border-radius:999px; background:white; box-shadow:4px 4px 0 var(--ink); opacity:0; font:950 11px/1 "Arial Black",Arial,sans-serif; transform:translateY(18px) rotate(-6deg) scale(.82); transition:opacity .35s,transform .5s cubic-bezier(.2,.8,.2,1); }
.pop-tag.show { opacity:1; transform:translateY(0) rotate(-6deg) scale(1); }
.tag-one { top:22%; left:2%; background:var(--pink); }
.tag-two { top:44%; right:0; transform:translateY(18px) rotate(7deg) scale(.82); }
.tag-two.show { transform:translateY(0) rotate(7deg) scale(1); }
.tag-three { bottom:18%; left:1%; background:var(--lime); }
.skip-story { position:absolute; z-index:7; right:28px; bottom:22px; display:flex; align-items:center; gap:7px; padding:10px 13px; border:1px solid var(--ink); border-radius:999px; background:rgba(255,255,255,.82); font-size:9px; font-weight:900; text-transform:uppercase; }
.skip-story svg { width:14px; }
.story-progress { position:absolute; z-index:6; left:50%; bottom:30px; display:flex; gap:8px; transform:translateX(-50%); }
.story-progress span { width:28px; height:5px; border-radius:99px; background:rgba(18,18,18,.2); transition:.3s; }
.story-progress span.active { width:46px; background:var(--ink); }
.scroll-cue { position:absolute; z-index:6; left:50%; bottom:28px; transform:translateX(-50%); display:flex; align-items:center; gap:7px; font-size:9px; font-weight:950; letter-spacing:1px; text-transform:uppercase; }
.scroll-cue svg { width:17px; animation:bounce 1.5s infinite; }
@keyframes bounce { 50%{transform:translateY(5px)} }

.pickup-banner { min-height:118px; padding:24px max(6vw,28px); display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:42px; background:var(--ink); color:white; }
.pickup-banner>div { display:flex; align-items:center; gap:15px; }
.pickup-banner>div>svg { width:52px; height:52px; padding:13px; border-radius:16px; background:var(--yellow); color:var(--ink); }
.pickup-banner span { display:flex; flex-direction:column; gap:4px; }
.pickup-banner small { color:var(--yellow); font-size:9px; font-weight:950; letter-spacing:1.5px; }
.pickup-banner b { font:950 21px/1.1 "Arial Black",Arial,sans-serif; text-transform:uppercase; }
.pickup-banner>strong { font:950 17px/1.2 "Arial Black",Arial,sans-serif; text-transform:uppercase; }
.pickup-banner>a { min-height:48px; padding:0 18px; display:flex; align-items:center; gap:9px; border-radius:13px; background:white; color:var(--ink); font-size:11px; font-weight:950; text-transform:uppercase; }
.pickup-banner>a svg { width:16px; }

.quick-start { padding:110px max(7vw,28px); text-align:center; background:var(--paper); }
.quick-head { max-width:790px; margin:0 auto 44px; }
.quick-head>span,.section-heading>div>span { display:inline-block; margin-bottom:16px; padding:8px 11px; border-radius:8px; background:var(--ink); color:var(--yellow); font-size:9px; font-weight:950; letter-spacing:1.5px; }
.quick-head h2,.section-heading h2,.gift-section h2 { margin:0; font:950 clamp(44px,6.5vw,88px)/.9 "Arial Black",Arial,sans-serif; letter-spacing:-5px; text-transform:uppercase; }
.quick-head p { margin:19px 0 0; color:#666158; font-size:16px; line-height:1.55; }
.school-box { max-width:850px; margin:0 auto; padding:18px; display:grid; grid-template-columns:76px 1fr auto; align-items:center; gap:18px; border:2px solid var(--ink); border-radius:26px; background:white; box-shadow:9px 9px 0 var(--ink); text-align:left; transition:.3s; }
.school-box.selected { box-shadow:9px 9px 0 #66b759; }
.school-icon { width:70px; height:70px; display:grid; place-items:center; border-radius:19px; background:var(--yellow); }
.school-icon svg { width:32px; }
.school-box label { display:block; margin-bottom:7px; font-size:11px; font-weight:950; letter-spacing:.8px; text-transform:uppercase; }
.school-select { width:100%!important; height:48px!important; border:1.5px solid var(--ink)!important; border-radius:13px!important; font-weight:850!important; }
.custom-school-input { width:100%; height:46px; margin-top:9px; padding:0 13px; border:1.5px solid var(--ink); border-radius:13px; outline:none; font-weight:800; }
.custom-school-input:focus { box-shadow:0 0 0 3px var(--yellow); }
.school-menu,.config-menu { z-index:9999!important; width:var(--radix-select-trigger-width)!important; min-width:var(--radix-select-trigger-width)!important; max-width:calc(100vw - 24px)!important; max-height:min(360px,calc(100svh - 32px))!important; padding:6px!important; overflow-x:hidden!important; overflow-y:auto!important; scrollbar-width:thin; scrollbar-gutter:stable; border:2px solid var(--ink)!important; border-radius:14px!important; background:#fff!important; color:var(--ink)!important; box-shadow:7px 7px 0 var(--ink)!important; font-size:14px!important; }
.school-menu [data-radix-select-viewport],.config-menu [data-radix-select-viewport] { width:100%!important; min-width:0!important; height:auto!important; padding:0!important; }
.school-menu [data-slot="select-item"],.config-menu [data-slot="select-item"] { min-height:42px!important; width:100%!important; padding:10px 38px 10px 12px!important; display:flex!important; align-items:center!important; border-radius:9px!important; color:var(--ink)!important; background:#fff!important; font-size:13px!important; font-weight:800!important; line-height:1.25!important; white-space:normal!important; cursor:pointer!important; }
.school-menu [data-slot="select-item"][data-highlighted],.config-menu [data-slot="select-item"][data-highlighted] { background:var(--yellow)!important; outline:none!important; }
.school-menu [data-slot="select-item-indicator"],.config-menu [data-slot="select-item-indicator"] { right:12px!important; }
.school-status { min-width:104px; padding:10px 12px; display:flex; align-items:center; justify-content:center; gap:6px; border-radius:10px; background:#f0ede4; color:#716c61; font-size:10px; font-weight:950; text-transform:uppercase; }
.school-status svg { width:16px; }
.selected .school-status { background:#dfffda; color:#1d6228; }
.continue-button { margin-top:34px; }
.school-badge { position:relative; width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border:1px solid rgba(18,18,18,.18); border-radius:9px; background:var(--yellow); color:var(--ink); }
.school-badge b { font:950 8px/1 "Arial Black",Arial,sans-serif; letter-spacing:-.3px; }
.school-badge img { position:absolute; inset:3px; width:calc(100% - 6px); height:calc(100% - 6px); border-radius:5px; background:white; object-fit:contain; }
.school-badge.is-custom { background:var(--ink); color:var(--yellow); }
.school-option,.selected-school { width:100%; min-width:0; display:flex; align-items:center; gap:10px; }
.school-option>b,.selected-school>b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom-school-fields { margin-top:10px; display:grid; gap:9px; }
.custom-school-fields>label { margin:0!important; }
.school-logo-upload { min-height:58px; padding:9px 11px; display:flex; align-items:center; gap:10px; border:1.5px dashed var(--ink); border-radius:13px; background:#fffaf0; color:var(--ink); cursor:pointer; }
.school-logo-upload:hover { background:#fff4b8; }
.school-logo-upload>svg { width:22px; flex:0 0 auto; }
.school-logo-upload>span { min-width:0; display:flex; flex-direction:column; gap:3px; }
.school-logo-upload b { font-size:10px; }
.school-logo-upload small { overflow:hidden; color:#716b61; font-size:8px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.school-logo-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.upload-error { margin:0; color:#a22420; font-size:8px; font-weight:850; }

.shop { padding:115px max(5vw,22px); background:#f0ede4; }
.section-heading { max-width:1260px; margin:0 auto 42px; display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:70px; }
.section-heading h2 { font-size:clamp(48px,6vw,82px); }
.section-heading>p { max-width:470px; margin:0 0 7px; color:#625e56; font-size:16px; line-height:1.65; }
.school-reminder { max-width:1260px; margin:0 auto 28px; padding:15px 18px; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; border:2px solid var(--ink); border-radius:18px; background:var(--yellow); box-shadow:5px 5px 0 var(--ink); }
.school-reminder>svg:first-child { width:24px; }
.school-reminder span { display:flex; flex-direction:column; gap:2px; }
.school-reminder b { font-size:13px; }
.school-reminder small { font-size:10px; }
.catalog-tabs { max-width:1260px; margin:0 auto; }
.catalog-tabs-list { width:fit-content!important; height:62px!important; margin:0 auto 38px!important; padding:6px!important; display:flex!important; border:2px solid var(--ink)!important; border-radius:18px!important; background:white!important; }
.catalog-tabs-list button { min-width:170px; height:46px!important; gap:8px!important; border-radius:11px!important; font-weight:950!important; }
.catalog-tabs-list button[data-active] { background:var(--ink)!important; color:white!important; }
.catalog-tabs-list svg { width:17px; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.product-card { min-width:0; overflow:hidden; border:2px solid var(--ink); border-radius:25px; background:white; box-shadow:6px 7px 0 rgba(18,18,18,.12); cursor:pointer; transition:transform .25s,box-shadow .25s; }
.product-card:hover { transform:translateY(-6px); box-shadow:9px 12px 0 rgba(18,18,18,.13); }
.product-photo { position:relative; height:245px; overflow:hidden; background:linear-gradient(145deg,#fff 30%,#e8e3d8); }
.product-photo img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.product-card:hover .product-photo img { transform:scale(1.045); }
.photo-badge { position:absolute; z-index:3; top:13px; left:13px; padding:8px 10px; border-radius:8px; background:#e5235c; color:white; font-size:8px; font-weight:950; letter-spacing:1.2px; transform:rotate(-3deg); }
.three-stack { position:absolute; z-index:3; top:12px; right:13px; width:43px; height:43px; display:grid; place-items:center; border:2px solid var(--ink); border-radius:50%; background:var(--yellow); font:950 17px/1 "Arial Black",Arial,sans-serif; transform:rotate(7deg); }
.photo-zoom { position:absolute; z-index:3; left:50%; bottom:13px; padding:9px 12px; display:flex; align-items:center; gap:6px; border-radius:999px; background:rgba(18,18,18,.88); color:white; opacity:0; transform:translate(-50%,10px); font-size:9px; font-weight:900; white-space:nowrap; transition:.25s; }
.photo-zoom svg { width:13px; }
.product-card:hover .photo-zoom { opacity:1; transform:translate(-50%,0); }
.product-info { padding:20px; }
.included { width:fit-content; margin-bottom:12px; padding:6px 8px; display:flex; align-items:center; gap:5px; border-radius:7px; background:#e8ffdf; color:#286531; font-size:8px; font-weight:950; text-transform:uppercase; }
.included svg { width:12px; height:12px; }
.product-info h3 { margin:0; font:950 23px/1 "Arial Black",Arial,sans-serif; letter-spacing:-1px; text-transform:uppercase; }
.product-info p { min-height:30px; margin:7px 0 15px; color:#6a655d; font-size:11px; font-weight:750; line-height:1.35; }
.card-colors { display:flex; align-items:center; gap:6px; margin:-5px 0 13px; }
.card-colors i { width:18px; height:18px; display:block; border:2px solid white; border-radius:50%; box-shadow:0 0 0 1px rgba(18,18,18,.28); }
.card-colors>span { margin-left:2px; padding:4px 6px; border-radius:6px; background:#eeeae1; font-size:7px; font-weight:950; white-space:nowrap; }
.card-action { padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); }
.card-action>span { display:flex; flex-direction:column; }
.card-action small { font-size:8px; font-weight:900; text-transform:uppercase; }
.card-action strong { font-size:21px; }
.card-action button { height:44px!important; padding:0 14px!important; gap:7px!important; border-radius:12px!important; background:var(--ink)!important; color:white!important; font-weight:950!important; }
.card-action button:hover { background:var(--yellow)!important; color:var(--ink)!important; }
.card-action button svg { width:15px; }
.promo-zone { margin-top:38px; padding:30px; display:grid; grid-template-columns:1fr 360px; align-items:center; gap:40px; border:2px solid var(--ink); border-radius:30px; background:radial-gradient(circle at 15% 30%,rgba(255,255,255,.8) 0 3px,transparent 4px) 0 0/31px 31px,var(--yellow); box-shadow:9px 9px 0 var(--ink); }
.promo-copy>span { padding:7px 9px; border-radius:7px; background:var(--ink); color:var(--yellow); font-size:8px; font-weight:950; letter-spacing:1.3px; }
.promo-copy h3 { margin:18px 0 9px; font:950 clamp(35px,5vw,62px)/.9 "Arial Black",Arial,sans-serif; letter-spacing:-3px; text-transform:uppercase; }
.promo-copy p { max-width:520px; margin:0; font-size:14px; font-weight:700; line-height:1.55; }
.promo-zone .product-card { box-shadow:none; }
.adult-note { margin:0 auto 24px; text-align:center; color:#6b665d; font-size:13px; font-weight:850; }
.adult-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.auto-promo { max-width:900px; margin:0 auto 32px; padding:18px 22px; display:grid; grid-template-columns:52px 1fr; align-items:center; gap:16px; border:2px solid var(--ink); border-radius:20px; background:var(--yellow); box-shadow:6px 6px 0 var(--ink); }
.auto-promo>div { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:var(--ink); color:var(--yellow); }
.auto-promo>div svg { width:24px; }
.auto-promo span { display:flex; flex-direction:column; gap:3px; }
.auto-promo small { font-size:8px; font-weight:950; letter-spacing:1.4px; }
.auto-promo b { font:950 20px/1.1 "Arial Black",Arial,sans-serif; text-transform:uppercase; }
.auto-promo p { margin:2px 0 0; font-size:11px; font-weight:750; }

.gift-section { min-height:730px; padding:100px max(7vw,28px); display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; overflow:hidden; background:var(--ink); color:white; }
.gift-photo { position:relative; border:3px solid white; border-radius:34px; overflow:hidden; box-shadow:14px 14px 0 var(--yellow); transform:rotate(-2deg); }
.gift-photo img { width:100%; height:auto; display:block; }
.gift-photo>span { position:absolute; top:18px; left:18px; padding:10px 12px; border:2px solid var(--ink); border-radius:10px; background:white; color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-size:9px; font-weight:950; letter-spacing:1.2px; transform:rotate(-3deg); }
.gift-section>div:last-child { position:relative; }
.gift-section h2 { color:white; font-size:clamp(53px,7vw,93px); }
.gift-section>div:last-child>p:not(.eyebrow) { max-width:550px; margin:28px 0; color:rgba(255,255,255,.72); font-size:17px; line-height:1.65; }
.gift-rules { margin:28px 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gift-rules article { min-height:112px; padding:17px; display:flex; flex-direction:column; gap:7px; justify-content:center; border:1px solid rgba(255,255,255,.25); border-radius:17px; background:rgba(255,255,255,.08); }
.gift-rules article:first-child { border-color:var(--yellow); background:var(--yellow); color:var(--ink); }
.gift-rules b { font:950 18px/1 "Arial Black",Arial,sans-serif; text-transform:uppercase; }
.gift-rules span { font-size:11px; font-weight:800; line-height:1.4; }
.light-cta { border-color:white; background:white; color:var(--ink); }
.services { padding:45px max(7vw,28px); display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; background:var(--yellow); }
.services>div:first-child { display:flex; align-items:center; gap:18px; }
.services>div:first-child>svg { width:65px; height:65px; padding:15px; border:2px solid var(--ink); border-radius:18px; background:white; box-shadow:5px 5px 0 var(--ink); }
.services>div:first-child span { display:flex; flex-direction:column; gap:4px; }
.services small { font-size:9px; font-weight:950; letter-spacing:1.2px; text-transform:uppercase; }
.services>div:first-child b { font:950 22px/1.1 "Arial Black",Arial,sans-serif; text-transform:uppercase; }
.service-prices { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.service-prices span { padding:10px 12px; display:flex; justify-content:space-between; gap:18px; border:1.5px solid var(--ink); border-radius:10px; background:rgba(255,255,255,.55); font-size:10px; font-weight:850; }

footer { padding:50px max(6vw,28px) 28px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:30px; background:white; }
footer p { margin:0; text-align:right; font-size:13px; font-weight:900; }
footer small { grid-column:1/-1; padding-top:22px; border-top:1px solid var(--line); color:#777; text-align:center; font-size:9px; }

.product-sheet,.cart-sheet { width:min(520px,100%)!important; max-width:520px!important; padding:24px!important; background:var(--paper)!important; }
.product-sheet [data-slot="sheet-title"],.cart-sheet [data-slot="sheet-title"] { font:950 27px/1 "Arial Black",Arial,sans-serif; letter-spacing:-1px; text-transform:uppercase; }
.config-preview { height:155px; margin:18px 0; padding:12px; display:grid; grid-template-columns:145px 1fr; align-items:center; gap:18px; overflow:hidden; border-radius:20px; background:white; }
.config-preview img { width:145px; height:145px; object-fit:contain; border-radius:15px; background:#fafafa; }
.config-preview div { display:flex; flex-direction:column; gap:7px; }
.config-preview span { color:#6c675e; font-size:11px; font-weight:800; }
.config-preview b { font-size:18px; }
.config-steps { display:flex; flex-direction:column; gap:10px; overflow:auto; }
.config-step { padding:12px; display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; border:1px solid var(--line); border-radius:15px; background:white; }
.config-step>span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--yellow); font-weight:950; }
.config-step>div>label { display:block; margin:0 0 7px; font-size:10px; font-weight:950; letter-spacing:.8px; text-transform:uppercase; }
.config-select { width:100%!important; height:43px!important; border:1.5px solid var(--ink)!important; border-radius:11px!important; font-weight:850!important; }
.fixed-choice { min-height:43px; padding:10px 12px; display:flex; align-items:center; gap:7px; border-radius:11px; background:#e8ffdf; color:#286531; font-size:11px; font-weight:900; }
.fixed-choice svg { width:16px; }
.color-step { align-items:start; }
.color-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.color-picker button { position:relative; min-width:0; padding:5px 4px 7px; border:2px solid transparent; border-radius:12px; background:#f1eee7; color:var(--ink); cursor:pointer; transition:transform .2s,border-color .2s,box-shadow .2s; }
.color-picker button:hover { transform:translateY(-2px); }
.color-picker button.active { border-color:var(--ink); background:white; box-shadow:3px 3px 0 var(--yellow); }
.color-picker img { width:100%; aspect-ratio:1/1; display:block; object-fit:contain; border-radius:8px; background:white; }
.color-picker i { width:11px; height:11px; margin:5px auto 3px; display:block; border:1px solid rgba(18,18,18,.22); border-radius:50%; }
.color-picker b { display:block; overflow:hidden; font-size:7px; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
.color-picker svg { position:absolute; top:7px; right:7px; width:16px; height:16px; padding:3px; border-radius:50%; background:var(--yellow); }
.catalog-color-selected { margin-top:9px; padding:10px; display:grid; grid-template-columns:32px 1fr 18px; align-items:center; gap:9px; border:1.5px solid var(--ink); border-radius:11px; background:#fff9d9; }
.catalog-color-selected>i { width:32px; height:32px; border:2px solid white; border-radius:9px; box-shadow:0 0 0 1px rgba(18,18,18,.3); }
.catalog-color-selected>span { display:flex; flex-direction:column; gap:2px; }
.catalog-color-selected small { font-size:6px; font-weight:950; letter-spacing:.7px; }
.catalog-color-selected b { font-size:11px; }
.catalog-color-selected>svg { width:17px; }
.more-colors-button { width:100%; min-height:54px; margin-top:9px; padding:8px 10px; display:grid; grid-template-columns:28px 1fr 17px; align-items:center; gap:9px; border:1.5px solid var(--ink); border-radius:11px; background:white; color:var(--ink); text-align:left; cursor:pointer; }
.more-colors-button:hover { background:var(--yellow); }
.more-colors-button>svg:first-child { width:22px; }
.more-colors-button>svg:last-child { width:16px; }
.more-colors-button>span { display:flex; flex-direction:column; gap:2px; }
.more-colors-button b { font-size:10px; text-transform:uppercase; }
.more-colors-button small { color:#6c675e; font-size:8px; font-weight:750; }
.colors-dialog { z-index:80!important; width:min(720px,calc(100vw - 24px))!important; max-width:720px!important; max-height:calc(100svh - 24px); padding:26px!important; overflow:hidden; border:3px solid var(--ink)!important; border-radius:25px!important; background:var(--paper)!important; box-shadow:10px 10px 0 var(--yellow)!important; }
.colors-dialog [data-slot="dialog-title"] { font-size:34px; }
.color-search { height:48px; margin-top:18px; padding:0 13px; display:flex; align-items:center; gap:9px; border:1.5px solid var(--ink); border-radius:12px; background:white; }
.color-search svg { width:18px; }
.color-search input { width:100%; border:0; outline:0; background:transparent; font-size:12px; font-weight:800; }
.catalog-color-grid { max-height:46svh; padding:4px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; overflow-y:auto; scrollbar-width:thin; scrollbar-gutter:stable; mask-image:linear-gradient(to bottom,transparent 0,#000 8px,#000 calc(100% - 8px),transparent 100%); animation:scroll-fade-reveal-b .18s ease-out; }
.catalog-color-grid button { position:relative; min-height:76px; padding:9px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1.5px solid rgba(18,18,18,.2); border-radius:12px; background:white; color:var(--ink); cursor:pointer; }
.catalog-color-grid button:hover,.catalog-color-grid button.active { border-color:var(--ink); box-shadow:3px 3px 0 var(--yellow); transform:translateY(-1px); }
.catalog-color-grid i { width:31px; height:31px; border:2px solid white; border-radius:50%; box-shadow:0 0 0 1px rgba(18,18,18,.32); }
.catalog-color-grid b { font-size:8px; text-align:center; }
.catalog-color-grid svg { position:absolute; top:6px; right:6px; width:15px; padding:2px; border-radius:50%; background:var(--yellow); }
.no-colors { margin:15px 0; color:#6d685e; font-size:11px; font-weight:800; text-align:center; }
.size-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.size-picker button { position:relative; min-height:43px; padding:7px 4px; border:1.5px solid var(--ink); border-radius:10px; background:white; color:var(--ink); font-size:9px; font-weight:900; cursor:pointer; }
.size-picker button.active { background:var(--ink); color:white; box-shadow:3px 3px 0 var(--yellow); }
.size-picker button svg { position:absolute; top:3px; right:3px; width:11px; color:var(--yellow); }
.config-input { width:100%; height:43px; padding:0 12px; border:1.5px solid var(--ink); border-radius:11px; outline:none; font-weight:850; }
.config-input:focus { box-shadow:0 0 0 3px var(--yellow); }
.config-total { position:sticky; bottom:0; margin:18px -4px -4px; padding:14px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:16px; border:2px solid var(--ink); border-radius:17px; background:var(--yellow); box-shadow:5px 5px 0 var(--ink); }
.config-total>div { display:flex; flex-direction:column; }
.config-total small { font-size:8px; font-weight:950; text-transform:uppercase; }
.config-total strong { font-size:24px; }
.config-total button,.checkout-button { height:52px!important; gap:8px!important; border-radius:12px!important; background:var(--ink)!important; color:white!important; font-weight:950!important; }
.config-total button svg,.checkout-button svg { width:17px; }
.cart-items { flex:1; margin-top:16px; overflow:auto; scrollbar-width:none; }
.cart-items::-webkit-scrollbar { display:none; }
.empty-cart { min-height:360px; display:grid; place-content:center; justify-items:center; text-align:center; color:#777; }
.empty-cart>svg { width:58px; height:58px; margin-bottom:15px; stroke-width:1.2; }
.empty-cart h3 { margin:0; color:var(--ink); }
.empty-cart p { margin:6px 0 0; font-size:12px; }
.cart-line { padding:13px 0; display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:11px; border-bottom:1px solid var(--line); }
.cart-line>img { width:70px; height:70px; object-fit:cover; border-radius:13px; background:white; }
.cart-line>div { display:flex; flex-direction:column; }
.cart-line strong { font-size:13px; }
.cart-line small { margin-top:3px; color:#777; font-size:9px; }
.cart-line>b { font-size:12px; }
.cart-gift-item { margin:12px 0 6px; padding:10px; border:2px solid #2e8a3b; border-radius:15px; background:#dfffda; box-shadow:4px 4px 0 #2e8a3b; }
.cart-gift-item>img { object-fit:contain; background:white; }
.cart-gift-item>div>span { width:fit-content; margin-top:7px; padding:5px 7px; display:flex; align-items:center; gap:5px; border-radius:7px; background:#226d2d; color:white; font-size:7px; font-weight:950; letter-spacing:.5px; text-transform:uppercase; }
.cart-gift-item>div>span svg { width:11px; height:11px; }
.cart-gift-item>b { color:#226d2d; font-size:10px; }
.quantity { width:fit-content; margin-top:7px; display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:8px; }
.quantity button { width:27px; height:25px; display:grid; place-items:center; border:0; background:white; }
.quantity button:hover { background:var(--yellow); }
.quantity svg { width:12px; }
.quantity span { min-width:22px; text-align:center; font-size:10px; font-weight:950; }
.cart-recommendations { margin:20px 0 10px; padding:16px; border:2px solid var(--ink); border-radius:18px; background:linear-gradient(145deg,#fff7c8,var(--yellow)); box-shadow:5px 5px 0 var(--ink); }
.recommendations-head>span { display:inline-block; margin-bottom:7px; padding:5px 7px; border-radius:6px; background:var(--ink); color:var(--yellow); font-size:7px; font-weight:950; letter-spacing:1px; text-transform:uppercase; }
.recommendations-head h3 { margin:0; font:950 18px/1 "Arial Black",Arial,sans-serif; letter-spacing:-.6px; text-transform:uppercase; }
.recommendations-head p { margin:5px 0 13px; font-size:9px; font-weight:750; }
.recommendations-list { display:grid; gap:7px; }
.recommendations-list>button { width:100%; min-height:64px; padding:7px; display:grid; grid-template-columns:54px 1fr 34px; align-items:center; gap:10px; border:1.5px solid var(--ink); border-radius:13px; background:white; color:var(--ink); text-align:left; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.recommendations-list>button:hover { transform:translateX(3px); box-shadow:3px 3px 0 var(--ink); }
.recommendations-list img { width:54px; height:50px; object-fit:contain; border-radius:9px; background:#f4f1e9; }
.recommendations-list>button>span { min-width:0; display:flex; flex-direction:column; gap:4px; }
.recommendations-list b { overflow:hidden; font-size:11px; font-weight:950; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.recommendations-list small { font-size:9px; font-weight:800; }
.recommendations-list i { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:var(--ink); color:white; }
.recommendations-list svg { width:15px; }
.cart-summary { padding-top:14px; }
.promo-progress { margin-bottom:8px; padding:10px; display:grid; grid-template-columns:20px 1fr; align-items:center; gap:8px; border-radius:11px; background:#fff2bd; color:#635200; }
.promo-progress>svg { width:16px; }
.promo-progress>span { display:flex; flex-direction:column; gap:2px; }
.promo-progress b { font-size:9px; }
.promo-progress small { font-size:8px; }
.promo-progress>i { grid-column:1/-1; height:6px; display:block; overflow:hidden; border-radius:99px; background:rgba(18,18,18,.12); }
.promo-progress>i>span { height:100%; display:block; border-radius:inherit; background:var(--yellow); }
.discount-line { margin-bottom:8px; padding:11px; display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:7px; border-radius:11px; background:var(--yellow); color:var(--ink); font-size:9px; font-weight:950; }
.discount-line svg { width:16px; }
.gift-line { padding:11px; display:grid; grid-template-columns:20px 1fr auto; gap:7px; align-items:center; border-radius:11px; background:#e8ffdf; color:#286531; font-size:9px; font-weight:900; }
.gift-line svg { width:16px; }
.gift-line b { font-size:8px; }
.bottle-meter { margin-top:8px; padding:11px; border-radius:11px; background:#fff2bd; color:#635200; }
.bottle-meter.unlocked { background:#dfffda; color:#1d6228; }
.bottle-meter>div { display:flex; justify-content:space-between; gap:8px; font-size:8px; font-weight:950; }
.bottle-meter>i { height:6px; margin-top:7px; display:block; overflow:hidden; border-radius:99px; background:rgba(18,18,18,.12); }
.bottle-meter>i>span { height:100%; display:block; border-radius:inherit; background:var(--yellow); }
.addon-line { margin-top:8px; padding:11px; display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:7px; border-radius:11px; background:#e7f4ff; color:#215b78; font-size:9px; font-weight:950; }
.addon-line svg { width:16px; }
.total-line { margin:15px 0; display:flex; align-items:baseline; justify-content:space-between; }
.total-line strong { font-size:26px; }
.checkout-button { width:100%; }
.pickup-note { margin:10px 5px 0; color:#6d685e; font-size:9px; font-weight:800; line-height:1.45; text-align:center; }

.store-info { padding:95px max(7vw,28px); display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:80px; background:white; }
.store-info h2 { margin:0; font:950 clamp(46px,6vw,82px)/.9 "Arial Black",Arial,sans-serif; letter-spacing:-4px; text-transform:uppercase; }
.store-info>div:first-child>p:not(.eyebrow) { max-width:530px; margin:24px 0 0; color:#666158; font-size:16px; line-height:1.6; }
.store-details { padding:24px; display:grid; grid-template-columns:1fr 1fr; gap:10px; border:2px solid var(--ink); border-radius:27px; background:var(--paper); box-shadow:9px 9px 0 var(--yellow); }
.store-details article { min-height:105px; padding:16px; display:flex; align-items:flex-start; gap:12px; border-radius:16px; background:white; }
.store-details article>svg { width:24px; color:#7b6a00; }
.store-details article>span { display:flex; flex-direction:column; gap:6px; }
.store-details small { font-size:8px; font-weight:950; letter-spacing:1px; }
.store-details b { font-size:12px; line-height:1.45; }
.store-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.store-actions a { min-height:50px; padding:0 14px; display:flex; align-items:center; justify-content:center; gap:8px; border:1.5px solid var(--ink); border-radius:13px; background:var(--ink); color:white; font-size:10px; font-weight:950; text-transform:uppercase; }
.store-actions a:first-child { background:#2ca35b; border-color:#2ca35b; }
.store-actions svg { width:17px; }

.checkout-sheet { width:min(610px,100%)!important; max-width:610px!important; padding:26px!important; overflow-y:auto; background:var(--paper)!important; }
.checkout-sheet [data-slot="sheet-title"] { font:950 30px/1 "Arial Black",Arial,sans-serif; letter-spacing:-1px; text-transform:uppercase; }
.checkout-progress { margin:20px 0 15px; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.checkout-progress span { min-height:36px; padding:0 8px; display:flex; align-items:center; justify-content:center; gap:5px; border-radius:9px; background:#e9e5dc; color:#777167; font-size:8px; font-weight:950; text-transform:uppercase; }
.checkout-progress span.done { background:#dfffda; color:#226d2d; }
.checkout-progress span.active { background:var(--yellow); color:var(--ink); }
.checkout-progress svg { width:12px; }
.checkout-order-card { padding:15px; display:flex; align-items:center; justify-content:space-between; gap:15px; border:2px solid var(--ink); border-radius:16px; background:white; box-shadow:4px 4px 0 var(--ink); }
.checkout-order-card>span { display:grid; grid-template-columns:22px 1fr; align-items:center; column-gap:8px; }
.checkout-order-card svg { width:20px; grid-row:1/3; }
.checkout-order-card b { font-size:12px; }
.checkout-order-card small { color:#756f65; font-size:9px; }
.checkout-order-card strong { font-size:22px; }
.labels-upsell { margin-top:16px; padding:12px; display:grid; grid-template-columns:145px 1fr; align-items:center; gap:13px; border:2px solid var(--ink); border-radius:18px; background:white; box-shadow:4px 4px 0 var(--yellow); transition:background .2s,box-shadow .2s; }
.labels-upsell.is-added { background:#e8ffdf; box-shadow:4px 4px 0 #2e8a3b; }
.labels-upsell>img { width:145px; height:132px; object-fit:cover; border:1px solid var(--line); border-radius:13px; background:#f7f5ee; }
.labels-upsell>div { min-width:0; }
.labels-upsell>div>small { color:#8a7200; font-size:7px; font-weight:950; letter-spacing:1px; }
.labels-upsell h3 { margin:5px 0 7px; font:950 15px/1.05 "Arial Black",Arial,sans-serif; letter-spacing:-.5px; text-transform:uppercase; }
.labels-upsell ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px 9px; list-style:none; }
.labels-upsell li { font-size:8px; font-weight:800; line-height:1.3; }
.labels-upsell li:last-child { grid-column:1/-1; }
.labels-upsell li b { color:#8a7200; font-size:10px; }
.labels-upsell p { margin:7px 0 0; color:#716b61; font-size:7px; font-weight:750; line-height:1.35; }
.labels-upsell>button { grid-column:1/-1; min-height:43px; display:flex; align-items:center; justify-content:center; gap:7px; border:1.5px solid var(--ink); border-radius:11px; background:var(--ink); color:white; font-size:10px; font-weight:950; text-transform:uppercase; cursor:pointer; }
.labels-upsell.is-added>button { background:#226d2d; border-color:#226d2d; }
.labels-upsell>button svg { width:15px; }
.fulfillment-choice { margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.fulfillment-choice button { min-height:72px; padding:11px; display:grid; grid-template-columns:26px 1fr 18px; align-items:center; gap:8px; border:1.5px solid var(--ink); border-radius:14px; background:white; color:var(--ink); text-align:left; cursor:pointer; }
.fulfillment-choice button:hover { background:#fff9d6; }
.fulfillment-choice button.active { background:var(--yellow); box-shadow:4px 4px 0 var(--ink); }
.fulfillment-choice button>svg:first-child { width:23px; }
.fulfillment-choice button>svg:last-child { width:17px; }
.fulfillment-choice span { min-width:0; display:flex; flex-direction:column; gap:3px; }
.fulfillment-choice b { font-size:10px; }
.fulfillment-choice small { color:#716b61; font-size:8px; font-weight:800; }
.delivery-estimate { margin-top:16px; padding:16px; display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:12px; border:2px solid var(--ink); border-radius:17px; background:var(--yellow); box-shadow:4px 4px 0 var(--ink); }
.delivery-estimate>svg { width:27px; height:27px; }
.delivery-estimate>span { min-width:0; display:flex; flex-direction:column; gap:2px; }
.delivery-estimate span>small { font-size:8px; font-weight:950; letter-spacing:1.1px; }
.delivery-estimate span>strong { font:950 21px/1.05 "Arial Black",Arial,sans-serif; letter-spacing:-.7px; }
.delivery-estimate span>p { margin:2px 0 0; font-size:9px; font-weight:800; }
.delivery-estimate>b { min-width:64px; padding:9px 8px; display:flex; flex-direction:column; align-items:center; border-radius:11px; background:var(--ink); color:white; font-size:14px; }
.delivery-estimate>b small { margin-top:1px; color:var(--yellow); font-size:6px; letter-spacing:.6px; text-transform:uppercase; }
.delivery-estimate.is-error { background:#ffe4df; color:#8a201d; box-shadow:none; }
.delivery-note { margin:9px 3px 0; color:#716b61; font-size:8px; font-weight:750; line-height:1.45; }
.checkout-error { margin:10px 0 0; padding:9px 11px; border-radius:9px; background:#ffe4df; color:#8a201d!important; font-size:9px!important; font-weight:850; line-height:1.4; text-align:center; }
.capitalize { text-transform:capitalize; }
.checkout-form { margin-top:18px; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.checkout-fields label { font-size:9px; font-weight:950; letter-spacing:.5px; text-transform:uppercase; }
.checkout-fields label>small { color:#827b70; font-size:7px; }
.checkout-fields input,.checkout-fields textarea { width:100%; margin-top:6px; padding:0 12px; border:1.5px solid var(--ink); border-radius:11px; background:white; outline:none; font-size:12px; font-weight:750; text-transform:none; }
.checkout-fields input { height:45px; }
.checkout-fields textarea { min-height:76px; padding-top:11px; resize:vertical; }
.checkout-fields input:focus,.checkout-fields textarea:focus { box-shadow:0 0 0 3px var(--yellow); }
.checkout-fields .full-field { grid-column:1/-1; }
.checkout-pickup { margin-top:13px; padding:13px; display:grid; grid-template-columns:32px 1fr 24px; align-items:center; gap:10px; border-radius:14px; background:#e8ffdf; color:#286531; }
.checkout-pickup>svg:first-child { width:25px; }
.checkout-pickup>svg:last-child { width:20px; }
.checkout-pickup span { display:flex; flex-direction:column; gap:3px; }
.checkout-pickup small { font-size:7px; font-weight:950; letter-spacing:1px; }
.checkout-pickup b { font-size:11px; }
.checkout-pickup p { margin:0; font-size:8px; }
.shipping-total { margin-top:13px; padding:13px; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; border-radius:14px; background:#e7f4ff; color:#215b78; }
.shipping-total svg { width:24px; }
.shipping-total span { font-size:10px; font-weight:900; }
.shipping-total b { font-size:11px; }
.privacy-check { margin:14px 2px; display:flex; align-items:flex-start; gap:9px; color:#625d54; font-size:9px; font-weight:750; line-height:1.4; }
.privacy-check button { margin-top:1px; border-color:var(--ink)!important; }
.payment-status { margin:14px 0 10px; padding:12px; display:grid; grid-template-columns:24px 1fr; align-items:start; gap:9px; border:1.5px solid #9a6f00; border-radius:12px; background:#fff2bd; color:#635200; }
.payment-status>svg { width:20px; }
.payment-status>span { display:flex; flex-direction:column; gap:3px; font-size:8px; font-weight:750; line-height:1.4; }
.payment-status b { font-size:9px; text-transform:uppercase; }
.payment-order-button { width:100%; min-height:54px; display:flex!important; align-items:center; justify-content:center; gap:9px!important; border:0!important; border-radius:13px!important; background:var(--ink)!important; color:white!important; font-size:12px; font-weight:950!important; text-transform:uppercase; }
.payment-order-button:hover { background:#2a2a2a!important; }
.payment-order-button:disabled { background:#c8c3b8!important; color:#716b61!important; opacity:1!important; cursor:not-allowed; }
.payment-order-button svg { width:18px; }
.checkout-reassurance { margin:11px 0 0; display:flex; align-items:center; justify-content:center; gap:6px; color:#716b61; font-size:8px; font-weight:800; text-align:center; }
.checkout-reassurance svg { width:14px; }
.checkout-success { min-height:calc(100svh - 52px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.checkout-success>div { width:78px; height:78px; margin-bottom:20px; display:grid; place-items:center; border:3px solid var(--ink); border-radius:50%; background:#dfffda; color:#226d2d; box-shadow:7px 7px 0 var(--yellow); }
.checkout-success>div svg { width:38px; }
.checkout-success>span { padding:7px 9px; border-radius:7px; background:var(--ink); color:var(--yellow); font-size:8px; font-weight:950; letter-spacing:1.3px; }
.checkout-success h2 { margin:18px 0 12px; font:950 42px/.92 "Arial Black",Arial,sans-serif; letter-spacing:-3px; text-transform:uppercase; }
.checkout-success>p { max-width:430px; margin:0 0 22px; color:#686259; font-size:13px; line-height:1.55; }
.checkout-success>a { max-width:360px; }
.checkout-success>button { width:min(360px,100%); height:49px; margin-top:10px; border:1.5px solid var(--ink)!important; border-radius:12px!important; background:white!important; color:var(--ink)!important; font-weight:950!important; }
.checkout-success>button svg { width:16px; }
.checkout-success>small { max-width:360px; margin-top:15px; color:#777; font-size:8px; line-height:1.4; }

@media (max-width:1080px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .transform-sticky { grid-template-columns:45% 55%; }
  .story-copy :is(h1,h2) { font-size:clamp(54px,8vw,84px); letter-spacing:-5px; }
  .services { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .intro-dialog { width:calc(100vw - 12px)!important; height:calc(100svh - 12px); max-height:calc(100svh - 12px); display:block!important; border-width:2px!important; border-radius:20px!important; box-shadow:6px 6px 0 var(--yellow)!important; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; }
  .intro-dialog::-webkit-scrollbar { display:none; }
  .intro-poster { position:relative; width:100%; height:auto; min-height:0; aspect-ratio:512/910; background:#1b1b1b url("/back-to-school-promo.webp?v=mobile-3") center/100% 100% no-repeat; }
  .intro-poster img { display:none!important; }
  .intro-school { min-height:auto; padding:18px; overflow:visible; }
  .intro-school [data-slot="dialog-title"] { font-size:29px; letter-spacing:-1.7px; }
  .intro-school [data-slot="dialog-description"] { margin-top:8px; font-size:11px; }
  .intro-school>label { margin-top:15px; }
  .intro-continue { min-height:49px; margin-top:14px; font-size:11px; }
  .site-header { top:8px; width:calc(100% - 16px); height:60px; padding:6px 7px 6px 12px; border-radius:18px; }
  .brand img { width:94px; height:40px; }
  .brand span { display:none; }
  .menu-button { display:inline-flex!important; }
  .nav { display:none; position:absolute; top:68px; left:0; right:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:0 18px 35px rgba(18,18,18,.14); flex-direction:column; gap:20px; }
  .nav.is-open { display:flex; }
  .cart-button { position:relative; width:44px; height:44px!important; padding:0!important; justify-content:center; overflow:visible!important; }
  .cart-button span { display:none; }
  .cart-button b { position:absolute; top:-5px; right:-5px; width:20px; height:20px; border:2px solid white; border-radius:50%; font-size:8px; }
  .transform-story { height:205vh; min-height:1320px; }
  .transform-sticky { min-height:620px; padding:76px 14px 10px; grid-template-columns:1fr; grid-template-rows:minmax(225px,36svh) minmax(0,1fr); align-items:stretch; text-align:center; }
  .transform-sticky::before { width:600px; height:520px; min-width:0; min-height:0; right:50%; bottom:-280px; transform:translateX(50%) rotate(6deg); }
  .story-copy-wrap { height:auto; min-height:0; }
  .story-copy { inset:50% 0 auto; max-width:430px; margin:auto; }
  .eyebrow { justify-content:center; margin-bottom:12px; }
  .story-copy :is(h1,h2) { font-size:clamp(40px,12vw,56px); letter-spacing:-3.5px; }
  .story-copy :is(h1,h2) em { -webkit-text-stroke-width:2px; text-shadow:3px 3px 0 var(--ink); }
  .story-copy>p:not(.eyebrow) { max-width:340px; margin:10px auto; font-size:12px; line-height:1.35; }
  .primary-cta { min-height:46px; padding:0 18px; font-size:11px; }
  .hero-fast-cta { margin:auto; }
  .transform-stage { min-height:0; }
  .child-stack { width:min(260px,67vw); height:min(410px,49svh); left:50%; bottom:18px; border-radius:28px 28px 8px 8px; box-shadow:7px 7px 0 rgba(18,18,18,.2); }
  .pop-tag { padding:9px 12px; font-size:8px; }
  .tag-one { top:13%; left:2%; }
  .tag-two { top:34%; right:1%; }
  .tag-three { bottom:16%; left:2%; }
  .skip-story,.story-progress { display:none; }
  .scroll-cue { display:none; }
  .pickup-banner { min-height:auto; padding:20px 16px; grid-template-columns:1fr auto; gap:16px; }
  .pickup-banner>div { grid-column:1/-1; }
  .pickup-banner>div>svg { width:44px; height:44px; }
  .pickup-banner b { font-size:17px; }
  .pickup-banner>strong { font-size:13px; }
  .pickup-banner>a { min-height:43px; padding:0 13px; }
  .quick-start { padding:78px 14px; }
  .quick-head { margin-bottom:28px; }
  .quick-head h2,.section-heading h2,.gift-section h2 { font-size:44px; letter-spacing:-3px; }
  .quick-head p { font-size:14px; }
  .school-box { padding:13px; grid-template-columns:48px minmax(0,1fr); gap:10px; border-radius:20px; box-shadow:6px 6px 0 var(--ink); }
  .school-icon { width:46px; height:46px; border-radius:13px; }
  .school-icon svg { width:23px; }
  .school-status { grid-column:1/-1; min-width:0; padding:8px; }
  .school-box label { font-size:9px; }
  .school-select { max-width:calc(100vw - 100px); height:45px!important; }
  .school-badge { width:27px; height:27px; border-radius:8px; }
  .school-option,.selected-school { gap:7px; }
  .continue-button { width:100%; margin-top:26px; }
  .shop { padding:78px 12px; }
  .section-heading { grid-template-columns:1fr; gap:18px; text-align:center; margin-bottom:28px; }
  .section-heading>p { margin:auto; font-size:14px; }
  .school-reminder { grid-template-columns:36px 1fr auto; padding:12px; }
  .catalog-tabs-list { width:100%!important; margin-bottom:24px!important; }
  .catalog-tabs-list button { min-width:0; flex:1; }
  .product-grid { grid-template-columns:1fr; gap:15px; }
  .product-card { display:grid; grid-template-columns:43% 57%; min-height:225px; border-radius:21px; }
  .product-photo { height:100%; min-height:225px; }
  .product-info { padding:16px; }
  .product-info h3 { font-size:20px; }
  .product-info p { min-height:0; margin-bottom:11px; }
  .card-colors { gap:5px; margin-bottom:10px; }
  .card-colors i { width:14px; height:14px; }
  .included { font-size:7px; }
  .card-action { align-items:flex-end; }
  .card-action strong { font-size:18px; }
  .card-action button { width:45px; padding:0!important; font-size:0; }
  .card-action button svg { width:17px; }
  .photo-zoom { display:none; }
  .auto-promo { margin-bottom:24px; padding:14px; grid-template-columns:42px 1fr; gap:11px; border-radius:17px; box-shadow:5px 5px 0 var(--ink); }
  .auto-promo>div { width:40px; height:40px; border-radius:11px; }
  .auto-promo b { font-size:15px; }
  .auto-promo p { font-size:9px; }
  .promo-zone { margin-top:24px; padding:17px; grid-template-columns:1fr; gap:20px; border-radius:23px; }
  .promo-copy { text-align:center; }
  .promo-copy h3 { font-size:36px; }
  .promo-copy p { font-size:12px; }
  .adult-grid { grid-template-columns:1fr; }
  .gift-section { min-height:auto; padding:80px 18px; grid-template-columns:1fr; gap:28px; text-align:center; }
  .gift-photo { border-radius:23px; box-shadow:8px 8px 0 var(--yellow); transform:rotate(-1deg); }
  .gift-photo>span { top:10px; left:10px; padding:7px 9px; font-size:7px; }
  .gift-rules { grid-template-columns:1fr; margin:22px 0 15px; text-align:left; }
  .gift-rules article { min-height:85px; }
  .gift-section .eyebrow { justify-content:center; }
  .gift-section>div:last-child>p:not(.eyebrow) { margin:20px auto; font-size:14px; }
  .light-cta { margin:auto; }
  .services { padding:38px 18px; gap:25px; }
  .services>div:first-child>svg { width:55px; height:55px; }
  .services>div:first-child b { font-size:17px; }
  .service-prices { grid-template-columns:1fr 1fr; }
  footer { grid-template-columns:1fr; justify-items:center; }
  footer p { text-align:center; }
  footer small { grid-column:auto; width:100%; }
  .product-sheet,.cart-sheet { padding:18px!important; }
  .config-preview { height:125px; grid-template-columns:110px 1fr; }
  .config-preview img { width:110px; height:110px; }
  .config-step { padding:10px; }
  .color-picker { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .colors-dialog { width:calc(100vw - 12px)!important; max-height:calc(100svh - 12px); padding:18px!important; border-width:2px!important; border-radius:19px!important; box-shadow:5px 5px 0 var(--yellow)!important; }
  .colors-dialog [data-slot="dialog-title"] { font-size:27px; }
  .colors-dialog [data-slot="dialog-description"] { font-size:10px; }
  .catalog-color-grid { max-height:50svh; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .catalog-color-grid button { min-height:68px; padding:7px 4px; }
  .size-picker { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .config-total { grid-template-columns:1fr; gap:8px; }
  .config-total>div { flex-direction:row; align-items:baseline; justify-content:space-between; }
  .store-info { padding:75px 16px; grid-template-columns:1fr; gap:30px; text-align:center; }
  .store-info .eyebrow { justify-content:center; }
  .store-info h2 { font-size:44px; letter-spacing:-3px; }
  .store-info>div:first-child>p:not(.eyebrow) { margin:18px auto 0; font-size:14px; }
  .store-details { padding:14px; grid-template-columns:1fr; text-align:left; border-radius:20px; box-shadow:6px 6px 0 var(--yellow); }
  .store-details article { min-height:86px; }
  .store-actions { grid-column:auto; grid-template-columns:1fr; }
  .checkout-sheet { padding:18px!important; }
  .checkout-sheet [data-slot="sheet-title"] { font-size:26px; }
  .labels-upsell { grid-template-columns:105px 1fr; padding:10px; gap:10px; }
  .labels-upsell>img { width:105px; height:112px; }
  .labels-upsell h3 { font-size:13px; }
  .labels-upsell ul { grid-template-columns:1fr; gap:3px; }
  .labels-upsell li:last-child { grid-column:auto; }
  .fulfillment-choice { gap:7px; }
  .fulfillment-choice button { min-height:70px; padding:9px; grid-template-columns:22px 1fr 15px; gap:6px; }
  .fulfillment-choice button>svg:first-child { width:20px; }
  .fulfillment-choice b { font-size:9px; }
  .delivery-estimate { grid-template-columns:36px 1fr auto; padding:13px; gap:9px; }
  .delivery-estimate>svg { width:23px; }
  .delivery-estimate span>strong { font-size:17px; }
  .delivery-estimate>b { min-width:58px; }
  .checkout-fields { grid-template-columns:1fr; }
  .checkout-fields .full-field { grid-column:auto; }
  .checkout-success h2 { font-size:35px; letter-spacing:-2px; }
}
@media (max-width:420px) {
  .intro-school { padding:15px; }
  .intro-school [data-slot="dialog-title"] { font-size:26px; }
  .catalog-color-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-card { grid-template-columns:40% 60%; }
  .product-photo { min-height:220px; }
  .product-info { padding:14px; }
  .included { padding:5px 6px; }
  .school-select { max-width:calc(100vw - 94px); }
  .service-prices { grid-template-columns:1fr; }
}
@media (max-width:760px) and (max-height:680px) {
  .transform-sticky { min-height:560px; grid-template-rows:minmax(190px,34svh) minmax(0,1fr); padding-top:70px; }
  .story-copy :is(h1,h2) { font-size:clamp(36px,10vw,46px); }
  .story-copy>p:not(.eyebrow) { font-size:10px; }
  .child-stack { width:min(220px,57vw); height:min(325px,46svh); bottom:10px; }
  .pop-tag { display:none; }
}
@keyframes scroll-fade-reveal-b { from{--scroll-fade-b:12px} to{--scroll-fade-b:0px} }
@keyframes tw-shimmer { to{background-position-x:-200%} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }

/* WordPress and WooCommerce integration. */
.admin-bar .site-header{top:46px}
.nav-list{margin:0;padding:0;display:flex;align-items:center;gap:32px;list-style:none}
.menu-button{width:42px;height:42px;padding:10px!important;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:0!important;border-radius:12px!important;background:var(--ink)!important}
.menu-button span{width:18px;height:2px;display:block;border-radius:9px;background:#fff}
.wc-school-main{min-height:80vh;padding:130px 20px 80px;background:var(--paper)}
.wc-school-shell{width:min(1180px,100%);margin:auto}
.wc-school-shell h1,.woocommerce h1{font:950 clamp(38px,6vw,70px)/.95 "Arial Black",Arial,sans-serif;letter-spacing:-3px;text-transform:uppercase}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{min-height:46px;padding:0 18px!important;display:inline-flex!important;align-items:center;justify-content:center;border:0!important;border-radius:12px!important;background:var(--ink)!important;color:#fff!important;font-size:11px!important;font-weight:950!important}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--ink)!important;color:#fff!important}
.woocommerce table.shop_table{overflow:hidden;border:2px solid var(--ink);border-radius:18px;background:#fff}
.woocommerce table.shop_table th{font-size:10px;text-transform:uppercase}.woocommerce table.shop_table td{padding:14px 12px;border-color:rgba(18,18,18,.1)}
.woocommerce table.shop_table img{width:85px;border-radius:11px;background:#f4f1e8;object-fit:contain}
.woocommerce .quantity .qty{height:42px;border:1.5px solid var(--ink);border-radius:9px;font-weight:850}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{min-height:48px;padding:10px 12px;border:1.5px solid var(--ink);border-radius:11px;background:#fff;font-weight:750}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:27px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.woocommerce form .form-row label{font-size:10px;font-weight:900;text-transform:uppercase}
.woocommerce .cart_totals,.woocommerce-checkout-review-order{padding:20px;border:2px solid var(--ink);border-radius:20px;background:#fff;box-shadow:7px 7px 0 var(--yellow)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{font:950 25px/1 "Arial Black",Arial,sans-serif;letter-spacing:-1.2px;text-transform:uppercase}
.woocommerce-error,.woocommerce-info,.woocommerce-message{border:2px solid var(--ink);border-top:2px solid var(--ink);border-radius:13px;background:#fff;color:var(--ink);font-size:12px;font-weight:750}
.woocommerce-message{box-shadow:4px 4px 0 #d8f7d7}.woocommerce-info{box-shadow:4px 4px 0 var(--yellow)}
.woocommerce-checkout #payment{border:2px solid var(--ink);border-radius:18px;background:#f5f2e9}.woocommerce-checkout #payment div.payment_box{background:#fff}.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce ul#shipping_method li{margin:7px 0;padding:10px;border:1px solid rgba(18,18,18,.14);border-radius:10px;background:#fff;font-weight:850}
.woocommerce-checkout .col2-set{margin-bottom:25px}.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{padding:18px;border:1.5px solid var(--ink);border-radius:18px;background:#fff}
.woocommerce-order-received .woocommerce-order{padding:20px;border-radius:20px;background:#fff}
.page-main{min-height:80vh;padding:130px 20px 80px}.page-shell{width:min(1100px,100%);margin:auto}
.skip-link{position:fixed;z-index:100000;top:8px;left:8px;padding:10px 14px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:900;transform:translateY(-150%)}
.skip-link:focus{transform:none}
@media(max-width:782px){.admin-bar .site-header{top:54px}}
@media(max-width:760px){
  .nav-list{flex-direction:column;align-items:flex-start;gap:20px}.nav-list a{font-size:15px}
  .cart-button::before{content:"";width:18px;height:16px;border:2px solid #fff;border-top:0;border-radius:2px;transform:skew(-7deg)}
  .wc-school-main,.page-main{padding:95px 10px 55px}.wc-school-shell h1,.woocommerce h1{font-size:39px;letter-spacing:-2px}
  .woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{padding:10px!important}
  .woocommerce table.shop_table img{width:70px}.woocommerce .cart-collaterals .cart_totals{width:100%;padding:14px}
  .woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none;margin-bottom:12px;padding:13px}
  .woocommerce-checkout-review-order{padding:12px;box-shadow:5px 5px 0 var(--yellow)}
}
