/* Responsive rhythm shared by every public page. */
main,section,.shell,.shell>*{min-width:0}
.community-copy .display{font-size:clamp(5rem,9vw,12rem)}
.swipe-hint{display:none}

@media(max-width:1050px){
  .section{padding-block:clamp(4.75rem,8vw,6.5rem)}
  .section-head{gap:1.5rem;margin-bottom:clamp(2.25rem,5vw,3.75rem)}
  .section-head p{margin-top:1.25rem}
  .fourteen-copy{margin-left:12%}
  .culture-copy{padding-left:18%;margin-top:-3rem}
  .contact h2{white-space:normal}
  .price-grid{grid-template-columns:1fr 1fr}
  .price-card:last-child{grid-column:1/-1}
  .portrait-grid{gap:.8rem}
}

@media(max-width:700px){
  :root{--pad:clamp(1rem,5vw,1.35rem)}
  .section{padding-block:4.25rem}
  .section-head{display:block;margin-bottom:2rem}
  .section-head h2{margin-bottom:1rem}
  .section-head p{margin-top:0}
  .eyebrow{font-size:.7rem;line-height:1.35}
  .hero-copy,.hero-lead,.detail-lead{margin-block:1.4rem 1.75rem}
  .hero-actions,.actions{gap:.6rem}
  .hero-actions .btn{flex:none;width:100%}
  .contact h2{font-size:24vw;white-space:normal;overflow-wrap:normal}
  .ranking-hero h1{font-size:20vw}
  .detail-hero h1{font-size:21vw}
  .footer-top{padding-bottom:3rem}
  footer{padding-top:4rem;padding-bottom:calc(6rem + env(safe-area-inset-bottom))}
  .faq-list summary{padding-block:1.2rem}
  .faq-list details p{padding-right:0}

  .swipe-hint{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin:-.45rem 0 1rem;color:var(--gold,var(--acid));font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
  .swipe-hint span{display:inline-grid;place-items:center;width:2rem;height:2rem;border:1px solid currentColor;border-radius:50%;font-size:1rem;animation:swipeCue 1.8s ease-in-out infinite}
  @keyframes swipeCue{0%,100%{transform:translateX(0)}50%{transform:translateX(.28rem)}}

  .section-head:has(+ :is(.tournament-grid,.price-grid,.activity-grid,.mode-grid,.quick-price-grid,.pool-tournament-grid,.weekly-grid,.event-grid))::after,
  .place-head:has(+ .place-collage)::after,
  .team-head:has(+ .portrait-grid)::after,
  .gallery-head:has(+ .gallery-grid)::after{
    content:"Faites glisser pour voir la suite  →";
    display:block;
    margin-top:1.15rem;
    color:var(--gold,var(--acid));
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.11em;
    text-align:right;
    text-transform:uppercase;
  }

  .tournament-grid,.price-grid,.activity-grid,.mode-grid,.quick-price-grid,.pool-tournament-grid,.weekly-grid,.event-grid,.place-collage,.portrait-grid,.gallery-grid{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:var(--pad);
    scrollbar-width:none;
    touch-action:pan-x;
  }
  .tournament-grid::-webkit-scrollbar,.price-grid::-webkit-scrollbar,.activity-grid::-webkit-scrollbar,.mode-grid::-webkit-scrollbar,.quick-price-grid::-webkit-scrollbar,.pool-tournament-grid::-webkit-scrollbar,.weekly-grid::-webkit-scrollbar,.event-grid::-webkit-scrollbar,.place-collage::-webkit-scrollbar,.portrait-grid::-webkit-scrollbar,.gallery-grid::-webkit-scrollbar{display:none}
  .tournament-card,.price-card,.activity,.quick-price,.pool-tournament-grid .tournament-card{flex-basis:82vw}
  .mode-card,.weekly-card,.event-card{flex-basis:84vw}
  .place-collage .media,.gallery-grid .media,.portrait{flex-basis:82vw!important}
  .tournament-card,.price-card,.activity,.quick-price{padding:1.4rem}

  .fourteen-copy{margin-left:0;padding-left:7%}
  .culture-copy{padding-left:0;margin-top:2rem}
  .team-title h2,.team-head h2,.gallery-head h2,.place-head h2{overflow-wrap:normal}
  .person h3{font-size:clamp(2.7rem,13vw,4rem)}
  .form-panel{padding-inline:1rem}
}

@media(max-width:380px){
  .section{padding-block:3.75rem}
  .hero h1,.hero-title,.pool-hero-title{letter-spacing:-.045em}
  .contact h2,.final-inner .display,.final-inner h2,.bridge-inner h2{font-size:21vw}
  .btn{gap:.8rem;padding-inline:1rem}
}

@media(prefers-reduced-motion:reduce){.swipe-hint span{animation:none}}
