/* =========================================================
   Fondazione Cinema da Ritrovare — www.cinemadaritrovare.it
   Foglio di stile principale
   ========================================================= */

:root{
  /* ---------------------------------------------------------------
     PALETTE: bordeaux e antracite schiarita
     Ago 2026: su richiesta di Fernando il fondo scuro e' stato alzato di un
     gradino (#141416 -> #202024). L'accento e i bordi sono stati schiariti
     in proporzione per non scendere sotto il contrasto minimo WCAG.
     Per cambiare l'aspetto basta modificare questi valori: nessun
     colore e' scritto a mano nel resto del foglio di stile.
     --------------------------------------------------------------- */
  /* bordeaux chiaro: sui FONDI SCURI (filetti, bordi, occhielli) */
  --accento:#9E1B22;
  --accento-chiaro:#C1272D;
  /* bordeaux profondo: sui FONDI CHIARI (link, titoli, pulsanti) */
  --accento-scuro:#7A1319;
  --accento-cupo:#5E0F13;
  /* bordeaux schiarito: solo per il testo piccolo sui fondi scuri,
     dove il bordeaux pieno non raggiunge il contrasto minimo */
  --accento-su-scuro:#E56A71;
  --accento-velo:rgba(158,27,34,.18);

  --scuro-0:#1C1C20;
  --scuro:#202024;
  --scuro-2:#2A2A2F;
  --scuro-3:#33333A;

  --chiaro:#FAF8F5;
  --carta:#FFFFFF;
  --rilievo:#FBF7F0;
  --indice-fondo:#F5F2ED;
  --campo-fondo:#FCFBFA;
  --consenso-fondo:#F7F4EF;
  --selezione:#EFD3D5;

  --testo-scuro:#23232A;
  --testo-medio:#55555F;
  --testo-chiaro:#EDEAE6;
  --testo-chiaro-2:#B8B4AE;
  --testo-piede:#8E8B86;
  --bordo-chiaro:#E2DDD6;
  --bordo-scuro:#42424A;

  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif;
  --max:1140px;
  --ombra:0 2px 18px rgba(0,0,0,.10);
  --ombra-forte:0 8px 40px rgba(0,0,0,.28);
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.72;
  background:var(--chiaro);
  color:var(--testo-scuro);
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--accento-scuro);text-decoration:none;}
a:hover{text-decoration:underline;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* ---------------------------------------------------------
   PROTEZIONE CONTENUTI — blocco selezione e trascinamento
   --------------------------------------------------------- */
body,.protetto{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:transparent;
}
/* i campi dei moduli devono restare utilizzabili */
input,textarea,select,option,label,
.selezionabile,.selezionabile *{
  -webkit-user-select:text!important;
  -moz-user-select:text!important;
  -ms-user-select:text!important;
  user-select:text!important;
}
img{
  -webkit-user-drag:none;
  -khtml-user-drag:none;
  -moz-user-drag:none;
  -o-user-drag:none;
  user-drag:none;
  pointer-events:none;
}
a img,.no-blocco img{pointer-events:auto;}
::selection{background:transparent;}
::-moz-selection{background:transparent;}
input::selection,textarea::selection{background:var(--selezione);}

/* ---------------------------------------------------------
   INTESTAZIONE E NAVIGAZIONE
   --------------------------------------------------------- */
.testata{
  background:var(--scuro);
  border-bottom:3px solid var(--accento);
  position:sticky;top:0;z-index:900;
  box-shadow:0 2px 14px rgba(0,0,0,.35);
}
.testata-interna{
  max-width:var(--max);margin:0 auto;padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.marchio{display:flex;align-items:center;gap:14px;text-decoration:none;}
.marchio:hover{text-decoration:none;}
.marchio img{height:52px;width:auto;}
.marchio-testo{display:flex;flex-direction:column;line-height:1.15;}
.marchio-testo strong{
  font-family:var(--serif);font-size:1.12rem;letter-spacing:.5px;
  color:var(--carta);font-weight:700;
}
.marchio-testo span{
  font-size:.68rem;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--testo-chiaro-2);
}

.menu{display:flex;align-items:center;gap:2px;flex-wrap:wrap;}
.menu a{
  color:var(--testo-chiaro-2);
  font-size:.79rem;letter-spacing:.9px;text-transform:uppercase;
  font-weight:600;padding:10px 12px;border-radius:3px;
  transition:color .18s,background .18s;
}
.menu a:hover{color:var(--carta);background:rgba(255,255,255,.07);text-decoration:none;}
.menu a.attivo{color:var(--carta);border-bottom:2px solid var(--accento-chiaro);border-radius:3px 3px 0 0;}

.bottone-menu{
  display:none;background:none;border:1px solid var(--bordo-scuro);
  color:var(--testo-chiaro);padding:9px 12px;border-radius:4px;
  cursor:pointer;font-size:1.05rem;line-height:1;
}

@media(max-width:960px){
  .bottone-menu{display:block;}
  .menu{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--scuro-2);flex-direction:column;align-items:stretch;
    gap:0;padding:8px 0;border-bottom:3px solid var(--accento);
    box-shadow:0 14px 30px rgba(0,0,0,.4);
  }
  .menu.aperto{display:flex;}
  .menu a{padding:13px 26px;border-bottom:1px solid rgba(255,255,255,.05);border-radius:0;}
  .menu a.attivo{border-bottom:1px solid var(--accento);background:var(--accento-velo);}
}

