/* Phone and tablet layouts; desktop retains its editorial composition. */
@media(max-width:899px){
  #top{--padt:64px!important;padding-top:64px!important}
  #top > header{height:64px!important;gap:8px!important}
  #top > header .btn{min-height:44px}
  #top > section{scroll-margin-top:76px!important}
  #top > section > div:first-child{min-width:0}
  #top > section > div:first-child > span:last-child{overflow-wrap:anywhere}
  #top p{font-size:16px!important;line-height:1.6!important}
  #top h2{font-size:clamp(28px,7.5vw,48px)!important;overflow-wrap:break-word}
  #top h1{font-size:clamp(46px,12vw,90px)!important}
  #top [data-sec="00"]{min-height:calc(100svh - 64px)!important}
  #top [data-sec="00"] > div:nth-child(2){padding-top:24px!important}
  #top [data-sec="00"] > div:nth-child(3){padding-top:36px!important;padding-bottom:36px!important}
  #top [data-sec="00"] > svg{display:none}
  #top .btn,#top [data-prof],#top [data-menu],#top [data-locations-close]{min-height:48px;min-width:48px}
  #top button{touch-action:manipulation}
  #top input,#top textarea,#top select{font-size:16px}
  #top .nt-profile-switch{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%!important;max-width:440px!important}
  #top [data-prof]{font-size:10px!important;letter-spacing:.04em!important;padding:12px 4px!important}
  #top [data-profile-note]{min-height:5em}
  .nt-week-board{min-width:0;grid-template-columns:1fr}
  .nt-week-day{display:grid;grid-template-columns:64px minmax(0,1fr);border-right:0;border-bottom:1px solid var(--color-divider)}
  .nt-week-day:last-child{border-bottom:0}
  .nt-week-day-label{align-items:flex-start;justify-content:center;padding:22px 4px;border-bottom:0}
  .nt-week-day-body,.nt-weekend-body{min-height:0;padding:10px;gap:8px}
  .nt-week-session,.nt-weekend-session{min-height:100px;margin:0;gap:8px;padding:14px}
  .nt-day-evening-stack{margin-top:0}
  .nt-week-place,.nt-weekend-title{font-size:13px;line-height:1.4}
  .nt-week-time{font-size:17px}
  .nt-weekend-body .nt-week-empty{min-height:68px}
  .nt-week-session:not([data-recommended="true"]),.nt-weekend-session:not([data-recommended="true"]){opacity:1;background:var(--color-neutral-100);color:var(--color-text);border-left:3px solid var(--discipline-color)}
  .nt-week-session:not([data-recommended="true"]) .nt-week-time{color:var(--color-text)}
  [data-recommended="true"]::after{content:"Dans votre programme";font-size:10px;font-weight:700;line-height:1.4}
  #top [data-lane-photo]{aspect-ratio:3/2!important;position:relative!important;top:auto!important}
  #top [data-lanebody]{max-height:none!important;opacity:1!important;overflow:visible!important}
  #top [data-lane]{min-height:0!important;cursor:default!important}
  #top [data-coaches-grid]{grid-template-columns:1fr!important}
  #top [data-editor-coach-photo]{aspect-ratio:4/3!important;max-height:380px}
  #top [data-results-block]{gap:20px!important}
  #top [data-results-block] .btn{flex:1}
  #top [data-sec="07"]{grid-template-columns:1fr!important}
  #top [data-sec="07"] > div:first-child{min-height:320px!important}
  #top [data-sec="07"] a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
  .nt-footer-group a{min-height:44px;align-items:center;font-size:14px}
  .nt-footer-facts{font-size:13px}
  #nt-mobile-menu{overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}
  #nt-mobile-menu nav a{font-size:clamp(18px,5vw,28px)!important;min-height:48px}
  [data-locations-dialog]{padding:12px!important}
  [data-locations-panel]{max-height:calc(100dvh - 24px)!important;padding:16px!important;overscroll-behavior:contain}
  [data-locations-close]{flex-shrink:0}
  .nt-location-map{min-height:400px}
  .nt-map-pin{min-width:44px;min-height:44px}
  .nt-map-pin > span:last-child{display:none}
  .nt-location-current a{min-height:44px;display:flex;align-items:center;width:auto}
  [data-terrain]{touch-action:pan-y}
  .nt-terrain-control{display:block;width:100%;min-height:44px;accent-color:var(--color-brand-red)}
}
.nt-terrain-control{max-width:100%}
@media(min-width:900px){.nt-terrain-control{display:none}}
@media(max-width:399px){
  #top > header > div:nth-child(4){display:none!important}
  #top > header > button{margin-left:auto}
  .nt-week-day{grid-template-columns:48px minmax(0,1fr)}
}
@media(hover:none){
  .nt-week-session:hover,.nt-weekend-session:hover,[data-locations-open]:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  [data-heroimg]{transform:none!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}
