/* CINÉORA — restauration stable de l'affichage des fiches et des affiches */
/* Les affiches restent des visuels dans les cartes ; leurs titres sont du HTML séparé. */
.poster {min-width:0;isolation:isolate;}
.poster img {display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center;background:#16161c;filter:none;image-rendering:auto;border-radius:8px;border:1px solid rgba(255,255,255,.12);transform:none;box-shadow:0 5px 15px #0003;}
.poster:hover img,.poster:focus-visible img {transform:translateY(-2px);filter:brightness(.96);}
.posterTitle {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;min-height:2.6em;line-height:1.3;margin:10px 0 3px;color:#f4f4f7;}
.posterSub{margin-top:0;}
.poster .tag{z-index:2;top:9px;left:9px;}
.poster .heart{z-index:2;}
@media(max-width:600px){.posterTitle{font-size:12px;min-height:2.6em}.poster .heart{opacity:1;}}
/* La fiche ne doit jamais utiliser une affiche comme fond plein écran. */
#modal.modalveil {position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:22px;z-index:80;background:rgba(0,0,0,.88);}
#modal.modalveil.hidden {display:none!important;}
#modal>.modal {box-sizing:border-box;position:relative;display:grid!important;grid-template-columns: minmax(0,230px) minmax(0,1fr)!important;grid-auto-rows:auto!important;align-items:stretch;gap:0;width:min(820px,100%);min-width:0;height:auto;max-height:min(90vh,780px);margin:auto;overflow-y:auto;overflow-x:hidden;background:#17181f;border:1px solid #4a4a55;border-radius:14px;box-shadow:0 30px 100px rgba(0,0,0,.7);}
#modal>.modal>.modalImg {box-sizing:border-box;display:block!important;grid-column:1!important;grid-row:1!important;position:relative!important;top:auto!important;left:auto!important;z-index:0!important;width:100%!important;height:100%!important;max-width:100%;min-height:0!important;max-height:none!important;aspect-ratio:auto;object-fit:cover!important;object-position:center 35%;border:0;border-radius:0!important;filter:none!important;transform:none!important;background:#101116;}
#modal>.modal>.modalText {box-sizing:border-box;grid-column:2!important;grid-row:1!important;position:relative!important;min-width:0;z-index:1;display:block!important;background:#17181f;padding:42px 36px 30px;overflow-wrap:break-word;color:#fff;}
#modal .modalText h2{font:800 clamp(23px,3vw,32px)/1.17 Manrope,Arial,sans-serif;letter-spacing:-.8px;color:#fff;margin:14px 30px 14px 0;overflow-wrap:anywhere;}
#modal .modalText .meta {display:flex;gap:10px;flex-wrap:wrap;align-items:center;line-height:1.5;}
#modal .modalText p{font-size:13px;line-height:1.7;}
#modal .modalText .actions{display:flex!important;flex-wrap:wrap!important;gap:9px;margin-top:22px;}
#modal .modalText .actions .btn{max-width:100%;min-height:38px;white-space:normal;padding:11px 13px;font-size:12px;line-height:1.35;}
#modal>.modal>.close{position:sticky!important;grid-column:2;grid-row:1;justify-self:end;align-self:start;margin:12px 12px -49px 0;right:auto;top:auto;z-index:20;display:grid;place-items:center;width:34px;height:34px;color:white;background:#0b0c10e8;border:1px solid #ffffff33;border-radius:50%;cursor:pointer;}
@media(max-width:700px){
 #modal.modalveil{padding:12px;align-items:center;}
 #modal>.modal{width:min(500px,100%);max-height:92dvh;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:160px auto!important;}
 #modal>.modal>.modalImg{grid-column:1!important;grid-row:1!important;width:100%!important;height:160px!important;max-height:160px!important;min-height:0!important;object-fit:cover!important;object-position:center 27%;}
 #modal>.modal>.modalText{grid-column:1!important;grid-row:2!important;padding:22px 20px 25px;}
 #modal .modalText h2{font-size:23px;margin-top:8px;margin-right:0;}
 #modal .modalText p{font-size:12px;line-height:1.62;}
 #modal .modalText .actions .btn{width:100%;justify-content:center;}
 #modal>.modal>.close{grid-column:1;grid-row:1;justify-self:end;align-self:start;margin:11px 11px -46px 0;}
}
@media(max-width:360px){#modal>.modal>.modalText{padding:18px 14px 22px;}#modal>.modal>.modalImg{height:130px!important;}}
@media(prefers-reduced-motion:reduce){.poster img{transition:none;}}
