:root{--bg:#0b0a10;--panel:#19171e;--panel2:#24212a;--ink:#fcfafc;--muted:#b5afb8;--red:#ed304a;--line:rgba(255,255,255,.13);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;line-height:1.02}h2{font-size:clamp(2.65rem,6vw,5.3rem);margin-bottom:20px;font-weight:850}h2 em{font-style:normal;color:#ff566e}.site-header{position:absolute;z-index:5;inset:0 0 auto;background:linear-gradient(#09090bd9,#09090b00)}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:950;font-size:clamp(.95rem,2vw,1.2rem);letter-spacing:.06em}.brand span{color:var(--red);margin-left:5px}.top-cta{border:1px solid rgba(255,255,255,.38);padding:11px 15px;border-radius:7px;font-weight:800;font-size:.68rem;letter-spacing:.09em}.top-cta span{margin-left:8px;color:#ff5870}.hero{position:relative;min-height:min(760px,92svh);display:flex;align-items:end;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 85% 20%,#7a1937 0,transparent 35%),radial-gradient(circle at 10% 65%,#421120 0,transparent 50%),linear-gradient(125deg,#120c17 15%,#07070b 85%)}.hero.has-photo:before{content:"";position:absolute;inset:0;background-image:var(--hero-url);background-position:center 28%;background-size:cover;z-index:-2;filter:saturate(.95)}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b0a10 3%,rgba(10,7,13,.4) 49%,rgba(0,0,0,.52) 100%),linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.08))}.hero-content{padding-block:155px 75px}.eyebrow,.overline{letter-spacing:.21em;font-size:.75rem;color:#ff6378;font-weight:900}.red-dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:10px}.hero h1{font-weight:950;font-size:clamp(3.6rem,10.5vw,9.4rem);margin:16px 0 13px;max-width:100%;text-wrap:balance}.hero h1 span{display:block;font-size:.5em;letter-spacing:-.035em;color:#fff}.hero-tagline{text-transform:uppercase;font-weight:900;font-size:clamp(.92rem,2.2vw,1.55rem);letter-spacing:.16em;margin-bottom:28px}.event-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:#e9e5e8;font-weight:650;font-size:.9rem}.event-meta span::before{content:"■";font-size:.55rem;color:var(--red);margin-right:8px}.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;text-align:center;border:0;border-radius:8px;font-size:.83rem;letter-spacing:.045em;font-weight:900;min-height:55px;padding:14px 17px}.btn-primary{background:var(--red);color:white;box-shadow:0 10px 35px #ed304a24}.btn-primary:hover{background:#ff415d}.hero-btn{width:max-content;max-width:100%;margin-top:30px;padding-inline:26px}.intro{padding-block:90px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.intro p{font-size:clamp(1rem,1.8vw,1.25rem);max-width:510px;color:var(--muted);line-height:1.8}.schedule-wrap{padding:45px 0;border-block:1px solid var(--line);background:#110f15}.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;gap:12px}.schedule-item{border-left:2px solid var(--red);padding:7px 10px 10px 15px;display:grid;gap:6px;color:#c9c3cd;font-size:.88rem}.schedule-time{font-weight:900;color:#fff;font-size:1.2rem}.packs{padding-block:95px 110px;scroll-margin-top:16px}.pack-intro{max-width:620px;margin-bottom:43px}.pack-intro p{color:var(--muted);font-size:1.1rem}.pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.pack-card{border:1px solid #514149;border-radius:16px;background:linear-gradient(145deg,#211b25,#15131a 70%);padding:26px;display:flex;flex-direction:column;min-height:390px;overflow:hidden;position:relative}.pack-card.on:first-child{border-color:var(--red);box-shadow:inset 0 4px 0 var(--red)}.pack-top{display:flex;gap:12px;justify-content:space-between;align-items:start}.pack-kicker{font-weight:750;letter-spacing:.16em;font-size:.61rem;color:#dc8b98}.pack-top h3{font-size:2rem;letter-spacing:-.055em;font-weight:900;margin:4px 0 0}.pack-type{color:#dfbec5;border:1px solid #785361;padding:6px 8px;border-radius:5px;font-size:.55rem;line-height:1.2;text-align:center;font-weight:800;letter-spacing:.04em;max-width:115px}.pack-price{display:flex;align-items:baseline;gap:12px;margin-block:16px}.pack-price strong{font-size:3.4rem;letter-spacing:-.055em;line-height:1.1;font-weight:950}.pack-price strong span{font-size:1.5rem}.price-unit{color:var(--muted);font-size:.83rem}.pack-price .on-request{font-size:1.85rem}.pack-desc{color:#cfc5d0;line-height:1.6;font-size:.95rem}.inclusions{padding:0;margin:6px 0 22px;list-style:none}.inclusions li{position:relative;padding:4px 0 4px 21px;color:#e6e0e7;font-size:.86rem}.inclusions li:before{content:"✓";color:#fa5f75;position:absolute;left:0;font-weight:900}.pack-action{margin-top:auto}.offline-label{text-align:center;border:1px solid #514751;color:#d6cbd3;border-radius:8px;padding:16px 9px;font-weight:800;font-size:.78rem}.purchase summary{list-style:none;cursor:pointer}.purchase summary::-webkit-details-marker{display:none}.purchase[open] summary{background:#a72e42}.purchase-form{display:grid;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.purchase-form label{display:grid;gap:7px;font-size:.83rem;font-weight:700}.purchase-form input:not([type=checkbox]){width:100%;border:1px solid #71616b;border-radius:8px;background:#141219;color:#fff;padding:13px 12px;min-height:44px;outline:none}.purchase-form input:focus-visible{border-color:#ff7990;box-shadow:0 0 0 2px #ed304a45}.purchase-form label.consent{grid-template-columns:auto 1fr;gap:10px;align-items:start;line-height:1.45;font-size:.76rem;color:var(--muted);font-weight:400}.consent a{text-decoration:underline}.consent input{accent-color:var(--red);width:18px;height:18px;margin:2px 0}.form-caption{margin:0;color:var(--muted);font-size:.75rem;text-align:center}.submit{min-height:62px}.notice{border:1px solid #b2844b;color:#f8d5a0;padding:12px 14px;border-radius:8px;background:#2c2218}.closing{padding:55px 0 90px;border-top:1px solid var(--line)}.closing h2{font-size:clamp(1.8rem,4vw,3rem);margin-top:15px}.closing p{color:var(--muted)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:24px max(20px,calc((100vw - 1120px)/2));font-size:.7rem;letter-spacing:.04em;color:#b5adb6}.skip{position:absolute;left:-9999px;top:0;z-index:50;background:white;color:black;padding:10px}.skip:focus{left:10px}.status-page{min-height:78svh;padding:130px 0 80px}.status-card{max-width:650px;border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:32px;margin:auto}.status-card h1{font-size:clamp(2rem,6vw,3.4rem)}.status-card p{color:var(--muted)}.status-card .btn{margin-top:25px}.status-success{color:#74e0a4}.admin-wrap{width:min(1100px,calc(100% - 32px));margin:36px auto 100px}.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}.admin-panel{background:#1a171e;border:1px solid #393039;border-radius:16px;padding:24px;margin:20px 0}.admin-panel h2{font-size:1.7rem}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:750}.field input,.field textarea,.field select{padding:12px;background:#111016;border:1px solid #625560;border-radius:8px;color:#fff;min-width:0;width:100%}.field textarea{min-height:95px;resize:vertical}.field small{color:var(--muted)}.admin-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-actions .btn{width:auto;min-width:160px}.admin-table{border-collapse:collapse;width:100%;font-size:.86rem}.admin-table td,.admin-table th{padding:10px;border-bottom:1px solid #45404a;text-align:left}.admin-table-container{overflow-x:auto}.muted{color:var(--muted)}.message{background:#153927;color:#cbf6d8;border:1px solid #3c8559;border-radius:8px;padding:12px}.error{background:#38151d;color:#ffd1da;border:1px solid #9d4056;border-radius:8px;padding:12px}
@media(max-width:850px){.intro{grid-template-columns:1fr;gap:4px;padding-block:65px}.schedule-grid{grid-template-columns:repeat(2,1fr)}.pack-grid{grid-template-columns:1fr 1fr}.hero{min-height:675px}.admin-grid{grid-template-columns:1fr}}
@media(max-width:610px){.shell{width:calc(100% - 32px)}.topbar{height:64px}.brand{font-size:.9rem}.top-cta{font-size:.61rem;padding:9px}.hero{min-height:570px;min-height:min(690px,90svh)}.hero-content{padding-block:132px 56px}.hero h1{font-size:clamp(3.05rem,12.5vw,5.3rem)}.hero h1 span{font-size:.48em}.hero-tagline{letter-spacing:.10em;font-size:.82rem}.event-meta{font-size:.8rem;gap:7px}.intro{padding-block:56px}.schedule-wrap{padding:34px 0}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}.schedule-item{padding-left:10px;font-size:.75rem}.schedule-time{font-size:1.03rem}.packs{padding-block:58px 76px}.pack-grid{grid-template-columns:1fr;gap:15px}.pack-card{min-height:330px;padding:24px}.pack-top h3{font-size:1.9rem}.pack-price{margin:12px 0}.pack-price strong{font-size:3.1rem}.closing{padding-bottom:60px}.footer{padding:24px 16px}.admin-wrap{margin-top:18px}.admin-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V2 - programma completo e organizzazione, con prevalenza mobile */
.eyebrow{display:flex;align-items:flex-start;flex-direction:column;gap:4px;letter-spacing:0}.eyebrow .red-dot{display:none}
.organizers{font-size:clamp(1.06rem,3vw,1.65rem);color:#fff;font-weight:950;line-height:1.15;letter-spacing:-.015em;text-shadow:0 2px 15px #050305}
.organizers span{color:#ff9a1f}.organizers b{font-weight:900;color:#fd648a;padding:0 .18em}
.presentano{font-size:.71rem;letter-spacing:.35em;color:#ffe7f5;font-weight:750}
.hero.has-photo:before{filter:saturate(1.1) brightness(.9)}
.hero-shade{background:linear-gradient(0deg,#0b0a10 0,rgba(10,7,13,.68) 50%,rgba(0,0,0,.75) 100%),linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.1))}
.masters{padding-bottom:70px}.masters h2{font-size:clamp(2rem,5.4vw,3.65rem);margin:12px 0 26px}
.masters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.master-name{background:linear-gradient(115deg,#251423,#130e18);border:1px solid #843559;border-left:4px solid #f14272;border-radius:12px;padding:28px 16px;display:flex;align-items:center;justify-content:center;min-height:110px;text-align:center;font-weight:950;line-height:1.12;letter-spacing:-.04em;font-size:clamp(1.3rem,2.5vw,2.1rem);text-transform:uppercase;color:#fff}
.program-title{font-size:clamp(2rem,4.4vw,3.2rem);margin:14px 0 30px}
.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0}
.schedule-item{padding:23px;border:1px solid #4b3443;border-left:4px solid #e93271;border-radius:13px;background:#1b1420;display:flex;align-items:flex-start;flex-direction:column;gap:9px;min-height:170px}
.schedule-item.highlight-social{background:linear-gradient(115deg,#33132d,#1c1526);border-color:#b43285;box-shadow:inset 0 3px 0 #ff45ae}
.schedule-time{font-size:clamp(1.35rem,2.6vw,1.8rem);color:#ff69b7;font-weight:950;line-height:1.1}
.schedule-name{font-size:clamp(1.08rem,2vw,1.42rem);line-height:1.18;font-weight:950;text-transform:uppercase;letter-spacing:-.02em;color:#fff}
.schedule-detail{font-size:.92rem;line-height:1.55;color:#e0d4e2;margin:0}
.lineup{margin-top:46px}.lineup p{color:var(--muted);margin:9px 0 18px}.lineup-names{display:flex;flex-wrap:wrap;gap:8px}
.lineup-names span{padding:8px 11px;background:#221b27;border:1px solid #604357;color:#f6eaf4;border-radius:6px;font-size:.86rem;font-weight:750}
@media(max-width:610px){.hero-content{padding-top:119px}.organizers{font-size:1.08rem}.hero h1{font-size:clamp(3.05rem,12vw,5.3rem)}.masters{padding-bottom:53px}.masters-grid{grid-template-columns:1fr;gap:10px}.master-name{min-height:71px;padding:14px;font-size:clamp(1.5rem,7vw,2rem)}.schedule-grid{grid-template-columns:1fr;gap:11px}.schedule-item{min-height:0;padding:19px}.schedule-detail{font-size:.88rem}.lineup{margin-top:33px}.lineup-names span{font-size:.77rem;padding:7px 9px}}

/* V7 */
.promo-hint{margin:-6px 0 0;min-height:1.1em;color:#f5a1b5;font-size:.8rem;line-height:1.45}
.promo-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.promo-pack-select{display:flex;flex-wrap:wrap;gap:12px;margin-block:12px}
.promo-pack-select label{display:flex;align-items:center;gap:5px;font-size:.86rem}
@media(max-width:610px){.promo-admin-grid{grid-template-columns:1fr}}

/* V8 — campo gruppo discreto e leggibile da smartphone */
.group-hint{margin:-6px 0 2px;color:var(--muted);font-size:.76rem;line-height:1.45}
