/* Version téléphone / tablette (≤ 860 px). Chargé en dernier : l'affichage ordinateur n'est pas modifié. */
@media (max-width:860px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px}
  body{overscroll-behavior-y:none;padding-bottom:calc(96px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}
  img{-webkit-touch-callout:none}
  /* iOS zoome sur les champs < 16 px */
  input,select,textarea{font-size:16px!important}
  button,.btn{touch-action:manipulation}
  .btn,a.btn{min-height:44px}
  .tabbar a{min-height:48px}

  /* En-tête : fond net dès qu'on défile, zones sûres (encoche) */
  .nav{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));align-items:center}
  .nav.scrolled{background:rgba(8,10,16,.84)!important;-webkit-backdrop-filter:blur(18px) saturate(1.5)!important;backdrop-filter:blur(18px) saturate(1.5)!important;box-shadow:0 1px 0 rgba(255,255,255,.08)!important}
  .nav .logo img{height:28px;width:auto}
  .tabbar{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}

  /* Accueil : bannière plus basse, boutons sur deux lignes propres */
  .hero{height:min(74svh,620px);min-height:440px}
  .slide{padding-bottom:92px}
  .slide h1{font-size:clamp(1.9rem,9vw,2.6rem);line-height:1.05}
  .cta{gap:8px}
  .cta .btn{flex:1 1 calc(50% - 4px);justify-content:center;height:44px;padding:0 12px;font-size:.88rem;white-space:nowrap}
  .cta .btn:first-child{flex-basis:100%}
  .hero-side{left:50%;right:auto;transform:translateX(-50%);bottom:26px}
  .rows{margin-top:-8px}

  /* Rangées d'affiches : plusieurs affiches visibles à la fois, titre affiché */
  .rail{gap:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .card{flex:0 0 clamp(108px,31vw,150px);min-width:0;max-width:clamp(108px,31vw,150px)}
  .ctitle{display:block;font-size:.78rem}
  .hov{display:none!important}
  .qadd{display:grid}
  .rail.top .card{flex-basis:clamp(168px,46vw,200px);max-width:clamp(168px,46vw,200px);padding-left:clamp(46px,13vw,58px)}
  .rail.top .rank{font-size:clamp(3.6rem,15vw,4.6rem);left:0}
  .row-head h2{font-size:1.1rem}
  .more-link{opacity:1;transform:none}

  /* Fiche d'un titre : actions en grille, texte lisible */
  .thero{padding-top:calc(78px + env(safe-area-inset-top))}
  .tmain .cta .btn:nth-child(n+2){flex:1 1 calc(50% - 4px)}
  .tmain p{font-size:.98rem;line-height:1.55}

  /* Fenêtres : feuille qui monte du bas, pleine largeur */
  .modal:has(>.sheet){padding:0;place-items:end center}
  .sheet{width:100%!important;max-width:none;max-height:92svh;overflow-y:auto;border-radius:24px 24px 0 0!important;padding-bottom:calc(22px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .sheet.epmgr{padding:20px}

  /* Compte / formulaires */
  .acc-grid,.plans{grid-template-columns:1fr!important}
  .field input,.field select{height:48px}


  /* Lecteur : plein écran sur téléphone (le cadre 16:9 est trop petit en portrait) */
  .modal:has(.player){padding:0}
  .player{width:100vw;height:100svh;max-width:none;border-radius:0;border:0}
  .player .stage{aspect-ratio:auto;height:100%}
  .player .stage video{object-fit:contain}
  .player .close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
  .qbox{padding:calc(56px + env(safe-area-inset-top)) 4px 24px}

  /* Pied de page au-dessus de la barre du bas */
  .footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}

/* Petits téléphones */
@media (max-width:420px){.captcha{overflow:hidden}#capWidget{transform:scale(.9);transform-origin:left top;height:59px;margin-bottom:-4px}}

@media (max-width:380px){
  .cta .btn{font-size:.82rem;padding:0 8px}
  .card{flex-basis:104px;max-width:104px}
  .rail.top .card{flex-basis:150px;max-width:150px}
}

/* Téléphone en mode paysage : on libère la hauteur */
@media (max-width:860px) and (orientation:landscape) and (max-height:480px){
  .hero{height:auto;min-height:100svh}
  body{padding-bottom:0}
}
