/* Desktop : cartes construites autour du ratio standard 2:3 des affiches. */
@media (min-width: 1000px) {
  html, body { min-height: 100%; }
  body { overflow-x: hidden; }
  header { height: 60px; padding-left: clamp(32px, 5vw, 90px); padding-right: clamp(32px, 5vw, 90px); }
  .brand { transform: scale(.88); transform-origin: left center; }
  .main-nav { gap: 32px; }
  .main-nav a { font-size: 14px; }
  .category-bar { min-height: 54px; padding: 8px clamp(32px, 5vw, 90px) !important; gap: 7px !important; }
  .category-bar button { padding: 7px 12px !important; font-size: 13px; }
  .duel { max-width: 1740px; padding: 24px clamp(32px, 5vw, 90px) 18px; }
  .intro { min-height: 76px; margin-bottom: 18px; align-items: end; }
  .intro .label { margin: 0 0 7px; }
  .intro h1 { font-size: clamp(38px, 3.45vw, 58px); line-height: .98; margin: 0; }
  .intro > p { margin: 0 0 4px; font-size: 14px; line-height: 1.4; }
  .cards { gap: 22px; align-items: stretch; }

  .card {
    height: clamp(360px, calc(100vh - 294px), 560px);
    min-height: 0;
    grid-template-columns: auto minmax(0, 1fr);
  }

  /* La hauteur détermine automatiquement la largeur grâce au ratio 2:3. */
  .poster {
    position: relative;
    height: 100%;
    width: auto;
    min-height: 0;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    background: #080f1b;
  }

  .poster img {
    position: absolute !important;
    inset: 0 !important;
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .poster b { z-index: 2; }
  .copy { height: 100%; min-width: 0; min-height: 0; padding: clamp(20px, 2vw, 30px); overflow: hidden; }
  .copy > small { font-size: 11px; }
  .copy h2 { font-size: clamp(24px, 2vw, 37px); line-height: 1.04; margin: 10px 0 12px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .copy p { margin: 0 0 14px; font-size: clamp(13px, 1vw, 16px); line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
  .actions { margin-top: auto; }
  .actions button { height: 42px; }
  .thanks { margin-top: 6px; min-height: 15px; }
  .vs { padding: 15px; }
  #next { min-height: 0; }
  footer {
    display: block;
    min-height: 30px;
    padding: 7px 24px;
    border-top: 1px solid #ffffff18;
    color: #8996a9;
    font-size: 11px;
    line-height: 1.35;
    text-align: center;
  }
  footer a { color: #f1c75b; text-decoration: none; }
}

@media (min-width: 1000px) and (max-height: 760px) {
  header { height: 52px; }
  .category-bar { min-height: 48px; padding-top: 6px !important; padding-bottom: 6px !important; }
  .duel { padding-top: 15px; }
  .intro { min-height: 58px; margin-bottom: 12px; }
  .intro h1 { font-size: clamp(34px, 3vw, 46px); }
  .card { height: calc(100vh - 230px); min-height: 320px; }
  .copy h2 { -webkit-line-clamp: 2; }
  .copy p { -webkit-line-clamp: 4; }
}
