/* Sueña ahora – sfondo bianco, font del sito Broga Doite Film (NB International / Inter Tight). Footer identico al sito Broga Doite Film. */
:root{--bg:#fff;--ink:#1c1e22;--mute:#666a72;--line:#e4e5e8;--wash:#f4f5f7;--acc:#e62b2b;
--sans:"NB International Pro","NB International","Inter Tight","Helvetica Neue",Arial,sans-serif;
--pad:clamp(1.1rem,4.5vw,4rem);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:4.5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:inherit}
::selection{background:var(--acc);color:#fff}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{width:auto;height:auto;clip:auto;left:1rem;top:1rem;z-index:20;background:var(--ink);color:#fff;padding:.6rem 1rem}
h1,h2{font-family:var(--sans);font-weight:600;margin:0;letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(1.8rem,3.6vw,2.8rem);margin-bottom:clamp(1.6rem,3.5vw,2.6rem)}

/* Header: trasparente con testo bianco sul hero; bianco con testo scuro dopo lo scroll e nelle pagine interne */
.hd{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;
 padding:max(.8rem,env(safe-area-inset-top)) var(--pad) .8rem;color:#fff;transition:background .4s,color .3s,border-color .4s;border-bottom:1px solid transparent}
.hd.solid,.is-inner .hd{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);border-bottom-color:var(--line)}
.logo{flex:none}.logo img{height:2.4rem;width:auto}.logo .l-d{display:none}
.hd.solid .l-w,.is-inner .l-w{display:none}.hd.solid .l-d,.is-inner .l-d{display:block}
.tools{display:flex;align-items:center;gap:clamp(.3rem,2vw,1.5rem)}
.nav{display:flex;gap:.2rem}
.nav a{text-decoration:none;font-weight:500;font-size:.95rem;padding:.55rem .8rem;position:relative}
.nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.langsw{display:flex;border:1px solid currentColor}
.langsw a{text-decoration:none;font-weight:500;font-size:.8rem;letter-spacing:.06em;padding:.45rem .7rem;min-width:2.5rem;text-align:center;opacity:.7;transition:background .2s,color .2s,opacity .2s}
.langsw a:hover{opacity:1}.langsw a[aria-current]{opacity:1;background:#fff;color:var(--ink)}
.hd.solid .langsw a[aria-current],.is-inner .langsw a[aria-current]{background:var(--ink);color:#fff}

/* Hero: sfondo a tutta pagina, titolo e registi (tutto da Admin) */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;color:#fff;background:#000}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%;z-index:-2;animation:dawn 3s var(--ease) both}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.45) 28%,rgba(0,0,0,0) 60%),linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0) 22%)}
.hero-txt{padding:7rem var(--pad) clamp(2.2rem,6vw,4.5rem);max-width:100%;animation:rise 1.6s .7s var(--ease) both}
.hero h1{font-size:clamp(2.4rem,8vw,7rem);line-height:.95;letter-spacing:-.04em;overflow-wrap:anywhere;text-wrap:balance}
.by{margin:clamp(.5rem,1.2vw,.9rem) 0 0;display:flex;flex-wrap:wrap;gap:.1rem .45rem;align-items:baseline;font-size:clamp(1rem,1.6vw,1.2rem)}
.by span{opacity:.7}.by strong{font-weight:500}
@keyframes dawn{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:none}}

/* Sezioni */
.sec{max-width:96rem;margin:0 auto;padding:clamp(3.5rem,8vw,7rem) var(--pad)}
#festivals{padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.empty{color:var(--mute)}

/* Trailer e Press Kit: subito dopo l'header (come il sito Broga Doite Film) */
.actions{max-width:96rem;margin:0 auto;padding:clamp(1.4rem,3vw,2.2rem) var(--pad) 0;display:flex;flex-wrap:wrap;gap:.7rem}
.act{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.6rem;border:1px solid var(--ink);color:var(--ink);font:500 .76rem var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.act svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.act:hover{background:var(--ink);color:#fff}.act.primary{background:var(--ink);color:#fff}.act.primary:hover{background:var(--acc);border-color:var(--acc)}

/* Festival e proiezioni */
.fest{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.fest li{display:grid;grid-template-columns:minmax(9rem,13rem) minmax(0,1fr) minmax(0,18rem);gap:.4rem 2rem;align-items:start;padding:1.3rem 0;border-top:1px solid var(--line);transition:padding .4s var(--ease)}
.fest li:hover{padding-left:.6rem}
.fd{display:flex;flex-direction:column;gap:.1rem}.fd time{font-variant-numeric:tabular-nums;font-size:.98rem;font-weight:500}.fd .tm{color:var(--mute);font-size:.9rem;font-variant-numeric:tabular-nums}
.fn{font:600 clamp(1.25rem,2.4vw,1.8rem)/1.15 var(--sans);letter-spacing:-.025em;overflow-wrap:anywhere}
.fn a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--ease)}.fn a:hover{background-size:100% 1px}
.award{display:block;margin-top:.3rem;font:500 .92rem/1.35 var(--sans);letter-spacing:0;color:var(--acc)}
.fp{text-align:right;color:var(--mute);overflow-wrap:anywhere;padding-top:.2rem}
.is-past .fn,.is-past .fp,.is-past .fd{opacity:.55}
.pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2.2rem;font-size:.95rem}
.pager ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.pager a,.pager .off{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0 .7rem;text-decoration:none}
.pager a:hover{background:var(--wash)}.pager a[aria-current]{border-bottom:2px solid var(--acc);font-weight:600}.pager .off{color:var(--mute);opacity:.5}

/* Sinossi e dati del film */
.sec-film{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(1.8rem,3.5vw,3rem)}
.film-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(15rem,1fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.desc p{margin:0 0 1.3em;max-width:62ch;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7}
.facts{margin:0}.facts div{border-top:1px solid var(--line);padding:1rem 0 1.1rem}.facts div:last-child{border-bottom:1px solid var(--line)}
.facts dt{font-size:.86rem;color:var(--mute);margin-bottom:.2rem}.facts dd{margin:0;font:500 1.15rem/1.35 var(--sans);overflow-wrap:anywhere}

/* Frame: carousel scorrevole sotto la sinossi, senza titolo */
.sec-frames{max-width:none;padding:0 0 clamp(3.5rem,8vw,7rem)}
.car{--n:3;--g:clamp(.6rem,1.5vw,1.2rem);display:flex;gap:var(--g);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--pad);scroll-padding-inline:var(--pad);overscroll-behavior-x:contain;cursor:grab}
.car::-webkit-scrollbar{display:none}.car.drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.slide{margin:0;flex:0 0 calc((100% - var(--g) * (var(--n) - 1)) / var(--n));scroll-snap-align:start;aspect-ratio:16/9;background:var(--wash);overflow:hidden}
.slide img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.car-btns{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem var(--pad) 0}
.cb{width:3rem;height:3rem;background:none;border:1px solid var(--ink);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s,opacity .25s}
.cb:hover:not(:disabled){background:var(--ink);color:#fff}.cb:disabled{opacity:.3;cursor:default}
.cb svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Pagine interne e form (Contatti: come il sito Broga Doite Film) */
.wrap{max-width:96rem;margin:0 auto;padding:clamp(7rem,12vw,10rem) var(--pad) clamp(3rem,7vw,6rem)}.narrow{max-width:50rem;margin-left:0}
.wrap h1{font-size:clamp(2.6rem,7vw,5rem);margin-bottom:1.5rem}
.prose p{max-width:62ch}.smap{line-height:2}.smap ul{padding-left:1.4rem}
.btn{display:inline-block;margin-top:1rem;padding:.95rem 2rem;background:var(--ink);color:#fff;border:0;font:500 1rem var(--sans);cursor:pointer;text-decoration:none;transition:background .25s}.btn:hover{background:var(--acc)}
form label{display:block;margin-bottom:1.4rem;font-weight:500;font-size:.95rem}.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
input:not([type=checkbox]),textarea{width:100%;margin-top:.4rem;padding:.85rem .9rem;border:1px solid #c5c7cc;border-radius:0;background:#fff;color:inherit;font:400 1rem var(--sans)}
input:focus,textarea:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 1px var(--ink)}
[aria-invalid=true]{border-color:#c62828!important}.fe{display:block;margin-top:.35rem;color:#c62828;font-weight:400}
.chk{display:flex;gap:.7rem;align-items:flex-start;font-weight:400}.chk input{margin-top:.3rem;width:1.1rem;height:1.1rem;accent-color:var(--acc);flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok,.ko{padding:1rem 1.2rem;margin:0 0 2rem;border-left:3px solid}.ok{border-color:#2e9d5b;background:#eaf6ef}.ko{border-color:#c62828;background:#fbeaea}

/* Footer: stesso del sito Broga Doite Film */
.ft{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr) auto;gap:2rem clamp(2rem,5vw,4.5rem);align-items:start;padding:3rem var(--pad) 2.4rem;background:var(--wash);color:var(--ink);font-size:.9rem}
.ft a{color:inherit}.flogo-link{display:block;max-width:12rem}.flogo{height:auto;width:100%;max-width:12rem;mix-blend-mode:multiply;margin-bottom:1rem}
.ft .sedi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem clamp(1.5rem,3vw,3rem);font-style:normal;font-size:.88rem;line-height:1.55}
.ft .sedi div{display:block}.ft .sedi strong{display:block;margin-bottom:.45rem;font:500 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.ft .sedi span{display:block}
.ft>div:last-child{justify-self:end}
.soc{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;margin:0 .5rem .5rem 0;background:#fff;box-shadow:0 1px 2px rgba(20,22,26,.08);text-decoration:none;transition:background .2s,color .2s,transform .2s}
.soc:hover{background:var(--acc);color:#fff;transform:translateY(-2px)}.soc svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.group{display:flex;align-items:center;gap:.8rem;margin:1.3rem 0 0;font-size:.8rem;color:var(--mute)}.group img{height:1.4rem;width:auto}
.flinks{margin:.9rem 0 0;font-size:.8rem}.flinks a{margin-left:1rem}

/* Responsive */
@media(max-width:900px){.car{--n:2}}
@media(max-width:1000px){.ft{grid-template-columns:1fr auto}.ft .sedi{grid-column:1/-1;order:3}}
@media(max-width:800px){
 .hero-img{object-position:72% 50%}
 .fest li{grid-template-columns:1fr;gap:.25rem;padding:1.15rem 0}.fest li:hover{padding-left:0}.fp{text-align:left}.fd{flex-direction:row;gap:.8rem;flex-wrap:wrap}
 .car{--n:2}.film-grid{grid-template-columns:1fr}.row2{grid-template-columns:1fr}
}
@media(max-width:700px){.ft{grid-template-columns:1fr}.ft>div:last-child{justify-self:start}.flinks a{margin:0 1rem 0 0}.ft .sedi{grid-template-columns:1fr;gap:1rem}.ft .sedi div{display:grid;grid-template-columns:6.5rem 1fr;gap:.8rem}.ft .sedi strong{margin:0;padding-top:.2rem}.cb{width:2.75rem;height:2.75rem}}
@media(max-width:560px){.car{--n:1}.slide{flex-basis:84%}}
@media(max-width:700px){.hd{flex-wrap:wrap;row-gap:.2rem}.tools{display:contents}.langsw{order:2}.nav{order:3;flex:1 0 100%;margin:0 -.4rem}.hero-txt{padding-top:8.5rem}.act{flex:1 1 9rem}}
@media(max-width:480px){.logo img{height:1.9rem}.nav a{padding:.5rem .45rem;font-size:.88rem}.nav a::after{left:.45rem;right:.45rem}.langsw a{padding:.4rem .5rem;min-width:2.1rem}.hd{gap:.4rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.paged .hero-img,.paged .hero-txt{animation:none}
