/* Aggiornamento mirato: contenuti e stili originali in style.css. */
[hidden] { display: none !important; }
.hero-content { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr); gap:28px 54px; align-items:center; padding-top:112px; padding-bottom:56px; }
.hero-intro { min-width:0; }
.hero-logo { width:min(440px,100%); max-height:310px; margin:-22px 0 -45px -22px; }
.hero h1 { font-size:clamp(54px,5.5vw,82px); }
.hero-copy { font-size:17px; margin-top:20px; }
.hero-actions { margin-top:22px; }
.hero-tickets { position:relative; padding:30px; border:1px solid rgba(255,138,24,.55); border-radius:22px; background:linear-gradient(145deg,rgba(47,24,14,.94),rgba(14,9,7,.97)); box-shadow:0 20px 70px rgba(0,0,0,.4); }
.hero-tickets .strip-kicker { color:var(--orange-hot); }
.hero-tickets h2 { font-family:var(--display); text-transform:uppercase; font-size:clamp(40px,4vw,60px); line-height:.95; margin:14px 0; }
.hero-ticket-date { font-weight:900; margin:10px 0 5px; }
.hero-ticket-caption { font-size:13px; color:var(--muted); margin:0; }
.hero-ticket-prices { margin:20px 0; }
.hero-ticket-prices > div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.hero-ticket-prices dt { font-weight:800; font-size:14px; }
.hero-ticket-prices dd { margin:0; color:var(--orange-hot); font-weight:950; font-size:25px; }
.hero-ticket-prices small { font-size:11px; color:var(--muted); font-weight:600; }
.hero-tickets > .button { width:100%; }
.hero-ticket-note { margin:10px 0 4px; text-align:center; color:var(--muted); font-size:12px; }
.hero-ticket-details { display:block; text-align:center; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.hero-facts { grid-column:1/-1; margin-top:8px; max-width:none; }
.visit-counter { padding:28px 0; background:#100b08; border-top:1px solid var(--line); text-align:center; }
.visit-counter span { color:var(--muted); font-size:11px; letter-spacing:.15em; font-weight:800; }
.visit-counter output { color:var(--orange-hot); font-size:28px; font-weight:900; font-variant-numeric:tabular-nums; margin-left:8px; }
.visit-counter small { display:block; color:var(--muted); font-size:11px; }
.footer-legal { display:flex; flex-wrap:wrap; gap:16px; }
.footer-legal a,.footer-legal button { color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.footer-legal button { padding:0; background:none; border:0; cursor:pointer; font:inherit; }
.map-consent { min-width:0; min-height:390px; border:1px solid var(--line); }
.map-placeholder { min-height:390px; padding:30px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:15px; background:var(--panel); }
.map-placeholder h3,.map-placeholder p { margin:0; }
.map-placeholder p { color:var(--muted); font-size:14px; }
.map-consent iframe { display:block; border:0; }
.cookie-panel { position:fixed; z-index:3000; bottom:14px; left:14px; width:min(560px,calc(100% - 28px)); max-height:calc(100dvh - 28px); overflow-y:auto; border:1px solid rgba(255,138,24,.45); border-radius:14px; padding:16px; background:#15100d; box-shadow:0 12px 50px #0009; color:var(--paper); }
.cookie-panel h2 { margin:0 38px 6px 0; font-size:17px; line-height:1.25; }
.cookie-panel p { color:var(--muted); font-size:12px; line-height:1.45; margin:6px 0 12px; }
.cookie-panel a { text-decoration:underline; text-underline-offset:3px; }
.cookie-close { position:absolute; right:4px; top:3px; width:44px; height:44px; background:none; border:0; color:var(--paper); font-size:25px; cursor:pointer; }
.cookie-buttons { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.cookie-buttons button { min-height:44px; padding:10px 8px; border:1px solid var(--orange-hot); border-radius:9px; background:#29180d; color:var(--paper); font-size:12px; font-weight:800; cursor:pointer; }
.cookie-buttons .cookie-customize { grid-column:1/-1; border-color:transparent; background:transparent; text-decoration:underline; text-underline-offset:3px; padding-block:6px; }
.cookie-buttons button:focus-visible,.cookie-close:focus-visible { outline:2px solid var(--paper); outline-offset:2px; }
.cookie-category { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding:15px 0; border-top:1px solid var(--line); font-size:13px; }
.cookie-category small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.cookie-category input { flex:none; width:21px; height:21px; accent-color:var(--orange-hot); }
.cookie-category .always-active { white-space:nowrap; color:var(--muted); font-size:11px; }
.cookie-status { min-height:0; margin:10px 0 0!important; }
.cookie-status:empty { display:none; }
.footer-company { padding-top:16px; color:var(--muted); font-size:11px; line-height:1.7; }
.footer-company a { text-decoration:underline; text-underline-offset:3px; }
.legal-header { padding:18px 24px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.legal-header img { width:100px; height:75px; object-fit:contain; }
.legal-main { max-width:900px; margin:auto; padding:50px 24px 70px; }
.legal-main h1 { font-family:var(--display); font-size:clamp(44px,7vw,74px); line-height:1; text-transform:uppercase; margin:10px 0 22px; }
.legal-main h2 { margin:35px 0 12px; font-size:23px; }
.legal-main p,.legal-main li { color:var(--muted); }
.legal-main a { color:var(--paper); text-decoration:underline; text-underline-offset:3px; }
.legal-main .table-scroll { overflow:auto; }
.legal-main table { width:100%; border-collapse:collapse; font-size:13px; min-width:580px; }
.legal-main th,.legal-main td { padding:13px; text-align:left; border:1px solid var(--line); vertical-align:top; }
.legal-main th { color:var(--orange-hot); }
.nav-open .mobile-actions,.cookie-visible .mobile-actions { visibility:hidden; pointer-events:none; }
@media(min-width:1121px) and (max-width:1320px) {
 .site-header { gap:15px; padding-inline:22px; }
 .site-nav { gap:14px; }
 .header-actions .button-ghost { display:none; }
}
@media(max-width:840px) {
 .hero { min-height:0; }
 .hero-content { display:flex; flex-direction:column; gap:24px; align-items:stretch; padding-top:84px; padding-bottom:42px; }
 .hero-intro { display:contents; }
 .hero-content > .hero-intro > .eyebrow { order:0; margin:0; font-size:10px; letter-spacing:.1em; }
 .hero-content .hero-logo { order:1; width:230px; height:150px; max-height:none; margin:-26px auto -38px; object-position:center; }
 .hero-tickets { order:2; padding:20px; }
 .hero-tickets h2 { font-size:36px; margin:10px 0 8px; }
 .hero-tickets h2 br { display:none; }
 .hero-tickets h2 br::after { content:' '; }
 .hero-ticket-date { margin:8px 0 3px; }
 .hero-ticket-prices { margin:10px 0 14px; }
 .hero-ticket-prices > div { padding:6px 0; }
 .hero-ticket-prices dd { font-size:23px; }
 .hero-ticket-caption { font-size:12px; }
 .hero-tickets > .button { min-height:50px; font-size:11px; }
 .hero-content h1 { order:3; font-size:clamp(48px,12vw,70px); margin-top:10px; }
 .hero-content .hero-copy { order:4; margin:0; }
 .hero-content .hero-actions { order:5; margin:0; }
 .hero-facts { order:6; margin:8px 0 0; }
 .mobile-actions { bottom:max(10px,env(safe-area-inset-bottom)); grid-template-columns:1.5fr 1fr; }
 .mobile-actions a { display:grid; place-items:center; min-height:46px; font-size:10px; }
 .site-footer { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
 .cookie-panel { left:10px; bottom:max(10px,env(safe-area-inset-bottom)); width:calc(100% - 20px); padding:14px; }
 .footer-bottom { flex-wrap:wrap; }
}
@media(max-width:360px) {
 .hero-content { gap:18px; }
 .hero-tickets { padding:16px; }
 .hero-tickets h2 { font-size:32px; }
 .hero-ticket-note { margin-top:8px; }
 .hero-content .hero-logo { height:120px; margin:-22px auto -32px; }
 .cookie-buttons { gap:8px; }
}
