/* Mobile-first overrides shared by all public pages. Desktop styling remains unchanged. */
@media (max-width:760px){
  html{-webkit-text-size-adjust:100%}
  body{padding-bottom:62px}
  img,svg,video,audio,iframe{max-width:100%}

  .site-header{min-height:118px!important;padding-top:12px!important}
  .menu-button{position:fixed!important;top:14px!important;left:14px!important;width:44px!important;height:44px!important;z-index:90!important}
  .brand{width:94px!important;height:94px!important}
  .brand-glow{width:100px!important;height:100px!important}
  .brand img{width:90px!important;height:90px!important}
  .site-menu{top:68px!important;left:14px!important;width:min(310px,calc(100vw - 28px))!important;max-height:calc(100dvh - 84px);overflow:auto;padding:9px!important;border-radius:17px!important;z-index:89!important}
  .site-menu a{min-height:46px;padding:12px 13px!important;font-size:14px!important}
  .menu-radio{padding-bottom:2px}

  .page-arrow{top:auto!important;bottom:12px!important;width:44px!important;height:44px!important;border-radius:50%!important;transform:none!important;background:rgba(3,17,40,.84)!important;opacity:.96!important;z-index:75!important}
  .page-arrow--prev{left:12px!important;border:1px solid rgba(255,255,255,.14)!important}
  .page-arrow--next{right:12px!important;border:1px solid rgba(255,255,255,.14)!important}
  .page-arrow:hover{transform:none!important}

  /* Accueil */
  .page-shell{width:calc(100% - 24px)!important;margin:10px auto 0!important;padding-bottom:36px!important}
  .now-card{grid-template-columns:1fr!important;gap:17px!important;min-height:0!important;padding:21px 18px!important;border-radius:21px!important;text-align:center}
  .cover--large{width:112px!important;height:112px!important;margin:0 auto!important;border-radius:16px!important}
  .now-card__badges,.listeners,.track-vote{justify-content:center!important}
  .track-title{margin-top:8px!important;font-size:clamp(26px,8vw,32px)!important;max-width:none!important}
  .track-artist{font-size:16px!important;max-width:none!important}
  .listeners{margin:10px 0 15px!important}
  .track-vote{margin-bottom:15px!important}
  .visualizer,.now-card__decor{display:none!important}
  .player-actions{width:100%!important;gap:9px!important}
  .player-actions .button{width:100%!important;min-height:48px!important;flex:1 1 100%!important;font-size:13px!important}
  .history{margin-top:18px!important}
  .history-grid{grid-template-columns:1fr!important;gap:8px!important}
  .history-card{min-width:0!important}
  .section-heading,.local-highlight__head{min-width:0}
  .section-label,.local-highlight__label{font-size:9px!important;letter-spacing:.11em!important}
  .local-highlight{margin-top:18px!important}
  .local-highlight__card{grid-template-columns:76px minmax(0,1fr)!important}
  .local-highlight__image{min-height:76px!important}
  .local-highlight__content{padding:10px!important;min-width:0}
  .local-highlight__content h2{font-size:14px!important}
  .local-highlight__content p{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .local-highlight__link{padding:7px 9px!important}

  /* Actualités */
  .news-shell{width:calc(100% - 24px)!important;margin:10px auto 0!important;padding-bottom:36px!important}
  .news-hero{padding:21px 19px!important;border-radius:21px!important}
  .news-hero h1{font-size:clamp(31px,10vw,39px)!important;line-height:1.02!important}
  .news-hero p{font-size:13px!important;line-height:1.6!important}
  .news-latest{grid-template-columns:1fr!important;margin-top:16px!important;border-radius:20px!important}
  .news-latest__image{height:auto!important;min-height:0!important;aspect-ratio:16/10!important}
  .news-latest__body{padding:18px!important}
  .news-latest h2{font-size:26px!important}
  .news-read{min-height:42px;padding:10px 14px!important}
  .news-grid{grid-template-columns:1fr!important;gap:12px!important}
  .news-card{border-radius:18px!important}
  .news-card__image{aspect-ratio:16/9!important}
  .news-card__body{padding:16px!important}
  .article-card{margin-top:10px!important;border-radius:20px!important}
  .article-card__image{max-height:none!important;aspect-ratio:16/10}
  .article-card__image img{max-height:none!important;object-fit:cover}
  .article-card__content{padding:21px 18px!important}
  .article-card h1{font-size:clamp(29px,9vw,38px)!important}
  .article-card__lead{font-size:15px!important}
  .article-card__text{font-size:15px!important;line-height:1.75!important;overflow-wrap:anywhere}

  /* Podcasts */
  .podcasts-shell{width:calc(100% - 24px)!important;margin:10px auto 0!important;padding-bottom:36px!important}
  .podcasts-hero{padding:22px 19px!important;border-radius:21px!important}
  .podcasts-hero h1{font-size:clamp(34px,11vw,42px)!important}
  .podcasts-hero>p:last-child{font-size:13px!important;line-height:1.6!important}
  .podcast-featured{grid-template-columns:1fr!important;margin-top:16px!important;border-radius:20px!important}
  .podcast-featured__visual{min-height:0!important;max-height:none!important;aspect-ratio:1/1}
  .podcast-featured__body{padding:22px 18px!important}
  .podcast-featured__body h2{font-size:clamp(27px,8.5vw,36px)!important;line-height:1.08}
  .podcast-description{margin:14px 0 17px!important}
  .podcast-player{display:block;width:100%!important;min-width:0!important}
  .podcasts-list-section{margin-top:28px!important}
  .podcasts-section-head h2{font-size:22px!important}
  .podcasts-grid{grid-template-columns:1fr!important;gap:12px!important}
  .podcast-card,.podcast-card:only-child{width:100%!important;grid-template-columns:1fr!important;min-height:0!important;border-radius:18px!important}
  .podcast-card__image{aspect-ratio:16/9}
  .podcast-card__body{padding:16px!important}
  .podcast-card__body>p{display:block!important}
  .podcast-player--card{margin-top:14px!important}

  /* Partenaires */
  .partners-shell{width:calc(100% - 24px)!important;margin:10px auto 0!important;padding-bottom:36px!important}
  .partners-hero{grid-template-columns:1fr!important;gap:20px!important;padding:22px 19px!important;border-radius:21px!important}
  .partners-hero h1{font-size:clamp(30px,9vw,39px)!important;line-height:1.05}
  .partners-hero__content>p:last-child{font-size:13px!important;line-height:1.6!important}
  .partners-hero__stats{width:100%!important;gap:8px!important}
  .partners-hero__stats div{min-width:0!important;flex:1;padding:12px 10px!important}
  .partners-section{margin-top:29px!important}
  .partners-section__head{margin-bottom:13px!important}
  .partners-grid,.partners-grid--single{grid-template-columns:1fr!important;gap:12px!important}
  .partner-card{border-radius:18px!important}
  .partner-logo{height:118px!important;margin:10px 10px 0!important}
  .partner-card__body{padding:15px 16px 16px!important}
  .partner-description{font-size:12px!important}
  .partner-link{min-height:42px;align-items:center}
  .partners-cta{grid-template-columns:1fr!important;gap:17px!important;margin-top:30px!important;padding:21px 18px!important;border-radius:20px!important}
  .partners-cta h2{font-size:22px!important}
  .partners-cta>a{width:100%!important;min-height:46px!important;justify-content:center!important}

  /* Contact */
  .contact-shell{width:calc(100% - 24px)!important;margin:10px auto 0!important;padding-bottom:36px!important}
  .contact-hero{padding:21px 19px!important;border-radius:21px!important}
  .contact-hero h1{font-size:clamp(31px,10vw,39px)!important}
  .contact-hero p{font-size:13px!important;line-height:1.6!important}
  .contact-layout{grid-template-columns:1fr!important;gap:13px!important;margin-top:14px!important}
  .contact-panel{border-radius:20px!important}
  .contact-info,.contact-form-wrap{padding:19px!important}
  .contact-info h2,.contact-panel__head h2{font-size:23px!important}
  .contact-form__row{grid-template-columns:1fr!important;gap:13px!important}
  .contact-field input,.contact-field select,.contact-field textarea{font-size:16px!important}
  .contact-field input,.contact-field select{height:48px!important}
  .contact-field textarea{min-height:145px!important}
  .contact-submit{width:100%!important;min-height:48px!important}
  .contact-submit-row{display:grid!important;gap:11px!important}
  .contact-response-time{text-align:center}

  .request-modal__head{padding:14px!important}
  .request-modal__head h2{font-size:18px!important}
  .request-modal__head p{font-size:11px!important}
}

@media (max-width:420px){
  body{padding-bottom:58px}
  .page-shell,.news-shell,.podcasts-shell,.partners-shell,.contact-shell{width:calc(100% - 18px)!important}
  .site-menu{left:9px!important;width:calc(100vw - 18px)!important}
  .menu-button{left:10px!important}
  .now-card{padding:19px 14px!important}
  .cover--large{width:104px!important;height:104px!important}
  .track-title{font-size:27px!important}
  .vote-button{min-width:60px!important}
  .local-highlight__card{grid-template-columns:68px minmax(0,1fr)!important}
  .local-highlight__link{grid-column:1/-1!important;grid-row:auto!important;justify-self:start;margin-top:7px!important}
  .news-hero,.podcasts-hero,.partners-hero,.contact-hero{padding:19px 16px!important}
  .podcast-featured__body,.article-card__content,.contact-info,.contact-form-wrap{padding:18px 16px!important}
  .partners-hero__stats strong{font-size:21px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