/* ---------------------------------------------------------
   SEZIONE DI APERTURA (HOME)
   --------------------------------------------------------- */
.apertura{
  /* Ago 2026: tolte le righe verticali e il velo scuro che le copriva.
     Il velo al 90-94% abbassava il fondo a circa #18181B, cioe' piu' scuro
     della barra in alto: da qui l'impressione che il centro pagina fosse
     rimasto nero. Ora e' una tinta piatta, identica alla testata. */
  background:var(--scuro);
  color:var(--testo-chiaro);
  padding:74px 0 66px;text-align:center;
  border-bottom:1px solid var(--bordo-scuro);
}
.apertura img{margin:0 auto 30px;max-width:520px;width:88%;}
.apertura h1{
  font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.5rem);
  margin:0 0 14px;font-weight:700;letter-spacing:.4px;color:var(--carta);
}
.apertura .occhiello{
  color:var(--accento-su-scuro);font-size:.8rem;letter-spacing:3.4px;
  text-transform:uppercase;margin:0 0 20px;font-weight:700;
}
.apertura p.sottotitolo{
  max-width:760px;margin:0 auto;color:var(--testo-chiaro-2);font-size:1.03rem;
}
.filetto{
  width:74px;height:3px;background:var(--accento);
  margin:26px auto;border:0;
}

/* ---------------------------------------------------------
   AVVISO IN EVIDENZA
   --------------------------------------------------------- */
.avviso{
  background:var(--scuro-2);color:var(--testo-chiaro);
  border-left:5px solid var(--accento);
  padding:30px 34px;margin:0 0 42px;border-radius:0 6px 6px 0;
  box-shadow:var(--ombra);
}
.avviso p{margin:0 0 14px;}
.avviso p:last-child{margin-bottom:0;}
.avviso strong{color:var(--carta);}

/* ---------------------------------------------------------
   BLOCCHI DI CONTENUTO
   --------------------------------------------------------- */
.sezione{padding:56px 0;}
/* separa due sezioni chiare consecutive, che altrimenti si fonderebbero */
.sezione-divisa{border-top:1px solid var(--bordo-chiaro);}
.sezione-scura{
  background:var(--scuro);color:var(--testo-chiaro-2);
}
.sezione-scura h2,.sezione-scura h3{color:var(--carta);}

h1,h2,h3,h4{font-family:var(--serif);line-height:1.3;color:var(--testo-scuro);}
h2{font-size:1.62rem;margin:0 0 8px;}
h3{font-size:1.22rem;margin:34px 0 10px;}

.titolo-sezione{text-align:center;margin-bottom:38px;}
.titolo-sezione h2{margin-bottom:10px;}
.titolo-sezione p{color:var(--testo-medio);margin:0;font-size:.97rem;}
.sezione-scura .titolo-sezione p{color:var(--testo-chiaro-2);}

/* ---------------------------------------------------------
   PAGINE DOCUMENTALI (Statuto, Atto, Privacy) — tema chiaro
   --------------------------------------------------------- */
.intestazione-pagina{
  background:var(--scuro);
  color:var(--carta);
  padding:44px 0 40px;
  border-bottom:3px solid var(--accento);
}
.intestazione-pagina .wrap{text-align:center;}
.intestazione-pagina h1{
  color:var(--carta);margin:0 0 8px;font-size:clamp(1.5rem,3.4vw,2.1rem);
  letter-spacing:.5px;
}
.intestazione-pagina p{
  margin:0;color:var(--testo-chiaro-2);font-size:.9rem;letter-spacing:.4px;
}

