@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --bg:#070706;
  --text:#f5f0e6;
  --muted:#b9b2a5;
  --line:rgba(245,240,230,.24);
  --accent:#b9d900;
  --panel:rgba(11,11,9,.78);
}
*{box-sizing:border-box}
body{
  margin:0;
  color:var(--text);
  font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  line-height:1.3;
  background:var(--bg);
}
.cinema-ritrovato-2026-page .page{position:relative; width:min(1340px,calc(100% - 40px)); max-width:none !important; margin:0 auto !important; padding:34px 0 28px}
.cinema-ritrovato-2026-page .topbar{
  position:absolute;
  top:20px;
  left:50%;
  transform:translateX(-50%);
  z-index:5;
  width:min(1340px,calc(100% - 10px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.06em;
}
.logos{display:flex; align-items:center; gap:25px; flex-wrap:wrap}
.logos img{display:block; width:auto; max-height:34px; object-fit:contain}
.brand{display:flex; align-items:center; justify-content:flex-end; flex-shrink:0; text-decoration:none}
.brand img{display:block; width:auto; max-height:44px; object-fit:contain}
.cinema-ritrovato-2026-page .hero{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  min-height:900px;
  margin:-20px 0 0;
  margin-left:-50vw;
  margin-right:-50vw;
  overflow:hidden;
  border-bottom:0;
  background-image:url("/wp-content/themes/iufa-child/assets/cinema-ritrovato-2026/img/barbara-background.jpg");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,7,6,0) 68%, #070706 100%);
  pointer-events:none;
  z-index:1;
}
.cinema-ritrovato-2026-page .hero-inner{
  width:min(1340px,calc(100% - 40px));
  min-height:900px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:40px;
  align-items:center;
}
.hero-content{position:relative; z-index:2; padding:70px 0 0 0; max-width:900px}
.cinema-ritrovato-2026-page h1{margin:0; max-width:880px; color:var(--text) !important; text-transform:uppercase; font-family:"Bebas Neue","Arial Narrow",sans-serif; font-size:clamp(5rem,13.5vw,12.5rem); line-height:.82; letter-spacing:-.035em; font-weight:400}
.edition{margin:0; color:var(--accent); text-transform:uppercase; font-family:"Bebas Neue","Arial Narrow",sans-serif; font-size:clamp(2.2rem,4.8vw,4.6rem); font-weight:400; letter-spacing:.04em}
.place{margin:22px 0 0; text-transform:uppercase; letter-spacing:.075em; font-size:clamp(1.1rem,2vw,2rem); font-weight:850}
.date-stack{justify-self:end; align-self:center; padding-right:8px; color:var(--accent); font-size:clamp(2.2rem,4vw,5rem); line-height:.95; text-align:right; text-transform:uppercase; font-weight:300}
.date-stack strong{display:inline-grid;place-items:center;width:112px;height:112px;margin-bottom:42px;border:3px solid var(--accent);border-radius:50%;font-weight:900}
.program-section{position:relative; z-index:3; margin-top:-60px}
.program-title{margin:0 0 20px; color:var(--accent); text-transform:uppercase; font-family:"Bebas Neue","Arial Narrow",sans-serif; letter-spacing:.075em; font-size:clamp(1.1rem,2vw,2rem); font-weight:400}
.program-actions{display:flex; justify-content:center; margin-top:64px}
.program-full-link{display:inline-flex; align-items:center; justify-content:center; gap:10px; color:var(--text); text-decoration:none; text-transform:uppercase; font-family:"Bebas Neue","Arial Narrow",sans-serif; font-size:clamp(1.35rem,2.3vw,2.35rem); line-height:1; letter-spacing:.055em; font-weight:400; padding:14px 20px 12px; border:1px solid rgba(245,240,230,.72); background:transparent}
.cinema-ritrovato-2026-page .program-full-link,
.cinema-ritrovato-2026-page .program-full-link:visited{color:var(--text) !important}
.cinema-ritrovato-2026-page .program-full-link:hover,
.cinema-ritrovato-2026-page .program-full-link:focus{color:var(--accent) !important; border-color:var(--accent) !important}
.program-full-link img{width:24px; height:24px; object-fit:contain; flex-shrink:0; opacity:1; filter:brightness(0) invert(1); transition:filter .18s ease, transform .18s ease}
.program-full-link:hover img{filter:brightness(0) saturate(100%) invert(78%) sepia(94%) saturate(1098%) hue-rotate(22deg) brightness(103%) contrast(102%); transform:translate(2px,-2px)}
.grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
@media(min-width:1051px){
  .grid .day-card:last-child{grid-column:2}
}
.day-card{background:linear-gradient(180deg,rgba(20,20,17,.92),var(--panel)); border:1px solid var(--line); padding:18px; box-shadow:0 20px 40px rgba(0,0,0,.45); backdrop-filter:blur(4px)}
.day-card h2{margin:0 0 15px; padding-bottom:10px; border-bottom:1px solid var(--line); color:var(--accent); text-transform:uppercase; font-family:"Bebas Neue","Arial Narrow",sans-serif; letter-spacing:.08em; font-size:1.28rem; font-weight:400}
.event-list{display:grid; gap:14px}
.event-card{display:grid; grid-template-columns:50px 1fr; gap:12px}
.event-time{color:var(--accent); font-family:"Bebas Neue","Arial Narrow",sans-serif; font-size:1.12rem; font-weight:400; font-variant-numeric:tabular-nums; letter-spacing:.04em}
.event-info h3{margin:0; font-size:1.04rem; line-height:1.12; font-weight:850}
.cinema-ritrovato-2026-page .event-info a{color:var(--text) !important; text-decoration:none !important}
.cinema-ritrovato-2026-page .event-info a:hover{color:var(--accent) !important}
.film-meta{display:block; margin-top:3px; color:rgba(245,240,230,.86); text-transform:uppercase; font-size:.73rem; letter-spacing:.06em; font-weight:500}
.event-info p{margin:4px 0 0; color:var(--accent); font-size:.86rem}
.event-replicas{margin:5px 0 0; padding:0; list-style:none; color:var(--muted); font-size:.76rem; font-style:italic}
.event-replicas li:before{content:"↳ "; color:var(--accent); font-style:normal}
.footer{display:flex; justify-content:center; gap:24px; margin-top:52px; padding:24px 0; border-top:1px solid var(--line); color:var(--accent); text-align:center; text-transform:uppercase; letter-spacing:.09em; font-size:.82rem}
.cinema-ritrovato-2026-page .footer a,
.cinema-ritrovato-2026-page .footer a:visited{color:var(--text) !important; text-decoration:none !important; border-bottom:1px solid rgba(245,240,230,.35) !important}
.cinema-ritrovato-2026-page .footer a:hover,
.cinema-ritrovato-2026-page .footer a:focus{color:var(--text) !important; border-bottom-color:var(--text) !important}
@media(max-width:1050px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .cinema-ritrovato-2026-page .hero{min-height:800px}
  .cinema-ritrovato-2026-page .hero-inner{grid-template-columns:1fr;min-height:800px}
  .program-section{margin-top:-44px}
  .date-stack{justify-self:start;text-align:left;display:flex;align-items:center;gap:24px;padding-bottom:74px}
  .date-stack strong{margin:0}
}
@media(max-width:680px){
  .cinema-ritrovato-2026-page .page{width:min(100% - 24px,1340px); max-width:none !important; padding:22px 0 18px}
  .cinema-ritrovato-2026-page .topbar{width:min(100% - 24px,1340px); flex-direction:row; align-items:flex-start; justify-content:space-between; gap:12px}
  .logos{justify-content:space-between; align-items:center; flex-wrap:nowrap; gap:10px; max-width:100%; width:100%}
  .logos img{max-height:16px; min-width:0; object-fit:contain}
  .logos img:nth-child(n+3){display:block}
  .brand{display:none}
  .cinema-ritrovato-2026-page .hero{min-height:710px; background-position:72% top}
  .cinema-ritrovato-2026-page .hero-inner{width:min(100% - 24px,1340px);min-height:720px}
  .hero-content{padding:40px 0 0 0}
  .program-section{margin-top:-28px}
  .program-title{font-size:1.5rem}
  .cinema-ritrovato-2026-page h1{font-size:clamp(4rem,22vw,7rem)}
  .grid{grid-template-columns:1fr}
  .date-stack{font-size:2.3rem}
  .date-stack strong{width:78px;height:78px}
  .program-actions{justify-content:center; margin-top:52px}
  .program-full-link{font-size:1.35rem; gap:8px; text-align:center; padding:12px 14px 10px; width:100%; max-width:340px}
  .program-full-link img{width:18px; height:18px}
  .footer{flex-direction:column; align-items:center; text-align:center; gap:12px; margin-top:42px; padding:18px 0; font-size:.68rem; line-height:1.35}
}