/* iTV Uganda YouTube Hub v31 — page scoped, hero untouched */
#itv-youtube-v31,
#itv-youtube-v31 *{box-sizing:border-box}
#itv-youtube-v31{width:100%;min-width:0}
body[data-itv-section="youtube"] #itv-page-content{
  position:relative;
  overflow:hidden;
  padding:38px 0 64px;
  background:
    radial-gradient(circle at 8% 12%,rgba(44,168,255,.10),transparent 28%),
    radial-gradient(circle at 94% 22%,rgba(255,46,92,.08),transparent 24%),
    linear-gradient(180deg,#f7fbff 0%,#edf5fb 100%);
}
body[data-itv-section="youtube"] #itv-page-content::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background-image:linear-gradient(rgba(13,78,128,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(13,78,128,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(#000,transparent 88%);
}
.yt31-wrap{position:relative;z-index:1;width:100%;max-width:1160px;margin:0 auto}
.yt31-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 17px}
.yt31-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#e3264d;font-size:.69rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.yt31-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff315c;box-shadow:0 0 0 5px rgba(255,49,92,.12),0 0 18px rgba(255,49,92,.65)}
.yt31-intro h2{margin:7px 0 0;color:#071b43;font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:-.035em}
.yt31-count{flex:0 0 auto;padding:8px 12px;border:1px solid rgba(15,87,143,.18);border-radius:999px;background:rgba(255,255,255,.76);color:#47657e;font-size:.75rem;font-weight:850;box-shadow:0 9px 24px rgba(6,42,72,.08)}
.yt31-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(292px,340px);gap:18px;align-items:start;min-width:0}

/* Premium player */
.yt31-player{min-width:0;width:100%;max-width:750px;justify-self:end;border:1px solid rgba(72,178,244,.40);border-radius:24px;overflow:hidden;color:#f7fbff;background:linear-gradient(145deg,#03111f 0%,#08243c 60%,#071a30 100%);box-shadow:0 24px 62px rgba(2,24,45,.28),0 0 0 1px rgba(77,197,255,.10),0 0 34px rgba(35,153,230,.18)}
.yt31-head{display:flex;align-items:center;gap:6px;min-width:0;padding:8px 10px;border-bottom:1px solid rgba(118,210,255,.15);background:linear-gradient(180deg,rgba(2,11,20,.96),rgba(4,18,31,.92))}
.yt31-tab{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:1px solid transparent;border-radius:11px;color:#8caac1;background:transparent;text-decoration:none;font:850 .83rem/1.1 inherit;white-space:nowrap;transition:.2s ease}
.yt31-tab:hover{color:#fff;background:rgba(34,111,166,.18);border-color:rgba(91,192,255,.16)}
.yt31-tab.active{color:#fff;background:linear-gradient(145deg,#174d77,#0d3354);border-color:rgba(95,203,255,.34);box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.18)}
.yt31-quality{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#66d0ff;font-size:.68rem;font-weight:950;letter-spacing:.045em;white-space:nowrap}
.yt31-quality i{width:6px;height:6px;border-radius:50%;background:#38d8ff;box-shadow:0 0 12px #38d8ff;animation:yt31Blink 1.6s ease-in-out infinite}
@keyframes yt31Blink{50%{opacity:.35;transform:scale(.72)}}
.yt31-stage{position:relative;aspect-ratio:16/9;min-width:0;overflow:hidden;background:#000}
.yt31-stage::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 44%,rgba(29,125,188,.18),transparent 54%),linear-gradient(135deg,#02070d,#061727)}
.yt31-stage iframe,.yt31-stage video,.yt31-stage audio{position:absolute;inset:0;z-index:1;width:100%!important;height:100%!important;border:0;display:block}
.yt31-stage iframe{pointer-events:none}
.yt31-stage-badges{position:absolute;z-index:4;left:12px;top:12px;display:flex;gap:7px;pointer-events:none}
.yt31-badge{padding:5px 8px;border-radius:7px;color:#fff;background:rgba(4,22,38,.86);border:1px solid rgba(255,255,255,.10);font-size:.61rem;font-weight:950;letter-spacing:.045em;box-shadow:0 5px 16px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.yt31-badge.source{background:linear-gradient(135deg,#e62649,#ff315c);border-color:rgba(255,255,255,.25)}
.yt31-center-play{position:absolute;z-index:5;left:50%;top:50%;width:70px;height:70px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:linear-gradient(145deg,#ff315c,#e31f49);box-shadow:0 0 0 10px rgba(255,49,92,.10),0 14px 34px rgba(0,0,0,.34),0 0 34px rgba(255,49,92,.36);cursor:pointer;transition:.22s ease}
.yt31-center-play:hover{transform:translate(-50%,-50%) scale(1.07);box-shadow:0 0 0 13px rgba(255,49,92,.11),0 18px 38px rgba(0,0,0,.36),0 0 44px rgba(255,49,92,.48)}
.yt31-center-play svg{width:26px;height:26px;fill:currentColor;margin-left:3px}
.yt31-center-play.is-playing{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.8)}
.yt31-open-youtube{position:absolute;z-index:5;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;background:rgba(4,21,36,.78);font-size:.71rem;font-weight:850;text-decoration:none;backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.24)}
.yt31-open-youtube:hover{background:#fff;color:#0a2440}
.yt31-controls{display:grid;grid-template-columns:40px 46px 40px 40px minmax(80px,1fr) 40px 40px;align-items:center;gap:7px;padding:9px 10px;border-top:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#071b2e,#09243b)}
.yt31-control{width:40px;height:38px;display:grid;place-items:center;padding:0;border:1px solid rgba(80,167,224,.30);border-radius:11px;color:#eaf8ff;background:linear-gradient(145deg,#113a5b,#0b2943);box-shadow:inset 0 1px rgba(255,255,255,.06),0 7px 16px rgba(0,0,0,.16);cursor:pointer;transition:.18s ease}
.yt31-control:hover{transform:translateY(-1px);border-color:rgba(93,210,255,.60);background:linear-gradient(145deg,#195887,#0e3b60);box-shadow:0 0 20px rgba(52,180,244,.18)}
.yt31-control.primary{width:46px;background:linear-gradient(145deg,#168bea,#2aa9ff);border-color:rgba(154,225,255,.55);box-shadow:0 7px 20px rgba(21,130,220,.34),inset 0 1px rgba(255,255,255,.25)}
.yt31-control svg{width:17px;height:17px;fill:currentColor}
.yt31-progress{position:relative;height:8px;border-radius:999px;background:#173f5d;cursor:pointer;overflow:visible;box-shadow:inset 0 1px 3px rgba(0,0,0,.35)}
.yt31-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#39a9ff,#54ddff);box-shadow:0 0 13px rgba(63,203,255,.65)}
.yt31-progress span::after{content:"";position:absolute;left:var(--progress,0%);top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 0 3px rgba(70,196,255,.25),0 0 12px #4ccfff}
.yt31-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 13px;border-top:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#09243b,#071c31)}
.yt31-meta-copy{min-width:0}
.yt31-title{display:block;overflow:hidden;color:#fff;font-size:.91rem;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.yt31-status{display:block;margin-top:4px;overflow:hidden;color:#9dbbd0;font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.yt31-time{color:#9fdcff;font-size:.70rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.yt31-pulse-row{display:flex;align-items:center;gap:12px;padding:8px 13px;border-top:1px solid rgba(255,255,255,.07);background:#06192b}
.yt31-pulse-label{flex:0 0 auto;color:#70d9ff;font-size:.60rem;font-weight:950;letter-spacing:.10em;text-transform:uppercase}
.yt31-waves{height:20px;flex:1;display:flex;align-items:center;gap:3px;overflow:hidden}
.yt31-wave{width:3px;min-width:3px;border-radius:999px;background:linear-gradient(180deg,#71e9ff,#238fe4);box-shadow:0 0 7px rgba(75,205,255,.40);animation:yt31Wave 1.15s ease-in-out infinite alternate;transform-origin:center}
.yt31-wave:nth-child(3n){animation-duration:.78s}.yt31-wave:nth-child(4n){animation-duration:1.42s}.yt31-wave:nth-child(5n){animation-delay:-.5s}
@keyframes yt31Wave{from{height:4px;opacity:.45}to{height:18px;opacity:1}}
.yt31-ticker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);background:#041421}
.yt31-ticker-label{z-index:2;height:100%;display:flex;align-items:center;padding:9px 11px;color:#fff;background:linear-gradient(135deg,#e62548,#ff315c);font-size:.62rem;font-weight:950;letter-spacing:.06em;white-space:nowrap;box-shadow:8px 0 18px rgba(0,0,0,.24)}
.yt31-ticker-window{min-width:0;overflow:hidden;white-space:nowrap}
.yt31-ticker-track{display:inline-block;min-width:100%;padding-left:100%;color:#c8e9fa;font-size:.69rem;animation:yt31Ticker 23s linear infinite}
@keyframes yt31Ticker{to{transform:translateX(-100%)}}

/* Premium synced-video rail */
.yt31-library{min-width:0;width:100%;height:min(636px,calc(100vh - 155px));min-height:500px;display:flex;flex-direction:column;border:1px solid rgba(46,121,171,.22);border-radius:22px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,249,253,.96));box-shadow:0 20px 48px rgba(6,40,69,.17)}
.yt31-library-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid #dce9f2;background:linear-gradient(180deg,#fff,#f3f8fc)}
.yt31-library-head strong{color:#0b2d4d;font-size:.85rem}
.yt31-library-head span{color:#678399;font-size:.66rem;font-weight:800}
.yt31-list{min-height:0;display:grid;gap:9px;padding:10px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8cb9d5 transparent}
.yt31-card{position:relative;width:100%;min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid #d9e7f0;border-radius:14px;color:#173750;background:linear-gradient(145deg,#fff,#f5f9fc);box-shadow:0 6px 15px rgba(5,47,80,.07);text-align:left;cursor:pointer;transition:.22s ease}
.yt31-card:hover{transform:translateY(-1px);border-color:#8dcdec;box-shadow:0 12px 24px rgba(4,60,99,.13)}
.yt31-card.active{border-color:#29aaf2;background:linear-gradient(145deg,#f2fbff,#e8f6ff);box-shadow:0 0 0 2px rgba(34,169,240,.14),0 12px 28px rgba(14,109,169,.18)}
.yt31-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#08223a}
.yt31-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.yt31-card:hover .yt31-thumb img{transform:scale(1.045)}
.yt31-thumb::after{content:"▶";position:absolute;left:7px;bottom:6px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(235,31,68,.92);font-size:.65rem;box-shadow:0 5px 13px rgba(0,0,0,.25)}
.yt31-card-no{position:absolute;right:7px;top:6px;padding:3px 5px;border-radius:5px;color:#fff;background:rgba(3,19,34,.76);font-size:.54rem;font-weight:900;backdrop-filter:blur(5px)}
.yt31-card-copy{min-width:0}
.yt31-card-title{display:-webkit-box;overflow:hidden;color:#0b2a47;font-size:.76rem;font-weight:900;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.yt31-card-meta{display:flex;align-items:center;gap:6px;margin-top:6px;color:#748da1;font-size:.60rem;font-weight:800}
.yt31-live{padding:3px 6px;border-radius:999px;color:#fff;background:#ed284d;font-size:.52rem;font-weight:950;letter-spacing:.05em;box-shadow:0 0 12px rgba(237,40,77,.25)}
.yt31-empty{padding:28px 18px;color:#617d92;text-align:center}
.yt31-loading{padding:28px 18px;color:#58768c;text-align:center}
.yt31-loading i{display:inline-block;width:28px;height:28px;margin-bottom:10px;border:3px solid #d7e8f2;border-top-color:#27a8ef;border-radius:50%;animation:yt31Spin .8s linear infinite}
@keyframes yt31Spin{to{transform:rotate(360deg)}}

@media(max-width:1040px){
  .yt31-layout{grid-template-columns:minmax(0,1fr) minmax(270px,310px);gap:14px}
  .yt31-tab{padding:8px 10px;font-size:.77rem}
  .yt31-library{height:min(590px,calc(100vh - 140px))}
  .yt31-card{grid-template-columns:102px minmax(0,1fr)}
}
@media(max-width:860px){
  body[data-itv-section="youtube"] #itv-page-content{padding:28px 0 48px}
  .yt31-layout{grid-template-columns:1fr;gap:17px}
  .yt31-player{max-width:none;justify-self:stretch}
  .yt31-library{height:auto;min-height:0;max-height:none}
  .yt31-list{overflow:visible}
  .yt31-library-head{position:sticky;top:0;z-index:2}
}
@media(max-width:600px){
  body[data-itv-section="youtube"] #itv-page-content{padding:22px 0 42px}
  .yt31-intro{align-items:flex-start;flex-direction:column;gap:9px;margin-bottom:13px}
  .yt31-count{padding:6px 9px;font-size:.66rem}
  .yt31-player{border-radius:18px;box-shadow:0 16px 34px rgba(2,24,45,.24),0 0 24px rgba(35,153,230,.12)}
  .yt31-head{padding:6px;gap:3px;overflow-x:auto;scrollbar-width:none}
  .yt31-head::-webkit-scrollbar{display:none}
  .yt31-tab{min-height:35px;padding:7px 9px;border-radius:9px;font-size:.70rem}
  .yt31-quality{padding-right:5px;font-size:.58rem}
  .yt31-stage-badges{left:8px;top:8px;gap:4px}
  .yt31-badge{padding:4px 6px;font-size:.52rem}
  .yt31-center-play{width:56px;height:56px;box-shadow:0 0 0 8px rgba(255,49,92,.09),0 10px 25px rgba(0,0,0,.31),0 0 28px rgba(255,49,92,.32)}
  .yt31-center-play svg{width:21px;height:21px}
  .yt31-open-youtube{right:8px;bottom:8px;min-height:31px;padding:6px 9px;font-size:.61rem}
  .yt31-controls{grid-template-columns:34px 40px 34px minmax(50px,1fr) 34px 34px;padding:7px;gap:5px}
  .yt31-control{width:34px;height:34px;border-radius:9px}
  .yt31-control.primary{width:40px}
  .yt31-controls [data-yt31-back]{display:none}
  .yt31-control svg{width:15px;height:15px}
  .yt31-progress{height:7px}
  .yt31-meta{grid-template-columns:minmax(0,1fr) auto;padding:9px 10px;gap:8px}
  .yt31-title{font-size:.78rem}
  .yt31-status{font-size:.63rem}
  .yt31-time{font-size:.61rem}
  .yt31-pulse-row{padding:6px 10px;gap:8px}
  .yt31-pulse-label{font-size:.52rem}
  .yt31-ticker-label{padding:8px 8px;font-size:.54rem}
  .yt31-ticker-track{font-size:.61rem}
  .yt31-library{border-radius:18px}
  .yt31-library-head{padding:11px 12px}
  .yt31-list{gap:8px;padding:8px}
  .yt31-card{grid-template-columns:116px minmax(0,1fr);gap:9px;padding:7px;border-radius:12px}
  .yt31-card-title{font-size:.72rem;-webkit-line-clamp:3}
}
@media(max-width:390px){
  .yt31-quality{display:none}
  .yt31-controls{grid-template-columns:32px 38px 32px minmax(42px,1fr) 32px}
  .yt31-controls [data-yt31-mute]{display:none}
  .yt31-control{width:32px;height:32px}
  .yt31-control.primary{width:38px}
  .yt31-card{grid-template-columns:104px minmax(0,1fr)}
  .yt31-card-title{font-size:.68rem}
}
@media(prefers-reduced-motion:reduce){
  #itv-youtube-v31 *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}