.documento{
  background:var(--carta);
  max-width:920px;margin:-26px auto 60px;
  padding:52px 60px;
  border:1px solid var(--bordo-chiaro);border-radius:6px;
  box-shadow:var(--ombra);
  position:relative;z-index:2;
}
.documento h2{
  font-size:1.2rem;margin:38px 0 12px;
  color:var(--accento-scuro);
  padding-bottom:7px;border-bottom:1px solid var(--bordo-chiaro);
}
.documento h2:first-of-type{margin-top:0;}
.documento h3{font-size:1.03rem;margin:26px 0 8px;color:var(--testo-scuro);}
.documento p{margin:0 0 15px;text-align:justify;hyphens:auto;}
.documento ul{margin:0 0 18px;padding-left:24px;}
.documento li{margin-bottom:9px;text-align:justify;}
.documento .articolo{
  font-weight:700;color:var(--accento-scuro);
  font-size:.79rem;letter-spacing:1.6px;text-transform:uppercase;
  margin:26px 0 6px;
}
.documento .rilievo{
  background:var(--rilievo);border-left:4px solid var(--scuro);
  padding:16px 20px;margin:0 0 18px;border-radius:0 4px 4px 0;
}
.documento .rilievo p{margin:0;font-weight:600;}
.documento .firma{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--bordo-chiaro);
  font-size:.9rem;color:var(--testo-medio);
}
.documento .firma .etichetta{
  font-weight:700;letter-spacing:2px;color:var(--testo-scuro);
  text-transform:uppercase;font-size:.78rem;margin-bottom:10px;
}
.documento .nota{
  font-size:.86rem;color:var(--testo-medio);font-style:italic;
}
.documento .firma-riga{
  font-size:.88rem;color:var(--testo-medio);
  text-align:left;margin:0 0 8px;line-height:1.7;
}

/* indice interno del documento */
.indice{
  background:var(--indice-fondo);border:1px solid var(--bordo-chiaro);
  border-radius:5px;padding:22px 26px;margin:0 0 34px;
}
.indice .etichetta{
  font-weight:700;text-transform:uppercase;letter-spacing:1.8px;
  font-size:.74rem;color:var(--testo-medio);margin-bottom:12px;
}
.indice ol{margin:0;padding-left:20px;columns:2;column-gap:34px;}
.indice li{margin-bottom:5px;font-size:.88rem;break-inside:avoid;
  text-align:left;}   /* giustificato aprirebbe buchi nelle voci lunghe */
@media(max-width:640px){.indice ol{columns:1;}}

/* ---------------------------------------------------------
   SCHEDE PROGETTO
   --------------------------------------------------------- */
.progetto{
  display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:start;
  background:var(--scuro-2);border:1px solid var(--bordo-scuro);
  border-radius:8px;overflow:hidden;margin-bottom:34px;
  box-shadow:var(--ombra-forte);
}
.progetto:nth-child(even){grid-template-columns:1fr 260px;}
.progetto:nth-child(even) .progetto-figura{order:2;}
.progetto-figura{
  background:var(--scuro-0);display:flex;align-items:center;justify-content:center;
  padding:24px;min-height:180px;height:100%;
}
.progetto-figura img{max-height:150px;width:auto;border-radius:4px;}
.progetto-corpo{padding:34px 38px 34px 0;}
.progetto:nth-child(even) .progetto-corpo{padding:34px 0 34px 34px;}
/* scheda priva di immagine: una sola colonna, testo a piena larghezza */
.progetto-solotesto,.progetto-solotesto:nth-child(even){grid-template-columns:1fr;}
.progetto-solotesto .progetto-corpo,
.progetto-solotesto:nth-child(even) .progetto-corpo{padding:32px 38px;}
.progetto-corpo h3{
  margin:0 0 6px;color:var(--carta);font-size:1.42rem;
}
.progetto-corpo .etichetta{
  color:var(--accento-su-scuro);font-size:.7rem;letter-spacing:2.6px;
  text-transform:uppercase;font-weight:700;margin-bottom:12px;
}
.progetto-corpo p{color:var(--testo-chiaro-2);margin:0 0 13px;}
.progetto-corpo p.risalto{color:var(--testo-chiaro);font-weight:600;}
.progetto-corpo p:last-child{margin-bottom:0;}

@media(max-width:860px){
  .progetto,.progetto:nth-child(even){grid-template-columns:1fr;gap:0;}
  .progetto:nth-child(even) .progetto-figura{order:0;}
  .progetto-corpo,.progetto:nth-child(even) .progetto-corpo{padding:28px 26px;}
}

/* ---------------------------------------------------------
   RIQUADRI GENERICI
   --------------------------------------------------------- */
