/* CCJV – feuille de style commune. Couleurs et polices : modifier ici uniquement. */
@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
:root{--papier:#f1ede3;--encre:#161616;--gris:#5c5a55;--filet:#bdb8ac;--creux:#e4dfd3;--noir:#161616;--sur-noir:#f1ede3;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--papier:#141413;--encre:#ece8dd;--gris:#a09c92;--filet:#3b3a36;--creux:#1e1d1b;--noir:#ece8dd;--sur-noir:#141413;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--papier);color:var(--encre);font:19px/1.6 "Newsreader",Georgia,"Times New Roman",serif}
a{color:inherit}a:focus-visible,input:focus-visible,button:focus-visible,.rail:focus-visible{outline:3px solid var(--encre);outline-offset:3px}
.sans{font-family:"Archivo",Arial,Helvetica,sans-serif}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.evitement{position:absolute;left:-9999px}.evitement:focus{left:12px;top:12px;background:var(--noir);color:var(--sur-noir);padding:8px 14px;z-index:9}
.bandeau{border-bottom:1px solid var(--encre)}.bandeau .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px;font-size:14px;color:var(--gris)}
.mast{text-align:center;padding:34px 24px 22px}.mast a{text-decoration:none}.mast .titre{margin:0;font-weight:400;font-size:clamp(40px,8vw,92px);line-height:.95;letter-spacing:-.02em}
.mast p{margin:10px 0 0;font-style:italic;color:var(--gris);font-size:20px}.mast .titre{margin:0;font-style:normal;font-weight:400;color:var(--encre)}
nav.principale{border-top:3px double var(--encre);border-bottom:1px solid var(--encre)}
nav.principale .wrap{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
nav.principale ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 26px}
nav.principale a{text-decoration:none;font-size:16px;padding:4px 0;border-bottom:2px solid transparent}nav.principale a:hover,nav.principale a[aria-current]{border-bottom-color:var(--encre)}
.rech{display:flex;border-bottom:1px solid var(--encre)}.rech input{border:0;background:transparent;color:inherit;font:inherit;font-size:16px;padding:4px 6px;width:190px}.rech button{border:0;background:transparent;color:inherit;font:inherit;font-size:16px;cursor:pointer}
.sr{position:absolute;left:-9999px}
.une{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;padding:56px 0;border-bottom:1px solid var(--encre)}
.affiche{width:100%;height:auto;display:block;border:1px solid var(--filet);background:var(--creux)}
.date{font-size:15px;font-weight:600;margin:0 0 14px}.une h2{margin:0;font-weight:400;font-size:clamp(46px,7vw,88px);line-height:.95;letter-spacing:-.02em}
.une .orig{font-style:italic;color:var(--gris);margin:6px 0 0}.real{font-size:26px;margin:12px 0 4px}.fiche{color:var(--gris);font-size:16px;margin:0 0 24px}.synopsis{max-width:62ch;font-style:italic}
.infos{margin:28px 0;padding:14px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);font-size:15px;display:grid;grid-template-columns:auto 1fr;gap:4px 20px}.infos dt{color:var(--gris)}.infos dd{margin:0}
.btn{display:inline-block;background:var(--noir);color:var(--sur-noir);padding:12px 22px;text-decoration:none;font-size:16px}.btn:hover{opacity:.85}
.bande{padding:48px 0 12px}.tete{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:24px}
h3{margin:0;font-weight:600;font-size:30px;letter-spacing:-.01em}.tete a{font-size:15px}
.rail{list-style:none;margin:0;padding:0 24px 24px;display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:24px;scrollbar-width:thin}
@media(min-width:1230px){.rail{padding-left:calc((100vw - 1180px)/2 + 24px);scroll-padding-left:calc((100vw - 1180px)/2 + 24px)}}
.rail li{flex:0 0 auto;scroll-snap-align:start;max-width:250px}.rail a{text-decoration:none;display:block}
.rail img{height:clamp(260px,30vw,340px);width:auto;display:block;background:var(--creux);border:1px solid var(--filet)}
.rail .dt{display:block;font-size:14px;font-weight:600;margin-top:12px}.rail .tt{display:block;font-size:22px;line-height:1.15;margin-top:2px}.rail .re{display:block;font-size:14px;color:var(--gris);line-height:1.3;margin-top:2px}.rail a:hover .tt{text-decoration:underline}
section.b{padding:48px 0;border-top:1px solid var(--encre)}
.edito,.archives,.pratique{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}.edito h3{font-size:clamp(36px,5vw,56px);font-weight:400;line-height:1}
.sig{margin-top:18px;font-size:15px;color:var(--gris)}.texte{max-width:64ch}.texte p{margin:0 0 1.1em}
.saisons{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}.saisons li{break-inside:avoid;padding:9px 0;border-top:1px solid var(--filet)}.saisons a{text-decoration:none;display:block}.saisons a:hover .th{text-decoration:underline}
.an{font-size:14px;color:var(--gris);display:block}.th{font-size:20px}
.pratique table{border-collapse:collapse;width:100%;max-width:520px;font-size:17px}.pratique th,.pratique td{text-align:left;padding:9px 0;border-top:1px solid var(--filet);font-weight:400}.pratique th{color:var(--gris);font-size:14px}.pratique td:not(:first-child),.pratique th:not(:first-child){text-align:right}
footer.pied{padding:30px 0 56px;font-size:15px;color:var(--gris);border-top:1px solid var(--encre)}footer.pied .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.message{padding:56px 0;border-bottom:1px solid var(--encre);font-size:24px}
@media(max-width:820px){body{font-size:18px}.une,.edito,.archives,.pratique{grid-template-columns:1fr;gap:28px}.une{padding-top:36px}.affiche{max-width:380px}.saisons{columns:1}.rech input{width:140px}}
/* Fiche film */
.fil{font-size:15px;padding:22px 0 0}.fil a{color:var(--gris)}
.film{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;padding:28px 0 56px}
.film h1{margin:0;font-weight:400;font-size:clamp(40px,6vw,76px);line-height:.98;letter-spacing:-.02em}
.film .seance{margin:0 0 18px;font-weight:600;font-size:15px}.film .seance span{font-weight:400;color:var(--gris)}
.film .syn{max-width:62ch;font-style:italic}.film .syn p{margin:0 0 .8em}
.commentaire{padding:48px 0;border-top:1px solid var(--encre)}.commentaire .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}
.commentaire .texte p{margin:0 0 1.1em}.commentaire .auteur{font-size:15px;color:var(--gris);margin-top:1.4em}
.generique{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 22px;font-size:15px}.generique dt{color:var(--gris)}.generique dd{margin:0}
.suivre{border-top:1px solid var(--encre);padding:24px 0 56px;font-size:16px}.suivre .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.suivre small{display:block;color:var(--gris);font-size:13px}
/* Saison */
.entete-saison{padding:48px 0 28px}.entete-saison h1{margin:0;font-weight:400;font-size:clamp(40px,7vw,88px);line-height:.95;letter-spacing:-.02em}
.entete-saison p{margin:14px 0 0;color:var(--gris);max-width:64ch}.entete-saison .sans a{color:inherit}
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.filtres button{font:inherit;font-size:15px;background:transparent;color:inherit;border:1px solid var(--encre);padding:7px 16px;cursor:pointer}
.filtres button[aria-pressed="true"]{background:var(--noir);color:var(--sur-noir)}
.prog{list-style:none;margin:0 0 56px;padding:0}.prog li{border-top:1px solid var(--filet)}.prog li:last-child{border-bottom:1px solid var(--filet)}
.prog a{display:grid;grid-template-columns:90px 150px minmax(0,1fr);gap:22px;align-items:start;padding:18px 0;text-decoration:none}
.prog img{width:90px;height:auto;display:block;border:1px solid var(--filet);background:var(--creux)}
.prog .qd{font-size:15px;line-height:1.35}.prog .qd b{display:block;font-size:17px}.prog .qd span{color:var(--gris)}
.prog .qt{font-size:28px;line-height:1.1;letter-spacing:-.01em;display:block}.prog a:hover .qt{text-decoration:underline}.prog .qr{display:block;font-size:19px;margin-top:3px}.prog .qf{display:block;font-size:14px;color:var(--gris);margin-top:4px}
.prog .etiq{display:inline-block;border:1px solid var(--encre);font-size:12px;padding:1px 8px;margin-top:8px}
.prog li.passee .qt,.prog li.passee .qr{color:var(--gris)}
@media(max-width:820px){.film,.commentaire .wrap{grid-template-columns:1fr;gap:28px}.film .affiche{max-width:380px}.prog a{grid-template-columns:70px minmax(0,1fr);gap:14px}.prog img{width:70px}.prog .qd{grid-column:2;grid-row:1}.prog a>div:last-child{grid-column:1/-1}.prog a{grid-template-rows:auto auto}}
/* Éditorial, archives, infos */
.lecture{max-width:680px;margin:0 auto;padding:48px 24px 40px}.lecture h1{margin:0;font-weight:400;font-size:clamp(42px,7vw,84px);line-height:.95;letter-spacing:-.02em}
.lecture .sig{margin:18px 0 36px}.lecture .corps p{font-size:21px;line-height:1.7;margin:0 0 1.2em}.lecture .corps p:first-child{font-size:25px;line-height:1.5}
.autres{border-top:1px solid var(--encre);padding:40px 0 56px}.autres h2{margin:0 0 18px;font-weight:600;font-size:26px}
.liste-simple{list-style:none;margin:0;padding:0}.liste-simple li{border-top:1px solid var(--filet)}.liste-simple li:last-child{border-bottom:1px solid var(--filet)}
.liste-simple a{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:baseline;padding:13px 0;text-decoration:none}.liste-simple a:hover .th{text-decoration:underline}
.page-titre{padding:48px 0 12px}.page-titre h1{margin:0;font-weight:400;font-size:clamp(42px,7vw,84px);line-height:.95;letter-spacing:-.02em}.page-titre p{color:var(--gris);max-width:64ch;margin:14px 0 0}
.sa{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:36px;padding:26px 0;border-top:1px solid var(--encre)}
.sa .an{font-size:15px;color:var(--gris)}.sa h2{margin:2px 0 0;font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.05;letter-spacing:-.01em}
.sa .meta{font-size:15px;margin:6px 0 10px;color:var(--gris)}.sa .films{font-size:16px;line-height:1.5;margin:0 0 10px}.sa .films a{text-decoration:none}.sa .films a:hover{text-decoration:underline}.sa .acces{font-size:15px}.sa .acces a{margin-right:20px}
.bloc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;padding:40px 0;border-top:1px solid var(--encre)}.bloc h2{margin:0;font-weight:600;font-size:30px}
.bloc ul.liste{margin:0;padding-left:1.1em}.bloc ul.liste li{margin:0 0 .5em}.bloc table{border-collapse:collapse;width:100%;max-width:560px;font-size:17px;margin:0 0 22px}
.bloc th,.bloc td{text-align:left;padding:9px 0;border-top:1px solid var(--filet);font-weight:400}.bloc th{color:var(--gris);font-size:14px}.bloc td:not(:first-child),.bloc th:not(:first-child){text-align:right}
.bloc .lieu{margin:0 0 1.1em}.bloc .lieu b{display:block;font-weight:600}.bloc .lieu span{color:var(--gris);font-size:16px}
@media(max-width:820px){.sa,.bloc{grid-template-columns:1fr;gap:12px}.liste-simple a{grid-template-columns:1fr;gap:0}}
/* Recherche */
.formrech{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 8px}.formrech input{flex:1 1 280px;font:inherit;font-size:20px;padding:12px 14px;background:transparent;color:inherit;border:1px solid var(--encre)}
.formrech button{font:inherit;font-size:16px;background:var(--noir);color:var(--sur-noir);border:0;padding:0 24px;cursor:pointer}
.nb{font-size:15px;color:var(--gris);margin:18px 0 10px;min-height:1.5em}
/* Affiche de saison */
.couverture img{border-color:var(--encre)}.couverture .dt{text-transform:none}
.entete-saison.avec-affiche{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;align-items:end}
.aff-saison{margin:0}.aff-saison img{width:100%;height:auto;display:block;border:1px solid var(--filet)}.aff-saison figcaption{font-size:11px;line-height:1.35;color:var(--gris);margin-top:6px}
.puce{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.puce img{width:36px;height:auto;border:1px solid var(--filet)}.puce:hover span{text-decoration:underline}
.sa-aff{width:100%;max-width:130px;height:auto;display:block;margin-top:10px;border:1px solid var(--filet)}.sa-aff.droite{float:right;width:130px;margin:6px 0 16px 24px}
@media(max-width:820px){.entete-saison.avec-affiche{grid-template-columns:120px minmax(0,1fr);gap:18px}.sa-aff.droite{width:96px}}
/* Partenaires */
footer.pied .partenaires{display:block;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--filet)}.partenaires p{margin:0 0 8px;font-size:13px}
.partenaires ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}.partenaires img{height:40px;width:auto;display:block}
/* Bandeau d'identité : le regard */
.regard{background:#0c0c0c}.regard img{display:block;margin:0 auto;width:100%;max-width:960px;height:clamp(104px,19vw,215px);object-fit:cover;object-position:50% 50%;-webkit-mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent)}
.credit{font-size:12px}
/* Filtre bleu transparent sur le regard : changer la couleur ici (--filtre-regard) */
.regard{position:relative;--filtre-regard:rgba(35,95,255,.78)}
.regard::after{content:"";position:absolute;inset:0;background:var(--filtre-regard);mix-blend-mode:multiply;pointer-events:none}
/* Affiche manquante : cadre gris avec le titre */
.sans-affiche{display:flex;align-items:flex-end;aspect-ratio:2/3;background:var(--creux);border:1px solid var(--filet);padding:12px;font:600 15px/1.2 "Archivo",Arial,sans-serif;color:var(--gris);overflow:hidden;text-align:left}
.affiche.sans-affiche{width:100%}.rail .sans-affiche{height:clamp(260px,30vw,340px);width:auto}.prog .sans-affiche{width:90px;padding:6px;font-size:11px}
@media(max-width:820px){.prog .sans-affiche{width:70px}}
