
:root{--wine:#741c29;--deep:#250d12;--gold:#c49a55;--paper:#f3ede2;--ink:#1e1a18;--muted:#6e655e;--white:#fff;--shadow:0 16px 40px rgba(30,10,12,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.65}
a{color:inherit}.top{position:sticky;top:0;z-index:50;background:rgba(32,10,14,.97);color:#fff;border-bottom:1px solid #ffffff20;backdrop-filter:blur(10px)}
.nav{max-width:1200px;margin:auto;padding:12px 22px;display:flex;align-items:center;gap:22px}.brand{font-weight:700;letter-spacing:.08em;white-space:nowrap}.links{margin-left:auto;display:flex;align-items:center;gap:20px;font-family:Arial,sans-serif;font-size:.9rem}.links a{text-decoration:none;opacity:.88}.links a:hover{opacity:1;color:#efd39d}
.book{background:#d6a44f!important;color:#1f1309!important;padding:10px 18px;border-radius:3px;font-weight:800;letter-spacing:.08em;opacity:1!important;box-shadow:0 0 0 2px #d6a44f33}
.hero{min-height:82vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 15%,#9b3544 0,#531722 34%,#220a0e 72%);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 45%,rgba(0,0,0,.35));opacity:.7}
.hero:after{content:"";position:absolute;left:50%;top:8%;width:1px;height:84%;background:linear-gradient(transparent,#d9b06d88,transparent)}
.hero-inner{position:relative;z-index:2;text-align:center;max-width:940px;padding:80px 24px}.kicker{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.8rem;font-weight:700}
.hero h1{font-size:clamp(3.4rem,9vw,7.7rem);line-height:.88;margin:.23em 0}.hero h2{font-size:clamp(1.15rem,2.5vw,2rem);font-weight:400;margin:0 0 24px}.hero p{font-family:Arial,sans-serif;max-width:730px;margin:0 auto 28px;font-size:1.04rem;color:#f2e9e4}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;background:var(--gold);color:#25160c;text-decoration:none;padding:12px 20px;font-family:Arial,sans-serif;font-weight:800;border-radius:3px}.btn.ghost{background:transparent;color:#fff;border:1px solid #ffffff66}
section{max-width:1140px;margin:auto;padding:76px 24px}.section-title{font-size:clamp(2rem,4vw,3.5rem);line-height:1.04;color:var(--wine);margin:.15em 0 .4em}.lead{font-size:1.22rem;max-width:920px}
.factbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8cdbc;border:1px solid #d8cdbc;margin-top:34px}.fact{background:#fff;padding:22px}.fact strong{display:block;font-family:Arial,sans-serif;font-size:1.5rem;color:var(--wine)}.fact span{font-family:Arial,sans-serif;font-size:.84rem;color:var(--muted)}
.timeline{margin-top:42px;border-left:2px solid var(--gold);padding-left:30px}.event{position:relative;margin-bottom:64px}.event:before{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:var(--wine);border:4px solid var(--paper);left:-39px;top:7px}.year{font-family:Arial,sans-serif;font-size:.8rem;font-weight:800;letter-spacing:.17em;color:#96702f}.event h3{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.12;margin:.15em 0 .65em}
.event-grid{display:grid;grid-template-columns:minmax(250px,.7fr) 1.3fr;gap:34px;align-items:start}.poster{width:100%;max-height:650px;object-fit:contain;background:#1c1112;padding:8px;box-shadow:var(--shadow);cursor:zoom-in}.event-copy p:first-child{margin-top:0}.meta{font-family:Arial,sans-serif;font-size:.91rem;color:var(--muted);border-top:1px solid #d8cdbc;padding-top:13px}
.band{max-width:none;background:var(--deep);color:#fff}.band>div{max-width:1140px;margin:auto;padding:72px 24px}.band .section-title{color:#e6c17f}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;color:var(--ink);padding:26px;border-top:4px solid var(--gold)}.card h3{color:var(--wine);margin-top:0}
.booking{max-width:none;background:linear-gradient(135deg,#9a2839,#5a1520);color:#fff;text-align:center}.booking>div{max-width:900px;margin:auto;padding:70px 24px}.booking .section-title{color:#fff}.booking .btn{font-size:1.1rem;padding:15px 27px}.booking p{font-family:Arial,sans-serif}
.sources a{display:block;padding:13px 0;border-bottom:1px solid #cfc4b4;text-decoration:none}.sources a:hover{color:var(--wine)}
.notice{background:#fff8df;border-left:4px solid var(--gold);padding:15px 18px;font-family:Arial,sans-serif;font-size:.9rem}
footer{background:#1d1113;color:#ddd;padding:42px 24px;text-align:center;font-family:Arial,sans-serif;font-size:.86rem}
.floating-book{position:fixed;right:20px;bottom:20px;z-index:45;background:#d9a64e;color:#211308;text-decoration:none;font:800 .92rem Arial,sans-serif;padding:14px 20px;border-radius:999px;box-shadow:0 10px 30px #0005;letter-spacing:.08em}
.modal{display:none;position:fixed;z-index:100;inset:0;background:#000d;padding:24px;align-items:center;justify-content:center}.modal.open{display:flex}.modal img{max-width:95vw;max-height:94vh;object-fit:contain}.modal button{position:absolute;right:22px;top:14px;border:0;background:none;color:#fff;font-size:2.3rem;cursor:pointer}
.pagehead{background:var(--deep);color:#fff;padding:70px 24px 55px}.pagehead>div{max-width:1140px;margin:auto}.pagehead h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1;margin:.15em 0}
.detail-grid{display:grid;grid-template-columns:minmax(280px,.75fr) 1.25fr;gap:42px}.cast{columns:2;column-gap:30px;font-family:Arial,sans-serif}.cast p{break-inside:avoid;margin:.3em 0}
@media(max-width:820px){.links a:not(.book){display:none}.factbar,.cards{grid-template-columns:1fr 1fr}.event-grid,.detail-grid{grid-template-columns:1fr}.poster{max-height:none}.cast{columns:1}.hero{min-height:72vh}}
@media(max-width:520px){.brand{font-size:.83rem}.nav{padding:10px 12px}.book{padding:9px 12px}.factbar,.cards{grid-template-columns:1fr}.floating-book{right:12px;bottom:12px}}

/* FIX v3 - locandine e pagine edizioni */
.event-grid{grid-template-columns:minmax(280px,420px) minmax(0,1fr);}
.poster{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#1c1112;padding:8px;box-shadow:var(--shadow);}
.pagehead{padding:54px 24px 38px;}
.pagehead>div{max-width:1140px;margin:auto;}
.pagehead h1{max-width:1000px;}
.detail-grid{grid-template-columns:minmax(280px,440px) minmax(0,1fr);align-items:start;}
.detail-grid .poster{max-width:440px;margin:0 auto;}
.detail-grid>div{min-width:0;}
@media(max-width:820px){.event-grid,.detail-grid{grid-template-columns:1fr}.detail-grid .poster{max-width:620px}.pagehead{padding:42px 20px 28px}}


/* === FIX PAGINE SINGOLE EDIZIONI === */
.pagehead{
  width:100%;
  padding:64px 24px 42px;
  overflow:hidden;
}
.pagehead > div{
  width:min(1120px,100%);
  margin:0 auto;
}
.pagehead h1{
  max-width:1000px;
  overflow-wrap:anywhere;
}
body.edition-page main{
  width:100%;
  overflow-x:hidden;
}
body.edition-page main > section{
  width:min(1120px,100%);
  margin:0 auto;
  padding:56px 24px 80px;
}
.edition-layout{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:52px;
  align-items:start;
  width:100%;
}
.edition-poster-wrap{
  min-width:0;
  width:100%;
}
.edition-poster{
  display:block;
  width:100%;
  max-width:420px;
  height:auto;
  max-height:none;
  object-fit:contain;
  margin:0 auto;
  background:#1c1112;
  padding:7px;
  box-shadow:var(--shadow);
}
.edition-content{
  min-width:0;
  width:100%;
}
.edition-content .section-title{
  margin-top:0;
}
.edition-content p{
  max-width:100%;
  overflow-wrap:break-word;
}
.edition-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
@media(max-width:900px){
  .edition-layout{grid-template-columns:1fr;gap:34px}
  .edition-poster{max-width:500px}
}
@media(max-width:560px){
  .pagehead{padding:45px 18px 30px}
  body.edition-page main > section{padding:38px 18px 65px}
  .edition-poster{max-width:100%}
}

/* Ruoli nelle singole edizioni */
.cast-section{width:min(1120px,100%);margin:0 auto;padding:10px 24px 80px}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.role-card{background:#fff;border-left:4px solid var(--gold);padding:15px 18px;box-shadow:0 4px 15px #0000000c}
.role{font:800 .78rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--wine);margin-bottom:5px}
.performer{font-size:1.02rem;line-height:1.45}
@media(max-width:700px){.role-grid{grid-template-columns:1fr}.cast-section{padding-left:18px;padding-right:18px}}

/* Accessibility and responsive refinements */
.hero{max-width:none;width:100%;padding:0}.hero:after{pointer-events:none}.hero-inner{padding:72px 24px}.hero .kicker{color:#efd39d;margin-bottom:24px}.kicker,.year{color:#805c23}.hero .edition-notice{margin-top:24px;font-size:.95rem;color:#f1d59e}.nav{flex-wrap:wrap}.brand a{text-decoration:none}.links a{opacity:1}.skip-link{position:fixed;top:-100px;left:12px;z-index:300;background:#fff;color:#250d12;padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #287fb8;outline-offset:5px}section[id],article[id]{scroll-margin-top:110px}.poster-link{display:block;cursor:zoom-in}.poster-link img{transition:transform .2s}.poster-link:hover img{transform:translateY(-3px)}.modal{border:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;background:rgba(0,0,0,.94);padding:60px 20px 20px}.modal[open]{display:flex;align-items:center;justify-content:center}.modal::backdrop{background:#000c}.modal img{max-width:100%;max-height:calc(100dvh - 90px);padding:0}.modal button{background:#fff;color:#250d12;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1}.modal-open{overflow:hidden}.edition-label{font-family:Arial,sans-serif;font-size:.9rem;color:#efd39d}.edition-actions{align-items:center}.privacy-content{max-width:850px}.privacy-content h2{color:var(--wine);line-height:1.25}footer{padding-bottom:85px}footer a{display:inline-block;margin:4px}.fact span,.year,.kicker{font-size:.875rem}.role{font-size:.875rem}.hero,.pagehead{isolation:isolate}
@media(max-width:820px){.links a:not(.book){display:block}.nav{gap:10px;justify-content:center}.links{margin-left:0;gap:16px;flex-wrap:wrap;justify-content:center}.hero{min-height:auto}.hero-inner{padding:60px 20px}.event-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.timeline{padding-left:19px}.event:before{left:-28px}.event-grid{gap:24px}.poster-link{max-width:450px;margin:auto}.edition-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.brand{width:100%;text-align:center}.links{width:100%;font-size:.875rem}.links .book{padding:8px 12px}.hero h1{font-size:3.7rem}.hero h2{font-size:1.1rem}section{padding:48px 18px}.factbar{grid-template-columns:1fr 1fr}.fact{padding:16px}.fact strong{font-size:1.15rem}.timeline{padding-left:14px}.event:before{left:-23px}.floating-book{font-size:.8rem;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.pagehead .kicker{color:#efd39d}