.griglia{display:grid;gap:24px;}
.griglia-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.griglia-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}

.riquadro{
  background:var(--carta);border:1px solid var(--bordo-chiaro);
  border-radius:6px;padding:28px 30px;box-shadow:var(--ombra);
}
.riquadro h3{margin:0 0 10px;font-size:1.08rem;color:var(--accento-scuro);}
.riquadro p{margin:0 0 10px;color:var(--testo-medio);font-size:.95rem;}
.riquadro p:last-child{margin-bottom:0;}
.riquadro ul{margin:0;padding-left:20px;color:var(--testo-medio);font-size:.95rem;}
.riquadro li{margin-bottom:7px;}

.riquadro-scuro{
  background:var(--scuro-2);border-color:var(--bordo-scuro);
}
.riquadro-scuro h3{color:var(--carta);}
.riquadro-scuro p,.riquadro-scuro li{color:var(--testo-chiaro-2);}

/* ---------------------------------------------------------
   CITAZIONI
   --------------------------------------------------------- */
.citazioni{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}
.citazione{
  border-left:3px solid var(--accento);padding:6px 0 6px 22px;
}
.citazione p{
  font-family:var(--serif);font-style:italic;font-size:1.02rem;
  margin:0 0 8px;color:var(--testo-chiaro);line-height:1.6;
}
.citazione cite{
  font-style:normal;font-size:.73rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--accento-su-scuro);font-weight:700;
}
.massima{
  font-family:var(--serif);font-size:1.24rem;font-style:italic;
  text-align:center;color:var(--testo-chiaro);
  max-width:760px;margin:0 auto 12px;line-height:1.55;
}

/* ---------------------------------------------------------
   MODULI
   --------------------------------------------------------- */
.modulo{
  background:var(--carta);border:1px solid var(--bordo-chiaro);
  border-radius:6px;padding:36px 40px;box-shadow:var(--ombra);
}
.campo{margin-bottom:19px;}
.campo label{
  display:block;font-size:.8rem;font-weight:700;letter-spacing:.7px;
  text-transform:uppercase;color:var(--testo-medio);margin-bottom:7px;
}
.campo .obbl{color:var(--accento-scuro);}
.campo input[type=text],
.campo input[type=email],
.campo input[type=tel],
.campo select,
.campo textarea{
  width:100%;padding:12px 14px;font-family:var(--sans);font-size:1rem;
  border:1px solid var(--bordo-chiaro);border-radius:4px;
  background:var(--campo-fondo);color:var(--testo-scuro);transition:border-color .16s,box-shadow .16s;
}
.campo textarea{min-height:150px;resize:vertical;}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--accento);
  box-shadow:0 0 0 3px var(--accento-velo);
}
.campo .aiuto{font-size:.82rem;color:var(--testo-medio);margin:6px 0 0;}

.consenso{
  display:flex;gap:12px;align-items:flex-start;
  background:var(--consenso-fondo);border:1px solid var(--bordo-chiaro);
  border-radius:5px;padding:16px 18px;margin-bottom:22px;
}
.consenso input[type=checkbox]{margin-top:4px;width:17px;height:17px;flex-shrink:0;cursor:pointer;}
.consenso label{
  font-size:.87rem;color:var(--testo-medio);text-transform:none;
  letter-spacing:0;font-weight:400;line-height:1.55;margin:0;cursor:pointer;
}

/* trappola anti-spam: invisibile agli utenti, visibile ai robot */
.trappola{
  position:absolute!important;left:-9999px!important;
  width:1px;height:1px;overflow:hidden;
}

.pulsante{
  display:inline-block;background:var(--accento-scuro);color:var(--carta);
  border:0;border-radius:4px;padding:14px 34px;
  font-family:var(--sans);font-size:.86rem;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;
  transition:background .18s,transform .12s;
}
.pulsante:hover{background:var(--accento-cupo);text-decoration:none;color:var(--carta);transform:translateY(-1px);}
.pulsante:active{transform:translateY(0);}
.pulsante-chiaro{
  background:transparent;border:1px solid var(--accento-chiaro);color:var(--accento-chiaro);
}
.pulsante-chiaro:hover{background:var(--accento);border-color:var(--accento);color:var(--carta);}

