/* TV PLAYER.FR 2.9.2 — correctif fiche TV mobile */
.tp27-live-layout,.tp27-live-layout>*{min-width:0}
.tp27-player,.tp28-player,.tp29-player{width:100%;max-width:none;aspect-ratio:16/9}
.tp27-player-stage,.tp27-player-stage video,.tp27-player-stage iframe{width:100%;height:100%}
.tp27-channel-carousel{touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}

/* Évite le conflit 2.9.0 qui maintenait la colonne programme à côté du player sur mobile. */
@media(max-width:1100px){
  .tp28-live-layout,.tp27-live-layout.has-schedule{grid-template-columns:1fr!important}
  .tp28-player{order:1;max-width:none!important}
  .tp28-onair-card{order:2;width:100%;max-width:none}
}

@media(max-width:820px){
  .tp27-live-section{padding-top:24px}
  .tp27-live-heading{margin-bottom:12px}
  .tp27-live-heading h2{font-size:26px}
  .tp27-player,.tp28-player,.tp29-player{aspect-ratio:16/9!important;border-radius:16px}
  .tp28-onair-card{margin-top:2px;padding:16px;border-radius:16px}
  .tp28-onair-head{align-items:center;padding-bottom:11px}
  .tp28-onair-head h2{font-size:18px}
  .tp28-now-card{padding:13px 0}
  .tp28-next-title{margin-top:3px}
  .tp28-next-list>div{min-height:42px}
  .tp29-player-caption{bottom:48px}
  .tp29-player-caption strong{font-size:12px}
  .tp29-player-start{width:58px;height:58px}

  /* Hero de chaîne plus compact sur téléphone/tablette. */
  .tp27-channel-hero-content{padding:28px 14px 30px;grid-template-columns:84px minmax(0,1fr);gap:14px}
  .tp27-channel-logo{width:82px;height:82px;padding:8px;border-radius:20px}
  .tp27-channel-logo img{border-radius:14px}
  .tp27-channel-copy{padding-top:0}
  .tp27-channel-copy h1{font-size:30px;margin-bottom:5px}
  .tp27-channel-place{margin-bottom:8px;font-size:11px}
  .tp27-channel-tags span{padding:5px 8px;font-size:8px}
  .tp27-channel-description{grid-column:1/-1;margin-top:10px;font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .tp27-detail-actions{grid-column:1/-1;margin-top:12px;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .tp27-detail-actions>*{width:100%;min-width:0}
  .tp27-detail-actions .tp27-button{width:100%!important;justify-content:center;height:40px;min-height:40px;padding:0 10px;font-size:10px}
  .tp27-detail-actions>a:first-child{grid-column:1/-1}

  .tp27-description-section{padding-top:20px}
  .tp27-description-card{padding:20px;border-radius:17px}
  .tp27-description-card h2{font-size:22px}
  .tp27-description-card>p:last-child{font-size:12px;line-height:1.65}
  .tp27-related{padding-top:26px}
  .tp27-related .tp27-channel-carousel{grid-auto-columns:78%}
}

@media(max-width:560px){
  .tp27-live-section,.tp27-description-section{padding-left:12px;padding-right:12px}
  .tp27-live-heading h2{font-size:24px}
  .tp27-player,.tp28-player,.tp29-player{border-radius:14px}
  .tp29-player-controls{padding-left:8px;padding-right:8px}
  .tp29-player-start{width:54px;height:54px}
  .tp29-player-start svg{width:23px;height:23px}
  .tp28-onair-card{padding:14px}
  .tp28-live-dot{padding:5px 7px}
  .tp27-channel-hero-content{grid-template-columns:76px minmax(0,1fr);padding:24px 12px 26px;gap:12px}
  .tp27-channel-logo{width:74px;height:74px;border-radius:18px}
  .tp27-channel-copy h1{font-size:27px}
  .tp27-channel-slogan{font-size:12px}
  .tp27-channel-description{font-size:10.5px;-webkit-line-clamp:2}
  .tp27-detail-actions{grid-template-columns:1fr 1fr!important}
  .tp27-detail-actions>a:first-child{grid-column:1/-1}
  .tp27-related .tp27-channel-carousel{grid-auto-columns:82%}
  .tp27-section-heading h2{font-size:28px}
}

@media(max-width:380px){
  .tp27-detail-actions{grid-template-columns:1fr!important}
  .tp27-detail-actions>a:first-child{grid-column:auto}
  .tp27-related .tp27-channel-carousel{grid-auto-columns:88%}
}
