
:root{
  box-sizing:border-box; color-scheme:dark;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  --black:#0A0908; --coal:#11100E; --iron:#1A1917; --steel:#3A3733; --rivet:#7C7563;
  --brass:#D6A24E; --brass2:#F0C979; --red:#E0433A; --cream:#F2E9D9; --dim:#A99F8C; --line:#34312C;
  --hdr:60px;
  --logo:url(assets/logo-oma-bianco.webp); --grunge:url(assets/texture-grunge.webp); --woodimg:url(assets/texture-legno.webp);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --black:#0A0908; --cream:#F2E9D9; } }
:root[data-theme="dark"]{ --black:#0A0908; --cream:#F2E9D9; }
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 8px);}
body{margin:0; background:var(--black); color:var(--cream); font-family:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:clip; -webkit-tap-highlight-color:transparent;}
a{color:inherit;} button{font:inherit; color:inherit; cursor:pointer;}
img{max-width:100%; display:block;}
:focus-visible{outline:2px solid var(--brass2); outline-offset:3px;}
.wrap{max-width:1180px; margin:0 auto; padding:0 20px;}
.osw{font-family:'Oswald','Arial Narrow',sans-serif;}
.lg{background:var(--logo) center/contain no-repeat;}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}

/* iron plate */
.iron{position:relative; border-radius:16px; border:1px solid #3B3833;
  background:
    radial-gradient(circle at 13px 13px,var(--rivet) 0 2px,#0b0a09 3px,transparent 4px),
    radial-gradient(circle at calc(100% - 13px) 13px,var(--rivet) 0 2px,#0b0a09 3px,transparent 4px),
    radial-gradient(circle at 13px calc(100% - 13px),var(--rivet) 0 2px,#0b0a09 3px,transparent 4px),
    radial-gradient(circle at calc(100% - 13px) calc(100% - 13px),var(--rivet) 0 2px,#0b0a09 3px,transparent 4px),
    linear-gradient(160deg,#2B2925 0%,#1B1A18 48%,#111010 100%);
  box-shadow:inset 0 1px 0 #ffffff18, inset 0 -1px 0 #00000080, 0 24px 50px -24px #000;}
.iron::after{content:""; position:absolute; inset:0; border-radius:inherit; background:var(--grunge) center/cover; mix-blend-mode:overlay; opacity:.32; pointer-events:none;}
.iron > *{position:relative; z-index:1;}
.stamp{display:inline-block; font-family:'Alfa Slab One',Georgia,serif; background:var(--brass); color:#1B1208; padding:7px 16px 5px; font-size:17px; letter-spacing:.02em; line-height:1.1; text-transform:uppercase;
  clip-path:polygon(0 10%,4% 0,38% 5%,72% 0,100% 7%,98% 52%,100% 93%,62% 100%,28% 95%,3% 100%,0 58%);}
.kicker{font-family:'Oswald'; font-weight:500; letter-spacing:.24em; font-size:12.5px; color:var(--brass2); text-transform:uppercase;}
.h2{font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:clamp(40px,11vw,86px); line-height:.92; margin:10px 0 0; letter-spacing:.005em;}
.h2 .r{color:var(--red);}
.lead{color:var(--dim); font-size:17px; max-width:54ch; margin:16px 0 0;}
.btn{white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border-radius:12px; font-family:'Oswald'; font-weight:600; font-size:16px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; border:1.5px solid transparent; transition:transform .15s, filter .2s, background .2s;}
.btn:active{transform:scale(.97);}
.btn.brass{background:linear-gradient(180deg,var(--brass2),var(--brass)); color:#1B1208; box-shadow:inset 0 1px 0 #fff6, 0 8px 20px -8px #d6a24e99;}
.btn.red{background:var(--red); color:#fff; box-shadow:0 8px 22px -8px #e0433aaa;}
.btn.ghost{border-color:#ffffff33; color:var(--cream); background:#ffffff08;}
.btn svg{width:18px; height:18px; flex:none;}
.rv{opacity:0; transform:translateY(34px); transition:opacity .8s ease, transform .9s cubic-bezier(.2,.8,.2,1);}
.rv.in{opacity:1; transform:none;}
.ornament{display:block; width:min(300px,78%); height:auto; margin:0 auto; color:#4E4A43;}

/* whatsapp */
.btn.wa{background:#25D366; color:#062B14; box-shadow:0 8px 22px -8px #25d366aa;}
.btn.wa:hover{filter:brightness(1.06);}
.wai{width:20px; height:20px; flex:none;}
.wa-fab{position:fixed; right:16px; bottom:calc(92px + env(safe-area-inset-bottom,0px)); z-index:84; width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 28px -6px rgba(37,211,102,.6), 0 0 0 4px #0A0908; text-decoration:none; transform:scale(0); transition:transform .45s cubic-bezier(.2,1.4,.4,1) .6s;}
body.loaded .wa-fab{transform:scale(1);}
body.loaded .wa-fab.off{transform:scale(0); transition-delay:0s;} .wa-fab.off + .wa-tip{opacity:0;}
.wa-fab .wai{width:30px; height:30px;}
.wa-fab::before{content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; animation:waPing 2.6s ease-out infinite; z-index:-1;}
@keyframes waPing{0%{transform:scale(1); opacity:.55;} 70%,100%{transform:scale(1.7); opacity:0;}}
.wa-tip{position:fixed; right:84px; bottom:calc(102px + env(safe-area-inset-bottom,0px)); z-index:84; background:var(--cream); color:#111; font-weight:600; font-size:14px; padding:9px 14px; border-radius:14px 14px 4px 14px; box-shadow:0 10px 30px -10px #000; opacity:0; transform:translateX(10px); transition:opacity .4s, transform .4s; pointer-events:none; max-width:210px;}
.wa-tip.show{opacity:1; transform:none;}
@media (min-width:980px){ .wa-fab{bottom:24px; right:24px; width:62px; height:62px;} .wa-tip{bottom:36px; right:98px;} }
.mnote a{color:#25D366; font-weight:600;}

/* loader */
#loader{position:fixed; inset:0; z-index:200; background:radial-gradient(120% 90% at 50% 40%, #171310 0%, var(--black) 70%); display:flex; align-items:center; justify-content:center; transition:opacity .45s ease, visibility .45s;}
body.loaded #loader{opacity:0; visibility:hidden;}
.ld-stage{width:min(460px,86vw); color:var(--brass2); text-align:center;}
.ld-rider{position:relative;}
.ld-moto{width:100%; height:auto; display:block; filter:drop-shadow(0 14px 22px #000000a8); animation:ldBounce .45s ease-in-out infinite alternate;}
.ld-fume{position:absolute; border-radius:50%; background:radial-gradient(circle,#8d7a5c 0%,transparent 70%); opacity:0; animation:ldFume 1s ease-out infinite; pointer-events:none;}
.ld-f1{width:10px; height:10px; left:6%; bottom:26%; animation-delay:0s;}
.ld-f2{width:14px; height:14px; left:2%; bottom:34%; animation-delay:.22s;}
.ld-f3{width:18px; height:18px; left:-3%; bottom:44%; animation-delay:.44s;}
.ld-road{position:relative; height:3px; margin:6px 0 16px; border-radius:2px; background:#ffffff14; overflow:hidden;}
.ld-road span{position:absolute; inset:0; background:repeating-linear-gradient(90deg,var(--red) 0 18px,transparent 18px 40px); animation:ldRoad .5s linear infinite;}
.ld-txt{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.24em; font-size:11px; color:var(--dim); margin:0;}
.ld-txt b{display:block; margin-top:6px; font-size:14px; letter-spacing:.16em; color:#F2E9D9;}
.ld-txt b::after{content:"…"; animation:ldDots 1s steps(4) infinite;}
@keyframes ldRoad{to{transform:translateX(-40px);}}
@keyframes ldBounce{from{transform:translateY(0) rotate(.4deg);} to{transform:translateY(-5px) rotate(-.4deg);}}
@keyframes ldFume{0%{opacity:.55; transform:translate(0,0) scale(.5);} 100%{opacity:0; transform:translate(-46px,-20px) scale(1.6);}}
@keyframes ldDots{0%{content:"";}25%{content:".";}50%{content:"..";}75%{content:"...";}}
@media (prefers-reduced-motion: reduce){ .ld-moto,.ld-road span,.ld-fume,.ld-txt b::after{animation:none;} }

/* header */
header.top{position:fixed; top:0; left:0; right:0; z-index:80; padding-top:env(safe-area-inset-top,0px); transition:background .3s, border-color .3s; border-bottom:1px solid transparent;}
header.top.solid{background:rgba(10,9,8,.88); backdrop-filter:blur(14px) saturate(1.3); -webkit-backdrop-filter:blur(14px) saturate(1.3); border-bottom-color:#ffffff12;}
.hbar{max-width:1180px; margin:0 auto; height:var(--hdr); display:flex; align-items:center; justify-content:space-between; padding:0 16px 0 14px; gap:12px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; min-width:0;}
.brand .lg{width:40px; height:40px; flex:none; filter:drop-shadow(0 0 6px #ffffff66);}
.brand b{font-family:'Oswald'; font-weight:700; font-size:16px; letter-spacing:.04em; line-height:1; display:block; white-space:nowrap;}
.brand small{display:block; font-family:'Oswald'; font-size:10.5px; letter-spacing:.26em; color:var(--brass2); margin-top:3px;}
nav.dnav{display:none; align-items:center; gap:26px;}
nav.dnav a{font-family:'Oswald'; font-weight:500; text-transform:uppercase; letter-spacing:.1em; font-size:14px; text-decoration:none; color:#DCD2C0; position:relative; padding:6px 0;}
nav.dnav a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--red); transform:scaleX(0); transition:transform .25s; transform-origin:left;}
nav.dnav a:hover::after, nav.dnav a.on::after{transform:scaleX(1);}
.hbtn{width:44px; height:44px; border-radius:12px; border:1px solid #ffffff22; background:#ffffff0a; display:flex; align-items:center; justify-content:center; flex:none;}
.hbtn svg{width:22px; height:22px;}
#prog{position:absolute; left:0; bottom:-1px; height:2px; width:100%; background:linear-gradient(90deg,var(--red),var(--brass2)); transform-origin:left; transform:scaleX(0);}
@media (min-width:980px){ nav.dnav{display:flex;} .hbtn.burger{display:none;} :root{--hdr:74px;} .brand .lg{width:48px; height:48px;} .brand b{font-size:19px;} }

/* drawer */
#drawer{position:fixed; inset:0; z-index:90; background:rgba(8,7,6,.97); display:flex; flex-direction:column; justify-content:center; padding:40px 28px; gap:6px; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s;}
body.drawer-open #drawer{opacity:1; visibility:visible;}
#drawer a{font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:44px; line-height:1.15; text-decoration:none; transform:translateY(20px); opacity:0; transition:transform .5s, opacity .5s, color .2s;}
body.drawer-open #drawer a{transform:none; opacity:1;}
#drawer a:hover{color:var(--red);}
#drawer .close{position:absolute; top:calc(env(safe-area-inset-top,0px) + 8px); right:16px;}
#drawer .dmeta{margin-top:30px; color:var(--dim); font-size:15px;}

/* bottom tab bar (mobile) */
nav.tabs{position:fixed; left:0; right:0; bottom:0; z-index:85; padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)); background:rgba(12,11,10,.94); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-top:1px solid #ffffff14; display:grid; grid-template-columns:repeat(5,1fr); align-items:end; transform:translateY(110%); transition:transform .45s cubic-bezier(.2,.8,.2,1);}
body.loaded nav.tabs{transform:none;}
nav.tabs a{display:flex; flex-direction:column; align-items:center; gap:3px; text-decoration:none; font-family:'Oswald'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#A99F8C; padding:4px 0;}
nav.tabs a svg{width:23px; height:23px;}
nav.tabs a.on{color:var(--brass2);}
nav.tabs a.mid{position:relative; top:-14px; color:#1B1208;}
nav.tabs a.mid span.c{width:58px; height:58px; border-radius:50%; background:linear-gradient(180deg,var(--brass2),var(--brass)); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px -6px #d6a24eaa, 0 0 0 5px #0c0b0a;}
nav.tabs a.mid span.t{color:var(--brass2);}
@media (min-width:980px){ nav.tabs{display:none;} }
@media (max-width:979px){ body{padding-bottom:78px;} .hide-m{display:none !important;} }

/* hero */
#hero{position:relative; min-height:100vh; min-height:100svh; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate;}
.hero-bg{position:absolute; inset:-6% 0 -6% 0; z-index:-3; will-change:transform;}
.hero-bg img{width:100%; height:100%; object-fit:cover; object-position:28% 50%; animation:kb 16s ease-out both;}
@keyframes kb{from{transform:scale(1.18);} to{transform:scale(1.02);}}
#hero::before{content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(10,9,8,.72) 0%,rgba(10,9,8,.25) 30%,rgba(10,9,8,.55) 58%,var(--black) 96%), radial-gradient(ellipse at 50% 40%, transparent 30%, rgba(0,0,0,.55) 100%);}
#hero::after{content:""; position:absolute; inset:-50%; z-index:-1; background:var(--grunge) center/600px auto; opacity:.12; mix-blend-mode:overlay; animation:grain 1s steps(4) infinite; pointer-events:none;}
@keyframes grain{0%{transform:translate(0,0);} 25%{transform:translate(-3%,2%);} 50%{transform:translate(2%,-3%);} 75%{transform:translate(-2%,-1%);} 100%{transform:translate(1%,3%);}}
.hero-in{padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 18px) 20px 26px; max-width:1180px; margin:0 auto; width:100%; will-change:transform,opacity;}
.hero-logo{width:clamp(104px,30vw,170px); aspect-ratio:1; opacity:0; margin-bottom:14px;}
body.loaded .hero-logo{animation:neonOn 1.4s steps(1) .2s forwards, neonPulse 4s ease-in-out 2s infinite;}
@keyframes neonPulse{0%,100%{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 26px #ffffff77);} 50%{filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 16px #ffffff44);} }
.hero-title{font-family:'Oswald'; font-weight:700; text-transform:uppercase; line-height:.9; margin:0; font-size:clamp(46px,12.2vw,132px); letter-spacing:-.005em;}
.hero-title span{display:block; overflow:hidden;}
.hero-title span i{display:inline-block; font-style:normal; transform:translateY(105%); transition:transform 1s cubic-bezier(.2,.8,.2,1);}
.hero-title span:first-child i{color:var(--red);}
body.loaded .hero-title span i{transform:none;}
body.loaded .hero-title span:nth-child(2) i{transition-delay:.12s;}
.hero-sub{display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:14px; font-family:'Oswald'; letter-spacing:.2em; font-size:13px; text-transform:uppercase; color:#E0D6C4; opacity:0; transition:opacity 1s .5s;}
.hero-sub .dot{width:5px; height:5px; border-radius:50%; background:var(--red);}
body.loaded .hero-sub{opacity:1;}
/* next event card */
.next{margin-top:22px; padding:14px; display:grid; grid-template-columns:86px 1fr; gap:14px; align-items:center; max-width:520px; opacity:0; transform:translateY(30px); transition:opacity .9s .7s, transform .9s .7s cubic-bezier(.2,.8,.2,1);}
body.loaded .next{opacity:1; transform:none;}
.next img{width:86px; aspect-ratio:.8; object-fit:cover; border-radius:9px; box-shadow:0 8px 20px -6px #000;}
.next .lbl{display:flex; align-items:center; gap:8px; font-family:'Oswald'; font-size:11.5px; letter-spacing:.2em; color:var(--red); text-transform:uppercase;}
.next .lbl i{width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 10px var(--red); animation:blink 1.1s infinite;}
@keyframes blink{50%{opacity:.3;}}
.next h3,.next h2{font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:21px; line-height:1.05; margin:4px 0 2px;}
.next .when{color:var(--dim); font-size:14px;}
.cd{display:flex; gap:6px; margin-top:8px;}
.cd div{background:#00000066; border:1px solid #ffffff14; border-radius:8px; padding:4px 0 3px; min-width:44px; text-align:center;}
.cd b{display:block; font-family:'Oswald'; font-size:19px; line-height:1.05; font-variant-numeric:tabular-nums;}
.cd small{font-size:9.5px; letter-spacing:.14em; color:var(--dim);}
.next .acts{grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.scrollcue{display:flex; justify-content:center; margin-top:18px; color:#ffffff88;}
.scrollcue svg{width:26px; height:26px; animation:bob 1.8s ease-in-out infinite;}
@keyframes bob{50%{transform:translateY(6px);}}

/* ticker */
.ticker{overflow:hidden; white-space:nowrap; background:linear-gradient(180deg,#26241F,#151412); border-block:1px solid #3B3833; position:relative;}
.ticker::before,.ticker::after{content:""; position:absolute; top:0; bottom:0; width:40px; z-index:1;}
.ticker::before{left:0; background:linear-gradient(90deg,#151412,transparent);} .ticker::after{right:0; background:linear-gradient(-90deg,#151412,transparent);}
.ticker .tr{display:inline-flex; padding:13px 0; animation:tick 30s linear infinite;}
.ticker span{font-family:'Oswald'; font-weight:600; font-size:18px; letter-spacing:.14em; text-transform:uppercase; color:#CFC5B2; padding:0 16px; display:inline-flex; align-items:center; gap:32px;}
.ticker span::after{content:""; width:9px; height:9px; background:var(--red); transform:rotate(45deg); display:inline-block;}
@keyframes tick{to{transform:translateX(-50%);}}

/* events */
#eventi{padding:80px 0 70px; position:relative; overflow:hidden;}
#eventi::before{content:""; position:absolute; top:-120px; right:-160px; width:520px; height:520px; background:radial-gradient(circle,#E0433A30,transparent 65%); pointer-events:none;}
.ev-head{display:flex; justify-content:space-between; align-items:end; gap:20px; flex-wrap:wrap;}
.chips{display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:2px 20px; margin:26px -20px 0;}
.chips::-webkit-scrollbar{display:none;}
.chip{flex:none; height:40px; padding:0 16px; border-radius:40px; border:1px solid #ffffff22; background:#ffffff08; font-family:'Oswald'; font-weight:500; letter-spacing:.1em; text-transform:uppercase; font-size:13.5px; transition:background .2s, color .2s, border-color .2s;}
.chip.on{background:var(--cream); color:#111; border-color:var(--cream);}
.dates{display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:4px 20px; margin:14px -20px 0; scroll-snap-type:x proximity;}
.dates::-webkit-scrollbar{display:none;}
.dp{flex:none; width:58px; padding:8px 0 7px; border-radius:12px; text-align:center; border:1px solid #ffffff18; background:#15141288; scroll-snap-align:start; transition:all .25s;}
.dp small{display:block; font-family:'Oswald'; font-size:10.5px; letter-spacing:.14em; color:var(--dim); text-transform:uppercase;}
.dp b{display:block; font-family:'Oswald'; font-size:24px; line-height:1.05;}
.dp.sp{border-color:#d6a24e66;}
.dp.on{background:var(--red); border-color:var(--red);} .dp.on small{color:#fff;}
.rail{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:26px calc(50vw - min(38vw,170px)) 30px; margin:0 calc(50% - 50vw); perspective:1100px;}
.rail::-webkit-scrollbar{display:none;}
.card{flex:none; width:min(76vw,340px); scroll-snap-align:center; transform-style:preserve-3d; will-change:transform; transition:opacity .3s;}
.card.hid{display:none;}
.card .pwrap{position:relative; border-radius:16px; overflow:hidden; box-shadow:0 30px 60px -24px #000, 0 0 0 1px #ffffff14; background:#000;}
.card .pwrap img{width:100%; aspect-ratio:1122/1402; object-fit:cover;}
.card .pwrap button{position:absolute; inset:0; background:none; border:0;}
.card .pwrap .shine{position:absolute; inset:0; background:linear-gradient(115deg,transparent 30%,#ffffff22 45%,transparent 60%); transform:translateX(-120%); pointer-events:none;}
.card.center .pwrap .shine{animation:shine 1.4s ease .2s;}
@keyframes shine{to{transform:translateX(120%);}}
.badge{position:absolute; top:12px; left:12px; z-index:2; background:var(--brass); color:#1B1208; font-family:'Oswald'; font-weight:700; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; padding:5px 9px; border-radius:6px;}
.card .meta{padding:14px 4px 0;}
.card .d{font-family:'Oswald'; font-size:13px; letter-spacing:.18em; color:var(--red); text-transform:uppercase;}
.card h3{font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:24px; line-height:1.02; margin:4px 0 4px;}
.card p{margin:0; color:var(--dim); font-size:14.5px; min-height:44px;}
.card .acts{display:grid; grid-template-columns:1fr 48px 48px; gap:8px; margin-top:12px;}
.card .acts .btn{padding:0 12px;}
.rail-nav{display:none; gap:10px;}
.rail-nav button{width:52px; height:52px; border-radius:50%; border:1px solid #ffffff2a; background:#ffffff0a; display:flex; align-items:center; justify-content:center;}
@media (min-width:980px){ .rail-nav{display:flex;} }
.railwrap{position:relative;}
.rail-hints{position:absolute; inset:0; pointer-events:none; display:none; opacity:1; transition:opacity .6s ease; z-index:3;}
.rail-hints.off{opacity:0;}
.rail-hints .rh{position:absolute; top:calc(26px + min(76vw,340px)*.6248); width:36px; height:36px; margin-top:-18px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#0e0d0cb3; border:1px solid #ffffff2e; color:var(--cream); box-shadow:0 4px 14px #00000066;}
.rail-hints .rh svg{width:17px; height:17px;}
.rail-hints .rh-l{left:8px; animation:nudgeL 1.7s ease-in-out infinite;}
.rail-hints .rh-r{right:8px; animation:nudgeR 1.7s ease-in-out infinite;}
@keyframes nudgeL{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}
@keyframes nudgeR{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (max-width:979.98px){ .rail-hints{display:block;} }
@media (max-width:480px){ .rail-hints .rh{top:calc(26px + min(82vw,330px)*.6248);} }
@media (prefers-reduced-motion:reduce){ .rail-hints .rh{animation:none;} }
.ev-note{color:var(--dim); font-size:14px; text-align:center; margin-top:4px;}

/* lightbox */
#lb{position:fixed; inset:0; z-index:120; background:rgba(6,5,5,.96); display:flex; flex-direction:column; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; padding:calc(env(safe-area-inset-top,0px) + 10px) 0 calc(env(safe-area-inset-bottom,0px) + 10px);}
#lb.open{opacity:1; visibility:visible;}
#lb .lbtop{display:flex; justify-content:space-between; align-items:center; padding:0 14px 8px;}
#lb .count{font-family:'Oswald'; letter-spacing:.2em; font-size:13px; color:var(--dim);}
#lb .stage{flex:1; min-height:0; display:flex; align-items:center; justify-content:center; padding:0 14px; position:relative; touch-action:pan-y;}
#lb .stage img{max-height:100%; max-width:100%; border-radius:12px; box-shadow:0 30px 80px -20px #000; transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s;}
#lb .arr{position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:#00000088; border:1px solid #ffffff2a; display:flex; align-items:center; justify-content:center;}
#lb .arr.l{left:10px;} #lb .arr.r{right:10px;}
#lb .info{padding:14px 18px 4px; max-width:620px; margin:0 auto; width:100%;}
#lb .info h3{font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:24px; margin:2px 0 4px; line-height:1.05;}
#lb .info p{margin:0 0 12px; color:var(--dim); font-size:14.5px;}
#lb .info .acts{display:grid; grid-template-columns:1fr 1fr 52px; gap:10px;}

/* ride band */
#ride{position:relative; height:74vh; height:74svh; min-height:440px; max-height:760px; overflow:hidden; background:#07060A;}
#rideCanvas{position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y;}
.ride-copy{position:absolute; left:0; right:0; top:10%; text-align:center; padding:0 20px; pointer-events:none;}
.ride-copy .h2{font-size:clamp(38px,10vw,96px); text-shadow:0 6px 40px #000;}
.ride-hud{position:absolute; left:18px; bottom:16px; display:flex; align-items:center; gap:10px; pointer-events:none;}
.ride-hud b{font-family:'Oswald'; font-size:30px; line-height:1; display:block; font-variant-numeric:tabular-nums;}
.ride-hud small{font-family:'Oswald'; font-size:10.5px; letter-spacing:.2em; color:var(--dim);}
.ride-hud svg{width:62px;}
.ride-tip{position:absolute; right:16px; bottom:22px; font-family:'Oswald'; font-size:12px; letter-spacing:.16em; color:#E0D6C4; background:#00000077; border:1px solid #ffffff22; padding:8px 12px; border-radius:30px; pointer-events:none; text-transform:uppercase;}

/* menu */
#menu{position:relative; padding:80px 0 70px; background-image:linear-gradient(180deg,var(--black) 0%,rgba(10,9,8,.7) 12%,rgba(10,9,8,.62) 85%,var(--black) 100%), var(--woodimg); background-size:auto, 1100px auto; background-position:center;}
.mtabs{position:sticky; top:calc(var(--hdr) + env(safe-area-inset-top,0px)); z-index:20; margin:26px 0 0; background:linear-gradient(180deg,rgba(10,9,8,.96),rgba(10,9,8,.86)); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-block:1px solid #ffffff12;}
.mtabs .in{display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:10px 20px; max-width:1180px; margin:0 auto;}
.mtabs .in::-webkit-scrollbar{display:none;}
.mtab{flex:none; height:40px; padding:0 15px; border-radius:10px; border:1px solid #ffffff1f; background:#ffffff08; font-family:'Oswald'; font-weight:500; font-size:13.5px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; transition:all .2s;}
.mtab.on{background:var(--brass); color:#1B1208; border-color:var(--brass);}
.mpanel{margin-top:30px; display:grid; grid-template-columns:1fr; gap:22px; touch-action:pan-y;}
.mhero{position:relative; padding:24px 20px 22px; min-height:170px; overflow:visible;}
.mhero .stamp{font-size:clamp(20px,5.6vw,30px);}
.mhero p{color:#CFC5B2; margin:14px 0 0; max-width:30ch; font-size:15px; position:relative; z-index:2;}
.mhero .cut{position:absolute; right:-6px; bottom:-18px; width:min(46%,260px); z-index:2; filter:drop-shadow(0 26px 30px rgba(0,0,0,.7)); animation:float 5s ease-in-out infinite; pointer-events:none;}
.mhero .cut.tall{width:min(28%,150px); bottom:-26px; right:10px;}
.mhero .cut.enter{animation:drop .8s cubic-bezier(.2,1.3,.4,1) both, float 5s ease-in-out .8s infinite;}
@keyframes drop{from{opacity:0; transform:translateY(-60px) rotate(-14deg) scale(.7);} to{opacity:1; transform:none;}}
@keyframes float{50%{transform:translateY(-8px) rotate(1.5deg);}}
.mlist{padding:8px 18px;}
.mi{display:grid; grid-template-columns:1fr auto; gap:4px 14px; padding:15px 0; border-bottom:1px dashed #ffffff1c; opacity:0; transform:translateX(-14px); animation:mi .5s ease forwards;}
.mi:last-child{border-bottom:0;}
@keyframes mi{to{opacity:1; transform:none;}}
.mi b{font-family:'Oswald'; font-weight:600; text-transform:uppercase; font-size:17.5px; letter-spacing:.02em; line-height:1.15;}
.mi span.p{font-family:'Oswald'; font-weight:600; font-size:18px; color:var(--brass2); white-space:nowrap; text-align:right;}
.mi small{grid-column:1 / -1; color:var(--dim); font-size:14px; line-height:1.4;}
.mi small.two{grid-column:auto;}
.mnote{margin-top:22px; padding:16px 18px; font-size:13.5px; color:var(--dim); line-height:1.6;}
.mnote b{color:var(--cream); font-family:'Oswald'; letter-spacing:.1em; font-weight:500; text-transform:uppercase; font-size:13px;}
.swipehint{display:flex; align-items:center; gap:8px; justify-content:center; color:var(--dim); font-size:13px; margin-top:14px;}
@media (min-width:820px){ .mpanel{grid-template-columns:.9fr 1.1fr; align-items:start;} .mhero{min-height:360px; padding:36px 32px;} .mhero .cut{width:min(62%,320px); right:10px; bottom:-10px;} .mhero .cut.tall{width:160px;} .swipehint{display:none;} }

/* locale */
#locale{padding:90px 0 80px; position:relative;}
.frame{position:relative; margin-top:30px; padding:12px; border-radius:20px;}
.frame .ph{position:relative; border-radius:12px; overflow:hidden; aspect-ratio:4/3;}
.frame .ph img{position:absolute; left:0; width:100%; height:135%; top:-17%; object-fit:cover; object-position:62% 50%; will-change:transform;}
.frame .ph::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65)); pointer-events:none;}
.frame .cap{position:absolute; left:26px; bottom:22px; font-family:'Oswald'; letter-spacing:.2em; font-size:12px; text-transform:uppercase; color:#E0D6C4; z-index:2;}
.loc-grid{display:grid; gap:34px;}
.facts{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:26px;}
.fact{padding:18px 12px 14px; text-align:center; border-radius:14px;}
.fact svg{width:30px; height:30px; color:var(--brass2); margin:0 auto 8px; display:block;}
.fact b{display:block; font-family:'Oswald'; font-weight:600; text-transform:uppercase; font-size:15px; line-height:1.1;}
.fact small{display:block; color:var(--dim); font-size:12.5px; margin-top:4px; line-height:1.3;}
.story p{color:#D6CCB9; font-size:17px; margin:16px 0 0; max-width:56ch;}
@media (min-width:900px){ .loc-grid{grid-template-columns:1.1fr .9fr; align-items:center; gap:56px;} .frame{margin-top:0;} }

/* table picker */
.tpick{margin:2px 0 16px;}
.tpick .hint{font-size:13.5px; color:var(--dim); margin:2px 0 8px;}
.combos{display:flex; gap:8px; flex-wrap:wrap; margin:0 0 10px;}
.combo{height:38px; padding:0 14px; border-radius:10px; border:1px solid #ffffff26; background:#ffffff08; font-family:'Oswald'; font-size:15px; letter-spacing:.05em;}
.combo.on{background:var(--brass); color:#1B1208; border-color:var(--brass);}
.plan{background:#0B0A09; border:1px solid #3B3833; border-radius:14px; padding:6px; overflow-x:auto; scrollbar-color:var(--brass) #171513;}
.plan svg{display:block; width:100%; min-width:760px; height:auto; margin:0 auto; touch-action:manipulation;}
.plan .room{fill:#12110f; stroke:#69645c; stroke-width:6;}
.plan .service{fill:#211f1c; stroke:#625d54; stroke-width:2;}
.plan .reserved{fill:#171916; stroke:#00a5b5; stroke-width:2;}
.plan .stage{fill:#100f0e; stroke:var(--red); stroke-width:3;}
.plan .stage-lines{fill:none; stroke:#8e2a25; stroke-width:1; clip-path:inset(114px 283px 326px 175px);}
.plan .bar{fill:#714626; stroke:#b77a3d; stroke-width:2;}
.plan .balcony{fill:#171512; fill-rule:evenodd; stroke:#8f692b; stroke-width:1.5; stroke-dasharray:7 6; opacity:.9;}
.plan .entry{fill:none; stroke:#d8cebb; stroke-width:2; stroke-dasharray:7 7;}
.plan .zone{fill:#eee4d4; font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; letter-spacing:3px; text-anchor:middle; dominant-baseline:central;}
.plan .zone.small{font-size:11px; fill:#aaa08f;}.plan .zone.tiny{font-size:10px; fill:#aaa08f;}.plan .stage-name{font-size:18px;}
.plan-legend{margin-top:10px; padding:12px; border:1px solid #3B3833; border-radius:10px; background:#0B0A09;}
.plan-legend p{margin:0; color:#D8CEBB; font-size:13px; line-height:1.45;}
.plan-legend strong{font-family:'Oswald',sans-serif; font-size:15px; letter-spacing:.08em; text-transform:uppercase; color:var(--cream);}
.legend-items{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 12px; margin-top:10px;}
.legend-items span{display:flex; align-items:center; gap:8px; min-width:0; color:#C6BBA8; font-size:12.5px; line-height:1.25;}
.legend-swatch{display:inline-block; width:18px; height:18px; flex:0 0 18px; border-radius:4px; border:2px solid #5E584F; background:#2A2724;}
.legend-swatch.table-selected{background:var(--brass); border-color:var(--brass2);}
.legend-swatch.stage-zone{background:#100f0e; border-color:var(--red);}
.legend-swatch.reserved-zone{background:#171916; border-color:#00a5b5;}
.legend-swatch.bar-zone{background:#714626; border-color:#b77a3d;}
.legend-swatch.balcony-zone{background:#171512; border-color:#8f692b; border-style:dashed;}
.plan-legend .legend-note{margin-top:11px; color:#8A8171; font-size:12px;}
@media (min-width:700px){.legend-items{grid-template-columns:repeat(3,minmax(0,1fr));}}
.tb{cursor:pointer;} .tb:focus{outline:none;}
.tb .top{fill:#2A2724; stroke:#5E584F; stroke-width:1.2; transition:fill .2s, stroke .2s;}
.tb .ch{fill:#3F3B36; transition:fill .2s;}
.tb text{fill:#D8CEBB; font-family:'Oswald',sans-serif; font-size:11px; pointer-events:none; text-anchor:middle; dominant-baseline:central;}
.tb text.s{font-size:9px; fill:#9A9080;}
.tb:hover .top{stroke:var(--brass2);}
.tb:focus-visible .top{stroke:var(--brass2); stroke-width:2.5;}
.tb.sel .top{fill:var(--brass); stroke:var(--brass2);} .tb.sel .ch{fill:var(--brass2);} .tb.sel text{fill:#1B1208;}
.tb.pop{animation:tpop .35s ease;}
@keyframes tpop{50%{transform:scale(1.08);}}
.tb{transform-box:fill-box; transform-origin:center;}
.tstat{display:flex; align-items:flex-start; gap:8px; margin-top:10px; font-size:14px; padding:10px 12px; border-radius:10px; background:#0B0A09aa; border:1px solid #3B3833; line-height:1.4;}
.tstat.ok{border-color:#3E7A4A; color:#A9D8A0;} .tstat.bad{border-color:#7A3A30; color:#F0A08E;} .tstat.warn{border-color:#7A6330; color:#F0CF8A;}
.tnote{font-size:12.5px; color:#8A8171; margin-top:8px;}

/* booking */
#prenota{padding:80px 0; position:relative; background:radial-gradient(ellipse at 50% 0%,#E0433A1c,transparent 60%); overflow:hidden;}
#prenota .wrap{position:relative; z-index:1;}
#prenota .rider{position:absolute; z-index:0; top:50%; right:-40px; transform:translateY(-47%); height:min(620px,104%); aspect-ratio:1080/1350; width:auto; pointer-events:none; user-select:none; filter:drop-shadow(0 34px 46px rgba(0,0,0,.65)); opacity:.92; -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 26%); mask-image:linear-gradient(90deg,transparent 2%,#000 26%);}
@media (max-width:1080px){ #prenota .rider{right:-90px; height:92%; opacity:.75;} }
@media (max-width:900px){
  #prenota .rider{position:static; display:block; margin:0 auto -6px; top:auto; right:auto; transform:none; height:280px; width:auto; opacity:1; filter:drop-shadow(0 22px 26px rgba(0,0,0,.6)); -webkit-mask-image:none; mask-image:none;}
}
.bgrid{display:grid; gap:28px; margin-top:28px;}
.form{padding:22px 18px 20px;}
.fld{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.fld label{font-family:'Oswald'; font-size:12px; letter-spacing:.18em; color:var(--brass2); text-transform:uppercase;}
.fld input,.fld select,.fld textarea{width:100%; min-height:50px; border-radius:12px; border:1px solid #45413A; background:#0E0D0Ccc; color:var(--cream); padding:12px 14px; font:inherit; font-size:16px;}
.fld textarea{min-height:84px; resize:vertical;}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none; border-color:var(--brass2); box-shadow:0 0 0 3px #d6a24e33;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.stepper{display:flex; align-items:center; min-height:50px; border-radius:12px; border:1px solid #45413A; background:#0E0D0Ccc; overflow:hidden;}
.stepper button{width:50px; height:50px; background:none; border:0; font-size:22px; color:var(--brass2);}
.stepper output{flex:1; text-align:center; font-family:'Oswald'; font-size:20px;}
.prev{white-space:pre-line; font-size:14px; color:#CFC5B2; background:#0B0A09aa; border:1px dashed #4A453D; border-radius:12px; padding:12px 14px; margin:4px 0 16px;}
.bacts{display:grid; gap:10px;} .bacts .wa{grid-column:1 / -1; min-height:54px; font-size:17px;}
.map-booking-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:2px 0 16px;padding:18px 20px;border:0;border-radius:12px;border-bottom:4px solid rgba(0,0,0,.4);background:var(--red);color:#fff;text-decoration:none;box-shadow:0 0 24px rgba(224,67,58,.5);animation:ctaGlow 3.2s ease-in-out infinite;transition:background .25s,transform .25s}
.map-booking-cta:hover{background:#F4554A;transform:translateY(-2px);animation:none;box-shadow:0 0 46px rgba(224,67,58,.78)}
.map-booking-text strong{display:block;font-family:'Oswald';font-size:24px;line-height:1.05;text-transform:uppercase;letter-spacing:.02em}
.map-booking-text small{display:block;margin-top:5px;color:rgba(255,255,255,.92);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.map-booking-arrow{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.25);color:#fff;transition:transform .25s}
.map-booking-arrow svg{width:22px;height:22px}
.map-booking-cta:hover .map-booking-arrow{transform:translateX(5px)}
@keyframes ctaGlow{0%,100%{box-shadow:0 0 22px rgba(224,67,58,.45)}50%{box-shadow:0 0 34px rgba(224,67,58,.68)}}
@media (prefers-reduced-motion: reduce){.map-booking-cta{animation:none}}
.fmsg{min-height:20px; font-size:13.5px; margin-top:10px; color:#F0907E;}
.fmsg.ok{color:#9BC67A;}
.form .clink{display:flex; align-items:center; gap:14px; min-height:78px; padding:15px 16px; border-radius:14px; text-decoration:none; margin-top:12px; overflow:hidden;}
.form .clink .ic{width:46px; height:46px; border-radius:12px; background:#0B0A09; border:1px solid #3B3833; display:flex; align-items:center; justify-content:center; color:var(--brass2); flex:none;}
.form .clink .ic svg{width:24px; height:24px;}
.form .clink > span:last-child{display:block; min-width:0;}
.form .clink small{display:block; font-family:'Oswald'; letter-spacing:.16em; font-size:11px; line-height:1.25; color:var(--dim); text-transform:uppercase;}
.form .clink b{display:block; margin-top:3px; font-family:'Oswald'; font-size:19px; line-height:1.2; font-weight:600; overflow-wrap:anywhere;}
.booking-notice{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(176,141,87,.45);border-left:3px solid var(--brass);background:rgba(176,141,87,.08);border-radius:0 12px 12px 0;font-size:15px;color:#E8DCC8;line-height:1.55}.booking-notice b{color:var(--brass2);font-weight:700}
.warn{margin-top:16px; padding:14px 16px; border-left:3px solid var(--red); background:#E0433A14; border-radius:0 12px 12px 0; font-size:14.5px; color:#E8DCC8;}
@media (min-width:900px){ .bgrid{grid-template-columns:.85fr 1.15fr; gap:40px; align-items:start;} .form{padding:30px 28px;} .bacts{grid-template-columns:1fr 1fr;} .bgrid.solo{grid-template-columns:1fr; justify-items:center; text-align:center} .bgrid.solo .lead{margin-inline:auto; max-width:60ch} .bgrid.solo .map-booking-cta{width:min(640px,100%); text-align:left; margin:6px 0 0} }

/* recensioni */
#recensioni{padding:70px 0 20px;}
.rev{padding:28px 22px; text-align:center; max-width:640px; margin:26px auto 0;}
.rev .score{font-family:'Oswald'; font-weight:700; font-size:64px; line-height:1;}
.rev .stars{display:flex; justify-content:center; gap:4px; margin:10px 0 6px;}
.rev .stars svg{width:28px; height:28px;}
.rev .cnt{color:var(--dim); font-size:14.5px;}
.rev .acts{display:grid; gap:10px; margin-top:22px;}
.rev .gl{display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--dim); font-size:13px;}
@media (min-width:700px){ .rev .acts{grid-template-columns:1.3fr 1fr;} }

/* dove */
#dove{padding:70px 0 90px;}
.map{position:relative; margin-top:26px; border-radius:18px; overflow:hidden; border:1px solid #3B3833;}
.map svg{display:block; width:100%; height:auto;}
.pp{transform-box:fill-box; transform-origin:center; animation:pp 2.2s ease-out infinite;}
@keyframes pp{0%{transform:scale(.3); opacity:.9;} 100%{transform:scale(2.6); opacity:0;}}
.map-acts{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px;} .map-acts .full{grid-column:1 / -1;}

/* footer */
footer{position:relative; padding:60px 0 36px; background:linear-gradient(180deg,var(--black),#050404); border-top:1px solid #ffffff10; text-align:center;}
footer .lg{width:120px; height:120px; margin:0 auto 18px; filter:drop-shadow(0 0 10px #ffffff66);}
footer .big{font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:clamp(30px,8vw,56px); line-height:1; margin:0;}
footer .big a{color:var(--red); text-decoration:none;}
footer p{color:var(--dim); font-size:14.5px; margin:8px 0 0;}
footer .fine{margin-top:34px; font-size:12px; color:#6F675A;}
footer .company-details{margin-top:28px; line-height:1.65; color:var(--dim);}
footer .fine{line-height:1.7;}
footer .cookie-preferences-link{background:none;border:0;padding:0;color:var(--brass2);font:inherit;text-decoration:underline;cursor:pointer;}
@media(max-width:600px){footer{padding-bottom:125px;}footer .fine{margin-top:22px;}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  .rv{opacity:1; transform:none;}
}

/* Caselle di consenso: checkbox piccola e testo allineato */
.fld.consents label{display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; align-items:start; text-transform:none; letter-spacing:0;}
.fld.consents label + label{margin-top:10px;}
.fld.consents input[type="checkbox"]{width:20px; height:20px; min-height:0; padding:0; margin:2px 0 0; border-radius:6px; accent-color:var(--brass2); flex:0 0 auto;}
@media (max-width:480px){
  .wrap{padding-inline:16px}.hero-in{padding-inline:16px}#hero{min-height:94svh;justify-content:center}.hero-in{padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 8px)}.hero-title{font-size:clamp(39px,11.5vw,48px);overflow-wrap:anywhere}.brand b{font-size:14px;white-space:normal;line-height:1.05}.brand small{font-size:9px;letter-spacing:.16em}.brand>span:last-child{min-width:0}.brand .lg{width:36px;height:36px}.hbar{padding-inline:10px;gap:8px}
  #drawer a{font-size:clamp(30px,9vw,38px)}.next{grid-template-columns:72px minmax(0,1fr);padding:12px;gap:11px}.next img{width:72px}.next h3,.next h2{font-size:19px}.next .acts{grid-template-columns:1fr}.next .acts .btn{width:100%}
  #eventi,#menu,#prenota{padding-block:64px}.card{width:min(82vw,330px)}.row2{grid-template-columns:1fr}.form{padding:18px 14px}.bacts{grid-template-columns:1fr}.bacts .btn{width:100%;white-space:normal;text-align:center}.map-booking-cta{grid-template-columns:minmax(0,1fr) auto;padding:15px 14px;gap:12px}.map-booking-text strong{font-size:19px}.map-booking-arrow{width:38px;height:38px}.form .clink{min-height:76px;padding:13px 12px;gap:12px}.form .clink .ic{width:44px;height:44px}.form .clink b{font-size:18px}.facts{grid-template-columns:1fr}.fact{display:grid;grid-template-columns:38px 1fr;text-align:left;column-gap:10px}.fact svg{grid-row:1/3;margin:auto}.rev .acts,.map-acts{grid-template-columns:1fr}.btn{min-height:50px}
}

/* popup conferma prenotazione */
#bookOk{position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(10,8,6,.82); backdrop-filter:blur(4px);}
#bookOk[hidden]{display:none;}
.bok-card{position:relative; width:min(480px,100%); background:linear-gradient(160deg,#1c1815,#12100e); border:1px solid rgba(214,162,78,.35); border-radius:16px; padding:30px 24px 24px; text-align:center; box-shadow:0 24px 60px rgba(0,0,0,.6); animation:bokIn .25s ease;}
@keyframes bokIn{from{opacity:0; transform:translateY(14px) scale(.97);} to{opacity:1; transform:none;}}
.bok-x{position:absolute; top:10px; right:10px;}
.bok-ic{width:64px; height:64px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center; background:rgba(34,197,94,.14); border:2px solid #22c55e; color:#22c55e;}
.bok-ic svg{width:30px; height:30px;}
.bok-card h3{font-family:Oswald; font-size:22px; letter-spacing:.03em; text-transform:uppercase; margin:0 0 10px; color:var(--bone,#efe7d6);}
.bok-card p{margin:0 auto 18px; color:rgba(239,231,214,.8); font-size:15.5px; line-height:1.55; max-width:38ch;}
.bok-acts{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px;}
.bok-acts .btn{justify-content:center;}
.bok-ok{width:100%; min-height:52px; border-radius:10px; border:1px solid rgba(214,162,78,.5); background:transparent; color:var(--brass2,#d6a24e); font-family:Oswald; font-size:16px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer;}
.bok-ok:hover{background:rgba(214,162,78,.12);}
.ev-note-cal{margin-top:6px; color:var(--brass2,#d6a24e);}
@media (max-width:480px){ .bok-acts{grid-template-columns:1fr;} .bok-card{padding:26px 18px 20px;} }
