/* Uscita di Alina: popup home e pagina proiezioni, con stili dedicati. */
.home-cinema[hidden] { display: none !important; }
.home-cinema { position: fixed; z-index: 60; right: 24px; bottom: max(24px, env(safe-area-inset-bottom)); width: 350px; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 16px; padding: 20px; border: 1px solid #ffffff2e; border-radius: 18px; color: #fff; background: rgba(12,12,18,.72); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 12px 38px #0003; animation: cinema-notice-in .5s ease both; }
.home-cinema__poster { display: block; width: 64px; height: 92px; object-fit: cover; border-radius: 4px; }
.home-cinema__copy { align-self: center; padding-right: 12px; }
.home-cinema__eyebrow { color: #b1acff; font-size: 9px; font-weight: 500; letter-spacing: .08em; }
.home-cinema h2 { margin: 8px 0 6px; font-size: 23px; font-weight: 500; letter-spacing: -.025em; line-height: 1.05; }
.home-cinema__copy > p:last-child { font-size: 12px; color: #d1d1d7; }
.home-cinema__close { position: absolute; top: 9px; right: 9px; width: 28px; height: 28px; display: grid; place-items: center; color: #e6e6ed; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.home-cinema__close:hover { background: #ffffff1a; }
.home-cinema__link { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 11px 16px; border-radius: 100px; color: #fff; background: #6C63FF; font-size: 13px; font-weight: 500; transition: background .25s; }
.home-cinema__link:hover { background: #817aff; }
.home-cinema a:focus-visible, .home-cinema button:focus-visible { outline: 2px solid #b1acff; outline-offset: 3px; }
@keyframes cinema-notice-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.marquee-group .client-logo { height: 80px; width: auto; max-width: 220px; object-fit: contain; flex-shrink: 0; }
.marquee-group .client-logo--invert { filter: invert(1); }
.marquee-track:has(.client-logo) { --marquee-duration: 80s; }
.cinema-release { background: #080808; color: #fff; padding: 128px 24px 88px; }
.cinema-release__back, .cinema-release__kicker { font-size: 12px; font-weight: 500; letter-spacing: .08em; }
.cinema-release__back { color: #bcbcc4; }
.cinema-release__heading > .cinema-release__kicker { margin-top: 44px; color: #a5a5ad; }
.cinema-release h1 { margin: 22px 0 26px; font-size: clamp(64px, 9vw, 150px); line-height: .95; letter-spacing: -.05em; font-weight: 500; }
.cinema-release h1 span { color: #8c85ff; }
.cinema-release__heading > p:last-child { color: #bcbcc4; font-size: 18px; line-height: 1.5; }
.cinema-release__content { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(40px,7vw,120px); margin-top: 64px; align-items: start; }
.cinema-release__poster { margin: 0; max-width: 450px; }
.cinema-release__poster img { display: block; width: 100%; height: auto; }
.cinema-release__poster figcaption { margin-top: 14px; font-size: 10px; letter-spacing: .05em; color: #a5a5ad; }
.cinema-release__screenings > .cinema-release__kicker { color: #a5a5ad; }
.cinema-release h2 { margin: 22px 0 20px; font-size: clamp(34px,4.2vw,64px); line-height: 1.04; font-weight: 400; letter-spacing: -.03em; }
.cinema-release__intro { max-width: 34em; color: #bcbcc4; font-size: 18px; line-height: 1.5; }
.screenings { margin: 30px 0 0; padding: 0; list-style: none; }
.screening { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 24px; padding: 30px 0; border-top: 1px solid #ffffff26; }
.screening:last-child { border-bottom: 1px solid #ffffff26; }
.screening__date { color: #8c85ff; padding-top: 2px; }
.screening__date > span { display: block; }
.screening__date > span:first-child { font-size: 64px; font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.screening__date > span:last-child { margin-top: 8px; font-size: 13px; font-weight: 500; letter-spacing: .15em; }
.screening h3 { font-size: 21px; font-weight: 500; line-height: 1.3; }
.screening__time { font-size: 25px; margin: 7px 0; }
.screening__venue { color: #bcbcc4; font-size: 16px; line-height: 1.5; }
.screening__details a { display: inline-flex; align-items: center; gap: 28px; margin-top: 20px; padding: 12px 20px; border-radius: 100px; background: #6C63FF; color: #fff; font-size: 15px; font-weight: 500; transition: background .25s; }
.screening__details a:hover { background: #817aff; }
.cinema-release__note { color: #a5a5ad; font-size: 13px; line-height: 1.5; margin-top: 24px; max-width: 36em; }
.cinema-release__film { display: inline-flex; align-items: center; gap: 20px; margin-top: 26px; font-size: 16px; }
.cinema-release__film span { color: #8c85ff; }
.cinema-release a:focus-visible { outline: 2px solid #8c85ff; outline-offset: 5px; }
@media (max-width: 767px) {
 .home-cinema { right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); width: min(330px,calc(100% - 32px)); padding: 16px; gap: 12px; grid-template-columns: 56px minmax(0,1fr); }
 .home-cinema__poster { width: 56px; height: 80px; }
 .home-cinema h2 { font-size: 21px; }
 .home-cinema__eyebrow { font-size: 8px; }
 .cinema-release { padding: 108px 16px 56px; }
 .cinema-release__heading > .cinema-release__kicker { margin-top: 32px; }
 .cinema-release h1 { font-size: clamp(52px,12vw,88px); }
 .cinema-release__heading > p:last-child { font-size: 16px; }
 .cinema-release__content { grid-template-columns: 1fr; margin-top: 40px; gap: 40px; }
 .cinema-release__poster { max-width: 300px; }
 .cinema-release h2 { font-size: 38px; }
 .cinema-release__intro { font-size: 16px; }
 .screening { grid-template-columns: 66px minmax(0,1fr); gap: 18px; padding: 24px 0; }
 .screening__date > span:first-child { font-size: 50px; }
 .screening h3 { font-size: 17px; }
 .screening__time { font-size: 23px; }
 .screening__venue { font-size: 14px; }
 .screening__details a { font-size: 14px; padding: 12px 18px; gap: 20px; }
 .cinema-release__film { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .home-cinema { animation: none; } .home-cinema__link, .screening__details a { transition: none; } }