/* Retours visuels communs à tout le site : survol, clic, focus clavier. */
.button,.open-book{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.button:hover:not(:disabled),.open-book:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(200,16,46,.28)}
.button:active:not(:disabled),.open-book:active{transform:translateY(0) scale(.98);box-shadow:0 3px 8px rgba(200,16,46,.25)}
.button span,.open-book span{display:inline-block;transition:transform .2s}
.button:hover span,.open-book:hover span{transform:translate(3px,-3px)}

/* liens texte : soulignement qui se dessine, passage au rouge */
.text-link,nav a,footer a,.book-details,.entry-raccourcis a,.scene-raccourcis a,.lien-conf,.availability a,.dossier-bottom a{
  transition:color .2s;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;
  background-position:0 100%;background-size:0 1px}
.text-link:hover,nav a:hover,footer a:hover,.book-details:hover,.entry-raccourcis a:hover,.scene-raccourcis a:hover,.lien-conf:hover,.dossier-bottom a:hover{
  color:var(--red);background-size:100% 1px;transition:color .2s,background-size .3s}
nav a[aria-current=page]{color:var(--red)}
.explore-place{transition:color .2s}
.explore-place span{display:inline-block;transition:transform .2s}
.explore-place:hover span{transform:translate(3px,-3px)}

/* vérificateur d'indices */
.ind-tabs button:not(:disabled),.ind-affaires button{transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.ind-tabs button:not(:disabled):hover,.ind-affaires button:not([aria-pressed=true]):hover{border-color:var(--ink);background:rgba(22,19,15,.06);transform:translateY(-2px)}
.ind-affaires button:active{transform:scale(.98)}
.ind-case input{transition:border-color .15s,transform .15s,box-shadow .15s}
.ind-case input:focus{border-color:var(--red);transform:scale(1.06);box-shadow:0 4px 12px rgba(200,16,46,.2);outline:none}
.ind-resultat:not([hidden]){animation:ind-apparait .35s ease-out}
@keyframes ind-apparait{from{opacity:0;transform:translateY(8px)}}

/* formulaires */
.cp-form input[type=email],.cp-mot input{transition:border-color .2s,box-shadow .2s}
.cp-form input[type=email]:focus,.cp-mot input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.18);outline:none}
.cp-consent{cursor:pointer}

/* couvertures cliquables */
.collection-grid .cover{transition:transform .3s,box-shadow .3s}

@media (prefers-reduced-motion:reduce){
  .button,.open-book,.button span,.ind-case input,.ind-tabs button,.ind-affaires button{transition:none}
  .button:hover:not(:disabled),.open-book:hover,.ind-case input:focus{transform:none}
  .ind-resultat:not([hidden]){animation:none}
}
