/* Livre d'or — carrousel « coverflow » des témoignages (inspiré du module Cosma, charte Altaïr).
   Ordinateur (> 1250 px) : carte centrale + voisines inclinées. En dessous : une carte, balayage,
   navigation sous la carte — le site passe déjà en mise en page téléphone jusqu'à 1250 px. */

.lo-section{padding-bottom:40px;overflow-x:clip}
.lo-head{text-align:center;max-width:760px;margin:0 auto 28px}
.lo-head h2{margin:0 0 10px}
.lo-head p{margin:0;color:var(--mist)}
.lo-form-section{padding-top:40px}
.lo-form-wrap{max-width:760px}

.tc{position:relative;width:100%;max-width:1180px;margin:0 auto;padding:22px 86px 34px}
.tc *,.tc *::before,.tc *::after{box-sizing:border-box}
.tc:focus-visible{outline:2px solid var(--acid);outline-offset:6px;border-radius:24px}
.tc-empty{text-align:center;color:var(--mist)}

.tc-stage{position:relative;width:100%;min-height:460px;user-select:none;touch-action:pan-y pinch-zoom}
.tc-item{position:absolute;top:0;left:50%;width:clamp(360px,38vw,540px);transform:translateX(-50%);
  transition:transform .52s cubic-bezier(.22,.61,.36,1),opacity .34s ease,filter .34s ease;will-change:transform,opacity}

.tc-card{width:100%;display:flex;flex-direction:column;gap:14px;padding:28px 28px 32px;border-radius:22px;
  background:radial-gradient(circle at 50% 0%,#22547f 0%,#1b3449 48%,#152737 100%);
  border:1.5px solid rgba(254,160,0,.62);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 22px 50px rgba(0,0,0,.42)}

.tc-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.tc-avatar{width:96px;height:96px;border-radius:999px;overflow:hidden;flex-shrink:0;margin-bottom:6px;background:var(--ink);
  border:3px solid rgba(254,160,0,.85);box-shadow:0 0 0 4px rgba(119,164,203,.18),0 10px 24px rgba(0,0,0,.35)}
.tc-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.tc-logo img{transform:scale(1.18)}
.tc-name{font-family:var(--sans);font-weight:700;color:#fff;font-size:1.08rem;line-height:1.2;letter-spacing:.01em}
.tc-city{font-family:var(--sans);color:var(--mist);font-size:.9rem;font-style:italic;line-height:1.3}
.tc-film{font-family:var(--sans);font-weight:700;color:var(--acid);font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;line-height:1.35;max-width:92%}
.tc-film a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(254,160,0,.45)}
.tc-film a:hover{border-bottom-color:var(--acid)}
.tc-divider{width:52px;height:1.5px;margin:2px auto;border-radius:4px;flex-shrink:0;background:linear-gradient(90deg,transparent,var(--acid),transparent)}

.tc-quote{position:relative;margin:0;padding:10px 14px 12px 20px;font-family:var(--serif);font-style:italic;color:#fff;
  font-size:1.12rem;line-height:1.62;letter-spacing:.005em;white-space:pre-line}
.tc-quote::before{content:'\201C';position:absolute;left:-8px;top:-14px;font-family:var(--serif);font-size:3.2em;line-height:1;color:var(--sky);opacity:.9;font-style:normal}
.tc-quote::after{content:'\201D';position:absolute;right:-4px;bottom:-34px;font-family:var(--serif);font-size:3.2em;line-height:1;color:var(--acid);font-style:normal}

.tc-arrow{position:absolute;top:50%;z-index:900;width:52px;height:52px;margin-top:-26px;border-radius:999px;display:grid;place-items:center;padding:0;cursor:pointer;
  background:var(--ink);border:2px solid var(--acid);box-shadow:0 10px 26px rgba(0,0,0,.4);
  transition:transform .16s ease,background .16s ease;-webkit-tap-highlight-color:transparent}
.tc-arrow:hover{transform:scale(1.06);background:var(--blue)}
.tc-prev{left:12px}.tc-next{right:12px}
.tc-arrow svg,.tc-mbtn svg{width:22px;height:22px;fill:#fff}

.tc-mnav,.tc-more{display:none}

@media(max-width:1250px){
  .tc{padding:6px 0 4px;overflow:hidden}
  .tc-stage{min-height:0;transition:height .38s cubic-bezier(.22,.61,.36,1)}
  .tc-item{top:6px;width:min(calc(100vw - 32px),760px);transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .32s ease}
  .tc-card{padding:24px 20px 26px;border-radius:20px}
  .tc-avatar{width:80px;height:80px}
  .tc-name{font-size:1rem}
  .tc-city{font-size:.86rem}
  .tc-film{font-size:.74rem;max-width:100%}
  .tc-quote{font-size:1rem;line-height:1.58}

  .tc-item.tc-long .tc-quote{max-height:var(--tc-clamp,330px);overflow:hidden;
    -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,#000 70%,transparent 100%)}
  .tc-item.tc-long .tc-quote::after{display:none}
  .tc-item.tc-long.tc-open .tc-quote{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .tc-item.tc-long.tc-open .tc-quote::after{display:block}
  .tc-item.tc-long .tc-more{display:inline-flex;align-self:center;align-items:center;margin:4px 0 0;padding:10px 20px;border-radius:999px;cursor:pointer;
    border:1.5px solid var(--acid);background:transparent;color:#fff;font-family:var(--sans);font-size:.84rem;font-weight:600;line-height:1;-webkit-tap-highlight-color:transparent}

  .tc-arrow{display:none}
  .tc-mnav{display:flex;align-items:center;justify-content:center;gap:22px;padding:16px 16px 6px}
  .tc-mbtn{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;padding:0;margin:0;cursor:pointer;
    background:var(--ink);border:2px solid var(--acid);box-shadow:0 8px 20px rgba(0,0,0,.35);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}
  .tc-mbtn:active{transform:scale(.93)}
  .tc-count{min-width:70px;text-align:center;font-family:var(--sans);font-size:.9rem;font-weight:600;letter-spacing:.06em;color:#fff}
}

@media(prefers-reduced-motion:reduce){.tc-item{transition:none!important}}
