:root{--black:#050505;--soft:#111;--line:#2b2b2b;--white:#f5f5f2;--muted:#9b9b9b;--red:#ff2029;--green:#25d366}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;letter-spacing:.02em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.intro{position:fixed;inset:0;z-index:100;background:#fff;color:#000;display:grid;place-items:center;align-content:center;transition:opacity .7s ease,visibility .7s}.intro.hide{opacity:0;visibility:hidden}.balloon-wrap{animation:floatIn 2.25s cubic-bezier(.2,.75,.22,1) both;display:grid;place-items:center}.balloon-logo{width:190px;height:auto;display:block;filter:drop-shadow(0 16px 20px rgba(0,0,0,.18));transform-origin:50% 70%;animation:logoSway 2.4s ease-in-out infinite}.mini-balloon-logo{width:300px;height:auto;display:block;position:relative;z-index:1;filter:drop-shadow(0 0 7px rgba(255,255,255,.30)) drop-shadow(0 0 28px rgba(255,32,41,.52));animation:heroFloat 4.4s ease-in-out infinite}@keyframes logoSway{50%{transform:rotate(2deg) translateY(-4px)}}.intro-wordmark{margin-top:10px;font-size:70px;font-weight:900;font-style:italic;letter-spacing:-.08em;opacity:0;animation:fadeUp .65s 1.65s forwards}.intro-wordmark span,.intro-sub span{color:var(--red)}.intro-sub{font-size:12px;letter-spacing:.55em;opacity:0;animation:fadeUp .65s 1.85s forwards}@keyframes floatIn{0%{transform:translateY(70vh) rotate(-8deg)}65%{transform:translateY(-18px) rotate(4deg)}100%{transform:translateY(0) rotate(0)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}from{opacity:0;transform:translateY(14px)}}.site-header{height:82px;position:sticky;top:0;z-index:30;background:rgba(5,5,5,.86);backdrop-filter:blur(16px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.09)}.brand img{width:105px;height:58px;object-fit:contain;background:#fff}.site-header nav{display:flex;gap:34px;font-size:12px;letter-spacing:.10em;text-transform:uppercase}.site-header nav a{position:relative;padding:31px 0}.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:1px;background:var(--red);transition:right .25s ease}.site-header nav a:hover{color:var(--red)}.site-header nav a:hover::after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:14px}.icon-link,.cart-button{border:1px solid var(--line);background:transparent;color:var(--white);padding:10px 13px;font-size:12px}.cart-button span{display:inline-grid;place-items:center;background:var(--red);border-radius:50%;width:18px;height:18px;margin-left:5px}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.4fr .6fr;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-noise{position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(255,32,41,.18),transparent 25%),linear-gradient(110deg,#050505 50%,#101010);opacity:.9}.hero-content{z-index:1;align-self:center;padding:8vw 7vw}.eyebrow{font-size:12px;letter-spacing:.25em;color:var(--red);font-weight:700}.hero h1{font-size:clamp(52px,8vw,126px);line-height:.88;margin:24px 0;letter-spacing:-.07em}.hero h1 span{color:transparent;-webkit-text-stroke:1.4px var(--white)}.hero-copy{max-width:520px;color:#c4c4c4;line-height:1.7}.primary-cta{display:inline-block;margin-top:28px;padding:16px 20px;border:1px solid var(--red);color:var(--white);font-size:12px;letter-spacing:.18em;position:relative;isolation:isolate;overflow:hidden;transition:color .25s ease,transform .25s ease}.primary-cta::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateX(-102%);transition:transform .28s ease;z-index:-1}.primary-cta:hover{transform:translateY(-2px)}.primary-cta:hover::before{transform:translateX(0)}.hero-mark{z-index:1;display:grid;place-items:center;position:relative}.hero-mark::before{content:"";position:absolute;width:min(38vw,470px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,32,41,.34) 0%,rgba(255,32,41,.12) 36%,transparent 70%);filter:blur(18px);animation:glowPulse 4.4s ease-in-out infinite}@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(2deg)}}@keyframes glowPulse{0%,100%{transform:scale(.94);opacity:.7}50%{transform:scale(1.06);opacity:1}}.shop-section{padding:100px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-heading h2,.about-section h2{font-size:clamp(38px,6vw,78px);margin:8px 0;letter-spacing:-.05em}.section-heading>p{color:var(--muted)}.preview-notice{border:1px solid #5a282b;background:#15090a;padding:14px 16px;margin:0 0 28px;display:flex;gap:18px;align-items:center;font-size:12px}.preview-notice strong{color:var(--red);letter-spacing:.14em}.preview-notice span{color:#c7b8b8}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product-card{border:1px solid var(--line);background:#0b0b0b;cursor:pointer;transition:transform .25s,border-color .25s}.product-card:hover{transform:translateY(-4px);border-color:#6f2024}.product-image{aspect-ratio:1/1;overflow:hidden;background:#f2f2f0}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.product-card:hover img{transform:scale(1.025)}.product-meta{padding:20px;display:grid;grid-template-columns:1fr auto;gap:10px}.product-meta h3{margin:0 0 7px;font-size:22px}.product-meta .sku{font-size:11px;color:var(--muted)}.product-meta .price{grid-row:1/2;grid-column:2;text-align:right}.product-meta .status{color:var(--red);font-size:11px;letter-spacing:.12em}.about-section{padding:120px 7vw;border-top:1px solid var(--line);background:#0a0a0a}.about-section h2 span,footer strong span{color:var(--red)}.about-section>p:not(.eyebrow){max-width:720px;color:#bcbcbc;line-height:1.8}.about-section a{display:inline-block;margin-top:26px;border-bottom:1px solid var(--red);padding-bottom:6px}footer{padding:32px 5vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer strong{font-size:28px;color:var(--white);font-style:italic}.product-dialog{width:min(1240px,96vw);height:min(860px,94vh);padding:0;border:1px solid #333;background:#070707;color:var(--white)}.product-dialog::backdrop{background:rgba(0,0,0,.86)}.product-dialog[open]{display:grid;grid-template-columns:1.25fr .75fr}.dialog-close{position:absolute;right:16px;top:12px;z-index:5;background:#080808cc;color:white;border:1px solid #333;width:42px;height:42px;font-size:28px}.dialog-gallery{background:#111;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0}.gallery-stage{display:grid;place-items:center;overflow:hidden;padding:22px;min-height:0}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 12px 14px;border-top:1px solid #292929;background:#090909}.gallery-thumb{flex:0 0 92px;background:#111;border:1px solid #333;color:#aaa;padding:0;text-align:left}.gallery-thumb.active{border-color:var(--red);color:#fff}.gallery-thumb img{display:block;width:100%;height:68px;object-fit:cover}.gallery-thumb span{display:block;font-size:9px;padding:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-info{padding:68px 42px;overflow:auto}.dialog-info h2{font-size:44px;margin:12px 0}.muted{color:var(--muted)}.dialog-info>p{line-height:1.65}.option-block{margin-top:25px}.option-block>span{display:block;font-size:11px;letter-spacing:.15em;margin-bottom:10px}.option-row{display:flex;flex-wrap:wrap;gap:8px}.option-row button{background:#080808;color:white;border:1px solid #444;padding:12px 18px}.option-row button.active{border-color:var(--red);color:var(--red)}.qty-control{display:inline-flex;border:1px solid #444}.qty-control button{width:42px;height:40px;background:#080808;color:#fff;border:0}.qty-control span{width:46px;display:grid;place-items:center;border-inline:1px solid #333}.price-row{margin-top:30px;display:flex;align-items:center;justify-content:space-between}.price-row strong{font-size:30px}.status-badge{border:1px solid var(--red);color:var(--red);padding:8px 10px;font-size:11px}.selection-hint{font-size:11px;color:#aaa;margin:12px 0 0}.add-button{width:100%;margin-top:14px;padding:16px;border:1px solid var(--red);background:var(--red);color:#fff;font-weight:700;letter-spacing:.08em}.instagram-link{display:block;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.cart-panel{position:fixed;right:0;top:0;bottom:0;z-index:60;width:min(470px,96vw);background:#080808;border-left:1px solid var(--line);transform:translateX(100%);transition:.3s;padding:24px;display:flex;flex-direction:column}.cart-panel.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #252525;padding-bottom:14px}.cart-head h2{margin:5px 0}.cart-head button{background:transparent;border:0;color:#fff;font-size:30px}.cart-mode-note{margin:14px 0 4px;border:1px solid #552326;background:#160a0a;padding:10px 12px;display:grid;gap:4px;font-size:11px}.cart-mode-note strong{color:var(--red)}.cart-mode-note span{color:#c5b2b2}.cart-items{overflow:auto;flex:1;padding:10px 0}.cart-item{display:grid;grid-template-columns:86px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid #222}.cart-item>img{width:86px;height:100px;object-fit:cover;background:#eee}.cart-item-info{display:flex;flex-direction:column;gap:5px}.cart-item-info strong{font-size:14px}.cart-item-info span{font-size:10px;color:#999}.cart-item-info b{font-size:13px;margin-top:3px}.cart-item-actions{display:flex;flex-direction:column;align-items:center;gap:5px}.cart-item-actions button{width:28px;height:28px;border:1px solid #333;background:#111;color:#fff}.cart-item-actions .remove{width:auto;height:auto;border:0;background:none;color:#a66;font-size:9px;padding:4px}.empty-cart{margin:auto;text-align:center;color:var(--muted)}.cart-summary{border-top:1px solid #333;padding-top:16px}.cart-summary>div{display:flex;justify-content:space-between;margin:8px 0;font-size:13px}.cart-summary>div:last-of-type{font-size:18px}.whatsapp-button{width:100%;margin-top:14px;padding:16px;background:var(--green);color:#041b0c;border:0;font-weight:800;letter-spacing:.06em}.cart-summary small{display:block;color:#888;line-height:1.5;margin-top:10px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:50;opacity:0;visibility:hidden;transition:.3s}.overlay.show{opacity:1;visibility:visible}.toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translate(-50%,20px);background:#fff;color:#090909;padding:11px 16px;font-size:12px;opacity:0;visibility:hidden;transition:.25s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:850px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:760px}.hero-content{padding:100px 7vw 40px}.hero-mark{position:absolute;right:-60px;bottom:20px;opacity:.32}.mini-balloon-logo{width:230px}.product-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.preview-notice{align-items:flex-start;flex-direction:column;gap:5px}.product-dialog{height:96vh}.product-dialog[open]{grid-template-columns:1fr;overflow:auto}.dialog-gallery{min-height:520px}.gallery-stage{height:410px}.dialog-info{padding:44px 24px}.gallery-thumb{flex-basis:80px}.gallery-thumb img{height:58px}footer{flex-direction:column;gap:12px}.brand img{width:90px}.cart-item{grid-template-columns:72px 1fr auto}.cart-item>img{width:72px;height:88px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.intro{display:none}}

/* v3.1 — categorie, gallery migliorata e J4F Local Delivery */
.category-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.category-filter{border:1px solid #3a3a3a;background:#090909;color:#cfcfcf;padding:10px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.category-filter:hover,.category-filter.active{border-color:var(--red);color:var(--red)}
.product-image.white-product{background:#d9d9d5}.product-image.white-product img{object-fit:contain}
.gallery-stage.studio-white{background:#cfcfca}.gallery-stage.studio-white img{filter:contrast(1.04);transform:translateY(-6%)}
.gallery-stage.packaging-view{background:#161616;padding:34px}.gallery-stage img.packaging-image{width:88%;height:88%;object-fit:contain;object-position:center center}.gallery-stage.white-packaging img.packaging-image{transform:translateY(-4%)}
.gallery-thumb img.white-thumb{background:#d9d9d5;object-fit:contain}
.delivery-box{margin-top:18px;padding:14px;border:1px solid #2e2e2e;background:#0d0d0d}.delivery-title{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.16em;color:#aaa}.delivery-option{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-top:1px solid #222;cursor:pointer}.delivery-option:first-of-type{border-top:0}.delivery-option input{margin-top:3px;accent-color:var(--red)}.delivery-option span{display:grid;gap:4px}.delivery-option strong{font-size:11px;letter-spacing:.05em}.delivery-option small{color:#8f8f8f;font-size:10px;line-height:1.4}.delivery-address{display:grid;gap:7px;margin-top:12px}.delivery-address span{font-size:9px;letter-spacing:.12em;color:#aaa}.delivery-address input{width:100%;border:1px solid #373737;background:#080808;color:#fff;padding:12px 11px;font:inherit;font-size:12px;outline:none}.delivery-address input:focus{border-color:var(--red)}.delivery-hint{margin:9px 0 0;color:#858585;font-size:9px;line-height:1.5}.cart-summary{max-height:52vh;overflow:auto;padding-right:2px}
@media(max-width:850px){.category-filters{margin-bottom:18px}.gallery-stage.packaging-view{padding:22px}.gallery-stage img.packaging-image{width:92%;height:92%}.cart-summary{max-height:none}.delivery-box{padding:12px}}


/* v3.2 — checkout consegna compatto + verifica CAP/indirizzo */
.delivery-box{margin-top:16px;padding:16px;border:1px solid #2c2c2c;background:#0c0c0c;display:block!important}
.delivery-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:9px}
.delivery-box-head>div{display:grid;gap:4px}.delivery-box-head strong{font-size:12px;letter-spacing:.06em}
.delivery-title{font-size:9px;letter-spacing:.17em;color:#888}.delivery-radius{border:1px solid #3b3b3b;padding:6px 8px;font-size:9px;letter-spacing:.12em;color:#bbb;white-space:nowrap}
.delivery-copy{margin:0 0 13px!important;color:#999!important;font-size:10px!important;line-height:1.45!important}.delivery-copy strong{color:#fff}
.delivery-address{display:grid;gap:7px;margin:0}.delivery-address>span{font-size:9px;letter-spacing:.12em;color:#aaa}
.delivery-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.delivery-input-row input{min-width:0;width:100%;height:42px;border:1px solid #363636;background:#070707;color:#fff;padding:0 11px;font:inherit;font-size:12px;outline:none}
.delivery-input-row input:focus{border-color:var(--red)}
.delivery-input-row button{height:42px;border:1px solid var(--red);background:transparent;color:var(--red);padding:0 13px;font-size:10px;font-weight:700;letter-spacing:.08em}
.delivery-input-row button:hover{background:var(--red);color:#fff}.delivery-input-row button:disabled{opacity:.55}
.delivery-result{margin-top:11px;padding:10px 11px;border:1px solid #303030;display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:start}
.delivery-result .delivery-dot{width:8px;height:8px;border-radius:50%;background:#777;margin-top:3px}.delivery-result>div{display:grid;gap:3px}.delivery-result strong{font-size:10px;letter-spacing:.04em}.delivery-result small{font-size:9px;line-height:1.4;color:#8e8e8e}
.delivery-result.local{border-color:#1f6238;background:#08140d}.delivery-result.local .delivery-dot{background:var(--green)}.delivery-result.local strong{color:#6be697}
.delivery-result.shipping{border-color:#593235;background:#150b0c}.delivery-result.shipping .delivery-dot{background:var(--red)}.delivery-result.shipping strong{color:#ff666d}
.delivery-result.checking .delivery-dot{background:#e0b341;animation:deliveryPulse 1s infinite}.delivery-result.error{border-color:#654f24;background:#161208}.delivery-result.error .delivery-dot{background:#e0b341}.delivery-result.error strong{color:#e7c46f}
@keyframes deliveryPulse{50%{opacity:.35}}
.force-shipping{margin-top:8px;width:100%;height:38px;border:1px solid #494949;background:#111;color:#fff;font-size:9px;letter-spacing:.08em}
.delivery-hint{margin:9px 0 0!important;color:#666!important;font-size:8px!important;line-height:1.45!important}
.cart-summary>div:not(.delivery-box){display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0;font-size:12px}
.cart-summary .order-total-row{border-top:1px solid #2a2a2a;padding-top:10px;margin-top:10px!important}.cart-summary .order-total-row strong{font-size:18px;color:#fff}
#cartDeliveryCost{font-size:11px;color:#aaa}#cartOrderTotal{font-size:18px}
@media(max-width:850px){.delivery-box{padding:13px}.delivery-input-row{grid-template-columns:1fr}.delivery-input-row button{width:100%}}

.custom-section{padding:110px 7vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#050505;position:relative;overflow:hidden}.custom-section::after{content:"CUSTOM";position:absolute;right:-.04em;bottom:-.18em;font-size:clamp(110px,20vw,300px);font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.025);pointer-events:none}.custom-kicker{font-size:10px;letter-spacing:.2em;color:var(--muted);margin-bottom:50px}.custom-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;position:relative;z-index:1}.custom-section h2{font-size:clamp(52px,8vw,118px);line-height:.82;letter-spacing:-.07em;margin:12px 0 0}.custom-section h2 span{color:var(--red)}.custom-copy h3{font-size:20px;line-height:1.25;margin:0 0 16px}.custom-copy p{color:#bcbcbc;line-height:1.8;margin:0 0 26px}.custom-cta{display:inline-block;border:1px solid var(--red);background:var(--red);color:#fff;padding:15px 19px;font-size:12px;font-weight:800;letter-spacing:.09em;transition:.2s}.custom-cta:hover{background:transparent;color:var(--red)}.custom-copy small{display:block;color:#777;line-height:1.5;margin-top:14px;max-width:520px}@media(max-width:850px){.custom-section{padding:80px 7vw}.custom-kicker{margin-bottom:30px}.custom-layout{grid-template-columns:1fr;gap:42px}.custom-section h2{font-size:clamp(58px,17vw,92px)}}


/* v3.5 — mobile polish, swipe gallery e BAG nella scheda prodotto */
.dialog-top-actions{position:absolute;right:16px;top:12px;z-index:8;display:flex;gap:8px;align-items:center}
.dialog-top-actions .dialog-close{position:static;right:auto;top:auto}
.dialog-cart-button{height:42px;border:1px solid #333;background:#080808e8;color:#fff;padding:0 12px;font-size:11px;letter-spacing:.08em}
.dialog-cart-button span{display:inline-grid;place-items:center;background:var(--red);border-radius:50%;width:18px;height:18px;margin-left:5px}
.gallery-stage{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.gallery-stage:active{cursor:grabbing}

@media(max-width:850px){
  .site-header{height:68px;padding:0 18px;grid-template-columns:1fr auto}
  .brand img{width:76px;height:48px}
  .header-actions{gap:8px}
  .icon-link,.cart-button{padding:9px 11px}
  .hero{min-height:calc(100svh - 68px)}
  .hero-content{padding:78px 7vw 34px}
  .shop-section{padding:72px 5vw}
  .product-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;margin:0}
  .product-dialog[open]{display:block;overflow-y:auto;overscroll-behavior:contain}
  .dialog-gallery{display:block;min-height:0;background:#111}
  .gallery-stage{height:min(58vh,460px);min-height:330px;padding:14px 14px 8px}
  .gallery-thumbs{padding:8px 10px 10px;gap:7px;scroll-snap-type:x proximity}
  .gallery-thumb{flex-basis:72px;scroll-snap-align:center}
  .gallery-thumb img{height:52px}
  .gallery-thumb span{font-size:8px;padding:5px}
  .dialog-info{padding:26px 20px 34px;overflow:visible}
  .dialog-info h2{font-size:34px;margin:8px 0}
  .dialog-info>p{margin:8px 0;line-height:1.5}
  .option-block{margin-top:18px}
  .price-row{margin-top:22px}
  .dialog-top-actions{position:fixed;right:12px;top:max(10px,env(safe-area-inset-top));z-index:20}
  .dialog-cart-button,.dialog-top-actions .dialog-close{background:#080808f2;backdrop-filter:blur(8px)}
}