.esito{
  padding:16px 20px;border-radius:5px;margin-bottom:26px;font-size:.95rem;
}
.esito-ok{background:#EAF6EC;border:1px solid #B8DCC0;color:#215B2E;}
.esito-ko{background:#FBECEC;border:1px solid #E3B9B9;color:#8A2020;}
.esito p{margin:0 0 7px;}
.esito p:last-child{margin:0;}

/* ---------------------------------------------------------
   RECAPITI
   --------------------------------------------------------- */
.recapito{
  display:flex;align-items:flex-start;gap:16px;
  padding:18px 0;border-bottom:1px solid var(--bordo-chiaro);
}
.recapito:last-child{border-bottom:0;}
.recapito .icona{
  width:40px;height:40px;flex-shrink:0;border-radius:50%;
  background:var(--accento-scuro);color:var(--carta);
  display:flex;align-items:center;justify-content:center;
  font-size:1.02rem;font-weight:700;font-family:var(--serif);
}
.recapito .dettaglio .voce{
  font-size:.71rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--testo-medio);font-weight:700;margin-bottom:3px;
}
.recapito .dettaglio .valore{font-size:1.04rem;color:var(--testo-scuro);}
.recapito .dettaglio .valore a{font-weight:600;}
.promotore-nome{
  font-family:var(--serif);font-size:1.32rem;color:var(--testo-scuro);
  margin:0 0 2px;line-height:1.25;
}
.promotore-nota{
  font-size:.86rem;color:var(--testo-medio);margin:0 0 6px;
}

/* ---------------------------------------------------------
   PIÈ DI PAGINA
   --------------------------------------------------------- */
.piede{
  background:var(--scuro);color:var(--testo-chiaro-2);
  padding:48px 0 26px;border-top:3px solid var(--accento);
  font-size:.9rem;
}
.piede-griglia{
  display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px;
  padding-bottom:30px;border-bottom:1px solid var(--bordo-scuro);
}
@media(max-width:760px){.piede-griglia{grid-template-columns:1fr;gap:28px;}}
.piede h4{
  color:var(--carta);font-size:.78rem;letter-spacing:2.2px;text-transform:uppercase;
  margin:0 0 14px;font-family:var(--sans);font-weight:700;
}
.piede p{margin:0 0 9px;line-height:1.65;}
.piede a{color:var(--testo-chiaro-2);}
.piede a:hover{color:var(--carta);}
.piede ul{list-style:none;margin:0;padding:0;}
.piede li{margin-bottom:8px;}
/* recapito del Promotore: etichetta piccola, nome staccato e in evidenza */
.piede .ruolo{
  font-size:.72rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--testo-piede);margin:0 0 10px;
}
.piede .nome{
  font-family:var(--serif);font-size:1.08rem;line-height:1.3;
  color:var(--testo-chiaro);margin:0 0 22px;
}
/* riga finale: centrata e in corpo maggiore, per renderla ben visibile */
.piede-coda{
  padding-top:26px;display:flex;flex-direction:column;align-items:center;
  gap:10px;text-align:center;font-size:1rem;line-height:1.6;
  color:var(--testo-chiaro-2);
}
.piede-coda a{color:var(--testo-chiaro);font-weight:600;}
.piede-coda a:hover{color:var(--carta);}
.piede-marchio img{height:44px;margin-bottom:14px;}

/* ---------------------------------------------------------
   STAMPA
   --------------------------------------------------------- */
@media print{
  .testata,.piede,.bottone-menu,.modulo{display:none!important;}
  .documento{box-shadow:none;border:0;margin:0;padding:0;max-width:100%;}
  body{background:#fff;font-size:11pt;}
  .documento p,.documento li{text-align:left;}
}

/* ---------------------------------------------------------
   PAGINA AUTORE
   --------------------------------------------------------- */
.scheda-autore{
  margin:0;background:var(--carta);
  border:1px solid var(--bordo-chiaro);border-radius:8px;
  box-shadow:var(--ombra);overflow:hidden;
  display:grid;grid-template-columns:320px 1fr;align-items:center;
}
/* la foto e' verticale: senza un limite la scheda diventa altissima
   e il nome resta sospeso in mezzo al vuoto */
.scheda-autore img{width:100%;height:440px;object-fit:cover;object-position:center top;}
.scheda-autore figcaption{padding:36px 40px;}
.scheda-autore .nome{
  font-family:var(--serif);font-size:1.72rem;line-height:1.2;
  color:var(--testo-scuro);margin:0 0 6px;
}
.scheda-autore .classe{
  font-size:.95rem;letter-spacing:1.2px;text-transform:lowercase;
  color:var(--testo-medio);margin:0;
}
@media(max-width:640px){
  .scheda-autore{grid-template-columns:1fr;}
  .scheda-autore img{height:360px;}
  .scheda-autore figcaption{padding:26px 28px;text-align:center;}
}
