:root{--bg:#080a0f;--panel:#10131a;--panel2:#151922;--line:#232936;--text:#f5f7fb;--muted:#929baa;--accent:#ff5a1f;--accent2:#ff7a35;--green:#36d17b;--shadow:0 24px 70px rgba(0,0,0,.42);--radius:22px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%}body{overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.site-shell{min-height:100dvh;background:radial-gradient(circle at 10% -10%,rgba(255,90,31,.16),transparent 30%),var(--bg)}
.site-header{height:82px;padding:var(--safe-top) max(24px,var(--safe-right)) 0 max(24px,var(--safe-left));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:20;background:rgba(8,10,15,.88);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.brand img{width:46px;height:46px;object-fit:contain}.brand span{font-size:19px;letter-spacing:.8px}.brand em{font-style:normal;color:var(--accent)}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn,.contact-btn{height:44px;border:1px solid var(--line);background:var(--panel);border-radius:14px;cursor:pointer}.icon-btn{width:44px;display:grid;place-items:center}.contact-btn{padding:0 18px;font-weight:750;background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent}.home-screen{max-width:1480px;margin:auto;padding:38px 34px 56px}.hero-row{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);gap:34px;align-items:stretch;margin-bottom:46px}.hero-copy{padding:24px 6px 20px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:1.6px;color:#ffb095;display:flex;align-items:center;gap:9px}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px rgba(255,90,31,.12)}.hero-copy h1{font-size:clamp(36px,4.2vw,68px);line-height:1.02;letter-spacing:-2.4px;margin:18px 0 18px}.hero-copy h1 span{color:#7c8595}.hero-copy p{max-width:600px;color:var(--muted);font-size:16px;line-height:1.7;margin:0}.ad-banner{height:220px;min-height:220px;max-height:220px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:linear-gradient(135deg,#151922,#0e1117);box-shadow:0 0 24px rgba(255,90,31,.12),0 0 54px rgba(255,90,31,.08),var(--shadow);position:relative;isolation:isolate;animation:bannerGlow 3.8s ease-in-out infinite}.ad-banner .ad-content{position:absolute;inset:0;width:100%;height:100%;opacity:1;transform:scale(1);transition:opacity .55s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.ad-banner .ad-content.is-changing{opacity:0;transform:scale(1.018)}.ad-banner .ad-content>a{display:block;width:100%;height:100%}.ad-banner img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;min-width:100%;min-height:100%;max-width:none;max-height:none;object-fit:cover!important;object-position:center}.ad-placeholder{height:100%;min-height:0;padding:30px;display:flex;align-items:center;justify-content:center;gap:22px;text-align:left}.ad-placeholder>span{font-size:13px;font-weight:900;letter-spacing:1px;border:1px solid #424b5d;color:#8f9aab;border-radius:9px;padding:8px}.ad-placeholder div{display:flex;flex-direction:column;gap:5px;flex:1}.ad-placeholder strong{font-size:20px}.ad-placeholder small{color:var(--muted)}.ad-placeholder button{border:0;background:#fff;color:#111827;padding:12px 16px;border-radius:12px;font-weight:800;cursor:pointer}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-kicker{display:block;color:var(--accent);font-weight:900;letter-spacing:1.5px;font-size:11px;margin-bottom:6px}.section-heading h2{font-size:30px;margin:0;letter-spacing:-.7px}.channel-count{color:var(--muted);font-size:13px}.category-bar{display:flex;gap:9px;overflow-x:auto;padding:0 0 18px;scrollbar-width:none}.category-bar::-webkit-scrollbar,.channel-strip::-webkit-scrollbar{display:none}.category-pill{flex:0 0 auto;border:1px solid var(--line);background:#10131a;color:#aeb6c4;border-radius:999px;padding:10px 16px;font-weight:750;font-size:13px;cursor:pointer}.category-pill.active{background:var(--text);color:#0d1117;border-color:var(--text)}.channel-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.channel-card{border:1px solid var(--line);background:linear-gradient(180deg,#131721,#0e1117);border-radius:20px;padding:14px;min-width:0;cursor:pointer;text-align:left;transition:transform .2s ease,border-color .2s ease,background .2s ease}.channel-card:hover{transform:translateY(-3px);border-color:#3a4251;background:#171c26}.channel-logo{aspect-ratio:1.45/1;border-radius:15px;background:#0a0d12;display:grid;place-items:center;overflow:hidden;margin-bottom:13px;border:1px solid rgba(255,255,255,.05)}.channel-logo img{width:100%;height:100%;object-fit:contain;padding:9px}.logo-fallback{font-size:clamp(18px,2vw,32px);font-weight:950;letter-spacing:-1px;color:#fff}.channel-card strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-card small{display:flex;align-items:center;gap:7px;color:var(--muted);margin-top:6px;font-size:12px}.channel-card small i{width:6px;height:6px;background:var(--green);border-radius:50%}.empty-grid{grid-column:1/-1;padding:50px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}.site-footer{max-width:1480px;margin:auto;border-top:1px solid rgba(255,255,255,.06);padding:24px 34px calc(24px + var(--safe-bottom));display:flex;justify-content:space-between;color:#687181;font-size:12px}.site-footer button{border:0;background:none;color:#8e98a7;cursor:pointer}
.player{position:fixed;inset:0;z-index:1000;background:#080a0f;display:none;grid-template-rows:auto minmax(0,1fr) auto auto;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);overflow:hidden}.player.open{display:grid}.player-header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:#0c0f15}.player-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}.player-title-wrap>div:last-child{min-width:0}.player-title-wrap strong,.player-title-wrap small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-title-wrap strong{font-size:15px}.player-title-wrap small{font-size:11px;color:var(--muted);margin-top:3px}.live-dot{width:9px;height:9px;background:var(--green);border-radius:50%;box-shadow:0 0 0 6px rgba(54,209,123,.10)}.player-header-actions{display:flex;gap:8px}.player-icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:#151922;display:grid;place-items:center;cursor:pointer}.video-stage{position:relative;min-height:0;background:#000;display:grid;place-items:center;overflow:hidden}.video-stage video{width:100%;height:100%;object-fit:contain;background:#000}.video-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:radial-gradient(circle at center,#151922 0,#050608 65%);text-align:center;padding:25px;z-index:2}.video-state.hidden{display:none}.video-state strong{font-size:17px}.video-state small{color:#8993a2}.video-state button{margin-top:8px;padding:10px 15px;border:1px solid #333b49;background:#171c25;color:#fff;border-radius:12px;cursor:pointer;display:none}.video-state.error button{display:block}.state-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #2b303b;border-top-color:var(--accent);animation:spin .8s linear infinite;margin-bottom:5px}.video-state.error .state-spinner{animation:none;border-color:#5a2e24;border-top-color:#ff6d3b}.stream-badge{position:absolute;left:14px;top:14px;background:rgba(222,42,36,.92);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:1px;z-index:3}.fullscreen-exit{display:none;position:absolute;right:14px;top:14px;z-index:6;height:40px;padding:0 13px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(10,12,17,.82);backdrop-filter:blur(12px);align-items:center;gap:7px;font-weight:800;cursor:pointer}.player.is-fullscreen .fullscreen-exit{display:flex}.player.is-fullscreen .player-header,.player.is-fullscreen .player-controls,.player.is-fullscreen .strip-panel{display:none}.player.is-fullscreen{grid-template-rows:minmax(0,1fr)}.player-controls{min-height:68px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1016;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;gap:18px}.now-playing{min-width:0;display:flex;flex-direction:column;gap:4px}.now-playing strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing span{font-size:11px;color:var(--muted)}.control-buttons{display:flex;align-items:center;gap:8px}.control-buttons button{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:#151922;display:grid;place-items:center;cursor:pointer}.control-buttons .play-main{background:#fff;color:#111827;border-color:#fff}.strip-panel{height:134px;background:#0b0e13;padding:10px 14px 12px;overflow:hidden}.strip-heading{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 3px 7px}.strip-heading strong{font-size:12px}.strip-heading span{font-size:10px;color:var(--muted)}.channel-strip{height:88px;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;padding:1px 4px 4px}.strip-card{height:83px;width:102px;flex:0 0 102px;border:1px solid var(--line);border-radius:15px;background:#12161e;padding:7px;cursor:pointer;scroll-snap-align:center;position:relative}.strip-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,90,31,.13)}.strip-card .channel-logo{height:48px;aspect-ratio:auto;margin:0 0 5px;border-radius:10px}.strip-card .channel-logo img{padding:4px}.strip-card strong{display:block;font-size:9px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.strip-card .logo-fallback{font-size:16px}
.overlay{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.66);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}.overlay.open{display:flex}.sheet{width:min(620px,100%);max-height:min(720px,88dvh);background:#10141c;border:1px solid #2a303c;border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.sheet-head{height:76px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.sheet-head strong,.sheet-head small{display:block}.sheet-head small{color:var(--muted);font-size:11px;margin-top:4px}.sheet-close{width:38px;height:38px;border:1px solid var(--line);background:#181d26;color:#fff;border-radius:12px;font-size:24px;line-height:1;cursor:pointer}.search-box{height:48px;margin:16px 18px 10px;border:1px solid var(--line);background:#0b0e13;border-radius:14px;display:flex;align-items:center;gap:10px;padding:0 13px;color:#737e8f}.search-box input{flex:1;border:0;outline:0;background:transparent;color:#fff;min-width:0}.search-results{padding:4px 18px 18px;overflow:auto;max-height:55dvh}.search-row{width:100%;height:66px;border:0;border-bottom:1px solid #1d222d;background:transparent;color:#fff;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.search-row .channel-logo{width:54px;height:43px;aspect-ratio:auto;margin:0;border-radius:10px}.search-row .channel-logo img{padding:4px}.search-row .logo-fallback{font-size:14px}.search-row div:last-child{min-width:0}.search-row strong,.search-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-row strong{font-size:13px}.search-row small{font-size:11px;color:var(--muted);margin-top:4px}.search-empty{padding:38px;text-align:center;color:var(--muted)}.info-sheet{padding-bottom:12px}.contact-row{display:flex;align-items:center;justify-content:space-between;margin:12px 16px;padding:16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:#fff;background:#131821}.contact-row span{color:var(--muted);font-size:12px}.disclaimer-text{padding:8px 20px 18px;color:#aeb7c5;line-height:1.7;font-size:13px}.no-scroll{overflow:hidden!important}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.channel-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-row{grid-template-columns:1fr 1.2fr}}
@media(max-width:900px){.home-screen{padding:26px 20px 44px}.hero-row{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.hero-copy{padding:12px 2px}.hero-copy h1{font-size:clamp(38px,8vw,60px)}.ad-banner{height:170px;min-height:170px;max-height:170px}.ad-placeholder{min-height:0}.channel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-footer{padding-left:20px;padding-right:20px}}
@media(max-width:620px){.site-header{height:68px;padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.brand img{width:40px;height:40px}.brand span{font-size:16px}.contact-btn{display:none}.home-screen{padding:19px 13px 36px}.hero-copy{display:none}.hero-row{margin-bottom:26px}.ad-banner{height:118px;min-height:118px;max-height:118px;border-radius:18px}.ad-placeholder{min-height:0;border-radius:18px}.ad-placeholder{padding:16px;gap:10px}.ad-placeholder>span{display:none}.ad-placeholder strong{font-size:14px}.ad-placeholder small{font-size:10px}.ad-placeholder button{padding:9px 11px;font-size:11px}.section-heading{margin-bottom:14px}.section-heading h2{font-size:25px}.channel-count{font-size:11px}.category-bar{margin-right:-13px;padding-right:13px}.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.channel-card{border-radius:15px;padding:8px}.channel-logo{border-radius:11px;margin-bottom:9px}.channel-logo img{padding:5px}.channel-card strong{font-size:11px}.channel-card small{font-size:9px;margin-top:4px}.site-footer{padding-left:14px;padding-right:14px}.player-header{height:58px;padding:0 11px}.player-title-wrap strong{font-size:13px}.player-icon-btn{width:38px;height:38px}.player-controls{min-height:60px;padding:8px 10px}.now-playing{display:none}.control-buttons{width:100%;justify-content:center;gap:7px}.control-buttons button{width:40px;height:40px}.strip-panel{height:122px;padding:8px 8px 10px}.strip-heading{height:22px}.channel-strip{height:80px;gap:7px}.strip-card{height:76px;width:88px;flex-basis:88px;padding:5px}.strip-card .channel-logo{height:44px}.strip-card strong{font-size:8px}.overlay{align-items:flex-end;padding:0}.sheet{width:100%;max-height:86dvh;border-radius:22px 22px 0 0;padding-bottom:var(--safe-bottom)}}
@media(max-width:380px){.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* iPhone/short landscape: video + controls + channel strip all fit without page scrolling. */
@media(orientation:landscape) and (max-height:520px){.player-header{height:44px;padding:0 10px}.player-title-wrap small,.player-search-btn{display:none}.player-icon-btn{width:34px;height:34px;border-radius:10px}.player-controls{min-height:48px;height:48px;padding:4px 10px}.control-buttons button{width:36px;height:36px;border-radius:10px}.strip-panel{height:88px;padding:5px 8px 6px}.strip-heading{height:18px;padding-bottom:4px}.strip-heading span{display:none}.channel-strip{height:61px;gap:6px}.strip-card{height:58px;width:76px;flex-basis:76px;padding:4px;border-radius:11px}.strip-card .channel-logo{height:35px;margin-bottom:2px;border-radius:7px}.strip-card strong{font-size:7.5px}.stream-badge{top:8px;left:8px;padding:4px 7px}.fullscreen-exit{top:8px;right:8px;height:34px}.player.is-fullscreen .video-stage{height:100dvh}}

@keyframes bannerGlow{0%,100%{box-shadow:0 0 18px rgba(255,90,31,.10),0 0 38px rgba(255,90,31,.06),var(--shadow)}50%{box-shadow:0 0 34px rgba(255,90,31,.30),0 0 76px rgba(255,90,31,.18),var(--shadow)}}



/* === FINAL FIXED BANNER SIZE ===
   Every uploaded banner uses exactly the same box.
   Image dimensions/aspect ratio can never resize this area. */
.hero-row{align-items:start !important;}
.hero-row > #adBanner{
  display:block !important;
  position:relative !important;
  width:100% !important;
  height:285px !important;
  min-height:285px !important;
  max-height:285px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  flex:none !important;
  align-self:start !important;
  contain:size layout !important;
}
#adBanner .ad-content,
#adBanner .ad-content > a,
#adBanner .ad-placeholder{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}
#adBanner img,
#adBanner .ad-content img,
#adBanner .ad-content > a > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center top !important;
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:900px){
  .hero-row > #adBanner{
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
  }
}
@media(max-width:620px){
  .hero-row > #adBanner{
    height:118px !important;
    min-height:118px !important;
    max-height:118px !important;
  }
}

/* === FULL CHANNEL LOGO FIX v2 ===
   Give every channel logo its own square display area so portrait/square
   station artwork can be shown at full size. Channel name stays below. */
.channel-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.channel-card > .channel-logo{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  flex:none !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 0 10px 0 !important;
  background:#090b10 !important;
}
.channel-card > .channel-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center top !important;
  padding:0 !important;
  margin:0 !important;
}
.channel-card > strong,
.channel-card > small{
  flex:none !important;
  width:100% !important;
}

/* Player strip: keep a fixed strip height but never crop the channel artwork. */
.strip-card .channel-logo,
.search-row .channel-logo{
  overflow:hidden !important;
  padding:0 !important;
}
.strip-card .channel-logo img,
.search-row .channel-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:0 !important;
  margin:0 !important;
}

@media(max-width:620px){
  .channel-card > .channel-logo{margin-bottom:7px !important;}
}

/* === PLAYER VIDEO FILL FIX v3 ===
   Desktop + iPhone landscape: force the decoded video surface to occupy the
   complete player stage. This removes Safari's large empty black area above
   the picture while keeping the whole stream visible inside the video box. */
@media (min-width:621px), (orientation:landscape) {
  .video-stage{
    position:relative !important;
    display:block !important;
    overflow:hidden !important;
    background:#000 !important;
  }
  .video-stage > video{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    -webkit-transform:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:#000 !important;
  }
}

/* Short iPhone landscape: explicitly pin the media layer to the stage after
   Safari rotates the viewport. */
@media (orientation:landscape) and (max-height:520px){
  .video-stage > video{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center top !important;
    transform:none !important;
    -webkit-transform:none !important;
  }
}

/* === DESKTOP PLAYER CHANNEL STRIP LARGE LOGO FIX v5 ===
   Desktop only. Make the player channel bar taller so station artwork is
   shown large and fully visible without cropping. Mobile/iPhone rules stay
   unchanged. */
@media (min-width: 900px) {
  .strip-panel {
    height: 192px !important;
    padding: 10px 14px 14px !important;
  }

  .strip-heading {
    height: 28px !important;
    padding: 0 3px 8px !important;
  }

  .strip-heading strong {
    font-size: 14px !important;
  }

  .channel-strip {
    height: 148px !important;
    gap: 12px !important;
    padding: 2px 4px 6px !important;
  }

  .strip-card {
    width: 132px !important;
    flex: 0 0 132px !important;
    height: 140px !important;
    padding: 8px !important;
    border-radius: 16px !important;
  }

  .strip-card .channel-logo {
    width: 100% !important;
    height: 104px !important;
    aspect-ratio: auto !important;
    margin: 0 0 7px !important;
    border-radius: 11px !important;
    overflow: hidden !important;
  }

  .strip-card .channel-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .strip-card strong {
    font-size: 11px !important;
    line-height: 1.15 !important;
  }
}


/* === iPhone Safari banner animation fix v6 ===
   Keep the fixed banner size, but allow the outer glow to render and use
   two GPU-composited layers for a reliable cross-fade on iOS Safari. */
#adBanner{
  isolation:isolate !important;
  contain:size layout !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  -webkit-animation:bannerGlowIOS 3.2s ease-in-out infinite !important;
  animation:bannerGlowIOS 3.2s ease-in-out infinite !important;
}
#adBanner .ad-layer{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  z-index:1;
  pointer-events:none;
  -webkit-transform:translate3d(0,0,0) scale(1.012);
  transform:translate3d(0,0,0) scale(1.012);
  -webkit-transition:opacity .65s ease, -webkit-transform .9s cubic-bezier(.22,.61,.36,1) !important;
  transition:opacity .65s ease, transform .9s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity,transform;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
#adBanner .ad-layer.is-active{
  opacity:1 !important;
  z-index:2;
  pointer-events:auto;
  -webkit-transform:translate3d(0,0,0) scale(1);
  transform:translate3d(0,0,0) scale(1);
}
@-webkit-keyframes bannerGlowIOS{
  0%,100%{box-shadow:0 0 14px rgba(255,90,31,.10),0 0 30px rgba(255,90,31,.06),var(--shadow)}
  50%{box-shadow:0 0 30px rgba(255,90,31,.42),0 0 68px rgba(255,90,31,.24),var(--shadow)}
}
@keyframes bannerGlowIOS{
  0%,100%{box-shadow:0 0 14px rgba(255,90,31,.10),0 0 30px rgba(255,90,31,.06),var(--shadow)}
  50%{box-shadow:0 0 30px rgba(255,90,31,.42),0 0 68px rgba(255,90,31,.24),var(--shadow)}
}
@supports (-webkit-touch-callout:none){
  #adBanner{
    overflow:hidden !important;
    -webkit-animation-duration:3.2s !important;
    animation-duration:3.2s !important;
  }
  #adBanner .ad-layer{
    -webkit-transition-duration:.65s,.9s !important;
    transition-duration:.65s,.9s !important;
  }
}

/* === BOTTOM QUICK ACTIONS — CLEAN v8 === */
body{padding-bottom:calc(82px + var(--safe-bottom));}
.site-footer{margin-bottom:8px;}

.bottom-nav{
  position:fixed;
  left:50%;
  bottom:max(10px,var(--safe-bottom));
  transform:translateX(-50%);
  z-index:950;
  width:min(1180px,calc(100vw - 24px));
  height:72px;
  padding:7px 8px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:1fr;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(13,16,22,.92);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 44px rgba(0,0,0,.42);
  overflow:hidden;
}
.bottom-nav>button{
  min-width:0;
  width:100%;
  height:56px;
  margin:0;
  padding:0 8px;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#aeb7c5;
  font:inherit;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.bottom-nav>button:active{background:#1a202b;transform:scale(.98)}
.bottom-nav>button svg{
  width:19px;height:19px;min-width:19px;flex:0 0 19px;margin:0;
  fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
.bottom-nav>button:first-child svg{fill:currentColor;stroke:currentColor}
.bottom-nav>button span{display:inline-block;width:auto;margin:0;padding:0;line-height:1;white-space:nowrap}


.favorite-toggle{
  position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;background:rgba(8,10,15,.82);
  border:1px solid rgba(255,255,255,.14);color:#fff;z-index:4;line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
}
.favorite-toggle.active{color:#ff5a1f;background:rgba(255,90,31,.14);border-color:rgba(255,90,31,.55)}
.channel-card{position:relative}
.favorite-empty{padding:44px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}

@media(min-width:700px){
  .bottom-nav{height:76px;padding:8px 12px;gap:10px}
  .bottom-nav>button{height:60px;gap:9px;padding:0 12px;font-size:13px}
  .bottom-nav>button svg{width:23px;height:23px;min-width:23px;flex-basis:23px}
}
@media(max-width:620px){
  body{padding-bottom:calc(72px + var(--safe-bottom))}
  .bottom-nav{
    width:calc(100vw - 12px);
    height:64px;
    bottom:max(6px,var(--safe-bottom));
    padding:5px 4px;
    gap:1px;
    border-radius:16px;
  }
  .bottom-nav>button{
    height:52px;
    padding:0 1px;
    gap:3px;
    flex-direction:row;
    font-size:7.6px;
    border-radius:10px;
  }
  .bottom-nav>button svg{width:15px;height:15px;min-width:15px;flex-basis:15px}
  .favorite-toggle{top:6px;right:6px;width:28px;height:28px;font-size:16px}
}
.favorite-list-heart{margin-left:auto;color:#ff5a1f;font-size:20px;padding:10px;flex:0 0 auto}


/* === CONTACT ICONS + MOTION v8 === */
.contact-overlay.open .contact-sheet{animation:contactSheetIn .42s cubic-bezier(.2,.8,.2,1) both}
.contact-head{position:relative;overflow:hidden}
.contact-head::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.contact-message{margin:16px 16px 7px;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.015));display:flex;align-items:center;gap:12px}
.contact-message strong,.contact-message small{display:block}
.contact-message strong{font-size:13px}
.contact-message small{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.45}
.contact-pulse{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(54,209,123,.5);flex:0 0 auto;animation:contactPulse 1.9s ease-out infinite}
.contact-row{justify-content:flex-start;gap:13px;position:relative;overflow:hidden;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}
.contact-overlay.open .contact-row{animation:contactRowIn .45s cubic-bezier(.2,.8,.2,1) both}
.contact-overlay.open .contact-row:nth-of-type(1){animation-delay:.08s}
.contact-overlay.open .contact-row:nth-of-type(2){animation-delay:.16s}
.contact-row::before{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.10) 50%,transparent 65%);transform:translateX(-70%) rotate(8deg);animation:contactShine 4.2s ease-in-out infinite;pointer-events:none}
.contact-row:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);box-shadow:0 12px 30px rgba(0,0,0,.22)}
.contact-row:active{transform:scale(.985)}
.contact-app-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 8px 24px rgba(0,0,0,.22);animation:contactIconFloat 2.8s ease-in-out infinite}
.contact-app-icon svg{width:28px;height:28px;display:block}
.whatsapp-icon{background:#25D366;color:#fff;box-shadow:0 0 28px rgba(37,211,102,.18)}
.whatsapp-icon svg{fill:#fff}.whatsapp-icon svg path:nth-child(1){fill:none;stroke:#fff;stroke-width:2.1}
.telegram-icon{background:#229ED9;color:#fff;box-shadow:0 0 28px rgba(34,158,217,.18);animation-delay:.35s}
.telegram-icon svg{fill:#fff}
.contact-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}
.contact-copy b{font-size:14px}
.contact-copy small{color:var(--muted);font-size:10.5px}
.contact-handle{display:flex!important;align-items:center;gap:7px;white-space:nowrap;color:#b8c0ce!important;font-size:11px!important}
.contact-handle i{font-style:normal;font-size:22px;line-height:1;color:#778293;transition:transform .2s ease}
.contact-row:hover .contact-handle i{transform:translateX(3px)}
@keyframes contactSheetIn{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes contactRowIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes contactPulse{0%{box-shadow:0 0 0 0 rgba(54,209,123,.5)}70%{box-shadow:0 0 0 10px rgba(54,209,123,0)}100%{box-shadow:0 0 0 0 rgba(54,209,123,0)}}
@keyframes contactIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes contactShine{0%,70%{transform:translateX(-75%) rotate(8deg)}88%,100%{transform:translateX(75%) rotate(8deg)}}
@media(max-width:620px){
  .contact-message{margin-top:14px}
  .contact-row{padding:14px 13px;margin:10px 12px;border-radius:16px}
  .contact-app-icon{width:46px;height:46px;border-radius:14px}
  .contact-app-icon svg{width:27px;height:27px}
  .contact-handle{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.contact-overlay.open .contact-sheet,.contact-overlay.open .contact-row,.contact-pulse,.contact-app-icon,.contact-row::before{animation:none!important}}

/* === DESKTOP PLAYER CONTROLS CLIP FIX v9 ===
   Keep the enlarged desktop channel strip, but reserve enough vertical room
   for the player controls and prevent button/icon clipping. Mobile unchanged. */
@media (min-width: 900px) {
  .player {
    grid-template-rows: 66px minmax(0,1fr) 82px 192px !important;
  }

  .player-controls {
    height: 82px !important;
    min-height: 82px !important;
    padding: 12px 20px !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
  }

  .control-buttons {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  .control-buttons button {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    flex: 0 0 48px !important;
    padding: 0 !important;
    overflow: visible !important;
    line-height: 1 !important;
  }

  .control-buttons button svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    overflow: visible !important;
  }

  .control-buttons .play-main {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    flex-basis: 52px !important;
  }
}

/* === iPHONE PORTRAIT FULL CHANNEL LOGO FIX v10 ===
   Show the complete station artwork in the player channel strip on iPhone.
   This affects portrait mobile only; desktop and landscape rules stay intact. */
@media (max-width: 620px) and (orientation: portrait) {
  .strip-panel {
    height: 154px !important;
    min-height: 154px !important;
    padding: 8px 8px 10px !important;
    overflow: hidden !important;
  }

  .strip-heading {
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 4px 6px !important;
  }

  .strip-heading strong {
    font-size: 13px !important;
  }

  .strip-heading span {
    font-size: 10px !important;
  }

  .channel-strip {
    height: 118px !important;
    min-height: 118px !important;
    gap: 8px !important;
    padding: 2px 5px 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    align-items: flex-start !important;
  }

  .strip-card {
    width: 108px !important;
    min-width: 108px !important;
    flex: 0 0 108px !important;
    height: 108px !important;
    min-height: 108px !important;
    padding: 6px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .strip-card .channel-logo {
    width: 100% !important;
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
    aspect-ratio: auto !important;
    flex: 0 0 78px !important;
    margin: 0 0 5px !important;
    padding: 2px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #090b10 !important;
  }

  .strip-card .channel-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  .strip-card strong {
    display: block !important;
    width: 100% !important;
    height: 15px !important;
    line-height: 15px !important;
    font-size: 9px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 0 0 15px !important;
  }
}

/* === iPHONE PORTRAIT CHANNEL LOGO TRUE-CONTAIN FIX v11 ===
   Use the image's intrinsic aspect ratio and a square artwork viewport.
   width/height are auto so Safari cannot stretch/crop the bitmap to the box. */
@media (max-width: 620px) and (orientation: portrait) {
  .strip-panel {
    height: 166px !important;
    min-height: 166px !important;
    padding: 8px 8px 10px !important;
  }

  .channel-strip {
    height: 130px !important;
    min-height: 130px !important;
    align-items: flex-start !important;
    padding: 2px 5px 6px !important;
  }

  .strip-card {
    width: 112px !important;
    min-width: 112px !important;
    flex: 0 0 112px !important;
    height: 120px !important;
    min-height: 120px !important;
    padding: 6px !important;
    overflow: visible !important;
  }

  .strip-card .channel-logo {
    width: 98px !important;
    height: 92px !important;
    min-width: 98px !important;
    min-height: 92px !important;
    max-width: 98px !important;
    max-height: 92px !important;
    flex: 0 0 92px !important;
    margin: 0 auto 5px !important;
    padding: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: #090b10 !important;
  }

  .strip-card .channel-logo img {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
    padding: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  .strip-card strong {
    height: 15px !important;
    line-height: 15px !important;
    flex: 0 0 15px !important;
    font-size: 9px !important;
  }
}


/* === iPHONE LANDSCAPE LARGE VIDEO FIX v12 ===
   Keep portrait logo fix untouched. On short iPhone landscape, dedicate most
   of the viewport to video and compact the surrounding UI. */
@media (orientation: landscape) and (max-height: 520px) and (max-width: 1000px) {
  .player {
    grid-template-rows: 38px minmax(0, 1fr) 44px 72px !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  .player-header {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
  }

  .player-title-wrap small,
  .player-search-btn {
    display: none !important;
  }

  .player-icon-btn {
    width: 32px !important;
    height: 32px !important;
  }

  .video-stage {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background: #000 !important;
  }

  .video-stage > video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
  }

  .player-controls {
    height: 44px !important;
    min-height: 44px !important;
    padding: 3px 10px !important;
  }

  .control-buttons {
    gap: 7px !important;
  }

  .control-buttons button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  .strip-panel {
    height: 72px !important;
    min-height: 72px !important;
    padding: 3px 8px 4px !important;
  }

  .strip-heading {
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 2px 2px !important;
  }

  .channel-strip {
    height: 51px !important;
    min-height: 51px !important;
    gap: 6px !important;
    padding: 1px 3px 2px !important;
  }

  .strip-card {
    width: 72px !important;
    min-width: 72px !important;
    flex: 0 0 72px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 3px !important;
    border-radius: 10px !important;
  }

  .strip-card .channel-logo {
    height: 31px !important;
    margin: 0 0 1px !important;
    border-radius: 7px !important;
  }

  .strip-card .channel-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    padding: 1px !important;
  }

  .strip-card strong {
    font-size: 7px !important;
    line-height: 9px !important;
  }
}


/* === TOP BRAND LOGO MOTION v13 ===
   Soft breathing motion + glow orbit. The logo itself never spins. */
.brand {
  position: relative;
  isolation: isolate;
}

.brand img {
  position: relative;
  z-index: 2;
  transform-origin: center center;
  animation: kurdLogoBreath 3.2s ease-in-out infinite;
  filter: drop-shadow(0 0 4px rgba(255,90,31,.28));
  will-change: transform, filter;
}

.brand::before,
.brand::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 1;
  border-radius: 50%;
}

.brand::before {
  width: 54px;
  height: 54px;
  left: -4px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(255,105,55,.25);
  box-shadow:
    0 0 8px rgba(255,90,31,.20),
    inset 0 0 8px rgba(255,90,31,.08);
  animation: kurdLogoHalo 3.2s ease-in-out infinite;
}

.brand::after {
  width: 7px;
  height: 7px;
  left: 20px;
  top: 50%;
  margin-top: -3.5px;
  background: #ff6a35;
  box-shadow:
    0 0 6px #ff6a35,
    0 0 12px rgba(255,90,31,.95),
    0 0 22px rgba(255,90,31,.55);
  transform-origin: 4px 4px;
  animation: kurdLogoOrbit 4.2s linear infinite;
}

@keyframes kurdLogoBreath {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px rgba(255,90,31,.24));
  }
  50% {
    transform: scale(1.07);
    filter:
      drop-shadow(0 0 8px rgba(255,90,31,.62))
      drop-shadow(0 0 15px rgba(255,90,31,.28));
  }
}

@keyframes kurdLogoHalo {
  0%, 100% {
    opacity: .42;
    transform: translateY(-50%) scale(.94);
  }
  50% {
    opacity: .95;
    transform: translateY(-50%) scale(1.08);
  }
}

@keyframes kurdLogoOrbit {
  0%   { transform: translate(-24px, -3px); }
  25%  { transform: translate(0px, -27px); }
  50%  { transform: translate(24px, -3px); }
  75%  { transform: translate(0px, 21px); }
  100% { transform: translate(-24px, -3px); }
}

/* Keep the motion compact on phones. */
@media (max-width:620px) {
  .brand::before {
    width: 47px;
    height: 47px;
    left: -3px;
  }

  .brand::after {
    left: 17px;
    animation-duration: 3.8s;
  }

  @keyframes kurdLogoOrbit {
    0%   { transform: translate(-21px, -3px); }
    25%  { transform: translate(0px, -24px); }
    50%  { transform: translate(21px, -3px); }
    75%  { transform: translate(0px, 18px); }
    100% { transform: translate(-21px, -3px); }
  }
}

/* Respect reduced-motion accessibility settings. */
@media (prefers-reduced-motion: reduce) {
  .brand img,
  .brand::before,
  .brand::after {
    animation: none !important;
  }
}

/* === HERO TITLE + BANNER 0.5x SIZE / EDGE-TO-EDGE IMAGE FIX === */
.hero-copy h1{
  font-size:clamp(18px,2.1vw,34px) !important;
  line-height:1.04 !important;
  letter-spacing:-1.2px !important;
  margin:9px 0 !important;
}
.hero-copy p{font-size:13px !important;line-height:1.5 !important;}
.hero-copy{padding:12px 6px 10px !important;}
.hero-row > #adBanner{
  height:143px !important;
  min-height:143px !important;
  max-height:143px !important;
}
#adBanner img,
#adBanner .ad-content img,
#adBanner .ad-content > a > img,
#adBanner .ad-layer img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:900px){
  .hero-row > #adBanner{height:85px !important;min-height:85px !important;max-height:85px !important;}
}
@media(max-width:620px){
  .hero-row > #adBanner{height:59px !important;min-height:59px !important;max-height:59px !important;}
}

/* === FULLSCREEN LANDSCAPE FIX v18 ===
   One fullscreen implementation only. The VIDEO element owns native fullscreen.
   No stage/player fake fullscreen sizing is allowed to fight landscape mode. */

#video:fullscreen,
#video:-webkit-full-screen {
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  width:100dvw !important;
  height:100dvh !important;
  min-width:100vw !important;
  min-height:100vh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:contain !important;
  object-position:50% 50% !important;
  background:#000 !important;
  transform:none !important;
  -webkit-transform:none !important;
}

/* WebKit native media fullscreen pseudo element. */
video::-webkit-media-controls-fullscreen-button { display:block; }

/* During native video fullscreen, do not turn the surrounding player into a
   second/fake fullscreen layer. This is especially important after rotation. */
.player.is-fullscreen {
  padding:0;
}

@media (orientation:landscape) {
  #video:fullscreen,
  #video:-webkit-full-screen {
    width:100vw !important;
    height:100vh !important;
    width:100dvw !important;
    height:100dvh !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}


/* === HERO TITLE REDESIGN v19 === */
.hero-copy{
  position:relative !important;
  align-self:center !important;
  padding:16px 6px 16px 18px !important;
  border-left:3px solid var(--accent) !important;
}
.hero-copy .eyebrow{
  display:inline-flex !important;
  width:max-content !important;
  padding:6px 10px !important;
  border:1px solid rgba(255,90,31,.25) !important;
  border-radius:999px !important;
  background:rgba(255,90,31,.08) !important;
  color:#ff9b78 !important;
  font-size:10px !important;
  letter-spacing:1.4px !important;
}
.hero-copy .eyebrow i{width:6px !important;height:6px !important;box-shadow:0 0 12px var(--accent) !important;}
.hero-copy h1{
  max-width:520px !important;
  margin:12px 0 7px !important;
  font-size:clamp(27px,2.6vw,43px) !important;
  line-height:1.02 !important;
  letter-spacing:-1.5px !important;
  font-weight:900 !important;
  color:#f7f9fc !important;
}
.hero-copy h1 span{color:var(--accent) !important;}
.hero-copy p{
  max-width:460px !important;
  margin:0 !important;
  color:#8f99a9 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
@media(max-width:900px) and (min-width:621px){
  .hero-copy{padding:12px 4px 12px 14px !important;}
  .hero-copy h1{font-size:30px !important;}
}

/* === iPHONE LANDSCAPE CHANNEL LOGO NO-CROP FIX v20 ===
   Keep the existing landscape strip/card dimensions exactly the same.
   Only make the artwork viewport use the full card width and contain the
   complete uploaded logo without cropping. */
@media (orientation: landscape) and (max-height: 520px) and (max-width: 1000px) {
  .strip-card .channel-logo {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
    aspect-ratio: auto !important;
    box-sizing: border-box !important;
    padding: 1px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .strip-card .channel-logo img {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
}


/* === PLAYER CONTROLS CENTER + MUTE ICON STATE FIX v21 === */
.player-controls{position:relative!important;}
.control-buttons{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  justify-content:center!important;
  align-items:center!important;
  width:max-content!important;
  margin:0!important;
}
.control-buttons button{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
}
.control-buttons button svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  margin:auto!important;
  transform:none!important;
}
.control-buttons .play-main svg{width:24px!important;height:24px!important;}
#muteButton.active{background:#fff!important;color:#111827!important;border-color:#fff!important;}
@media(max-width:620px), (orientation:landscape) and (max-height:520px){
  .control-buttons{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:max-content!important;
    justify-content:center!important;
  }
  .control-buttons button svg{width:20px!important;height:20px!important;}
  .control-buttons .play-main svg{width:22px!important;height:22px!important;}
}

/* === BANNER HEIGHT 1.3x v22 ===
   Keep banner width/layout unchanged; increase only height by 30%. */
.hero-row > #adBanner{
  height:186px !important;
  min-height:186px !important;
  max-height:186px !important;
}
@media(max-width:900px){
  .hero-row > #adBanner{
    height:111px !important;
    min-height:111px !important;
    max-height:111px !important;
  }
}
@media(max-width:620px){
  .hero-row > #adBanner{
    height:77px !important;
    min-height:77px !important;
    max-height:77px !important;
  }
}

/* === TOP BRAND LOGO SQUARE MOTION v23 ===
   Square glow frame + light dot travelling around the square perimeter.
   Uses simple transform keyframes for reliable iPhone Safari support. */
.brand{
  overflow:visible !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.brand::before{
  width:54px !important;
  height:54px !important;
  left:-4px !important;
  top:50% !important;
  border-radius:10px !important;
  -webkit-animation:kurdLogoSquareHalo 3.2s ease-in-out infinite !important;
  animation:kurdLogoSquareHalo 3.2s ease-in-out infinite !important;
}
.brand::after{
  width:7px !important;
  height:7px !important;
  left:-4px !important;
  top:50% !important;
  margin-top:-27px !important;
  border-radius:2px !important;
  -webkit-animation:kurdLogoSquareRun 4s linear infinite !important;
  animation:kurdLogoSquareRun 4s linear infinite !important;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
  will-change:transform;
}
@-webkit-keyframes kurdLogoSquareRun{
  0%{ -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0); }
  25%{ -webkit-transform:translate3d(47px,0,0); transform:translate3d(47px,0,0); }
  50%{ -webkit-transform:translate3d(47px,47px,0); transform:translate3d(47px,47px,0); }
  75%{ -webkit-transform:translate3d(0,47px,0); transform:translate3d(0,47px,0); }
  100%{ -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0); }
}
@keyframes kurdLogoSquareRun{
  0%{ transform:translate3d(0,0,0); }
  25%{ transform:translate3d(47px,0,0); }
  50%{ transform:translate3d(47px,47px,0); }
  75%{ transform:translate3d(0,47px,0); }
  100%{ transform:translate3d(0,0,0); }
}
@-webkit-keyframes kurdLogoSquareHalo{
  0%,100%{opacity:.48;-webkit-transform:translateY(-50%) scale(.97);transform:translateY(-50%) scale(.97)}
  50%{opacity:1;-webkit-transform:translateY(-50%) scale(1.03);transform:translateY(-50%) scale(1.03)}
}
@keyframes kurdLogoSquareHalo{
  0%,100%{opacity:.48;transform:translateY(-50%) scale(.97)}
  50%{opacity:1;transform:translateY(-50%) scale(1.03)}
}
@media(max-width:620px){
  .brand::before{
    width:47px !important;
    height:47px !important;
    left:-3px !important;
    border-radius:9px !important;
  }
  .brand::after{
    left:-3px !important;
    margin-top:-23.5px !important;
    -webkit-animation:kurdLogoSquareRunPhone 3.6s linear infinite !important;
    animation:kurdLogoSquareRunPhone 3.6s linear infinite !important;
  }
  @-webkit-keyframes kurdLogoSquareRunPhone{
    0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
    25%{-webkit-transform:translate3d(40px,0,0);transform:translate3d(40px,0,0)}
    50%{-webkit-transform:translate3d(40px,40px,0);transform:translate3d(40px,40px,0)}
    75%{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}
    100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
  }
  @keyframes kurdLogoSquareRunPhone{
    0%{transform:translate3d(0,0,0)}
    25%{transform:translate3d(40px,0,0)}
    50%{transform:translate3d(40px,40px,0)}
    75%{transform:translate3d(0,40px,0)}
    100%{transform:translate3d(0,0,0)}
  }
}

/* === iPHONE PORTRAIT 7-CHANNEL COMPACT STRIP v24 ===
   Portrait only: compact the player channel cards so roughly seven channels
   are visible at once. Artwork remains fully contained (no crop/stretch). */
@media (max-width: 620px) and (orientation: portrait) {
  .strip-panel {
    height: 112px !important;
    min-height: 112px !important;
    padding: 6px 6px 8px !important;
  }
  .strip-heading {
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 2px 4px !important;
  }
  .strip-heading strong { font-size: 10px !important; }
  .strip-heading span { font-size: 8px !important; }
  .channel-strip {
    height: 78px !important;
    min-height: 78px !important;
    gap: 4px !important;
    padding: 1px 2px 3px !important;
    align-items: flex-start !important;
  }
  .strip-card {
    width: 68px !important;
    min-width: 68px !important;
    flex: 0 0 68px !important;
    height: 72px !important;
    min-height: 72px !important;
    padding: 3px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }
  .strip-card .channel-logo {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    flex: 0 0 52px !important;
    margin: 0 auto 2px !important;
    padding: 2px !important;
    border-radius: 7px !important;
    overflow: hidden !important;
  }
  .strip-card .channel-logo img {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
    padding: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  .strip-card strong {
    height: 11px !important;
    line-height: 11px !important;
    flex: 0 0 11px !important;
    font-size: 6.5px !important;
  }
}

/* v25 Watch live contact button */
.watch-live-row{display:flex;align-items:center;gap:12px}.watch-contact-btn{border:1px solid rgba(255,90,31,.45);background:rgba(255,90,31,.10);color:#fff;height:34px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer;transition:.2s ease}.watch-contact-btn:hover{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;transform:translateY(-1px)}@media(max-width:620px){.watch-live-row{gap:8px}.watch-contact-btn{height:30px;padding:0 11px;font-size:10px}}

/* v26: current-channel Favorite button beside Previous */
.control-buttons .player-favorite-btn{color:#cbd2dc;}
.control-buttons .player-favorite-btn svg{fill:transparent;stroke:currentColor;stroke-width:1.8;}
.control-buttons .player-favorite-btn.active{color:#ff5a1f;border-color:rgba(255,90,31,.6);background:rgba(255,90,31,.12);}
.control-buttons .player-favorite-btn.active svg{fill:currentColor;stroke:currentColor;}


/* === v27 FAVORITE HEART: real outline/filled heart state === */
.control-buttons .player-favorite-btn{
  color:#d8dee9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  line-height:1!important;
}
.control-buttons .player-favorite-btn .player-heart{
  display:block!important;
  width:24px!important;
  height:24px!important;
  line-height:22px!important;
  text-align:center!important;
  font-size:28px!important;
  font-weight:400!important;
  color:currentColor!important;
  transform:translateY(-1px)!important;
  -webkit-transform:translateY(-1px)!important;
  pointer-events:none!important;
}
.control-buttons .player-favorite-btn.active{
  color:#ff4f4f!important;
  border-color:rgba(255,79,79,.68)!important;
  background:rgba(255,79,79,.14)!important;
  box-shadow:0 0 0 2px rgba(255,79,79,.08),0 0 16px rgba(255,79,79,.16)!important;
}
.control-buttons .player-favorite-btn.active .player-heart{
  color:#ff4f4f!important;
  font-weight:700!important;
}
.control-buttons .player-favorite-btn:active .player-heart{
  transform:translateY(-1px) scale(.88)!important;
  -webkit-transform:translateY(-1px) scale(.88)!important;
}
@media(max-width:620px), (orientation:landscape) and (max-height:520px){
  .control-buttons .player-favorite-btn .player-heart{
    width:22px!important;height:22px!important;line-height:20px!important;font-size:25px!important;
  }
}


/* =========================================================
   KurdTV+ v34 — DESKTOP 10 x 3 CHANNEL GRID
   Desktop only. Mobile/iPhone rules remain unchanged.
   ========================================================= */
@media (min-width: 1100px) {
  #channelGrid,
  .channel-grid,
  .channels-grid,
  .home-channels-grid {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  #channelGrid .channel-card,
  .channel-grid .channel-card,
  .channels-grid .channel-card,
  .home-channels-grid .channel-card {
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px !important;
    border-radius: 13px !important;
  }

  #channelGrid .channel-card img,
  .channel-grid .channel-card img,
  .channels-grid .channel-card img,
  .home-channels-grid .channel-card img,
  #channelGrid .channel-logo,
  .channel-grid .channel-logo {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  #channelGrid .channel-name,
  .channel-grid .channel-name,
  .channels-grid .channel-name {
    font-size: 11px !important;
    line-height: 1.2 !important;
    margin-top: 7px !important;
  }

  #channelGrid .channel-meta,
  .channel-grid .channel-meta,
  .channels-grid .channel-meta {
    font-size: 9px !important;
  }
}


/* =========================================================
   KurdTV+ v35 — DEFAULT DESKTOP ZOOMED-OUT VIEW
   Mimics the compact view the site has when Chrome is zoomed out.
   Desktop only; iPhone/mobile remain unchanged.
   ========================================================= */
@media (min-width: 1100px) {
  html {
    zoom: 0.67;
  }
}

/* Fallback for browsers that do not support CSS zoom */
@supports not (zoom: 1) {
  @media (min-width: 1100px) {
    body {
      transform: scale(0.67);
      transform-origin: top center;
      width: 149.2537%;
      margin-left: -24.6268%;
    }
  }
}


/* =========================================================
   KurdTV+ v36 — FILL DESKTOP WIDTH WITH CHANNELS
   Keeps the compact/zoomed desktop look, but removes the
   narrow centered content area and uses the empty side space.
   ========================================================= */
@media (min-width: 1100px) {
  .home-screen {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .channels-section,
  .channels-wrap,
  .channel-section {
    width: 100% !important;
    max-width: none !important;
  }

  #channelGrid.channel-grid,
  #channelGrid,
  .channel-grid {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
  }

  #channelGrid > .channel-card,
  .channel-grid > .channel-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #channelGrid .channel-logo,
  .channel-grid .channel-logo {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }

  #channelGrid .channel-logo img,
  .channel-grid .channel-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* Let hero/banner use the same wide desktop canvas */
  .hero-row {
    width: 100% !important;
    max-width: none !important;
  }
}


/* =========================================================
   KurdTV+ v37 — DESKTOP BANNER 1.3x WIDER / 1.2x TALLER
   Desktop only. Uploaded images fill the banner with no gaps.
   ========================================================= */
@media (min-width: 1100px) {
  .hero-row {
    grid-template-columns: minmax(300px,.72fr) minmax(0,1.3fr) !important;
    gap: 28px !important;
  }

  .ad-banner,
  .banner,
  .hero-banner,
  .banner-wrap,
  .ad-slider {
    width: 100% !important;
    max-width: none !important;
    min-height: 190px !important;
    height: 190px !important;
  }

  .ad-banner img,
  .banner img,
  .hero-banner img,
  .banner-wrap img,
  .ad-slider img,
  .ad-slide img {
    width: 100% !important;
    height: 100% !important;
    min-height: 190px !important;
    object-fit: cover !important;
    display: block !important;
  }
}


/* =========================================================
   KurdTV+ v38 — LARGE DESKTOP BANNER / FILL AVAILABLE SPACE
   ========================================================= */
@media (min-width: 1100px) {
  .hero-row {
    grid-template-columns: minmax(260px, .48fr) minmax(0, 1.52fr) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
  }

  .ad-banner,
  .banner,
  .hero-banner,
  .banner-wrap,
  .ad-slider {
    width: 100% !important;
    max-width: none !important;
    height: 225px !important;
    min-height: 225px !important;
  }

  .ad-banner img,
  .banner img,
  .hero-banner img,
  .banner-wrap img,
  .ad-slider img,
  .ad-slide img {
    width: 100% !important;
    height: 100% !important;
    min-height: 225px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
}

/* v39 reports + admin message */
.player-report-btn{font-weight:900!important;font-size:18px!important;color:#ff8a68!important}
.admin-message-bar{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:140;width:min(720px,calc(100% - 24px));display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,90,47,.45);border-radius:12px;background:rgba(18,15,16,.96);box-shadow:0 14px 40px rgba(0,0,0,.3);color:#fff}
.admin-message-bar[hidden]{display:none!important}.admin-message-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#ff5a2f;font-weight:900}.admin-message-bar>span:nth-child(2){flex:1;font-size:12px}.admin-message-bar button{border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.report-sheet{max-width:430px!important}.report-channel{display:flex;justify-content:space-between;gap:12px;padding:12px;margin-bottom:12px;border:1px solid #273141;border-radius:10px;background:#0b1017}.report-channel span{color:#8fa0b5}.report-label{display:block;margin:10px 0;color:#aeb9c8;font-size:12px;font-weight:700}.report-label select,.report-label textarea{display:block;width:100%;margin-top:6px;border:1px solid #2a3545;border-radius:9px;background:#090d13;color:#fff;padding:10px;font:inherit}.report-label textarea{min-height:82px;resize:vertical}.report-submit{width:100%;height:40px;border:0;border-radius:9px;background:#ff5a2f;color:#fff;font-weight:800;cursor:pointer}.report-status{min-height:20px;margin-top:9px;text-align:center;font-size:12px}.report-status.success{color:#47df9a}.report-status.error-text{color:#ff7c87}
@media(max-width:700px){.admin-message-bar{top:66px}.report-sheet{width:calc(100% - 20px)!important}.player-report-btn{font-size:16px!important}}


/* =========================================================
   KurdTV+ v40 — REPORT TEXT + WEBSITE MESSAGE BELOW BANNER
   ========================================================= */

/* Report is now a clear text button instead of an icon. */
.player-report-btn{
  width:auto!important;
  min-width:68px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  color:#ff9a7b!important;
}
.player-report-btn span{
  display:block!important;
  white-space:nowrap!important;
}

/* Website/admin message now lives under the hero/banner. */
.admin-message-banner{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:14px 0 22px!important;
  padding:12px 46px 12px 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,90,47,.36)!important;
  border-radius:13px!important;
  background:
    linear-gradient(100deg,rgba(255,90,47,.14),rgba(15,18,25,.96) 30%,rgba(15,18,25,.96) 70%,rgba(255,90,47,.08))!important;
  box-shadow:0 10px 30px rgba(0,0,0,.24),0 0 24px rgba(255,90,47,.07)!important;
  color:#fff!important;
  transform-origin:center!important;
  animation:adminMessageEnter .55s cubic-bezier(.2,.8,.2,1) both,
            adminMessageGlow 2.8s ease-in-out .55s infinite!important;
}
.admin-message-banner[hidden]{
  display:none!important;
}
.admin-message-banner .admin-message-icon{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:rgba(255,90,47,.14)!important;
  border:1px solid rgba(255,90,47,.34)!important;
  font-size:17px!important;
  animation:adminMessageIconPulse 2s ease-in-out infinite!important;
}
.admin-message-copy{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  flex:1!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.admin-message-copy strong{
  color:#ff8b68!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.admin-message-copy span{
  color:#e8edf5!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.admin-message-banner>button{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  z-index:3!important;
  transform:translateY(-50%)!important;
  width:28px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.04)!important;
  color:#fff!important;
  font-size:18px!important;
  cursor:pointer!important;
}
.admin-message-shine{
  position:absolute!important;
  top:-40%!important;
  left:-20%!important;
  width:16%!important;
  height:180%!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent)!important;
  transform:skewX(-18deg)!important;
  animation:adminMessageShine 4.2s ease-in-out .8s infinite!important;
}

@keyframes adminMessageEnter{
  from{opacity:0;transform:translateY(-8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes adminMessageGlow{
  0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.24),0 0 16px rgba(255,90,47,.05)}
  50%{box-shadow:0 10px 30px rgba(0,0,0,.24),0 0 28px rgba(255,90,47,.16)}
}
@keyframes adminMessageIconPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}
@keyframes adminMessageShine{
  0%,62%{left:-22%;opacity:0}
  70%{opacity:1}
  88%{left:112%;opacity:.6}
  100%{left:112%;opacity:0}
}

@media(max-width:700px){
  .player-report-btn{
    min-width:60px!important;
    padding:0 9px!important;
    font-size:10px!important;
  }
  .admin-message-banner{
    margin:10px 0 16px!important;
    padding:10px 40px 10px 10px!important;
    gap:8px!important;
  }
  .admin-message-banner .admin-message-icon{
    flex-basis:30px!important;
    width:30px!important;
    height:30px!important;
    font-size:15px!important;
  }
  .admin-message-copy{
    display:block!important;
  }
  .admin-message-copy strong{
    display:block!important;
    margin-bottom:2px!important;
    font-size:9px!important;
  }
  .admin-message-copy span{
    display:block!important;
    font-size:11px!important;
  }
}

@media (prefers-reduced-motion: reduce){
  .admin-message-banner,
  .admin-message-banner .admin-message-icon,
  .admin-message-shine{
    animation:none!important;
  }
}

.admin-message-bar{position:static!important;transform:none!important;}


/* =========================================================
   KurdTV+ v41 — KURDISH SLIDING BRAND TEXT
   ========================================================= */
.brand-zone{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:14px!important;
}
.brand-kurdish-motion{
  position:relative!important;
  width:360px!important;
  height:26px!important;
  overflow:hidden!important;
  direction:rtl!important;
  text-align:left!important;
  pointer-events:none!important;
  border-left:1px solid rgba(255,90,47,.38)!important;
  padding-left:13px!important;
}
.brand-kurdish-line{
  position:absolute!important;
  inset:0 auto auto 13px!important;
  width:calc(100% - 13px)!important;
  height:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  color:#dce3ed!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  opacity:0!important;
  transform:translateX(45px)!important;
  text-shadow:0 0 12px rgba(255,90,47,.14)!important;
  will-change:transform,opacity!important;
}
.brand-kurdish-line-1{
  animation:brandKurdishSlide1 8s cubic-bezier(.2,.8,.2,1) infinite!important;
}
.brand-kurdish-line-2{
  animation:brandKurdishSlide2 8s cubic-bezier(.2,.8,.2,1) infinite!important;
}
@keyframes brandKurdishSlide1{
  0%{opacity:0;transform:translateX(45px)}
  8%,42%{opacity:1;transform:translateX(0)}
  48%{opacity:0;transform:translateX(-35px)}
  49%,100%{opacity:0;transform:translateX(45px)}
}
@keyframes brandKurdishSlide2{
  0%,49%{opacity:0;transform:translateX(45px)}
  57%,91%{opacity:1;transform:translateX(0)}
  97%,100%{opacity:0;transform:translateX(-35px)}
}

/* Small orange light sweep under the changing text */
.brand-kurdish-motion::after{
  content:""!important;
  position:absolute!important;
  left:13px!important;
  bottom:0!important;
  width:42px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#ff5a2f,transparent)!important;
  box-shadow:0 0 7px rgba(255,90,47,.55)!important;
  animation:brandKurdishLight 3.2s ease-in-out infinite!important;
}
@keyframes brandKurdishLight{
  0%{transform:translateX(-45px);opacity:0}
  18%{opacity:1}
  82%{opacity:1}
  100%{transform:translateX(340px);opacity:0}
}

@media(max-width:900px){
  .brand-zone{gap:8px!important}
  .brand-kurdish-motion{
    width:250px!important;
    height:23px!important;
    padding-left:9px!important;
  }
  .brand-kurdish-line{
    left:9px!important;
    width:calc(100% - 9px)!important;
    height:23px!important;
    font-size:10px!important;
  }
}
@media(max-width:620px){
  .brand-kurdish-motion{
    width:min(52vw,210px)!important;
    height:22px!important;
  }
  .brand-kurdish-line{
    font-size:9px!important;
  }
}
@media(max-width:430px){
  .brand-zone{gap:6px!important}
  .brand-kurdish-motion{
    width:150px!important;
    height:21px!important;
    border-left:0!important;
    padding-left:4px!important;
  }
  .brand-kurdish-line{
    left:4px!important;
    width:calc(100% - 4px)!important;
    height:21px!important;
    font-size:8px!important;
  }
  .brand-kurdish-motion::after{left:4px!important}
}
@media(prefers-reduced-motion:reduce){
  .brand-kurdish-line-1{animation:none!important;opacity:1!important;transform:none!important}
  .brand-kurdish-line-2{display:none!important}
  .brand-kurdish-motion::after{animation:none!important;display:none!important}
}


/* =========================================================
   KurdTV+ v42 — RELIABLE HEADER TEXT SLIDER
   JS-driven so it works consistently on desktop + iPhone Safari.
   ========================================================= */
.site-header{
  overflow:visible!important;
}
.brand-zone{
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:visible!important;
}
.brand{
  flex:0 0 auto!important;
}
.brand-kurdish-motion{
  position:relative!important;
  display:block!important;
  flex:0 1 430px!important;
  width:430px!important;
  max-width:430px!important;
  min-width:260px!important;
  height:30px!important;
  overflow:hidden!important;
  opacity:1!important;
  visibility:visible!important;
  direction:rtl!important;
  border-left:1px solid rgba(255,90,47,.38)!important;
  padding-left:14px!important;
}
.brand-kurdish-line{
  position:absolute!important;
  left:14px!important;
  right:auto!important;
  top:0!important;
  width:calc(100% - 14px)!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#e7edf5!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:30px!important;
  opacity:0!important;
  transform:translateX(42px)!important;
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)!important;
  animation:none!important;
  -webkit-animation:none!important;
  will-change:opacity,transform!important;
}
.brand-kurdish-line.active{
  opacity:1!important;
  transform:translateX(0)!important;
}
.brand-kurdish-line.leaving{
  opacity:0!important;
  transform:translateX(-42px)!important;
}
.brand-kurdish-motion::after{
  content:""!important;
  position:absolute!important;
  left:14px!important;
  bottom:1px!important;
  width:46px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#ff5a2f,transparent)!important;
  box-shadow:0 0 8px rgba(255,90,47,.55)!important;
  animation:brandKurdishLightV42 3.5s linear infinite!important;
  -webkit-animation:brandKurdishLightV42 3.5s linear infinite!important;
}
@keyframes brandKurdishLightV42{
  from{transform:translateX(-55px);opacity:0}
  15%{opacity:1}
  85%{opacity:1}
  to{transform:translateX(390px);opacity:0}
}
@-webkit-keyframes brandKurdishLightV42{
  from{-webkit-transform:translateX(-55px);opacity:0}
  15%{opacity:1}
  85%{opacity:1}
  to{-webkit-transform:translateX(390px);opacity:0}
}

/* Tablet */
@media(max-width:900px){
  .brand-kurdish-motion{
    flex-basis:300px!important;
    width:300px!important;
    max-width:300px!important;
    min-width:190px!important;
    height:27px!important;
  }
  .brand-kurdish-line{
    height:27px!important;
    line-height:27px!important;
    font-size:11px!important;
  }
}

/* iPhone / narrow mobile: keep it ONE visible line, but alternate both texts */
@media(max-width:620px){
  .site-header{
    gap:8px!important;
  }
  .brand-zone{
    gap:7px!important;
    max-width:calc(100% - 52px)!important;
  }
  .brand-kurdish-motion{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:110px!important;
    height:24px!important;
    border-left:0!important;
    padding-left:5px!important;
  }
  .brand-kurdish-line{
    left:5px!important;
    width:calc(100% - 5px)!important;
    height:24px!important;
    line-height:24px!important;
    font-size:9px!important;
    font-weight:800!important;
    text-overflow:clip!important;
  }
  .brand-kurdish-motion::after{
    left:5px!important;
  }
  .header-actions{
    flex:0 0 auto!important;
  }
}

@media(max-width:430px){
  .brand-zone{
    max-width:calc(100% - 45px)!important;
  }
  .brand-kurdish-motion{
    min-width:100px!important;
  }
  .brand-kurdish-line{
    font-size:8.5px!important;
  }
}

/* Do not disable this slider for reduced motion; just switch instantly. */
@media(prefers-reduced-motion:reduce){
  .brand-kurdish-line{
    transition:none!important;
  }
  .brand-kurdish-motion::after{
    animation:none!important;
    -webkit-animation:none!important;
    display:none!important;
  }
}


/* =========================================================
   KurdTV+ v43 — BIGGER KURDISH HEADER TEXT + IPHONE LIGHT
   ========================================================= */

/* Desktop: make the Kurdish sliding text clearly readable */
@media (min-width: 901px){
  .brand-kurdish-motion{
    width:520px!important;
    max-width:520px!important;
    min-width:360px!important;
    height:34px!important;
  }
  .brand-kurdish-line{
    height:34px!important;
    line-height:34px!important;
    font-size:17px!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    color:#f4f7fb!important;
    text-shadow:
      0 0 10px rgba(255,90,47,.12),
      0 0 18px rgba(255,255,255,.05)!important;
  }
  .brand-kurdish-motion::after{
    width:60px!important;
    height:2px!important;
    box-shadow:0 0 10px rgba(255,90,47,.8),0 0 18px rgba(255,90,47,.35)!important;
  }
}

/* Tablet */
@media (min-width: 621px) and (max-width: 900px){
  .brand-kurdish-motion{
    width:340px!important;
    max-width:340px!important;
    min-width:220px!important;
    height:29px!important;
  }
  .brand-kurdish-line{
    height:29px!important;
    line-height:29px!important;
    font-size:13px!important;
    font-weight:900!important;
  }
}

/* iPhone: larger one-line text + visible moving light */
@media (max-width:620px){
  .brand-kurdish-motion{
    position:relative!important;
    overflow:hidden!important;
    height:27px!important;
    min-width:130px!important;
  }
  .brand-kurdish-line{
    height:27px!important;
    line-height:27px!important;
    font-size:11px!important;
    font-weight:900!important;
    color:#f6f8fb!important;
    text-shadow:0 0 8px rgba(255,90,47,.16)!important;
  }

  /* stronger moving light line for iPhone Safari */
  .brand-kurdish-motion::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:20!important;
    left:0!important;
    bottom:0!important;
    width:58px!important;
    height:2px!important;
    border-radius:999px!important;
    background:linear-gradient(
      90deg,
      rgba(255,90,47,0),
      rgba(255,90,47,.35),
      #ff6a3d,
      #ffd2c5,
      #ff6a3d,
      rgba(255,90,47,.35),
      rgba(255,90,47,0)
    )!important;
    box-shadow:
      0 0 7px rgba(255,90,47,.95),
      0 0 14px rgba(255,90,47,.65)!important;
    opacity:1!important;
    transform:translate3d(-65px,0,0)!important;
    -webkit-transform:translate3d(-65px,0,0)!important;
    animation:brandLightIphoneV43 2.6s linear infinite!important;
    -webkit-animation:brandLightIphoneV43 2.6s linear infinite!important;
    will-change:transform!important;
    pointer-events:none!important;
  }

  /* second glow above the moving line */
  .brand-kurdish-motion::before{
    content:""!important;
    position:absolute!important;
    z-index:19!important;
    left:0!important;
    bottom:-4px!important;
    width:72px!important;
    height:10px!important;
    border-radius:50%!important;
    background:rgba(255,90,47,.18)!important;
    filter:blur(5px)!important;
    -webkit-filter:blur(5px)!important;
    transform:translate3d(-78px,0,0)!important;
    -webkit-transform:translate3d(-78px,0,0)!important;
    animation:brandGlowIphoneV43 2.6s linear infinite!important;
    -webkit-animation:brandGlowIphoneV43 2.6s linear infinite!important;
    pointer-events:none!important;
  }
}

@media (max-width:430px){
  .brand-kurdish-line{
    font-size:10px!important;
  }
}

@keyframes brandLightIphoneV43{
  from{transform:translate3d(-65px,0,0)}
  to{transform:translate3d(250px,0,0)}
}
@-webkit-keyframes brandLightIphoneV43{
  from{-webkit-transform:translate3d(-65px,0,0)}
  to{-webkit-transform:translate3d(250px,0,0)}
}
@keyframes brandGlowIphoneV43{
  from{transform:translate3d(-78px,0,0)}
  to{transform:translate3d(250px,0,0)}
}
@-webkit-keyframes brandGlowIphoneV43{
  from{-webkit-transform:translate3d(-78px,0,0)}
  to{-webkit-transform:translate3d(250px,0,0)}
}

/* Keep light motion even if the phone/browser asks for reduced motion. */
@media (prefers-reduced-motion: reduce) and (max-width:620px){
  .brand-kurdish-motion::after{
    display:block!important;
    animation:brandLightIphoneV43 2.6s linear infinite!important;
    -webkit-animation:brandLightIphoneV43 2.6s linear infinite!important;
  }
  .brand-kurdish-motion::before{
    display:block!important;
    animation:brandGlowIphoneV43 2.6s linear infinite!important;
    -webkit-animation:brandGlowIphoneV43 2.6s linear infinite!important;
  }
}

/* v44: larger header message + real DOM light animation */
.brand-kurdish-motion{
  overflow:hidden!important;
}
.brand-kurdish-line{
  overflow:visible!important;
  text-overflow:clip!important;
}
.brand-motion-light{
  display:block!important;
  position:absolute!important;
  z-index:50!important;
  left:0!important;
  bottom:1px!important;
  width:86px!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,#ff5a2f 25%,#fff 50%,#ff5a2f 75%,transparent)!important;
  box-shadow:0 0 7px #ff5a2f,0 0 16px rgba(255,90,47,.9),0 0 28px rgba(255,90,47,.5)!important;
  opacity:1!important;
  pointer-events:none!important;
  animation:ktvRealLight 2.2s linear infinite!important;
  -webkit-animation:ktvRealLight 2.2s linear infinite!important;
  will-change:transform!important;
}
@keyframes ktvRealLight{
  0%{transform:translate3d(-100px,0,0)}
  100%{transform:translate3d(650px,0,0)}
}
@-webkit-keyframes ktvRealLight{
  0%{-webkit-transform:translate3d(-100px,0,0)}
  100%{-webkit-transform:translate3d(650px,0,0)}
}

/* DESKTOP */
@media(min-width:901px){
  .brand-zone{gap:20px!important}
  .brand-kurdish-motion{
    flex:0 0 650px!important;
    width:650px!important;
    max-width:650px!important;
    min-width:650px!important;
    height:44px!important;
    padding-left:18px!important;
  }
  .brand-kurdish-line{
    left:18px!important;
    width:calc(100% - 18px)!important;
    height:40px!important;
    line-height:40px!important;
    font-size:21px!important;
    font-weight:900!important;
    color:#fff!important;
  }
}

/* TABLET */
@media(min-width:621px) and (max-width:900px){
  .brand-kurdish-motion{
    flex:0 1 430px!important;
    width:430px!important;
    max-width:430px!important;
    height:38px!important;
  }
  .brand-kurdish-line{
    height:35px!important;
    line-height:35px!important;
    font-size:17px!important;
  }
}

/* IPHONE */
@media(max-width:620px){
  .brand-zone{
    gap:5px!important;
    max-width:calc(100% - 42px)!important;
  }
  .brand-kurdish-motion{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:150px!important;
    height:34px!important;
    padding-left:2px!important;
  }
  .brand-kurdish-line{
    left:2px!important;
    width:calc(100% - 2px)!important;
    height:31px!important;
    line-height:31px!important;
    font-size:14px!important;
    font-weight:900!important;
    color:#fff!important;
    white-space:nowrap!important;
    transform-origin:left center!important;
  }
  .brand-motion-light{
    width:60px!important;
    height:3px!important;
    bottom:0!important;
    animation-duration:1.8s!important;
    -webkit-animation-duration:1.8s!important;
  }
  @keyframes ktvRealLight{
    0%{transform:translate3d(-70px,0,0)}
    100%{transform:translate3d(330px,0,0)}
  }
  @-webkit-keyframes ktvRealLight{
    0%{-webkit-transform:translate3d(-70px,0,0)}
    100%{-webkit-transform:translate3d(330px,0,0)}
  }
}
@media(max-width:430px){
  .brand-kurdish-line{font-size:12px!important}
}

/* Override older pseudo light versions so only the reliable DOM light is used */
.brand-kurdish-motion::before,
.brand-kurdish-motion::after{
  display:none!important;
  content:none!important;
}


/* =========================================================
   KurdTV+ v45 — MOBILE LANDSCAPE HEADER OVERLAP FIX
   Prevent Kurdish slider from overlapping Search/Contact.
   ========================================================= */

/* iPhone / small phone landscape */
@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px){
  .site-header{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
    overflow:hidden!important;
  }

  .brand-zone{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 116px)!important;
    gap:6px!important;
    overflow:hidden!important;
  }

  .brand{
    flex:0 0 auto!important;
    min-width:0!important;
  }

  .brand img{
    flex:0 0 auto!important;
  }

  .brand-kurdish-motion{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:28px!important;
    overflow:hidden!important;
  }

  .brand-kurdish-line{
    left:2px!important;
    width:calc(100% - 2px)!important;
    height:26px!important;
    line-height:26px!important;
    font-size:10px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .brand-motion-light{
    width:48px!important;
    height:2px!important;
    bottom:0!important;
  }

  .header-actions{
    position:relative!important;
    z-index:20!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-left:auto!important;
    background:#080a0f!important;
  }

  .header-actions .icon-btn,
  .header-actions .search-open{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
  }

  .header-actions .contact-btn{
    min-width:auto!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
}

/* Extra narrow landscape phones */
@media (orientation: landscape) and (max-height: 430px) and (max-width: 760px){
  .brand span b,
  .brand span em{
    font-size:12px!important;
  }

  .brand-kurdish-line{
    font-size:9px!important;
  }

  .brand-zone{
    max-width:calc(100% - 104px)!important;
  }

  .header-actions .contact-btn{
    display:none!important;
  }
}

/* v46 — exact iPhone landscape fix from screenshot:
   reserve a hard right-side safe zone for Search + Contact */
@media (orientation:landscape) and (max-height:520px) and (max-width:950px){
  .site-header{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:8px 12px!important;
    overflow:hidden!important;
  }
  .brand-zone{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding-right:185px!important; /* protected button area */
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .brand{
    flex:0 0 auto!important;
  }
  .brand-kurdish-motion{
    position:relative!important;
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    max-width:none!important;
    height:32px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .brand-kurdish-line{
    position:absolute!important;
    left:4px!important;
    right:4px!important;
    width:auto!important;
    max-width:100%!important;
    height:29px!important;
    line-height:29px!important;
    font-size:12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
  }
  .header-actions{
    position:absolute!important;
    right:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:999!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    width:auto!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
    background:#080a0f!important;
  }
  .header-actions .icon-btn,
  .header-actions .search-open{
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
  }
  .header-actions .contact-btn{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:76px!important;
    height:38px!important;
    padding:0 12px!important;
    font-size:11px!important;
  }
}

/* Very narrow iPhone landscape: still never overlap.
   Keep Search; make Contact compact instead of covering text. */
@media (orientation:landscape) and (max-height:430px) and (max-width:760px){
  .brand-zone{
    padding-right:150px!important;
  }
  .brand-kurdish-line{
    font-size:10px!important;
  }
  .header-actions .contact-btn{
    display:flex!important;
    min-width:62px!important;
    padding:0 8px!important;
    font-size:10px!important;
  }
}

/* ultra narrow landscape */
@media (orientation:landscape) and (max-height:390px) and (max-width:680px){
  .brand-zone{padding-right:105px!important}
  .header-actions .contact-btn{display:none!important}
}


/* =========================================================
   KurdTV+ v47 — HARD GRID FIX FOR IPHONE LANDSCAPE HEADER
   Brand | Kurdish text | Search/Contact can never overlap.
   ========================================================= */
@media (orientation: landscape) and (max-height: 560px) and (max-width: 1100px) {

  .site-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:10px!important;
    padding:8px 12px!important;
    overflow:hidden!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .brand-zone{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .brand{
    grid-column:1!important;
    min-width:0!important;
    flex:none!important;
  }

  .brand-kurdish-motion{
    grid-column:2!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:30px!important;
    margin:0!important;
    padding:0 4px!important;
    overflow:hidden!important;
    border-left:1px solid rgba(255,90,47,.3)!important;
    box-sizing:border-box!important;
  }

  .brand-kurdish-line{
    position:absolute!important;
    left:4px!important;
    right:4px!important;
    top:0!important;
    width:auto!important;
    max-width:none!important;
    height:28px!important;
    line-height:28px!important;
    font-size:10px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
  }

  .brand-motion-light{
    width:44px!important;
    height:2px!important;
    bottom:0!important;
  }

  .header-actions{
    grid-column:2!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    z-index:auto!important;
  }

  .header-actions .search-open,
  .header-actions .icon-btn{
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
  }

  .header-actions .contact-btn{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:70px!important;
    max-width:90px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 10px!important;
    font-size:10px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
}

/* Narrow iPhone landscape: keep all three areas separated */
@media (orientation: landscape) and (max-height: 440px) and (max-width: 820px) {
  .site-header{
    column-gap:7px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .brand-zone{
    gap:5px!important;
  }

  .brand-kurdish-line{
    font-size:9px!important;
  }

  .header-actions{
    gap:5px!important;
  }

  .header-actions .search-open,
  .header-actions .icon-btn{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
  }

  .header-actions .contact-btn{
    min-width:62px!important;
    max-width:72px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 7px!important;
    font-size:9px!important;
  }
}

/* Very narrow landscape: hide Contact before allowing any overlap */
@media (orientation: landscape) and (max-height: 400px) and (max-width: 700px) {
  .header-actions .contact-btn{
    display:none!important;
  }
}


/* =========================================================
   KurdTV+ v48 — COMPLETE HEADER REBUILD
   Three structural zones: BRAND | TICKER | ACTIONS
   No overlap on desktop, iPhone portrait or landscape.
   ========================================================= */

.ktv-header-v48{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.ktv-header-brand,
.ktv-header-ticker,
.ktv-header-actions{
  min-width:0!important;
  position:relative!important;
}

.ktv-header-brand{
  grid-column:1!important;
  overflow:visible!important;
}

.ktv-header-ticker{
  grid-column:2!important;
  width:100%!important;
  overflow:hidden!important;
  border-left:1px solid rgba(255,90,47,.34)!important;
  padding-left:14px!important;
}

.ktv-ticker-viewport{
  position:relative!important;
  width:100%!important;
  height:38px!important;
  overflow:hidden!important;
}

.ktv-header-ticker .brand-kurdish-line{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  direction:rtl!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:18px!important;
  line-height:38px!important;
  font-weight:900!important;
  color:#f5f7fb!important;
  opacity:0!important;
  transform:translate3d(44px,0,0)!important;
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1)!important;
  animation:none!important;
  -webkit-animation:none!important;
  text-shadow:0 0 12px rgba(255,90,47,.12)!important;
}

.ktv-header-ticker .brand-kurdish-line.active{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}

.ktv-header-ticker .brand-kurdish-line.leaving{
  opacity:0!important;
  transform:translate3d(-44px,0,0)!important;
}

.ktv-header-ticker .brand-motion-light{
  display:block!important;
  position:absolute!important;
  left:0!important;
  bottom:1px!important;
  width:80px!important;
  height:3px!important;
  z-index:5!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,#ff5a2f 25%,#fff 50%,#ff5a2f 75%,transparent)!important;
  box-shadow:0 0 8px #ff5a2f,0 0 18px rgba(255,90,47,.8)!important;
  animation:ktvHeaderLightV48 2.5s linear infinite!important;
  -webkit-animation:ktvHeaderLightV48 2.5s linear infinite!important;
  will-change:transform!important;
  pointer-events:none!important;
}

@keyframes ktvHeaderLightV48{
  from{transform:translate3d(-100px,0,0)}
  to{transform:translate3d(900px,0,0)}
}
@-webkit-keyframes ktvHeaderLightV48{
  from{-webkit-transform:translate3d(-100px,0,0)}
  to{-webkit-transform:translate3d(900px,0,0)}
}

.ktv-header-actions{
  grid-column:3!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  z-index:10!important;
}

.ktv-header-actions .search-open{
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
}

.ktv-header-actions .contact-btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:86px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 14px!important;
  white-space:nowrap!important;
}

/* Remove the old header wrapper behavior completely. */
.ktv-header-v48 .brand-zone{
  display:contents!important;
}
.ktv-header-v48 .brand-kurdish-motion{
  all:unset;
}

/* Tablet */
@media(max-width:900px){
  .ktv-header-v48{
    gap:10px!important;
  }
  .ktv-header-ticker{
    padding-left:10px!important;
  }
  .ktv-ticker-viewport{
    height:32px!important;
  }
  .ktv-header-ticker .brand-kurdish-line{
    height:32px!important;
    line-height:32px!important;
    font-size:14px!important;
  }
  .ktv-header-actions .search-open{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }
  .ktv-header-actions .contact-btn{
    min-width:74px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 11px!important;
    font-size:11px!important;
  }
}

/* iPhone portrait */
@media(max-width:620px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:6px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .ktv-header-brand .brand{
    min-width:0!important;
  }
  .ktv-header-brand .brand span{
    display:none!important;
  }
  .ktv-header-brand .brand img{
    width:38px!important;
    height:38px!important;
  }
  .ktv-header-ticker{
    padding-left:5px!important;
    border-left:0!important;
  }
  .ktv-ticker-viewport{
    height:28px!important;
  }
  .ktv-header-ticker .brand-kurdish-line{
    height:28px!important;
    line-height:28px!important;
    font-size:12px!important;
    text-overflow:clip!important;
  }
  .ktv-header-ticker .brand-motion-light{
    width:52px!important;
    height:2px!important;
    animation-duration:1.8s!important;
    -webkit-animation-duration:1.8s!important;
  }
  .ktv-header-actions{
    gap:5px!important;
  }
  .ktv-header-actions .search-open{
    width:35px!important;
    min-width:35px!important;
    height:35px!important;
    min-height:35px!important;
  }
  .ktv-header-actions .contact-btn{
    min-width:62px!important;
    height:35px!important;
    min-height:35px!important;
    padding:0 8px!important;
    font-size:9px!important;
  }
}

/* iPhone / phone landscape */
@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .ktv-header-v48{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:6px 10px!important;
  }
  .ktv-header-brand .brand{
    min-width:0!important;
  }
  .ktv-header-brand .brand img{
    width:36px!important;
    height:36px!important;
  }
  .ktv-header-brand .brand span{
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .ktv-header-ticker{
    width:100%!important;
    min-width:0!important;
    padding-left:7px!important;
    overflow:hidden!important;
  }
  .ktv-ticker-viewport{
    height:29px!important;
  }
  .ktv-header-ticker .brand-kurdish-line{
    width:100%!important;
    max-width:100%!important;
    height:29px!important;
    line-height:29px!important;
    font-size:11px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ktv-header-ticker .brand-motion-light{
    width:48px!important;
    height:2px!important;
    animation-duration:1.8s!important;
    -webkit-animation-duration:1.8s!important;
  }
  .ktv-header-actions{
    position:static!important;
    flex:0 0 auto!important;
    gap:5px!important;
  }
  .ktv-header-actions .search-open{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
  }
  .ktv-header-actions .contact-btn{
    display:flex!important;
    min-width:60px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    font-size:9px!important;
  }
}

/* Tiny landscape phones: preserve separation at all costs */
@media(orientation:landscape) and (max-height:400px) and (max-width:700px){
  .ktv-header-brand .brand span{
    display:none!important;
  }
  .ktv-header-actions .contact-btn{
    display:none!important;
  }
  .ktv-header-ticker .brand-kurdish-line{
    font-size:10px!important;
  }
}


/* =========================================================
   KurdTV+ v49 — SLOWER + SMOOTHER KURDISH TICKER
   ========================================================= */
.ktv-header-ticker .brand-kurdish-line{
  transition:
    opacity 1.15s ease-in-out,
    transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
}

.ktv-header-ticker .brand-kurdish-line{
  transform:translate3d(24px,0,0)!important;
}

.ktv-header-ticker .brand-kurdish-line.active{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}

.ktv-header-ticker .brand-kurdish-line.leaving{
  opacity:0!important;
  transform:translate3d(-24px,0,0)!important;
}

/* Slower, softer light sweep */
.ktv-header-ticker .brand-motion-light{
  animation-duration:4.8s!important;
  -webkit-animation-duration:4.8s!important;
  opacity:.82!important;
  box-shadow:
    0 0 7px rgba(255,90,47,.8),
    0 0 15px rgba(255,90,47,.48)!important;
}

@media(max-width:620px){
  .ktv-header-ticker .brand-motion-light{
    animation-duration:4.2s!important;
    -webkit-animation-duration:4.2s!important;
  }
}


/* =========================================================
   KurdTV+ v50 — IPHONE PORTRAIT 5 CHANNELS PER ROW
   Keeps desktop and landscape unchanged.
   ========================================================= */
@media (max-width: 620px) and (orientation: portrait) {
  #channelGrid,
  .channel-grid {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }

  #channelGrid .channel-card,
  .channel-grid .channel-card {
    min-width:0!important;
    width:100%!important;
    padding:5px!important;
    border-radius:10px!important;
  }

  #channelGrid .channel-logo,
  .channel-grid .channel-logo {
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    border-radius:8px!important;
    overflow:hidden!important;
  }

  #channelGrid .channel-logo img,
  .channel-grid .channel-logo img {
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  #channelGrid .channel-card strong,
  .channel-grid .channel-card strong {
    display:block!important;
    font-size:9px!important;
    line-height:1.15!important;
    margin-top:5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #channelGrid .channel-card small,
  .channel-grid .channel-card small {
    font-size:7px!important;
    line-height:1.1!important;
    margin-top:2px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #channelGrid .favorite-toggle,
  .channel-grid .favorite-toggle {
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    font-size:15px!important;
    top:4px!important;
    right:4px!important;
  }

  .channel-section {
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* Very narrow iPhones: keep 5 columns but tighten slightly */
@media (max-width: 390px) and (orientation: portrait) {
  #channelGrid,
  .channel-grid {
    gap:4px!important;
  }

  #channelGrid .channel-card,
  .channel-grid .channel-card {
    padding:4px!important;
  }

  #channelGrid .channel-card strong,
  .channel-grid .channel-card strong {
    font-size:8px!important;
  }

  #channelGrid .channel-card small,
  .channel-grid .channel-card small {
    font-size:6.5px!important;
  }
}


/* =========================================================
   KurdTV+ v51 — IPHONE PORTRAIT 4 CHANNELS PER ROW
   ========================================================= */
@media (max-width:620px) and (orientation:portrait){
  #channelGrid,
  .channel-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }

  #channelGrid .channel-card,
  .channel-grid .channel-card{
    padding:5px!important;
  }

  #channelGrid .channel-card strong,
  .channel-grid .channel-card strong{
    font-size:10px!important;
  }

  #channelGrid .channel-card small,
  .channel-grid .channel-card small{
    font-size:8px!important;
  }

  #channelGrid .favorite-toggle,
  .channel-grid .favorite-toggle{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    min-height:25px!important;
  }
}

@media (max-width:390px) and (orientation:portrait){
  #channelGrid,
  .channel-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
}


/* =========================================================
   KurdTV+ v52 — BANNER HEIGHT
   Desktop: 1.2x
   iPhone portrait: 1.5x
   Images always fill banner with no empty space.
   ========================================================= */

/* Desktop */
@media (min-width: 621px) {
  .ad-banner,
  .hero-banner,
  .banner,
  .banner-stage,
  .ad-slider {
    min-height: calc(var(--banner-height, 150px) * 1.2)!important;
  }

  .ad-banner img,
  .hero-banner img,
  .banner img,
  .banner-stage img,
  .ad-slider img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* iPhone portrait */
@media (max-width:620px) and (orientation:portrait) {
  .ad-banner,
  .hero-banner,
  .banner,
  .banner-stage,
  .ad-slider {
    min-height: calc(var(--banner-height, 110px) * 1.5)!important;
  }

  .ad-banner img,
  .hero-banner img,
  .banner img,
  .banner-stage img,
  .ad-slider img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}


/* =========================================================
   KurdTV+ v53 — FINAL MANUAL BANNER HEIGHT CONTROL
   Change ONLY the px values below when you want a new height.
   ========================================================= */

/* DESKTOP / TABLET */
@media (min-width:621px) {
  #adBanner,
  .hero-row > #adBanner,
  .ad-banner,
  .hero-banner,
  .banner-stage,
  .ad-slider {
    height:270px!important;
    min-height:270px!important;
    max-height:270px!important;
  }

  #adBanner img,
  .hero-row > #adBanner img,
  .ad-banner img,
  .hero-banner img,
  .banner-stage img,
  .ad-slider img,
  .ad-slide img {
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
  }
}

/* IPHONE / MOBILE PORTRAIT */
@media (max-width:620px) and (orientation:portrait) {
  #adBanner,
  .hero-row > #adBanner,
  .ad-banner,
  .hero-banner,
  .banner-stage,
  .ad-slider {
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
  }

  #adBanner img,
  .hero-row > #adBanner img,
  .ad-banner img,
  .hero-banner img,
  .banner-stage img,
  .ad-slider img,
  .ad-slide img {
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
  }
}


/* === v54 YouTube Live channel support === */
.video-stage .youtube-frame{width:100%;height:100%;border:0;background:#000;display:block;}
.video-stage .media-hidden{display:none!important;}
.player.youtube-mode .video-state{display:none!important;}
/* YouTube supplies its own play, volume and fullscreen controls. Keep channel navigation and favorites. */
.player.youtube-mode #playButton{display:none!important;}
.player.youtube-mode #muteButton{display:inline-flex!important;}

/* === v56 YOUTUBE PLAYER STAGE FILL FIX ===
   Make YouTube occupy the exact same responsive stage as HLS on desktop,
   iPhone portrait and iPhone landscape. Absolute positioning avoids the
   iframe falling back to its browser intrinsic 300x150 size. */
.video-stage > .youtube-frame{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:block!important;
  background:#000!important;
  transform:none!important;
  -webkit-transform:none!important;
}
.video-stage > .youtube-frame.media-hidden{display:none!important;}
.player.youtube-mode .video-stage{position:relative!important;overflow:hidden!important;background:#000!important;}
@media (orientation:landscape) and (max-height:520px){
  .player.youtube-mode .video-stage > .youtube-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
}

/* v58: YouTube autoplay starts muted; keep sound button visible for one-tap unmute */
.player.youtube-mode #muteButton.active{box-shadow:0 0 0 2px rgba(255,92,40,.35),0 0 18px rgba(255,92,40,.28)!important;}


/* =========================================================
   KurdTV+ v61 — EVENT COUNTDOWN PLAYER
   ========================================================= */
.event-stage{
  position:absolute!important;
  inset:0!important;
  z-index:12!important;
  overflow:hidden!important;
  background:#06080c!important;
  display:block!important;
}
.event-stage[hidden]{display:none!important}
.event-stage-bg{
  position:absolute!important;
  inset:0!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  transform:scale(1.03);
  filter:saturate(1.08) contrast(1.06);
}
.event-stage-overlay{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(4,7,11,.92) 0%,rgba(4,7,11,.64) 43%,rgba(4,7,11,.22) 72%,rgba(4,7,11,.45) 100%),
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.5))!important;
}
.event-stage-content{
  position:relative!important;
  z-index:2!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding:clamp(18px,4vw,52px)!important;
  max-width:720px!important;
}
.event-badge{
  display:inline-flex!important;
  align-items:center!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#ff5a2f!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.event-stage h2{
  margin:12px 0 4px!important;
  font-size:clamp(26px,4vw,54px)!important;
  line-height:1!important;
  color:#fff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.55)!important;
}
.event-stage p{
  margin:0 0 18px!important;
  color:#e8edf5!important;
  font-size:clamp(12px,1.5vw,18px)!important;
}
.event-countdown{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(72px,1fr))!important;
  gap:9px!important;
}
.event-countdown>div{
  min-width:78px!important;
  padding:12px 10px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px!important;
  background:rgba(9,13,19,.72)!important;
  backdrop-filter:blur(8px)!important;
  text-align:center!important;
  box-shadow:0 12px 28px rgba(0,0,0,.2)!important;
}
.event-countdown strong{
  display:block!important;
  color:#fff!important;
  font-size:clamp(24px,3vw,42px)!important;
  line-height:1!important;
}
.event-countdown span{
  display:block!important;
  margin-top:5px!important;
  color:#98a7ba!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.event-custom-html{
  margin-top:14px!important;
  color:#fff!important;
  font-size:13px!important;
}
@media(max-width:620px){
  .event-stage-content{padding:16px!important;justify-content:flex-end!important;padding-bottom:24px!important}
  .event-stage-overlay{
    background:linear-gradient(180deg,rgba(4,7,11,.12),rgba(4,7,11,.86) 65%,rgba(4,7,11,.96))!important;
  }
  .event-countdown{
    width:100%!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:5px!important;
  }
  .event-countdown>div{min-width:0!important;padding:8px 3px!important;border-radius:9px!important}
  .event-countdown strong{font-size:20px!important}
  .event-countdown span{font-size:7px!important}
  .event-stage h2{font-size:27px!important}
  .event-stage p{font-size:11px!important;margin-bottom:10px!important}
}

/* v62 — upcoming event card marker */
.event-channel-card{
  border-color:rgba(255,90,47,.55)!important;
  box-shadow:0 0 0 1px rgba(255,90,47,.12),0 10px 28px rgba(255,90,47,.06)!important;
}
.event-channel-card small{
  color:#ff8a68!important;
  font-weight:800!important;
}


/* =========================================================
   KurdTV+ v63 — EVENT COUNTDOWN + IPHONE EVENT VISIBILITY FIX
   ========================================================= */

.event-poster-image{
  display:none;
}

/* Make built-in countdown clearly visible */
.event-countdown strong{
  font-variant-numeric:tabular-nums!important;
}

/* Custom HTML should never cover the whole player unexpectedly */
.event-custom-html{
  width:100%!important;
  max-width:680px!important;
  max-height:42%!important;
  overflow:auto!important;
}

/* iPhone portrait */
@media(max-width:620px) and (orientation:portrait){
  .event-stage{
    display:grid!important;
    grid-template-rows:minmax(0,45%) minmax(0,55%)!important;
    background:#070a0f!important;
    overflow:hidden!important;
  }

  .event-stage-bg{
    display:none!important;
  }

  .event-stage-overlay{
    display:none!important;
  }

  .event-poster-image{
    display:block!important;
    grid-row:1!important;
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#05070a!important;
  }

  .event-stage-content{
    grid-row:2!important;
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    min-height:0!important;
    padding:12px 14px 16px!important;
    justify-content:flex-start!important;
    overflow:auto!important;
    background:linear-gradient(180deg,#0b1017,#070a0f)!important;
  }

  .event-badge{
    font-size:8px!important;
    padding:4px 7px!important;
  }

  .event-stage h2{
    margin:7px 0 3px!important;
    font-size:22px!important;
  }

  .event-stage p{
    margin:0 0 9px!important;
    font-size:10px!important;
  }

  .event-countdown{
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .event-countdown>div{
    min-width:0!important;
    padding:8px 2px!important;
  }

  .event-countdown strong{
    font-size:19px!important;
  }

  .event-countdown span{
    font-size:6.5px!important;
  }

  .event-custom-html{
    margin-top:8px!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    font-size:10px!important;
  }

  /* Keep images inside custom HTML visible and contained */
  .event-custom-html img{
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
}

/* iPhone landscape */
@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .event-stage{
    display:grid!important;
    grid-template-columns:42% 58%!important;
    grid-template-rows:1fr!important;
    background:#070a0f!important;
  }

  .event-stage-bg,
  .event-stage-overlay{
    display:none!important;
  }

  .event-poster-image{
    display:block!important;
    grid-column:1!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    background:#05070a!important;
  }

  .event-stage-content{
    grid-column:2!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    padding:12px!important;
    justify-content:center!important;
    overflow:auto!important;
    background:linear-gradient(90deg,#0b1017,#070a0f)!important;
  }

  .event-stage h2{font-size:22px!important}
  .event-stage p{font-size:10px!important;margin-bottom:8px!important}
  .event-countdown{width:100%!important;gap:5px!important}
  .event-countdown>div{min-width:0!important;padding:7px 2px!important}
  .event-countdown strong{font-size:18px!important}
  .event-countdown span{font-size:6px!important}
  .event-custom-html{display:none!important} /* prevent duplicate event design in tight landscape */
}

/* Event channel card: keep event logo/poster fully visible on iPhone */
@media(max-width:620px){
  .event-channel-card .channel-logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}


/* =========================================================
   KurdTV+ v64 — PROFESSIONAL UPCOMING EVENT DESIGN
   Single clean countdown, no duplicate custom HTML panel.
   ========================================================= */

.event-stage{
  background:#07090d!important;
  color:#fff!important;
}

.event-stage-bg{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background-size:cover!important;
  background-position:center!important;
  filter:saturate(1.03) contrast(1.04)!important;
  transform:scale(1.02)!important;
}

.event-stage-overlay{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(4,6,10,.20) 0%,rgba(4,6,10,.42) 42%,rgba(4,6,10,.92) 72%,rgba(4,6,10,.98) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22))!important;
}

.event-poster-image{
  display:none!important;
}

.event-stage-content{
  position:absolute!important;
  z-index:3!important;
  top:50%!important;
  right:clamp(24px,5vw,80px)!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  width:min(560px,43vw)!important;
  height:auto!important;
  max-width:none!important;
  padding:26px!important;
  display:block!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(14,18,25,.88),rgba(8,11,16,.94))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 38px rgba(255,90,47,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  overflow:visible!important;
}

.event-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:rgba(255,90,47,.14)!important;
  border:1px solid rgba(255,90,47,.42)!important;
  color:#ff8b69!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
}

.event-badge::before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#ff5a2f!important;
  box-shadow:0 0 12px rgba(255,90,47,.9)!important;
  animation:eventPulseV64 1.6s ease-in-out infinite!important;
}

@keyframes eventPulseV64{
  0%,100%{opacity:.6;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.15)}
}

.event-stage h2{
  margin:14px 0 6px!important;
  color:#fff!important;
  font-size:clamp(30px,3vw,50px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  text-shadow:none!important;
}

.event-stage p{
  margin:0!important;
  color:#aeb8c7!important;
  font-size:14px!important;
  line-height:1.45!important;
}

.event-countdown{
  margin-top:22px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
}

.event-countdown>div{
  min-width:0!important;
  padding:15px 8px 12px!important;
  border-radius:14px!important;
  border:1px solid #273241!important;
  background:linear-gradient(180deg,#111823,#0b1017)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 28px rgba(0,0,0,.16)!important;
}

.event-countdown strong{
  display:block!important;
  color:#fff!important;
  font-size:clamp(26px,2.4vw,38px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
  font-variant-numeric:tabular-nums!important;
}

.event-countdown span{
  display:block!important;
  margin-top:7px!important;
  color:#78879a!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

.event-custom-html{
  display:none!important;
}

/* Hide normal video loading overlays while an event is open */
.event-stage:not([hidden]) ~ .video-state{
  display:none!important;
}

/* iPhone portrait */
@media(max-width:620px) and (orientation:portrait){
  .event-stage{
    display:block!important;
  }

  .event-stage-bg{
    display:block!important;
    inset:0 0 42% 0!important;
    transform:none!important;
    background-size:cover!important;
    background-position:center top!important;
  }

  .event-stage-overlay{
    display:block!important;
    background:
      linear-gradient(180deg,rgba(5,7,10,.05) 0%,rgba(5,7,10,.12) 43%,rgba(5,7,10,.82) 61%,#07090d 74%,#07090d 100%)!important;
  }

  .event-stage-content{
    position:absolute!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:12px!important;
    transform:none!important;
    width:auto!important;
    padding:16px!important;
    border-radius:18px!important;
    background:rgba(10,14,20,.94)!important;
    max-height:52%!important;
    overflow:visible!important;
  }

  .event-badge{
    padding:5px 8px!important;
    font-size:8px!important;
  }

  .event-stage h2{
    margin:9px 0 4px!important;
    font-size:25px!important;
  }

  .event-stage p{
    font-size:10px!important;
  }

  .event-countdown{
    margin-top:12px!important;
    gap:5px!important;
  }

  .event-countdown>div{
    padding:9px 2px 8px!important;
    border-radius:10px!important;
  }

  .event-countdown strong{
    font-size:20px!important;
  }

  .event-countdown span{
    margin-top:4px!important;
    font-size:6px!important;
  }
}

/* iPhone landscape */
@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .event-stage{
    display:block!important;
  }

  .event-stage-bg{
    display:block!important;
    inset:0!important;
    transform:none!important;
    background-position:center!important;
  }

  .event-stage-overlay{
    display:block!important;
    background:linear-gradient(90deg,rgba(5,7,10,.14) 0%,rgba(5,7,10,.35) 45%,rgba(5,7,10,.92) 72%,rgba(5,7,10,.98) 100%)!important;
  }

  .event-stage-content{
    position:absolute!important;
    top:50%!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:47%!important;
    max-height:calc(100% - 20px)!important;
    padding:13px!important;
    overflow:visible!important;
  }

  .event-badge{
    padding:4px 7px!important;
    font-size:7px!important;
  }

  .event-stage h2{
    margin:7px 0 3px!important;
    font-size:22px!important;
  }

  .event-stage p{
    font-size:9px!important;
  }

  .event-countdown{
    margin-top:10px!important;
    gap:4px!important;
  }

  .event-countdown>div{
    padding:7px 2px!important;
    border-radius:8px!important;
  }

  .event-countdown strong{
    font-size:18px!important;
  }

  .event-countdown span{
    font-size:5.5px!important;
  }
}

/* Event cards */
.event-channel-card{
  border-color:rgba(255,90,47,.52)!important;
}
.event-channel-card small{
  color:#ff8a68!important;
}

/* =========================================================
   v65 — DESKTOP EVENT IMAGE NO-CROP FIX
   Show the complete uploaded event artwork on desktop.
   ========================================================= */
@media (min-width: 769px){
  .player.event-mode .event-stage,
  .event-stage{
    background:#05070a!important;
  }

  .player.event-mode .event-stage-bg,
  .event-stage-bg{
    inset:0!important;
    background-size:contain!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;
    transform:none!important;
    filter:saturate(1.03) contrast(1.04)!important;
  }

  /* Keep the information card on the free right side of portrait artwork. */
  .player.event-mode .event-stage-content,
  .event-stage-content{
    right:clamp(24px,4vw,70px)!important;
    width:min(520px,38vw)!important;
  }

  .player.event-mode .event-stage-overlay,
  .event-stage-overlay{
    background:
      linear-gradient(90deg,rgba(4,6,10,.02) 0%,rgba(4,6,10,.08) 38%,rgba(4,6,10,.72) 66%,rgba(4,6,10,.98) 100%),
      linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.16))!important;
  }
}


/* =========================================================
   KurdTV+ v66 — EVENT DATE + RED GLOW COUNTDOWN FRAME
   ========================================================= */

.event-date-line{
  margin-top:7px!important;
  color:#ff9a85!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}

/* Red glowing animated frame around the whole countdown area */
.event-countdown{
  position:relative!important;
  padding:12px!important;
  border:2px solid rgba(255,47,47,.88)!important;
  border-radius:18px!important;
  background:rgba(10,12,17,.42)!important;
  box-shadow:
    0 0 0 1px rgba(255,47,47,.15),
    0 0 14px rgba(255,47,47,.34),
    0 0 30px rgba(255,47,47,.18)!important;
  animation:eventRedFrameGlowV66 2.4s ease-in-out infinite!important;
  -webkit-animation:eventRedFrameGlowV66 2.4s ease-in-out infinite!important;
}

.event-countdown::before{
  content:""!important;
  position:absolute!important;
  inset:-2px!important;
  border-radius:18px!important;
  pointer-events:none!important;
  box-shadow:0 0 22px rgba(255,38,38,.4)!important;
  opacity:.35!important;
  animation:eventRedHaloV66 2.4s ease-in-out infinite!important;
  -webkit-animation:eventRedHaloV66 2.4s ease-in-out infinite!important;
}

@keyframes eventRedFrameGlowV66{
  0%,100%{
    border-color:rgba(255,47,47,.55);
    box-shadow:
      0 0 0 1px rgba(255,47,47,.10),
      0 0 10px rgba(255,47,47,.20),
      0 0 20px rgba(255,47,47,.10);
  }
  50%{
    border-color:rgba(255,78,78,1);
    box-shadow:
      0 0 0 1px rgba(255,47,47,.28),
      0 0 20px rgba(255,47,47,.65),
      0 0 42px rgba(255,47,47,.28);
  }
}
@-webkit-keyframes eventRedFrameGlowV66{
  0%,100%{
    border-color:rgba(255,47,47,.55);
    box-shadow:
      0 0 0 1px rgba(255,47,47,.10),
      0 0 10px rgba(255,47,47,.20),
      0 0 20px rgba(255,47,47,.10);
  }
  50%{
    border-color:rgba(255,78,78,1);
    box-shadow:
      0 0 0 1px rgba(255,47,47,.28),
      0 0 20px rgba(255,47,47,.65),
      0 0 42px rgba(255,47,47,.28);
  }
}
@keyframes eventRedHaloV66{
  0%,100%{opacity:.22;transform:scale(.995)}
  50%{opacity:.7;transform:scale(1.008)}
}
@-webkit-keyframes eventRedHaloV66{
  0%,100%{opacity:.22;-webkit-transform:scale(.995)}
  50%{opacity:.7;-webkit-transform:scale(1.008)}
}

/* Make individual timer boxes cleaner inside red frame */
.event-countdown>div{
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(19,23,31,.98),rgba(10,13,18,.98))!important;
}
.event-countdown strong{
  text-shadow:0 0 12px rgba(255,60,60,.15)!important;
}
.event-countdown span{
  color:#ff8d7a!important;
}

@media(max-width:620px){
  .event-date-line{
    font-size:9px!important;
    margin-top:4px!important;
  }
  .event-countdown{
    padding:7px!important;
    border-radius:13px!important;
  }
  .event-countdown::before{
    border-radius:13px!important;
  }
}

@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .event-date-line{
    font-size:8px!important;
    margin-top:3px!important;
  }
  .event-countdown{
    padding:6px!important;
    border-radius:11px!important;
  }
  .event-countdown::before{
    border-radius:11px!important;
  }
}

/* v67 event timezone fields use existing admin form styles; frontend date respects selected event timezone. */


/* =========================================================
   KurdTV+ v68 — SHOW GMT + IRAQ EVENT TIMES
   ========================================================= */
.event-timezones{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:12px!important;
}

.event-zone-box{
  position:relative!important;
  overflow:hidden!important;
  padding:10px 12px!important;
  border:1px solid rgba(255,62,62,.55)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,rgba(32,14,16,.88),rgba(12,11,15,.94))!important;
  box-shadow:0 0 12px rgba(255,45,45,.10)!important;
}

.event-zone-box span{
  display:block!important;
  margin-bottom:4px!important;
  color:#ff7a70!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.event-zone-box strong{
  display:block!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* subtle moving red light */
.event-zone-box::after{
  content:""!important;
  position:absolute!important;
  left:-35%!important;
  bottom:0!important;
  width:35%!important;
  height:2px!important;
  background:linear-gradient(90deg,transparent,#ff3b30,#fff,#ff3b30,transparent)!important;
  box-shadow:0 0 8px rgba(255,59,48,.75)!important;
  animation:eventZoneLightV68 3.6s linear infinite!important;
  -webkit-animation:eventZoneLightV68 3.6s linear infinite!important;
}

@keyframes eventZoneLightV68{
  from{transform:translateX(0)}
  to{transform:translateX(390%)}
}
@-webkit-keyframes eventZoneLightV68{
  from{-webkit-transform:translateX(0)}
  to{-webkit-transform:translateX(390%)}
}

@media(max-width:620px){
  .event-timezones{
    gap:5px!important;
    margin-top:7px!important;
  }
  .event-zone-box{
    padding:7px 8px!important;
    border-radius:9px!important;
  }
  .event-zone-box span{
    font-size:6px!important;
  }
  .event-zone-box strong{
    font-size:9px!important;
  }
}

@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .event-timezones{
    margin-top:5px!important;
    gap:4px!important;
  }
  .event-zone-box{
    padding:5px 7px!important;
  }
  .event-zone-box span{
    font-size:5.5px!important;
  }
  .event-zone-box strong{
    font-size:8px!important;
  }
}


/* =========================================================
   KurdTV+ v69 — EVENT MEDIA: IMAGE / VIDEO / AUDIO / YOUTUBE
   ========================================================= */
.event-media-layer{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  overflow:hidden!important;
  background:#05070a!important;
}
.event-media-layer[hidden]{display:none!important}

.event-media-image,
.event-media-video,
.event-media-youtube{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#05070a!important;
  border:0!important;
}

.event-media-image[hidden],
.event-media-video[hidden],
.event-media-youtube[hidden],
.event-media-audio[hidden]{
  display:none!important;
}

.event-media-audio{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  z-index:4!important;
  width:calc(100% - 44px)!important;
  max-width:560px!important;
  height:42px!important;
}

/* Keep the content/readability layer above media. */
.event-stage-overlay{z-index:2!important}
.event-stage-content{z-index:3!important}

/* When real media is selected, avoid duplicate CSS background image. */
.event-stage:has(.event-media-layer:not([hidden])) .event-stage-bg{
  opacity:.12!important;
}

/* Image/video presentation on desktop: media on left, counter panel stays right. */
@media(min-width:621px){
  .event-media-layer{
    right:40%!important;
  }
  .event-media-image,
  .event-media-video,
  .event-media-youtube{
    object-fit:contain!important;
  }
}

/* iPhone portrait */
@media(max-width:620px) and (orientation:portrait){
  .event-media-layer{
    inset:0 0 45% 0!important;
  }
  .event-media-audio{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:calc(100% - 20px)!important;
  }
}

/* iPhone landscape */
@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .event-media-layer{
    inset:0 52% 0 0!important;
  }
  .event-media-audio{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:calc(100% - 16px)!important;
  }
}


/* =========================================================
   KurdTV+ v70 — EVENT BACKGROUND AUDIO + IMAGE
   Audio is invisible; event image remains visible.
   ========================================================= */
#eventMediaAudio,
.event-media-audio{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  position:absolute!important;
  pointer-events:none!important;
}

/* Audio events use the uploaded event image as the full visual stage. */
.event-media-image{
  object-fit:contain!important;
  object-position:center!important;
  background:#05070a!important;
}

/* v71 — event image upload help */
.event-media-image{
  object-fit:contain!important;
  object-position:center!important;
  background:#05070a!important;
}

/* v72 — background event music stays invisible */
#eventMediaAudio{
  display:none!important;
  width:0!important;
  height:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* =========================================================
   KurdTV+ v73 — RELIABLE EVENT MUSIC START
   Only appears when browser blocks autoplay.
   ========================================================= */
.event-music-unlock{
  position:absolute!important;
  z-index:6!important;
  left:22px!important;
  bottom:22px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:11px 16px!important;
  border:1px solid rgba(255,72,60,.65)!important;
  border-radius:999px!important;
  background:rgba(12,14,19,.92)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 0 20px rgba(255,60,50,.22)!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}
.event-music-unlock[hidden]{display:none!important}
.event-music-unlock span{
  color:#ff5a47!important;
  font-size:15px!important;
}
@media(max-width:620px){
  .event-music-unlock{
    left:12px!important;
    bottom:12px!important;
    padding:9px 13px!important;
    font-size:10px!important;
  }
}


/* =========================================================
   KurdTV+ v74 — LIVE VIEWERS BESIDE PLAYER CONTROLS
   ========================================================= */
.live-viewers{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:34px!important;
  padding:0 11px!important;
  margin-left:8px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:10px!important;
  background:#11161e!important;
  color:#fff!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
.live-viewers-dot{
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:#25d77a!important;
  box-shadow:0 0 9px rgba(37,215,122,.65)!important;
  animation:liveViewerPulseV74 1.7s ease-in-out infinite!important;
}
.live-viewers strong{
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
}
.live-viewers-label{
  color:#9ca9b9!important;
  font-size:9px!important;
  font-weight:700!important;
}
@keyframes liveViewerPulseV74{
  0%,100%{opacity:.55;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.08)}
}

@media(max-width:620px){
  .live-viewers{
    min-height:32px!important;
    margin-left:5px!important;
    padding:0 8px!important;
    gap:4px!important;
  }
  .live-viewers strong{font-size:11px!important}
  .live-viewers-label{display:none!important}
}

@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .live-viewers{
    min-height:30px!important;
    padding:0 7px!important;
  }
}

.live-viewers strong{min-width:30px!important;text-align:center!important}


/* =========================================================
   v78 — DESKTOP EVENT IMAGE FULL-STAGE FIT
   Mobile/iPhone event layout is intentionally unchanged.
   ========================================================= */
@media (min-width:1101px) and (min-height:561px){
  .player.event-mode .event-media-layer,
  .event-media-layer{
    inset:0!important;
    right:0!important;
    width:100%!important;
    height:100%!important;
    background:#05070a!important;
  }

  .player.event-mode .event-media-image,
  .event-media-image{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:left center!important;
    background:#05070a!important;
  }

  .player.event-mode .event-stage-bg,
  .event-stage-bg{
    inset:0!important;
    background-size:contain!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;
  }

  .player.event-mode .event-stage-content,
  .event-stage-content{
    z-index:5!important;
  }

  .player.event-mode .event-stage-overlay,
  .event-stage-overlay{
    z-index:4!important;
    pointer-events:none!important;
  }
}


/* =========================================================
   v79 — MOBILE VIEWER COUNTER POSITION FIX
   Keep it away from Report/player control buttons.
   ========================================================= */
@media (max-width:620px){
  .player-controls{
    position:relative!important;
    overflow:visible!important;
  }

  .live-viewers{
    position:absolute!important;
    right:10px!important;
    left:auto!important;
    top:auto!important;
    bottom:calc(100% + 7px)!important;
    z-index:12!important;
    margin:0!important;
    min-height:28px!important;
    height:28px!important;
    padding:0 7px!important;
    gap:4px!important;
    border-radius:9px!important;
    background:rgba(10,14,20,.90)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    pointer-events:none!important;
  }

  .live-viewers strong{
    min-width:27px!important;
    font-size:10px!important;
  }

  .live-viewers-dot{
    width:6px!important;
    height:6px!important;
    flex-basis:6px!important;
  }
}

@media (orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .player-controls{
    position:relative!important;
    overflow:visible!important;
  }

  .live-viewers{
    position:absolute!important;
    right:8px!important;
    left:auto!important;
    top:auto!important;
    bottom:calc(100% + 5px)!important;
    z-index:12!important;
    margin:0!important;
    min-height:26px!important;
    height:26px!important;
    padding:0 6px!important;
    pointer-events:none!important;
  }
}


/* =========================================================
   KurdTV+ v83 — EVENT COUNTDOWN REDESIGN
   Match requested reference image on DESKTOP.
   Mobile/iPhone behavior remains compact.
   ========================================================= */

/* DESKTOP EVENT CARD */
@media (min-width:1101px) and (min-height:561px){

  .event-stage-content{
    position:absolute!important;
    top:50%!important;
    right:24px!important;
    left:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;

    width:560px!important;
    max-width:560px!important;
    min-width:560px!important;

    padding:26px 28px 28px!important;
    border:1px solid rgba(255,52,42,.92)!important;
    border-radius:24px!important;

    background:
      linear-gradient(180deg,rgba(10,13,18,.96),rgba(5,7,10,.98))!important;

    box-shadow:
      0 0 0 1px rgba(255,35,25,.10),
      0 0 24px rgba(255,35,25,.28),
      0 24px 70px rgba(0,0,0,.42)!important;

    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    overflow:visible!important;
    z-index:6!important;
  }

  .event-badge{
    padding:7px 13px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,66,55,.80)!important;
    background:rgba(150,18,15,.88)!important;
    color:#ff8378!important;
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:.07em!important;
  }

  .event-stage h2{
    margin:16px 0 4px!important;
    font-size:48px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:-.035em!important;
    color:#fff!important;
  }

  .event-stage p{
    margin:0!important;
    font-size:16px!important;
    line-height:1.35!important;
    color:#f2f4f7!important;
  }

  .event-date-line{
    margin-top:7px!important;
    color:#ff5c4d!important;
    font-size:14px!important;
    font-weight:900!important;
  }

  .event-timezones{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    margin-top:18px!important;
  }

  .event-zone-box{
    min-height:72px!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    border:1px solid rgba(255,48,42,.88)!important;
    background:linear-gradient(180deg,#11151d,#0a0d12)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.025),
      0 0 14px rgba(255,45,38,.14)!important;
  }

  .event-zone-box span{
    margin-bottom:7px!important;
    color:#ff6458!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.07em!important;
  }

  .event-zone-box strong{
    font-size:15px!important;
    line-height:1.22!important;
    color:#fff!important;
    font-weight:900!important;
  }

  .event-countdown{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:0!important;
    margin-top:18px!important;
    padding:0!important;

    border:0!important;
    border-radius:16px!important;
    background:transparent!important;
    box-shadow:
      0 0 16px rgba(255,32,25,.38),
      0 0 38px rgba(255,32,25,.18)!important;

    animation:eventRedFrameGlowV83 2.5s ease-in-out infinite!important;
    -webkit-animation:eventRedFrameGlowV83 2.5s ease-in-out infinite!important;
    overflow:hidden!important;
  }

  .event-countdown::before{
    display:none!important;
  }

  .event-countdown>div{
    min-width:0!important;
    height:132px!important;
    padding:22px 6px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;

    border-radius:0!important;
    border:2px solid #ff3127!important;
    border-left-width:1px!important;
    border-right-width:1px!important;

    background:
      linear-gradient(180deg,#11151c 0%,#090c11 100%)!important;

    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.025),
      inset 0 0 20px rgba(255,40,32,.025)!important;
  }

  .event-countdown>div:first-child{
    border-left-width:2px!important;
    border-radius:16px 0 0 16px!important;
  }

  .event-countdown>div:last-child{
    border-right-width:2px!important;
    border-radius:0 16px 16px 0!important;
  }

  .event-countdown strong{
    font-size:56px!important;
    line-height:.9!important;
    font-weight:900!important;
    letter-spacing:-.03em!important;
    color:#fff!important;
    font-variant-numeric:tabular-nums!important;
    text-shadow:0 0 14px rgba(255,255,255,.05)!important;
  }

  .event-countdown span{
    margin-top:12px!important;
    color:#ff493e!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.03em!important;
  }

  @keyframes eventRedFrameGlowV83{
    0%,100%{
      box-shadow:
        0 0 12px rgba(255,32,25,.28),
        0 0 24px rgba(255,32,25,.12);
    }
    50%{
      box-shadow:
        0 0 24px rgba(255,32,25,.68),
        0 0 48px rgba(255,32,25,.30);
    }
  }

  @-webkit-keyframes eventRedFrameGlowV83{
    0%,100%{
      box-shadow:
        0 0 12px rgba(255,32,25,.28),
        0 0 24px rgba(255,32,25,.12);
    }
    50%{
      box-shadow:
        0 0 24px rgba(255,32,25,.68),
        0 0 48px rgba(255,32,25,.30);
    }
  }

  /* Keep the counter inside the darker right side of the artwork */
  .event-stage-overlay{
    background:
      linear-gradient(90deg,
        rgba(4,6,10,0) 0%,
        rgba(4,6,10,.05) 44%,
        rgba(4,6,10,.40) 64%,
        rgba(4,6,10,.84) 82%,
        rgba(4,6,10,.96) 100%)!important;
  }
}

/* TABLET / SMALL DESKTOP */
@media (min-width:621px) and (max-width:1100px){
  .event-stage-content{
    width:460px!important;
    max-width:46vw!important;
    right:14px!important;
    padding:18px!important;
  }

  .event-stage h2{font-size:34px!important}
  .event-countdown strong{font-size:34px!important}
  .event-countdown span{font-size:9px!important}
}

/* MOBILE stays compact and readable */
@media (max-width:620px){
  .event-stage-content{
    border:1px solid rgba(255,52,42,.72)!important;
    box-shadow:0 0 20px rgba(255,40,30,.20)!important;
  }

  .event-countdown{
    border:1px solid rgba(255,50,42,.80)!important;
    box-shadow:0 0 14px rgba(255,40,30,.20)!important;
  }
}


/* =========================================================
   v84 — DESKTOP EVENT COUNTER FILLS RIGHT-SIDE SPACE
   No image generation. Mobile/iPhone unchanged.
   ========================================================= */
@media (min-width:1101px) and (min-height:561px){

  .event-stage-content{
    top:18px!important;
    bottom:18px!important;
    right:18px!important;
    left:auto!important;
    transform:none!important;

    width:40vw!important;
    max-width:none!important;
    min-width:520px!important;
    height:auto!important;

    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;

    padding:30px!important;
    border-radius:24px!important;
  }

  .event-badge{
    align-self:flex-start!important;
  }

  .event-stage h2{
    font-size:clamp(50px,3.5vw,72px)!important;
    margin:18px 0 6px!important;
  }

  .event-stage p{
    font-size:clamp(16px,1.1vw,20px)!important;
  }

  .event-date-line{
    font-size:clamp(14px,1vw,18px)!important;
    margin-top:8px!important;
  }

  .event-timezones{
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
    margin-top:22px!important;
  }

  .event-zone-box{
    min-height:92px!important;
    padding:16px 18px!important;
    border-radius:14px!important;
  }

  .event-zone-box span{
    font-size:11px!important;
    margin-bottom:9px!important;
  }

  .event-zone-box strong{
    font-size:clamp(17px,1.25vw,22px)!important;
  }

  .event-countdown{
    flex:1 1 auto!important;
    min-height:260px!important;
    width:100%!important;
    margin-top:22px!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:0!important;
    align-items:stretch!important;
  }

  .event-countdown>div{
    height:100%!important;
    min-height:260px!important;
    padding:28px 8px 20px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .event-countdown strong{
    font-size:clamp(68px,5.2vw,110px)!important;
    line-height:.88!important;
  }

  .event-countdown span{
    margin-top:18px!important;
    font-size:clamp(14px,1vw,20px)!important;
  }
}


/* =========================================================
   v85 — DESKTOP EVENT COUNTER MATCH REFERENCE
   Fixes the over-stretched v84 countdown.
   Desktop only; mobile/iPhone unchanged.
   ========================================================= */
@media (min-width:1101px) and (min-height:561px){

  .event-stage-content{
    position:absolute!important;
    top:50%!important;
    bottom:auto!important;
    right:24px!important;
    left:auto!important;
    transform:translateY(-50%)!important;

    width:min(680px,42vw)!important;
    max-width:680px!important;
    min-width:560px!important;
    height:auto!important;
    max-height:86%!important;

    display:block!important;
    padding:28px 30px 30px!important;
    border-radius:24px!important;

    border:1px solid rgba(255,55,45,.95)!important;
    background:
      linear-gradient(180deg,rgba(9,12,17,.97),rgba(5,7,10,.985))!important;
    box-shadow:
      0 0 0 1px rgba(255,40,30,.10),
      0 0 24px rgba(255,40,30,.26),
      0 24px 70px rgba(0,0,0,.42)!important;
  }

  .event-badge{
    padding:7px 13px!important;
    font-size:11px!important;
  }

  .event-stage h2{
    margin:16px 0 6px!important;
    font-size:clamp(48px,3.3vw,64px)!important;
    line-height:.98!important;
  }

  .event-stage p{
    font-size:clamp(16px,1.05vw,19px)!important;
  }

  .event-date-line{
    margin-top:8px!important;
    font-size:clamp(14px,.95vw,17px)!important;
  }

  .event-timezones{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    margin-top:20px!important;
  }

  .event-zone-box{
    min-height:78px!important;
    padding:13px 16px!important;
    border-radius:13px!important;
  }

  .event-zone-box span{
    font-size:10px!important;
    margin-bottom:7px!important;
  }

  .event-zone-box strong{
    font-size:clamp(16px,1.1vw,20px)!important;
  }

  .event-countdown{
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;

    margin-top:18px!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:0!important;
    align-items:stretch!important;

    border:0!important;
    border-radius:16px!important;
    overflow:hidden!important;

    background:transparent!important;
    box-shadow:
      0 0 16px rgba(255,32,25,.40),
      0 0 38px rgba(255,32,25,.18)!important;
  }

  .event-countdown>div{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;

    padding:18px 8px 15px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;

    border:2px solid #ff3127!important;
    border-left-width:1px!important;
    border-right-width:1px!important;
    border-radius:0!important;

    background:
      linear-gradient(180deg,#10141b 0%,#090c11 100%)!important;
  }

  .event-countdown>div:first-child{
    border-left-width:2px!important;
    border-radius:16px 0 0 16px!important;
  }

  .event-countdown>div:last-child{
    border-right-width:2px!important;
    border-radius:0 16px 16px 0!important;
  }

  .event-countdown strong{
    font-size:clamp(68px,4.9vw,94px)!important;
    line-height:.88!important;
    font-weight:900!important;
  }

  .event-countdown span{
    margin-top:18px!important;
    font-size:clamp(14px,.95vw,18px)!important;
  }

  /* Make the right artwork darker so the card reads like the reference. */
  .event-stage-overlay{
    background:
      linear-gradient(90deg,
        rgba(4,6,10,0) 0%,
        rgba(4,6,10,.02) 46%,
        rgba(4,6,10,.30) 61%,
        rgba(4,6,10,.72) 78%,
        rgba(4,6,10,.92) 100%)!important;
  }
}

/* v86: match user's SECOND reference image — desktop only */
@media (min-width:1101px) and (min-height:561px){
.event-stage-content{
 top:50%!important;right:22px!important;left:auto!important;bottom:auto!important;
 transform:translateY(-50%)!important;
 width:clamp(650px,43vw,800px)!important;min-width:650px!important;max-width:none!important;
 height:auto!important;max-height:none!important;padding:36px 38px 38px!important;
 border:2px solid #ff2a21!important;border-radius:24px!important;
 background:linear-gradient(180deg,rgba(8,11,15,.97),rgba(5,7,10,.985))!important;
 box-shadow:0 0 16px rgba(255,35,28,.42),0 0 42px rgba(255,35,28,.22),0 24px 70px rgba(0,0,0,.42)!important}
.event-badge{padding:9px 17px!important;font-size:14px!important;font-weight:800!important}
.event-stage h2{margin:22px 0 8px!important;font-size:clamp(58px,4vw,78px)!important;line-height:.96!important;letter-spacing:-2px!important}
.event-stage p{margin:0!important;font-size:clamp(19px,1.25vw,24px)!important}
.event-date-line{margin-top:10px!important;font-size:clamp(17px,1.1vw,21px)!important;font-weight:800!important}
.event-timezones{grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:22px!important}
.event-zone-box{min-height:94px!important;padding:16px 20px!important;border:1.5px solid #ff3027!important;border-radius:14px!important}
.event-zone-box span{font-size:13px!important;font-weight:800!important;margin-bottom:9px!important}
.event-zone-box strong{font-size:clamp(19px,1.35vw,25px)!important;line-height:1.12!important}
.event-countdown{width:100%!important;height:190px!important;min-height:190px!important;max-height:190px!important;margin-top:20px!important;padding:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;border:0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 0 18px rgba(255,35,28,.52),0 0 42px rgba(255,35,28,.23)!important}
.event-countdown>div{height:190px!important;min-height:190px!important;max-height:190px!important;padding:18px 6px 16px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;border:2px solid #ff3127!important;border-left-width:1px!important;border-right-width:1px!important;border-radius:0!important;background:linear-gradient(180deg,#10141b,#090c11)!important}
.event-countdown>div:first-child{border-left-width:2px!important;border-radius:16px 0 0 16px!important}
.event-countdown>div:last-child{border-right-width:2px!important;border-radius:0 16px 16px 0!important}
.event-countdown strong{font-size:clamp(74px,5vw,100px)!important;line-height:.88!important;font-weight:900!important}
.event-countdown span{margin-top:17px!important;font-size:clamp(15px,1.05vw,20px)!important;font-weight:900!important}
}
@media (min-width:1500px) and (min-height:700px){
.event-stage-content{width:clamp(720px,43vw,830px)!important;min-width:720px!important;padding:40px 42px!important}
}


/* =========================================================
   v87 — LARGE DESKTOP EVENT CARD
   Increase the whole counter panel, not just the numbers.
   Mobile/iPhone unchanged.
   ========================================================= */
@media (min-width:1101px) and (min-height:561px){

  .event-stage-content{
    top:50%!important;
    right:18px!important;
    left:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;

    width:45vw!important;
    min-width:700px!important;
    max-width:860px!important;

    height:82%!important;
    min-height:500px!important;
    max-height:640px!important;

    padding:34px 38px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;

    border:2px solid #ff2a21!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,rgba(8,11,15,.97),rgba(5,7,10,.985))!important;

    box-shadow:
      0 0 18px rgba(255,35,28,.46),
      0 0 46px rgba(255,35,28,.24),
      0 24px 70px rgba(0,0,0,.44)!important;
  }

  .event-badge{
    align-self:flex-start!important;
    padding:9px 17px!important;
    font-size:14px!important;
  }

  .event-stage h2{
    margin:18px 0 7px!important;
    font-size:clamp(60px,4.1vw,82px)!important;
    line-height:.96!important;
  }

  .event-stage p{
    font-size:clamp(20px,1.3vw,25px)!important;
  }

  .event-date-line{
    margin-top:8px!important;
    font-size:clamp(17px,1.1vw,22px)!important;
  }

  .event-timezones{
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
    margin-top:18px!important;
  }

  .event-zone-box{
    min-height:86px!important;
    padding:14px 18px!important;
  }

  .event-zone-box span{
    font-size:12px!important;
  }

  .event-zone-box strong{
    font-size:clamp(18px,1.25vw,24px)!important;
  }

  .event-countdown{
    width:100%!important;
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
    margin-top:18px!important;
  }

  .event-countdown>div{
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
  }

  .event-countdown strong{
    font-size:clamp(82px,5.5vw,112px)!important;
  }

  .event-countdown span{
    margin-top:18px!important;
    font-size:clamp(16px,1.05vw,21px)!important;
  }
}

/* Very wide desktop */
@media (min-width:1500px) and (min-height:700px){
  .event-stage-content{
    width:46vw!important;
    min-width:760px!important;
    max-width:900px!important;
    height:84%!important;
    max-height:680px!important;
  }

  .event-countdown,
  .event-countdown>div{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
}

/* === v58 DESKTOP-ONLY BANNER DOUBLE HEIGHT === */
/* Mobile/tablet rules are left exactly as before. */
@media (min-width:1100px){
  #adBanner,.hero-row > #adBanner,.ad-banner,.hero-banner,.banner-stage,.ad-slider{
    height:450px!important;min-height:450px!important;max-height:450px!important;
  }
}

/* === v88 DESKTOP BANNER HEIGHT FORCE FIX === */
@media screen and (min-width:1100px){
  html body #homeScreen .hero-row > #adBanner,
  html body #adBanner.ad-banner{
    height:540px!important;
    min-height:540px!important;
    max-height:540px!important;
  }
  html body #adBanner .ad-content,
  html body #adBanner .ad-layer,
  html body #adBanner .ad-content > a,
  html body #adBanner img{
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    width:100%!important;
    object-fit:cover!important;
  }
}


.ktv-header-actions .sports-header-btn,.ktv-header-actions .movies-header-btn{font-family:'SpedaKurd','Speda Kurdish',Inter,Arial,sans-serif;}

/* Sports navigation - aligned with Movies button */
.sports-header-btn{
  height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;
  border:1px solid rgba(255,92,47,.38);border-radius:11px;
  background:linear-gradient(180deg,rgba(255,91,39,.16),rgba(255,65,28,.07));
  color:#fff;font-weight:800;font-size:13px;text-decoration:none;
  box-shadow:0 0 22px rgba(255,70,30,.08);transition:.18s ease
}
.sports-header-btn:hover,.sports-header-btn:focus-visible{border-color:#ff5b2f;background:rgba(255,74,32,.16);transform:translateY(-1px)}
@media(max-width:760px){.sports-header-btn span{display:none}.sports-header-btn{width:40px;padding:0;justify-content:center}}

/* Movies navigation - merged build */
.movies-header-btn{
  height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;
  border:1px solid rgba(255,92,47,.38);border-radius:11px;
  background:linear-gradient(180deg,rgba(255,91,39,.16),rgba(255,65,28,.07));
  color:#fff;font-weight:800;font-size:13px;text-decoration:none;
  box-shadow:0 0 22px rgba(255,70,30,.08);transition:.18s ease
}
.movies-header-btn:hover{border-color:#ff5b2f;background:rgba(255,74,32,.16);transform:translateY(-1px)}
@media(max-width:760px){.movies-header-btn span{display:none}.movies-header-btn{width:40px;padding:0;justify-content:center}}

/* =========================================================
   KurdTV+ v57 — DESKTOP HERO / HEADER POLISH
   Desktop only: remove hero intro, use full-width 1200:250 banner,
   strengthen top logo and ticker. Mobile behavior stays unchanged.
   ========================================================= */
@media (min-width: 901px) {
  /* Remove desktop intro copy and let the banner own the full hero width. */
  .home-screen .hero-row{
    display:block!important;
    margin-bottom:30px!important;
  }
  .home-screen .hero-copy{
    display:none!important;
  }

  /* Banner artwork is designed around 1200 × 250 (4.8:1).
     Keeping that ratio prevents random cropping/stretching across desktops. */
  .home-screen #adBanner{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1200 / 250!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .home-screen #adBanner .ad-content,
  .home-screen #adBanner .ad-content > a,
  .home-screen #adBanner .ad-placeholder{
    width:100%!important;
    height:100%!important;
  }
  .home-screen #adBanner img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Top brand: larger logo with a soft glow and subtle breathing motion. */
  .ktv-header-v48{
    min-height:88px!important;
    padding-left:clamp(22px,2.4vw,42px)!important;
    padding-right:clamp(22px,2.4vw,42px)!important;
    background:linear-gradient(180deg,rgba(13,16,23,.97),rgba(8,10,15,.93))!important;
    box-shadow:0 10px 35px rgba(0,0,0,.24)!important;
  }
  .ktv-header-brand .brand{
    gap:13px!important;
  }
  .ktv-header-brand .brand img{
    width:58px!important;
    height:58px!important;
    object-fit:contain!important;
    filter:drop-shadow(0 0 9px rgba(255,90,47,.45)) drop-shadow(0 0 20px rgba(255,90,47,.18))!important;
    animation:ktvLogoBreathV57 3.6s ease-in-out infinite!important;
    transform-origin:center!important;
  }
  .ktv-header-brand .brand span{
    font-size:21px!important;
    font-weight:850!important;
    letter-spacing:.6px!important;
    text-shadow:0 2px 14px rgba(0,0,0,.35)!important;
  }

  /* Ticker: more premium glass panel, centered readable Kurdish text. */
  .ktv-header-ticker{
    border-left:0!important;
    padding:0 18px!important;
  }
  .ktv-ticker-viewport{
    height:44px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:14px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 24px rgba(0,0,0,.14)!important;
  }
  .ktv-header-ticker .brand-kurdish-line{
    height:44px!important;
    line-height:44px!important;
    padding:0 22px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:18px!important;
    letter-spacing:.1px!important;
    text-shadow:0 0 16px rgba(255,90,47,.18)!important;
  }
  .ktv-header-ticker .brand-motion-light{
    bottom:0!important;
    height:2px!important;
    width:120px!important;
    opacity:.9!important;
  }
}

@keyframes ktvLogoBreathV57{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 8px rgba(255,90,47,.38)) drop-shadow(0 0 17px rgba(255,90,47,.14));}
  50%{transform:scale(1.055);filter:drop-shadow(0 0 13px rgba(255,90,47,.62)) drop-shadow(0 0 28px rgba(255,90,47,.24));}
}


/* KurdTV+ v59 — DESKTOP BANNER NO-CROP, NO PILLARBOX FIX
   v58 forced every banner into a fixed 1200:250 box, which left white
   bars whenever an uploaded banner had a different shape. Instead we
   let #adBanner adopt each image's own aspect ratio (set via JS in
   app.js from the image's natural width/height), so the box always
   matches the picture exactly: no crop, no gaps, no white bars. */
@media (min-width: 901px) {
  .home-screen #adBanner{
    aspect-ratio:var(--ad-ratio, 1200 / 250) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    background:transparent !important;
  }
  .home-screen #adBanner .ad-content,
  .home-screen #adBanner .ad-content > a{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    background:transparent !important;
  }
  .home-screen #adBanner img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    background:transparent !important;
  }
}

/* KurdTV+ v60 — DESKTOP BANNER 30% SHORTER, NO WHITE GAPS
   Fixed box (no longer following each image's own ratio) so height is
   predictable, filled edge-to-edge with object-fit:cover — this is what
   removes the white side bars for good. Desktop only (min-width:901px);
   mobile is untouched by this block. */
@media (min-width: 901px) {
  .home-screen #adBanner{
    aspect-ratio:1200 / 175 !important;
  }
}

/* KurdTV+ v61 — DESKTOP BANNER: FIXED 1200x250 RATIO, SMALLER FOOTPRINT
   Back to the standard 1200:250 shape (upload banners at 1200x250px for a
   pixel-perfect, uncropped fill). object-fit:cover (set above) guarantees
   zero white gaps regardless of the exact source size. To stop the banner
   from dominating the page on wide desktops, the box itself is capped to
   a max-width and centered instead of stretching edge-to-edge — that's
   what makes it feel smaller. Desktop only; mobile is unaffected. */
@media (min-width: 901px) {
  .home-screen #adBanner{
    aspect-ratio:1200 / 250 !important;
    max-width:820px !important;
    margin:0 auto !important;
  }
}

/* KurdTV+ v63 — DESKTOP BANNER WIDTH x3 */
@media (min-width: 901px) {
  .home-screen #adBanner{
    max-width:2460px !important;
  }
}

/* KurdTV+ v62 — CLEAR CACHE HEADER BUTTON */
#clearCacheBtn.spinning svg{animation:ktvClearCacheSpin .7s linear infinite}
@keyframes ktvClearCacheSpin{to{transform:rotate(360deg)}}


/* === v62 TikTok LIVE beta support === */
.video-stage > .tiktok-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;display:block!important;background:#000!important;}
.video-stage > .tiktok-frame.media-hidden{display:none!important;}
.player.tiktok-mode .video-state{display:none!important;}
.player.tiktok-mode .video-stage{position:relative!important;overflow:hidden!important;background:#000!important;}
/* TikTok LIVE beta uses TikTok's own player controls. */
.player.tiktok-mode #playButton,.player.tiktok-mode #muteButton{display:none!important;}


/* === v63 TikTok LIVE embed compatibility/fallback === */
.tiktok-direct-fallback{position:absolute;right:12px;bottom:12px;z-index:12;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.28);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:700;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tiktok-direct-fallback[hidden]{display:none!important}
@media (max-width:700px){.tiktok-direct-fallback{right:8px;bottom:8px;padding:8px 11px;font-size:11px}}


/* v64: direct web/embed player */
.video-stage > .web-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;background:#000!important;display:block!important;}
.video-stage > .web-frame.media-hidden{display:none!important;}
.player.web-mode .video-state{display:none!important;}
.player.web-mode .video-stage{position:relative!important;overflow:hidden!important;background:#000!important;}
.player.web-mode #playButton,.player.web-mode #muteButton{display:none!important;}
.web-direct-fallback,.tiktok-direct-fallback{position:absolute;right:14px;bottom:14px;z-index:8;padding:9px 12px;border-radius:10px;background:rgba(15,18,25,.90);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-size:11px;font-weight:800;backdrop-filter:blur(10px)}
.web-direct-fallback[hidden],.tiktok-direct-fallback[hidden]{display:none!important;}


/* =========================================================
   KurdTV+ v66 — IN-PLAYER WEB VIEW
   ========================================================= */
.video-stage > .webview-shell{
  position:absolute!important;
  inset:0!important;
  z-index:8!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  background:#090b0f!important;
}
.video-stage > .webview-shell.media-hidden{display:none!important;}
.webview-toolbar{
  flex:0 0 42px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 9px 0 12px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  background:rgba(14,17,22,.98)!important;
  color:#fff!important;
  font-family:inherit!important;
}
.webview-status-dot{
  width:8px!important;height:8px!important;border-radius:50%!important;
  background:#48d17a!important;box-shadow:0 0 10px rgba(72,209,122,.65)!important;
  flex:0 0 auto!important;
}
.webview-address{
  flex:1 1 auto!important;min-width:0!important;height:28px!important;
  display:flex!important;align-items:center!important;
  padding:0 11px!important;border-radius:8px!important;
  background:#222731!important;border:1px solid rgba(255,255,255,.08)!important;
  color:#dce3ed!important;font-size:12px!important;font-weight:700!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.webview-btn{
  flex:0 0 30px!important;width:30px!important;height:30px!important;
  display:grid!important;place-items:center!important;
  border:1px solid rgba(255,255,255,.12)!important;border-radius:8px!important;
  background:#20252d!important;color:#fff!important;text-decoration:none!important;
  font-size:18px!important;font-weight:800!important;cursor:pointer!important;
}
.webview-btn:hover{background:#2c333d!important;}
.webview-shell .web-frame{
  position:relative!important;inset:auto!important;flex:1 1 auto!important;
  width:100%!important;height:calc(100% - 42px)!important;min-height:0!important;
  display:block!important;border:0!important;background:#fff!important;
}
.player.web-mode .stream-badge{display:none!important;}
.player.web-mode .video-stage{background:#090b0f!important;}
@media(max-width:700px){
  .webview-toolbar{height:38px!important;flex-basis:38px!important;padding:0 7px!important;gap:6px!important;}
  .webview-address{height:26px!important;font-size:10px!important;padding:0 8px!important;}
  .webview-btn{width:27px!important;height:27px!important;flex-basis:27px!important;font-size:16px!important;}
  .webview-shell .web-frame{height:calc(100% - 38px)!important;}
}

/* === v121 MOBILE MODAL / BOTTOM NAV STACKING FIX ===
   Contact, Disclaimer and Search sheets must sit above the fixed bottom bar. */
.overlay{
  z-index:120000 !important;
}

@media (max-width:620px){
  .overlay{
    z-index:120000 !important;
  }
  .overlay.open .sheet{
    position:relative;
    z-index:120001 !important;
  }
}

/* === v122 MOBILE CENTER MODAL + ENTRANCE MOTION === */
@media (max-width:620px){
  #contactOverlay,
  #disclaimerOverlay{
    align-items:center !important;
    justify-content:center !important;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom)) !important;
    overflow:hidden !important;
  }

  #contactOverlay.open,
  #disclaimerOverlay.open{
    animation:ktvMobileBackdropIn .22s ease-out both;
  }

  #contactOverlay .sheet,
  #disclaimerOverlay .sheet{
    width:min(430px, calc(100vw - 32px)) !important;
    max-height:min(78dvh, 620px) !important;
    margin:0 !important;
    border-radius:22px !important;
    transform-origin:center center;
  }

  #contactOverlay.open .sheet,
  #disclaimerOverlay.open .sheet{
    animation:ktvMobileModalIn .46s cubic-bezier(.16,1,.3,1) both !important;
  }

  #contactOverlay .info-sheet,
  #disclaimerOverlay .info-sheet{
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
}

@keyframes ktvMobileBackdropIn{
  from{opacity:0}
  to{opacity:1}
}

@keyframes ktvMobileModalIn{
  0%{opacity:0;transform:translateY(52px) scale(.88)}
  58%{opacity:1;transform:translateY(-5px) scale(1.015)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

@media (prefers-reduced-motion:reduce){
  #contactOverlay.open,
  #disclaimerOverlay.open,
  #contactOverlay.open .sheet,
  #disclaimerOverlay.open .sheet{
    animation:none !important;
  }
}


/* === v124 INSTANT CHANNEL THUMBNAIL WHILE STREAM CONNECTS ===
   The stream request starts normally; this only replaces the black loading
   screen with the selected channel artwork and a compact spinner. */
.video-state{overflow:hidden!important;background:#050608!important;}
.video-state::before{
  content:"";position:absolute;inset:-24px;z-index:-2;
  background:radial-gradient(circle at center,rgba(35,40,50,.88),#050608 68%);
}
.loading-channel-thumb{
  display:block;width:min(42%,240px);max-height:46%;object-fit:contain;
  border-radius:18px;padding:10px;background:rgba(255,255,255,.96);
  box-shadow:0 14px 40px rgba(0,0,0,.38);
  animation:channelThumbIn .28s cubic-bezier(.2,.8,.2,1) both;
}
.loading-channel-thumb[hidden]{display:none!important;}
.video-state .state-spinner{width:28px;height:28px;margin-top:3px;margin-bottom:0;}
.video-state strong{margin-top:1px;}
@keyframes channelThumbIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(max-width:620px){
  .loading-channel-thumb{width:min(46%,180px);max-height:42%;border-radius:14px;padding:7px;}
  .video-state{gap:6px;padding:14px;}
  .video-state strong{font-size:14px}.video-state small{font-size:10px}
}
@media(orientation:landscape) and (max-height:520px){
  .loading-channel-thumb{width:min(27%,150px);max-height:48%;padding:5px;border-radius:11px;}
  .video-state{gap:4px;padding:8px}.video-state .state-spinner{width:22px;height:22px;border-width:2px;}
  .video-state strong{font-size:12px}.video-state small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.loading-channel-thumb{animation:none!important;}}

/* === v125 SEARCH PANEL OPENS FROM TOP === */
#searchOverlay{
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:72px !important;
  padding-bottom:20px !important;
  overflow-y:auto !important;
}
#searchOverlay .search-sheet{
  margin:0 auto !important;
  max-height:calc(100dvh - 92px) !important;
  transform-origin:top center;
}
@media(max-width:620px){
  #searchOverlay{
    align-items:flex-start !important;
    padding:12px 12px calc(18px + env(safe-area-inset-bottom)) !important;
  }
  #searchOverlay .search-sheet{
    width:100% !important;
    max-height:calc(100dvh - 30px) !important;
    border-radius:18px !important;
  }
}

/* === v126 iPhone search: keep channel results visible above keyboard === */
@media (max-width:620px){
  #searchOverlay{
    height:var(--search-vvh,100dvh) !important;
    min-height:0 !important;
    padding:8px 10px !important;
    overflow:hidden !important;
  }
  #searchOverlay .search-sheet{
    height:calc(var(--search-vvh,100dvh) - 16px) !important;
    max-height:calc(var(--search-vvh,100dvh) - 16px) !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  #searchOverlay .sheet-head{flex:0 0 58px !important;height:58px !important;}
  #searchOverlay .search-box{flex:0 0 48px !important;margin:10px 12px 6px !important;}
  #searchOverlay .search-results{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    padding:2px 12px 12px !important;
  }
  #searchOverlay .search-row{height:58px !important;flex:0 0 58px !important;}
}

/* === v127 iPhone: pin search to the visible area ABOVE Safari keyboard === */
@media (max-width:620px){
  #searchOverlay.open{
    position:fixed !important;
    inset:auto 0 auto 0 !important;
    top:var(--search-vvtop, 0px) !important;
    height:var(--search-vvh, 100dvh) !important;
    max-height:var(--search-vvh, 100dvh) !important;
    padding:6px 8px !important;
    align-items:flex-start !important;
    overflow:hidden !important;
  }
  #searchOverlay .search-sheet{
    height:auto !important;
    max-height:calc(var(--search-vvh, 100dvh) - 12px) !important;
  }
  #searchOverlay .search-results{
    max-height:calc(var(--search-vvh, 100dvh) - 132px) !important;
  }
}

/* === v128 iPhone SEARCH: OPEN FROM TOP, GROW DOWN ===
   Do not use visualViewport.offsetTop here. iOS Safari can already reposition
   fixed layers when the keyboard opens, and adding offsetTop again pushes the
   search sheet down behind the keyboard. */
@media (max-width:620px){
  #searchOverlay,
  #searchOverlay.open{
    position:fixed !important;
    inset:0 0 auto 0 !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:var(--search-vvh, 100dvh) !important;
    max-height:var(--search-vvh, 100dvh) !important;
    display:none;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:max(8px, env(safe-area-inset-top)) 8px 8px !important;
    overflow:hidden !important;
  }

  #searchOverlay.open{
    display:flex !important;
  }

  #searchOverlay .search-sheet{
    position:relative !important;
    top:0 !important;
    bottom:auto !important;
    margin:0 auto !important;
    width:100% !important;
    height:calc(var(--search-vvh, 100dvh) - max(16px, env(safe-area-inset-top))) !important;
    max-height:calc(var(--search-vvh, 100dvh) - max(16px, env(safe-area-inset-top))) !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    border-radius:0 0 18px 18px !important;
    overflow:hidden !important;
    transform-origin:top center !important;
  }

  #searchOverlay.open .search-sheet{
    animation:ktvSearchTopDown .24s cubic-bezier(.2,.8,.2,1) both !important;
  }

  #searchOverlay .sheet-head{
    flex:0 0 58px !important;
    height:58px !important;
  }

  #searchOverlay .search-box{
    flex:0 0 48px !important;
    margin:10px 12px 6px !important;
  }

  #searchOverlay .search-results{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:2px 12px 12px !important;
  }
}

@keyframes ktvSearchTopDown{
  from{opacity:.3;transform:translateY(-28px)}
  to{opacity:1;transform:translateY(0)}
}

/* =========================================================
   KurdTV+ v60 — PREMIUM APK / IPA DOWNLOAD BUTTONS
   Files are served from uploads/apk/ and uploads/ipa/.
   ========================================================= */
.ktv-header-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}

.app-downloads{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.app-download-btn{
  position:relative;
  isolation:isolate;
  height:43px;
  min-width:86px;
  padding:0 11px 0 9px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  color:#fff;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 5px 14px rgba(0,0,0,.22);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.app-download-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(115deg,rgba(255,255,255,.13),transparent 42%);
  pointer-events:none;
}
.app-download-btn.apk{
  background:linear-gradient(145deg,#218b14 0%,#126b0b 53%,#0c5208 100%);
  border-color:rgba(117,255,98,.28);
}
.app-download-btn.ipa{
  background:linear-gradient(145deg,#0872c9 0%,#07549d 53%,#063d7b 100%);
  border-color:rgba(98,179,255,.32);
}
.app-download-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px rgba(0,0,0,.28);
}
.app-download-btn:active{transform:translateY(0) scale(.98)}
.app-download-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

.app-download-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:grid;
  place-items:center;
  color:#fff;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
}
.app-download-icon svg{width:100%;height:100%;display:block;fill:currentColor}
.app-download-icon.apple{width:27px;height:27px;flex-basis:27px}

.app-download-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  line-height:1;
}
.app-download-copy strong{
  display:block;
  font-size:12px;
  line-height:13px;
  font-weight:950;
  letter-spacing:.2px;
}
.app-download-copy small{
  display:block;
  margin-top:2px;
  font-size:7.5px;
  line-height:8px;
  font-weight:700;
  color:rgba(255,255,255,.78);
  letter-spacing:.05px;
}

/* Keep the three-zone header stable when the two app buttons are present. */
@media(max-width:1100px){
  .ktv-header-v48{gap:10px!important}
  .ktv-header-brand{gap:9px!important}
  .app-downloads{gap:5px}
  .app-download-btn{height:38px;min-width:72px;padding:0 8px 0 7px;gap:6px;border-radius:11px}
  .app-download-icon{width:21px;height:21px;flex-basis:21px}
  .app-download-icon.apple{width:23px;height:23px;flex-basis:23px}
  .app-download-copy strong{font-size:10.5px;line-height:11px}
  .app-download-copy small{font-size:6.5px;line-height:7px}
}

@media(max-width:760px){
  .ktv-header-brand{gap:6px!important}
  .app-downloads{gap:4px}
  .app-download-btn{height:34px;min-width:49px;width:49px;padding:0;justify-content:center;border-radius:10px}
  .app-download-icon{width:20px;height:20px;flex-basis:20px}
  .app-download-icon.apple{width:21px;height:21px;flex-basis:21px}
  .app-download-copy{display:none}
}

@media(max-width:620px) and (orientation:portrait){
  .ktv-header-v48{grid-template-columns:auto minmax(58px,1fr) auto!important;gap:5px!important}
  .ktv-header-brand{gap:4px!important}
  .ktv-header-brand .brand img{width:36px!important;height:36px!important}
  .app-download-btn{width:40px;min-width:40px;height:32px;border-radius:9px}
  .app-download-icon{width:18px;height:18px;flex-basis:18px}
  .app-download-icon.apple{width:19px;height:19px;flex-basis:19px}
}

@media(max-width:430px) and (orientation:portrait){
  .ktv-header-v48{padding-left:6px!important;padding-right:6px!important}
  .ktv-header-brand .brand img{width:32px!important;height:32px!important}
  .app-download-btn{width:35px;min-width:35px;height:30px}
  .app-download-icon{width:16px;height:16px;flex-basis:16px}
  .app-download-icon.apple{width:17px;height:17px;flex-basis:17px}
  .ktv-header-ticker .brand-kurdish-line{font-size:10px!important}
}

@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .ktv-header-brand{gap:5px!important}
  .app-download-btn{width:38px;min-width:38px;height:31px;padding:0;border-radius:9px;justify-content:center}
  .app-download-icon{width:17px;height:17px;flex-basis:17px}
  .app-download-icon.apple{width:18px;height:18px;flex-basis:18px}
  .app-download-copy{display:none}
}

@media(orientation:landscape) and (max-height:420px) and (max-width:760px){
  .app-download-btn{width:34px;min-width:34px;height:29px}
  .ktv-header-ticker .brand-kurdish-line{font-size:9px!important}
}

/* =========================================================
   KurdTV+ v27 — MOBILE APP DOWNLOAD BAR POLISH
   Keep APK / IPA readable on phones without crowding ticker.
   ========================================================= */
@media(max-width:620px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(72px,1fr) auto!important;
    gap:6px!important;
    min-height:68px!important;
    padding-left:max(7px,var(--safe-left))!important;
    padding-right:max(7px,var(--safe-right))!important;
  }

  .ktv-header-brand{
    gap:5px!important;
  }

  .ktv-header-brand .brand img{
    width:34px!important;
    height:34px!important;
  }

  .app-downloads{
    gap:4px!important;
  }

  .app-download-btn{
    width:55px!important;
    min-width:55px!important;
    height:32px!important;
    padding:0 5px!important;
    gap:4px!important;
    justify-content:center!important;
    border-radius:9px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 3px 9px rgba(0,0,0,.25)!important;
  }

  .app-download-icon,
  .app-download-icon.apple{
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
  }

  .app-download-copy{
    display:flex!important;
    align-items:flex-start!important;
  }

  .app-download-copy strong{
    font-size:8.5px!important;
    line-height:9px!important;
    letter-spacing:0!important;
  }

  .app-download-copy small{
    margin-top:1px!important;
    font-size:5.5px!important;
    line-height:6px!important;
    opacity:.88!important;
  }

  .ktv-header-ticker{
    padding-left:2px!important;
  }

  .ktv-header-ticker .brand-kurdish-line{
    font-size:10px!important;
    font-weight:850!important;
  }

  .ktv-header-actions{
    gap:4px!important;
  }

  .ktv-header-actions .movies-header-btn,
  .ktv-header-actions .sports-header-btn,
  .ktv-header-actions .icon-btn,
  .ktv-header-actions .search-open{
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    border-radius:10px!important;
    padding:0!important;
  }

  .ktv-header-actions .movies-header-btn span,
  .ktv-header-actions .sports-header-btn span{
    display:none!important;
  }
}

@media(max-width:430px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(48px,1fr) auto!important;
    gap:4px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }

  .ktv-header-brand{
    gap:3px!important;
  }

  .ktv-header-brand .brand img{
    width:30px!important;
    height:30px!important;
  }

  .app-downloads{gap:3px!important}

  .app-download-btn{
    width:50px!important;
    min-width:50px!important;
    height:30px!important;
    padding:0 4px!important;
    gap:3px!important;
    border-radius:8px!important;
  }

  .app-download-icon,
  .app-download-icon.apple{
    width:14px!important;
    height:14px!important;
    flex-basis:14px!important;
  }

  .app-download-copy strong{
    font-size:8px!important;
    line-height:8px!important;
  }

  .app-download-copy small{
    font-size:5px!important;
    line-height:5.5px!important;
  }

  .ktv-header-ticker .brand-kurdish-line{
    font-size:9px!important;
  }

  .ktv-header-actions{
    gap:3px!important;
  }

  .ktv-header-actions .movies-header-btn,
  .ktv-header-actions .sports-header-btn,
  .ktv-header-actions .icon-btn,
  .ktv-header-actions .search-open{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:9px!important;
  }
}

/* Phone landscape: retain compact labelled download buttons. */
@media(orientation:landscape) and (max-height:560px) and (max-width:1100px){
  .app-download-btn{
    width:52px!important;
    min-width:52px!important;
    height:30px!important;
    padding:0 4px!important;
    gap:3px!important;
  }
  .app-download-copy{display:flex!important}
  .app-download-copy strong{font-size:8px!important;line-height:8px!important}
  .app-download-copy small{font-size:5px!important;line-height:5.5px!important;margin-top:1px!important}
  .app-download-icon,.app-download-icon.apple{width:14px!important;height:14px!important;flex-basis:14px!important}
}


/* =========================================================
   KurdTV+ v28 — MOBILE HEADER DOWNLOAD BUTTON REFINEMENT
   ========================================================= */
@media(max-width:620px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(48px,1fr) auto!important;
    gap:6px!important;
    min-height:70px!important;
  }
  .ktv-header-brand{gap:6px!important}
  .app-downloads{gap:5px!important}
  .app-download-btn{
    width:58px!important;min-width:58px!important;height:36px!important;
    padding:0 6px!important;gap:5px!important;border-radius:10px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 4px 12px rgba(0,0,0,.30)!important;
  }
  .app-download-icon,.app-download-icon.apple{width:17px!important;height:17px!important;flex:0 0 17px!important}
  .app-download-copy strong{font-size:9px!important;line-height:9px!important}
  .app-download-copy small{font-size:5.5px!important;line-height:6px!important}
}
@media(max-width:430px) and (orientation:portrait){
  .ktv-header-v48{padding-left:5px!important;padding-right:5px!important;gap:4px!important}
  .ktv-header-brand .brand img{width:31px!important;height:31px!important}
  .app-downloads{gap:4px!important}
  .app-download-btn{width:54px!important;min-width:54px!important;height:34px!important;padding:0 5px!important;gap:4px!important}
  .app-download-icon,.app-download-icon.apple{width:16px!important;height:16px!important;flex-basis:16px!important}
  .app-download-copy strong{font-size:8.5px!important;line-height:9px!important}
  .app-download-copy small{font-size:5.2px!important;line-height:5.5px!important}
}


/* =========================================================
   KurdTV+ v29 — MOBILE DOWNLOAD BUTTON LEFT ALIGNMENT
   ========================================================= */
@media (max-width:620px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(70px,1fr) auto!important;
    gap:4px!important;
    padding-left:3px!important;
    padding-right:5px!important;
  }

  .ktv-header-brand{
    gap:2px!important;
    margin-left:-2px!important;
  }

  .ktv-header-brand .brand{
    margin-right:0!important;
  }

  .ktv-header-brand .brand img{
    width:32px!important;
    height:32px!important;
  }

  .app-downloads{
    gap:4px!important;
    margin-left:-1px!important;
  }

  .app-download-btn{
    width:58px!important;
    min-width:58px!important;
    height:35px!important;
    padding:0 5px!important;
    gap:4px!important;
    border-radius:10px!important;
  }

  .app-download-icon,
  .app-download-icon.apple{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
  }

  .app-download-copy strong{
    font-size:8.7px!important;
    line-height:9px!important;
  }

  .app-download-copy small{
    font-size:5.2px!important;
    line-height:5.5px!important;
  }

  .ktv-header-ticker{
    padding-left:2px!important;
    min-width:0!important;
  }
}

@media (max-width:430px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(62px,1fr) auto!important;
    padding-left:2px!important;
    gap:3px!important;
  }

  .ktv-header-brand{
    gap:1px!important;
    margin-left:-1px!important;
  }

  .ktv-header-brand .brand img{
    width:30px!important;
    height:30px!important;
  }

  .app-downloads{
    gap:3px!important;
    margin-left:-1px!important;
  }

  .app-download-btn{
    width:55px!important;
    min-width:55px!important;
    height:33px!important;
    padding:0 4px!important;
    gap:3px!important;
  }
}

/* =========================================================
   KurdTV+ v30 — PLACE APP BUTTONS IN THE OPEN MOBILE SPACE
   ========================================================= */
@media (max-width:620px) and (orientation:portrait){
  .ktv-header-v48{
    grid-template-columns:auto minmax(70px,1fr) auto!important;
    column-gap:4px!important;
    padding-left:4px!important;
    padding-right:5px!important;
  }

  .ktv-header-brand{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
    margin-left:0!important;
    overflow:visible!important;
  }

  .ktv-header-brand .brand{
    flex:0 0 auto!important;
    margin:0!important;
  }

  /* Move APK / IPA away from the logo and into the unused middle-left space. */
  .app-downloads{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-left:26px!important;
    transform:none!important;
  }

  .app-download-btn{
    width:58px!important;
    min-width:58px!important;
    height:35px!important;
    padding:0 5px!important;
    gap:4px!important;
    border-radius:10px!important;
  }

  .ktv-header-ticker{
    margin-left:0!important;
    padding-left:0!important;
  }
}

@media (max-width:430px) and (orientation:portrait){
  .app-downloads{
    margin-left:20px!important;
    gap:5px!important;
  }
  .app-download-btn{
    width:55px!important;
    min-width:55px!important;
    height:33px!important;
  }
}


/* === v31 EXACT HEADER FIX: Android robot + KurdTV+ outside logo box === */\n.ktv-header-brand .brand{\n  display:flex!important;align-items:center!important;overflow:visible!important;\n}\n.ktv-header-brand .brand span{\n  display:inline-flex!important;align-items:baseline!important;white-space:nowrap!important;\n  position:relative!important;z-index:3!important;\n}\n/* Keep the animated square/glow on the picture only; KurdTV+ text stays outside it. */\n.ktv-header-brand .brand::before{pointer-events:none!important;}\n.ktv-header-brand .brand::after{pointer-events:none!important;}\n.app-download-btn.apk .app-download-icon{width:25px!important;height:25px!important;flex-basis:25px!important;}\n.app-download-btn.apk .app-download-icon svg{width:100%!important;height:100%!important;display:block!important;fill:#fff!important;}\n@media(max-width:760px){\n  .ktv-header-brand .brand{gap:6px!important;}\n  .ktv-header-brand .brand span{font-size:12px!important;line-height:1!important;}\n  .app-download-btn.apk .app-download-icon{width:19px!important;height:19px!important;flex-basis:19px!important;}\n}\n@media(max-width:430px) and (orientation:portrait){\n  .ktv-header-brand .brand span{font-size:10px!important;}\n  .ktv-header-brand .brand::before{width:38px!important;height:38px!important;left:-3px!important;}\n}\n@media(orientation:landscape) and (max-height:400px) and (max-width:700px){\n  .ktv-header-brand .brand span{display:inline-flex!important;font-size:10px!important;}\n}\n
/* =========================================================
   KurdTV+ v133 — REFERENCE TOP BAR ONLY
   Exact compact layout: LOGO + KurdTV+ + APK + IPA
   ========================================================= */
.site-header.ktv-header-v48{
  height:78px!important;
  min-height:78px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:hidden!important;
  background:#0d0f14!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}

/* Reference has no ticker/search/contact in this top row. */
.site-header.ktv-header-v48 > .ktv-header-ticker,
.site-header.ktv-header-v48 > .ktv-header-actions{
  display:none!important;
}

.site-header.ktv-header-v48 .ktv-header-brand{
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  width:100%!important;
  gap:12px!important;
  margin:0!important;
  min-width:0!important;
  overflow:visible!important;
}

.site-header.ktv-header-v48 .brand{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  flex:0 0 auto!important;
  margin:0!important;
  min-width:0!important;
  text-decoration:none!important;
}

.site-header.ktv-header-v48 .brand img{
  width:43px!important;
  height:43px!important;
  padding:4px!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  border-radius:12px!important;
  background:#080a0e!important;
  border:1px solid rgba(255,174,61,.36)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 12px rgba(255,92,35,.24),
    0 0 25px rgba(255,92,35,.13)!important;
  animation:none!important;
  -webkit-animation:none!important;
  transform:none!important;
}

/* Disable old animated halo/orbit so the logo box matches the reference. */
.site-header.ktv-header-v48 .brand::before,
.site-header.ktv-header-v48 .brand::after{
  display:none!important;
  content:none!important;
}

.site-header.ktv-header-v48 .brand span{
  display:inline-flex!important;
  align-items:baseline!important;
  white-space:nowrap!important;
  font-size:17px!important;
  line-height:1!important;
  letter-spacing:.1px!important;
  color:#f2f3f5!important;
}
.site-header.ktv-header-v48 .brand span b{
  font-weight:800!important;
}
.site-header.ktv-header-v48 .brand span em{
  margin-left:3px!important;
  font-size:18px!important;
  font-style:normal!important;
  font-weight:950!important;
  color:#ff3346!important;
}

.site-header.ktv-header-v48 .app-downloads{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
}

.site-header.ktv-header-v48 .app-download-btn,
.site-header.ktv-header-v48 .app-download-btn.apk,
.site-header.ktv-header-v48 .app-download-btn.ipa{
  width:79px!important;
  min-width:79px!important;
  height:38px!important;
  padding:0 8px!important;
  gap:6px!important;
  justify-content:center!important;
  border-radius:11px!important;
  color:#fff!important;
  background:linear-gradient(180deg,#20252d 0%,#171b22 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 3px 8px rgba(0,0,0,.22)!important;
  filter:none!important;
  transform:none!important;
}
.site-header.ktv-header-v48 .app-download-btn::before{
  display:none!important;
}
.site-header.ktv-header-v48 .app-download-btn:hover{
  background:linear-gradient(180deg,#272d36 0%,#1b2028 100%)!important;
  transform:none!important;
  filter:none!important;
}

.site-header.ktv-header-v48 .app-download-icon,
.site-header.ktv-header-v48 .app-download-btn.apk .app-download-icon,
.site-header.ktv-header-v48 .app-download-icon.apple{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  color:#fff!important;
  filter:none!important;
}
.site-header.ktv-header-v48 .app-download-icon svg{
  width:100%!important;
  height:100%!important;
  fill:#fff!important;
}

.site-header.ktv-header-v48 .app-download-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  line-height:1!important;
}
.site-header.ktv-header-v48 .app-download-copy strong{
  font-size:10px!important;
  line-height:10px!important;
  font-weight:900!important;
  letter-spacing:0!important;
}
.site-header.ktv-header-v48 .app-download-copy small{
  margin-top:2px!important;
  font-size:6px!important;
  line-height:6px!important;
  font-weight:600!important;
  color:#aeb4be!important;
}

@media(max-width:430px){
  .site-header.ktv-header-v48{
    height:76px!important;
    min-height:76px!important;
    padding:0 10px!important;
  }
  .site-header.ktv-header-v48 .ktv-header-brand{
    gap:10px!important;
  }
  .site-header.ktv-header-v48 .brand{
    gap:8px!important;
  }
  .site-header.ktv-header-v48 .brand img{
    width:41px!important;
    height:41px!important;
  }
  .site-header.ktv-header-v48 .brand span{
    font-size:15px!important;
  }
  .site-header.ktv-header-v48 .brand span em{
    font-size:16px!important;
  }
  .site-header.ktv-header-v48 .app-download-btn,
  .site-header.ktv-header-v48 .app-download-btn.apk,
  .site-header.ktv-header-v48 .app-download-btn.ipa{
    width:76px!important;
    min-width:76px!important;
    height:37px!important;
    padding:0 7px!important;
    gap:5px!important;
  }
}

@media(max-width:360px){
  .site-header.ktv-header-v48{padding:0 7px!important}
  .site-header.ktv-header-v48 .ktv-header-brand{gap:7px!important}
  .site-header.ktv-header-v48 .brand{gap:6px!important}
  .site-header.ktv-header-v48 .brand img{width:38px!important;height:38px!important}
  .site-header.ktv-header-v48 .brand span{font-size:14px!important}
  .site-header.ktv-header-v48 .brand span em{font-size:15px!important}
  .site-header.ktv-header-v48 .app-downloads{gap:5px!important}
  .site-header.ktv-header-v48 .app-download-btn,
  .site-header.ktv-header-v48 .app-download-btn.apk,
  .site-header.ktv-header-v48 .app-download-btn.ipa{
    width:70px!important;
    min-width:70px!important;
    height:35px!important;
    padding:0 5px!important;
    gap:4px!important;
  }
  .site-header.ktv-header-v48 .app-download-icon,
  .site-header.ktv-header-v48 .app-download-btn.apk .app-download-icon,
  .site-header.ktv-header-v48 .app-download-icon.apple{
    width:18px!important;height:18px!important;flex-basis:18px!important
  }
  .site-header.ktv-header-v48 .app-download-copy strong{font-size:9px!important;line-height:9px!important}
  .site-header.ktv-header-v48 .app-download-copy small{font-size:5.5px!important;line-height:5.5px!important}
}

/* =========================================================
   KurdTV+ v135 — NEWS TICKER RESTORE
   Keep v133 top row, restore ticker directly underneath.
   ========================================================= */
.site-header.ktv-header-v48{
  height:116px!important;
  min-height:116px!important;
  padding:0!important;
  flex-direction:column!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.site-header.ktv-header-v48 .ktv-header-brand{
  height:78px!important;
  min-height:78px!important;
  flex:0 0 78px!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
}
.site-header.ktv-header-v48 > .ktv-header-actions{display:none!important}
.site-header.ktv-header-v48 > .ktv-header-ticker{
  display:flex!important;
  position:relative!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  align-items:center!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0 12px 0 50px!important;
  box-sizing:border-box!important;
  background:linear-gradient(90deg,#11141a 0%,#0b0e13 52%,#11141a 100%)!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
  border-bottom:1px solid rgba(255,73,45,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 5px 16px rgba(0,0,0,.16)!important;
}
.site-header.ktv-header-v48 > .ktv-header-ticker::before{
  content:'LIVE';
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  font:900 8px/1 Arial,sans-serif;
  letter-spacing:.7px;
  color:#fff;
  padding:5px 6px 5px 14px;
  border-radius:7px;
  background:linear-gradient(180deg,#ef3340,#b90f1d);
  box-shadow:0 0 12px rgba(239,51,64,.22);
  z-index:5;
}
.site-header.ktv-header-v48 > .ktv-header-ticker::after{
  content:'';
  position:absolute;
  left:18px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
  box-shadow:0 0 7px #fff;
  z-index:6;
  animation:ktvLivePulse 1.2s ease-in-out infinite;
}
@keyframes ktvLivePulse{50%{opacity:.3;transform:translateY(-50%) scale(.7)}}
.site-header.ktv-header-v48 .ktv-ticker-viewport{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
}
.site-header.ktv-header-v48 .ktv-header-ticker .brand-kurdish-line{
  position:absolute!important;
  inset:auto 0!important;
  width:100%!important;
  margin:0!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  direction:rtl!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:14px!important;
  line-height:38px!important;
  font-weight:750!important;
  color:#f4f5f7!important;
  text-shadow:0 1px 7px rgba(0,0,0,.65)!important;
}
.site-header.ktv-header-v48 .ktv-header-ticker .brand-motion-light{
  display:block!important;
  position:absolute!important;
  bottom:0!important;
  left:-25%!important;
  width:24%!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#ffb21c,#ff3346,transparent)!important;
  filter:drop-shadow(0 0 4px rgba(255,90,40,.8))!important;
  animation:ktvNewsSweep 5s linear infinite!important;
}
@keyframes ktvNewsSweep{to{left:110%}}
@media(max-width:430px){
  .site-header.ktv-header-v48{height:110px!important;min-height:110px!important}
  .site-header.ktv-header-v48 .ktv-header-brand{height:76px!important;min-height:76px!important;flex-basis:76px!important}
  .site-header.ktv-header-v48 > .ktv-header-ticker{height:34px!important;min-height:34px!important;flex-basis:34px!important;padding-left:45px!important;padding-right:6px!important}
  .site-header.ktv-header-v48 > .ktv-header-ticker::before{left:7px;font-size:7px;padding:4px 5px 4px 12px;border-radius:6px}
  .site-header.ktv-header-v48 > .ktv-header-ticker::after{left:12px;width:4px;height:4px}
  .site-header.ktv-header-v48 .ktv-header-ticker .brand-kurdish-line{font-size:11px!important;line-height:34px!important;padding:0 4px!important}
}


/* =========================================================
   KurdTV+ v137 — COMPACT RTL NEWS TICKER
   One Kurdish line travels across, then the next line follows.
   ========================================================= */
.site-header.ktv-header-v48 > .ktv-header-ticker{
  display:none !important;
}
.site-header.ktv-header-v48{
  height:76px !important;
  min-height:76px !important;
}

.ktv-news-ticker-v136{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  height:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 10px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:linear-gradient(90deg,#120d0d 0%,#0b0d12 35%,#080a0f 100%) !important;
  border-top:1px solid rgba(255,255,255,.04) !important;
  border-bottom:1px solid rgba(255,90,31,.28) !important;
  box-shadow:inset 0 -1px 0 rgba(255,174,0,.06),0 5px 16px rgba(0,0,0,.16) !important;
  z-index:30 !important;
}
.ktv-news-live{
  position:relative !important;
  flex:0 0 auto !important;
  height:22px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:0 8px !important;
  border-radius:7px !important;
  background:linear-gradient(180deg,#e92d39,#a90b16) !important;
  color:#fff !important;
  font:900 8px/1 Arial,sans-serif !important;
  letter-spacing:.6px !important;
  box-shadow:0 0 12px rgba(233,45,57,.24) !important;
  z-index:3 !important;
}
.ktv-news-live i{
  display:block !important;
  width:5px !important;
  height:5px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 0 6px #fff !important;
  animation:ktv137pulse 1.2s ease-in-out infinite !important;
}
.ktv-news-track{
  position:relative !important;
  flex:1 1 auto !important;
  height:100% !important;
  min-width:0 !important;
  margin-left:9px !important;
  overflow:hidden !important;
  direction:rtl !important;
}
.ktv-news-msg{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:none !important;
  padding:0 8px !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  overflow:visible !important;
  color:#f6f7f9 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:36px !important;
  text-align:right !important;
  text-shadow:0 1px 6px rgba(0,0,0,.75) !important;
  opacity:0 !important;
  will-change:transform,opacity !important;
}
/* line 1 comes in from the right, crosses left, then line 2 repeats */
.ktv-news-msg-a{
  animation:ktv137lineA 12s linear infinite !important;
}
.ktv-news-msg-b{
  animation:ktv137lineB 12s linear infinite !important;
}
.ktv-news-shine{
  position:absolute !important;
  left:-20% !important;
  bottom:0 !important;
  width:20% !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,#ffb31a,#ff3346,transparent) !important;
  filter:drop-shadow(0 0 4px rgba(255,90,40,.8)) !important;
  animation:ktv137shine 4.8s linear infinite !important;
}
@keyframes ktv137pulse{
  50%{opacity:.35;transform:scale(.72)}
}
@keyframes ktv137lineA{
  0%{opacity:0;transform:translateX(110%)}
  4%{opacity:1}
  43%{opacity:1;transform:translateX(-120vw)}
  48%,100%{opacity:0;transform:translateX(-120vw)}
}
@keyframes ktv137lineB{
  0%,50%{opacity:0;transform:translateX(110%)}
  54%{opacity:1}
  93%{opacity:1;transform:translateX(-120vw)}
  98%,100%{opacity:0;transform:translateX(-120vw)}
}
@keyframes ktv137shine{to{left:110%}}

@media(max-width:430px){
  .site-header.ktv-header-v48{
    height:64px !important;
    min-height:64px !important;
  }
  .site-header.ktv-header-v48 .ktv-header-brand{
    height:64px !important;
    min-height:64px !important;
    flex-basis:64px !important;
  }
  .ktv-news-ticker-v136{
    height:32px !important;
    min-height:32px !important;
    padding:0 6px !important;
  }
  .ktv-news-live{
    height:20px !important;
    padding:0 6px !important;
    gap:4px !important;
    font-size:7px !important;
  }
  .ktv-news-live i{width:4px !important;height:4px !important}
  .ktv-news-track{margin-left:5px !important}
  .ktv-news-msg{
    font-size:11px !important;
    line-height:32px !important;
    padding:0 5px !important;
  }
}

/* =========================================================
   KurdTV+ v138 — NEWS BANNER TICKER
   Framed banner + one line at a time: enter, pause, leave.
   ========================================================= */
.ktv-news-ticker-v136{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:calc(100% - 28px) !important;
  height:48px !important;
  min-height:48px !important;
  margin:8px 14px 10px !important;
  padding:0 14px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,77,45,.52) !important;
  border-radius:12px !important;
  background:
    radial-gradient(circle at 12% 50%,rgba(255,66,34,.13),transparent 28%),
    linear-gradient(90deg,#160d0d 0%,#0d0e13 42%,#080a0f 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(255,166,0,.08),
    0 0 0 1px rgba(255,91,35,.04),
    0 8px 25px rgba(0,0,0,.22),
    0 0 18px rgba(255,72,30,.08) !important;
}
.ktv-news-ticker-v136::before,
.ktv-news-ticker-v136::after{
  content:'›››' !important;
  position:absolute !important;
  top:50% !important;
  transform:translateY(-52%) !important;
  color:#ff4a35 !important;
  font:900 18px/1 Arial,sans-serif !important;
  letter-spacing:-2px !important;
  opacity:.9 !important;
  z-index:2 !important;
  pointer-events:none !important;
}
.ktv-news-ticker-v136::before{left:92px !important}
.ktv-news-ticker-v136::after{right:12px !important;transform:translateY(-52%) rotate(180deg) !important}
.ktv-news-live{
  position:relative !important;
  flex:0 0 auto !important;
  height:30px !important;
  min-width:68px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 11px !important;
  border-radius:8px !important;
  background:linear-gradient(180deg,#ff473d,#c20e1d) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
  font:900 11px/1 Arial,sans-serif !important;
  letter-spacing:.7px !important;
  box-shadow:0 0 16px rgba(255,49,49,.25) !important;
  z-index:4 !important;
}
.ktv-news-live i{
  width:6px !important;
  height:6px !important;
  background:#fff !important;
  box-shadow:0 0 7px #fff !important;
}
.ktv-news-track{
  position:relative !important;
  flex:1 1 auto !important;
  height:100% !important;
  min-width:0 !important;
  margin:0 34px 0 28px !important;
  overflow:hidden !important;
  direction:rtl !important;
}
.ktv-news-msg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  padding:0 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:#f8f8fb !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:48px !important;
  text-align:center !important;
  direction:rtl !important;
  opacity:0 !important;
  transform:translateX(105%) !important;
  text-shadow:0 1px 8px rgba(0,0,0,.82) !important;
  will-change:transform,opacity !important;
}
.ktv-news-msg-a{animation:ktv138LineA 10s cubic-bezier(.4,0,.2,1) infinite !important}
.ktv-news-msg-b{animation:ktv138LineB 10s cubic-bezier(.4,0,.2,1) infinite !important}
@keyframes ktv138LineA{
  0%{opacity:0;transform:translateX(105%)}
  6%{opacity:1;transform:translateX(0)}
  38%{opacity:1;transform:translateX(0)}
  46%{opacity:0;transform:translateX(-105%)}
  46.01%,100%{opacity:0;transform:translateX(105%)}
}
@keyframes ktv138LineB{
  0%,50%{opacity:0;transform:translateX(105%)}
  56%{opacity:1;transform:translateX(0)}
  88%{opacity:1;transform:translateX(0)}
  96%{opacity:0;transform:translateX(-105%)}
  96.01%,100%{opacity:0;transform:translateX(105%)}
}
.ktv-news-shine{
  display:block !important;
  position:absolute !important;
  left:-22% !important;
  bottom:0 !important;
  width:22% !important;
  height:2px !important;
  border-radius:99px !important;
  background:linear-gradient(90deg,transparent,#ffb41b,#ff3b34,transparent) !important;
  filter:drop-shadow(0 0 5px rgba(255,80,40,.95)) !important;
  animation:ktv138Shine 4.5s linear infinite !important;
}
@keyframes ktv138Shine{to{left:110%}}

@media(max-width:620px){
  .ktv-news-ticker-v136{
    width:calc(100% - 16px) !important;
    height:42px !important;
    min-height:42px !important;
    margin:6px 8px 8px !important;
    padding:0 8px !important;
    gap:7px !important;
    border-radius:10px !important;
  }
  .ktv-news-live{
    min-width:51px !important;
    height:26px !important;
    padding:0 7px !important;
    gap:4px !important;
    font-size:8px !important;
    border-radius:7px !important;
  }
  .ktv-news-live i{width:5px !important;height:5px !important}
  .ktv-news-ticker-v136::before{left:65px !important;font-size:14px !important}
  .ktv-news-ticker-v136::after{right:7px !important;font-size:14px !important}
  .ktv-news-track{margin:0 20px 0 13px !important}
  .ktv-news-msg{
    font-size:12px !important;
    line-height:42px !important;
    padding:0 4px !important;
  }
}


/* =========================================================
   KurdTV+ v139 — VISIBLE ADMIN-EDITABLE KURDISH TICKER
   Line 1 -> Line 2, slide in / hold / slide out.
   ========================================================= */
.ktv-news-ticker-v136{
  height:46px!important;
  min-height:46px!important;
  margin:8px 14px 10px!important;
  padding:0 12px!important;
  gap:10px!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
.ktv-news-track{
  position:relative!important;
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  height:46px!important;
  margin:0 28px 0 22px!important;
  overflow:hidden!important;
  direction:rtl!important;
}
.ktv-news-msg{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100%!important;
  max-width:100%!important;
  height:46px!important;
  margin:0!important;
  padding:0 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#fff!important;
  font-family:Arial,"Noto Sans Arabic",sans-serif!important;
  font-size:clamp(12px,1.25vw,16px)!important;
  font-weight:800!important;
  line-height:46px!important;
  text-align:center!important;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
  opacity:0!important;
  transform:translate3d(70px,0,0)!important;
  will-change:transform,opacity!important;
  text-shadow:0 1px 8px rgba(0,0,0,.9)!important;
}
.ktv-news-msg-a,
.ktv-news-msg-a.ktv-ticker-restart{
  animation:ktv139TickerLine 12s ease-in-out 0s infinite!important;
}
.ktv-news-msg-b,
.ktv-news-msg-b.ktv-ticker-restart{
  animation:ktv139TickerLine 12s ease-in-out 6s infinite!important;
}
@keyframes ktv139TickerLine{
  0%{opacity:0;transform:translate3d(70px,0,0)}
  9%{opacity:1;transform:translate3d(0,0,0)}
  39%{opacity:1;transform:translate3d(0,0,0)}
  48%{opacity:0;transform:translate3d(-70px,0,0)}
  49%,100%{opacity:0;transform:translate3d(-70px,0,0)}
}
@media(max-width:620px){
  .ktv-news-ticker-v136{height:40px!important;min-height:40px!important;margin:6px 8px 8px!important;padding:0 7px!important;gap:6px!important}
  .ktv-news-track{height:40px!important;margin:0 18px 0 8px!important}
  .ktv-news-msg{height:40px!important;line-height:40px!important;font-size:11px!important;padding:0 2px!important}
  .ktv-news-live{min-width:49px!important;height:25px!important;padding:0 6px!important;font-size:8px!important}
}
@media(max-width:390px){
  .ktv-news-msg{font-size:10px!important}
  .ktv-news-track{margin-right:14px!important;margin-left:4px!important}
}


/* =========================================================
   KurdTV+ v141 — FINAL VISIBLE TICKER FIX
   Admin DB text. One line enters -> holds -> exits -> next line.
   This block intentionally comes LAST to beat legacy ticker CSS.
   ========================================================= */
.ktv-news-ticker-v136{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:calc(100% - 28px)!important;
  height:46px!important;
  min-height:46px!important;
  margin:8px 14px 10px!important;
  padding:0 12px!important;
  gap:10px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:1px solid rgba(255,77,45,.52)!important;
  border-radius:11px!important;
  background:linear-gradient(90deg,#190d0d 0%,#0d0e13 42%,#090a0e 100%)!important;
}
.ktv-news-track{
  position:relative!important;
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  height:44px!important;
  margin:0 28px 0 22px!important;
  overflow:hidden!important;
  direction:rtl!important;
  z-index:4!important;
}
.ktv-news-msg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:44px!important;
  margin:0!important;
  padding:0 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#fff!important;
  visibility:visible!important;
  font-family:Arial,"Noto Sans Arabic",Tahoma,sans-serif!important;
  font-size:clamp(13px,1.25vw,17px)!important;
  font-weight:800!important;
  line-height:44px!important;
  text-align:center!important;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
  text-shadow:0 1px 8px rgba(0,0,0,.95)!important;
  will-change:transform,opacity!important;
}
.ktv-news-msg-a,
.ktv-news-msg-a.ktv-ticker-restart{
  animation:ktv141LineA 12s ease-in-out infinite!important;
}
.ktv-news-msg-b,
.ktv-news-msg-b.ktv-ticker-restart{
  animation:ktv141LineB 12s ease-in-out infinite!important;
}
@keyframes ktv141LineA{
  0%{opacity:0;transform:translate3d(90px,0,0)}
  6%{opacity:1;transform:translate3d(0,0,0)}
  43%{opacity:1;transform:translate3d(0,0,0)}
  49%{opacity:0;transform:translate3d(-90px,0,0)}
  50%,100%{opacity:0;transform:translate3d(90px,0,0)}
}
@keyframes ktv141LineB{
  0%,49%{opacity:0;transform:translate3d(90px,0,0)}
  50%{opacity:0;transform:translate3d(90px,0,0)}
  56%{opacity:1;transform:translate3d(0,0,0)}
  93%{opacity:1;transform:translate3d(0,0,0)}
  99%{opacity:0;transform:translate3d(-90px,0,0)}
  100%{opacity:0;transform:translate3d(90px,0,0)}
}
@media(max-width:620px){
  .ktv-news-ticker-v136{
    width:calc(100% - 16px)!important;
    height:40px!important;
    min-height:40px!important;
    margin:6px 8px 8px!important;
    padding:0 7px!important;
    gap:6px!important;
  }
  .ktv-news-track{
    height:38px!important;
    margin:0 18px 0 8px!important;
  }
  .ktv-news-msg{
    height:38px!important;
    line-height:38px!important;
    font-size:11px!important;
    padding:0 2px!important;
  }
  .ktv-news-live{
    min-width:49px!important;
    height:25px!important;
    padding:0 6px!important;
    font-size:8px!important;
  }
}


/* v143 — canonical admin ticker visibility guard */
.ktv-news-ticker-v136:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;}
.ktv-news-ticker-v136[hidden]{display:none!important;}




/* =========================================================
   KurdTV+ v145 — ORIGINAL TICKER POSITION RESTORED
   Keep top bar unchanged; admin ticker lives below header.
   ========================================================= */
.site-header.ktv-header-v48 > .ktv-header-ticker{display:none!important;}
.ktv-news-ticker-v136:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;}
.ktv-news-ticker-v136[hidden]{display:none!important;}


/* =========================================================
   KurdTV+ v146 — ORIGINAL BELOW-HEADER TICKER
   Preserve original placement and force visible when rendered.
   ========================================================= */
.site-header.ktv-header-v48 > .ktv-header-ticker{display:none!important;}
.ktv-news-ticker-v136{display:flex!important;visibility:visible!important;opacity:1!important;}


/* =========================================================
   KurdTV+ v147 — VERIFIED TICKER TEXT RENDER
   Do not depend on old stacked keyframe rules. JS swaps lines.
   ========================================================= */
.site-header.ktv-header-v48 > .ktv-header-ticker{display:none!important;}
.ktv-news-ticker-v136{display:flex!important;visibility:visible!important;opacity:1!important;}
.ktv-news-track{position:relative!important;overflow:hidden!important;}
.ktv-news-msg,
.ktv-news-msg-a,
.ktv-news-msg-b,
.ktv-news-msg-a.ktv-ticker-restart,
.ktv-news-msg-b.ktv-ticker-restart{
  animation:none!important;
  -webkit-animation:none!important;
  opacity:0!important;
  transform:none!important;
  visibility:hidden!important;
}
.ktv-news-msg.is-visible{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}

/* =========================================================
   KurdTV+ v148 — SMOOTH 4-SECOND TICKER TRANSITION
   Admin text remains unchanged. Each line changes every 4 sec.
   ========================================================= */
.ktv-news-msg,
.ktv-news-msg-a,
.ktv-news-msg-b,
.ktv-news-msg-a.ktv-ticker-restart,
.ktv-news-msg-b.ktv-ticker-restart{
  animation:none!important;
  -webkit-animation:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(42px,0,0)!important;
  transition:opacity .65s ease, transform .65s cubic-bezier(.22,.61,.36,1), visibility 0s linear .65s!important;
  -webkit-transition:opacity .65s ease, -webkit-transform .65s cubic-bezier(.22,.61,.36,1), visibility 0s linear .65s!important;
  will-change:opacity,transform!important;
}
.ktv-news-msg.is-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0)!important;
  transition-delay:0s!important;
}
.ktv-news-msg.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  transform:translate3d(-42px,0,0)!important;
}
@media (prefers-reduced-motion:reduce){
  .ktv-news-msg{transition:opacity .2s linear!important;transform:none!important;}
}


/* =========================================================
   KurdTV+ v149 — FINAL SMOOTH 4-SECOND TICKER
   One controller only. Strong visible slide/fade transition.
   ========================================================= */
.ktv-news-msg,
.ktv-news-msg-a,
.ktv-news-msg-b,
.ktv-news-msg-a.ktv-ticker-restart,
.ktv-news-msg-b.ktv-ticker-restart{
  animation:none!important;
  -webkit-animation:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(110px,0,0) scale(.985)!important;
  transition:
    opacity .78s cubic-bezier(.22,.61,.36,1),
    transform .78s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .78s!important;
  -webkit-transition:
    opacity .78s cubic-bezier(.22,.61,.36,1),
    -webkit-transform .78s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .78s!important;
}
.ktv-news-msg.is-entering{
  opacity:0!important;
  visibility:visible!important;
  transform:translate3d(110px,0,0) scale(.985)!important;
  transition-delay:0s!important;
}
.ktv-news-msg.is-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transition-delay:0s!important;
}
.ktv-news-msg.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  transform:translate3d(-110px,0,0) scale(.985)!important;
  transition-delay:0s!important;
}
@media(max-width:620px){
  .ktv-news-msg,
  .ktv-news-msg.is-entering{transform:translate3d(55px,0,0) scale(.99)!important;}
  .ktv-news-msg.is-visible{transform:translate3d(0,0,0) scale(1)!important;}
  .ktv-news-msg.is-leaving{transform:translate3d(-55px,0,0) scale(.99)!important;}
}
@media(prefers-reduced-motion:reduce){
  .ktv-news-msg{transition:opacity .2s linear!important;transform:none!important;}
}

/* =========================================================
   KurdTV+ v150 — SPEDA BOLD FOR KURDISH / ARABIC-SCRIPT TEXT
   Latin text keeps the existing fallback font via unicode-range.
   ========================================================= */
@font-face{
  font-family:'Speda Kurdish';
  src:url('assets/fonts/Speda-Bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;
}

body,
button,
input,
select,
textarea{
  font-family:'Speda Kurdish',inherit;
}

/* Ticker: explicitly use the supplied Kurdish font. */
.ktv-news-ticker-v136,
.ktv-news-msg,
#tickerLine1,
#tickerLine2,
.ktv-header-ticker{
  font-family:'Speda Kurdish',sans-serif!important;
  font-weight:700!important;
}

/* =========================================================
   KurdTV+ v151 — iPHONE SAFARI LOGO + TICKER MOTION FIX
   Safari-safe standard + -webkit animations. No layout move.
   ========================================================= */
@-webkit-keyframes ktvLogoBreathV151{
  0%,100%{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1);filter:brightness(1)}
  50%{-webkit-transform:translateZ(0) scale(1.075);transform:translateZ(0) scale(1.075);filter:brightness(1.13)}
}
@keyframes ktvLogoBreathV151{
  0%,100%{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1);filter:brightness(1)}
  50%{-webkit-transform:translateZ(0) scale(1.075);transform:translateZ(0) scale(1.075);filter:brightness(1.13)}
}

@media (max-width:760px){
  .site-header.ktv-header-v48 .brand img{
    -webkit-animation:ktvLogoBreathV151 3.2s ease-in-out infinite!important;
    animation:ktvLogoBreathV151 3.2s ease-in-out infinite!important;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    will-change:transform,filter;
  }

  .ktv-news-msg,
  .ktv-news-msg-a,
  .ktv-news-msg-b{
    -webkit-backface-visibility:hidden!important;
    backface-visibility:hidden!important;
    -webkit-transform:translate3d(55px,0,0)!important;
    transform:translate3d(55px,0,0)!important;
    will-change:opacity,transform!important;
  }
  .ktv-news-msg.is-visible{
    opacity:1!important;
    visibility:visible!important;
    -webkit-transform:translate3d(0,0,0)!important;
    transform:translate3d(0,0,0)!important;
  }
  .ktv-news-msg.is-leaving{
    opacity:0!important;
    visibility:visible!important;
    -webkit-transform:translate3d(-55px,0,0)!important;
    transform:translate3d(-55px,0,0)!important;
  }
}

/* =========================================================
   KurdTV+ v152 — SAFARI SMOOTH TICKER + LOGO BREATH GLOW
   Final override: sequential OUT -> IN ticker motion and
   breathing logo with breathing background halo.
   ========================================================= */
@-webkit-keyframes ktvLogoBreathGlowV152{
  0%,100%{
    -webkit-transform:translate3d(0,0,0) scale(1);
    transform:translate3d(0,0,0) scale(1);
    box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 0 10px rgba(255,92,35,.20),0 0 20px rgba(255,92,35,.10)!important;
    -webkit-filter:brightness(1);
    filter:brightness(1);
  }
  50%{
    -webkit-transform:translate3d(0,0,0) scale(1.085);
    transform:translate3d(0,0,0) scale(1.085);
    box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 0 18px rgba(255,117,40,.48),0 0 38px rgba(255,72,24,.28)!important;
    -webkit-filter:brightness(1.12);
    filter:brightness(1.12);
  }
}
@keyframes ktvLogoBreathGlowV152{
  0%,100%{
    -webkit-transform:translate3d(0,0,0) scale(1);
    transform:translate3d(0,0,0) scale(1);
    box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 0 10px rgba(255,92,35,.20),0 0 20px rgba(255,92,35,.10)!important;
    -webkit-filter:brightness(1);
    filter:brightness(1);
  }
  50%{
    -webkit-transform:translate3d(0,0,0) scale(1.085);
    transform:translate3d(0,0,0) scale(1.085);
    box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 0 18px rgba(255,117,40,.48),0 0 38px rgba(255,72,24,.28)!important;
    -webkit-filter:brightness(1.12);
    filter:brightness(1.12);
  }
}

.site-header.ktv-header-v48 .brand img{
  -webkit-animation:ktvLogoBreathGlowV152 3.6s ease-in-out infinite!important;
  animation:ktvLogoBreathGlowV152 3.6s ease-in-out infinite!important;
  -webkit-transform-origin:center center!important;
  transform-origin:center center!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  will-change:transform,box-shadow,filter!important;
}

/* Safari-friendly ticker states. JS controls each state sequentially. */
.ktv-news-track{
  position:relative!important;
  overflow:hidden!important;
  -webkit-transform:translateZ(0)!important;
  transform:translateZ(0)!important;
}
.ktv-news-msg,
.ktv-news-msg-a,
.ktv-news-msg-b{
  animation:none!important;
  -webkit-animation:none!important;
  opacity:0!important;
  visibility:hidden!important;
  -webkit-transform:translate3d(46px,0,0)!important;
  transform:translate3d(46px,0,0)!important;
  -webkit-transition:opacity .56s ease,-webkit-transform .66s cubic-bezier(.22,.61,.36,1)!important;
  transition:opacity .56s ease,transform .66s cubic-bezier(.22,.61,.36,1)!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  will-change:opacity,transform!important;
}
.ktv-news-msg.is-visible{
  opacity:1!important;
  visibility:visible!important;
  -webkit-transform:translate3d(0,0,0)!important;
  transform:translate3d(0,0,0)!important;
}
.ktv-news-msg.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  -webkit-transform:translate3d(-46px,0,0)!important;
  transform:translate3d(-46px,0,0)!important;
}
.ktv-news-msg.is-entering{
  opacity:0!important;
  visibility:visible!important;
  -webkit-transform:translate3d(46px,0,0)!important;
  transform:translate3d(46px,0,0)!important;
}

@media(max-width:760px){
  .site-header.ktv-header-v48 .brand img{
    -webkit-animation:ktvLogoBreathGlowV152 3.6s ease-in-out infinite!important;
    animation:ktvLogoBreathGlowV152 3.6s ease-in-out infinite!important;
  }
  .ktv-news-msg,.ktv-news-msg-a,.ktv-news-msg-b{
    -webkit-transition:opacity .52s ease,-webkit-transform .62s cubic-bezier(.22,.61,.36,1)!important;
    transition:opacity .52s ease,transform .62s cubic-bezier(.22,.61,.36,1)!important;
  }
}
\n\n/* v159 - unified professional Favorite controls */\n.favorite-heart-icon{\n  width:22px;height:22px;display:block;fill:transparent;stroke:currentColor;stroke-width:1.8;\n  stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease,fill .18s ease,stroke .18s ease;\n}\n.control-buttons .player-favorite-btn.professional-favorite{\n  color:#e7ebf2!important;border:1px solid rgba(255,255,255,.16)!important;\n  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 14px rgba(0,0,0,.18)!important;\n}\n.control-buttons .player-favorite-btn.professional-favorite:hover{\n  color:#fff!important;border-color:rgba(255,255,255,.28)!important;transform:translateY(-1px);\n}\n.control-buttons .player-favorite-btn.professional-favorite.active{\n  color:#ff4f64!important;border-color:rgba(255,79,100,.58)!important;\n  background:linear-gradient(180deg,rgba(255,79,100,.19),rgba(255,79,100,.08))!important;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(255,79,100,.18)!important;\n}\n.control-buttons .player-favorite-btn.professional-favorite.active .favorite-heart-icon{fill:currentColor;stroke:currentColor;transform:scale(1.06);}\n.control-buttons .player-favorite-btn.professional-favorite:active .favorite-heart-icon{transform:scale(.88);}\n.bottom-nav .nav-favorite-professional .favorite-heart-icon{margin:0 auto;fill:transparent;stroke:currentColor;stroke-width:1.8;}\n.bottom-nav .nav-favorite-professional:hover .favorite-heart-icon{transform:scale(1.08);}\n@media(max-width:620px){.favorite-heart-icon{width:20px;height:20px;}}\n

/* v222 — Live TV top-bar English / Kurdish language switch */
@font-face{font-family:SpedaKurd;src:url('assets/fonts/Speda-Bold.ttf') format('truetype');font-display:swap}
.live-language-switch{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid #26313d;border-radius:11px;background:#0b1118;flex:none}
.live-lang-btn{height:31px;min-width:44px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#9ca7b4;font-weight:850;font-size:12px;cursor:pointer;white-space:nowrap}
.live-lang-btn[data-lang="ku"]{font-family:SpedaKurd,Arial,sans-serif;font-size:13px}
.live-lang-btn.active{background:linear-gradient(90deg,#ff5c1e,#d7251b);color:#fff;box-shadow:0 5px 16px rgba(255,75,34,.2)}
@media(max-width:620px){.live-language-switch{gap:2px;padding:2px}.live-lang-btn{height:29px;min-width:38px;padding:0 6px;font-size:10px}.live-lang-btn[data-lang="ku"]{font-size:11px}}

/* v223 — keep Live TV language selector visible beside APK / IPA */
.site-header.ktv-header-v48 .app-downloads .live-language-switch-top{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  margin-left:5px!important;
  padding:2px!important;
  height:32px!important;
  box-sizing:border-box!important;
  border:1px solid #313946!important;
  border-radius:9px!important;
  background:#11151c!important;
  flex:0 0 auto!important;
}
.site-header.ktv-header-v48 .app-downloads .live-language-switch-top .live-lang-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:26px!important;min-width:34px!important;padding:0 6px!important;border:0!important;
  border-radius:7px!important;background:transparent!important;color:#b8c0cc!important;
  font-size:9px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;
}
.site-header.ktv-header-v48 .app-downloads .live-language-switch-top .live-lang-btn[data-lang="ku"]{
  min-width:45px!important;font-family:SpedaKurd,Arial,sans-serif!important;font-size:10px!important;
}
.site-header.ktv-header-v48 .app-downloads .live-language-switch-top .live-lang-btn.active{
  background:linear-gradient(90deg,#ff4c2b,#d71920)!important;color:#fff!important;
  box-shadow:0 3px 10px rgba(255,60,35,.22)!important;
}


/* v224 — Kurdish Live TV UI */
body.live-lang-ku .section-heading,
body.live-lang-ku .hero-copy,
body.live-lang-ku .admin-message-copy { direction: rtl; }
body.live-lang-ku .section-heading > div:first-child,
body.live-lang-ku .hero-copy { text-align: right; }

/* v225 — use the supplied Speda-Bold.ttf everywhere in Kurdish Live TV mode */
body.live-lang-ku,
body.live-lang-ku button,
body.live-lang-ku input,
body.live-lang-ku textarea,
body.live-lang-ku select,
body.live-lang-ku option,
body.live-lang-ku .bottom-nav,
body.live-lang-ku .site-header,
body.live-lang-ku .player,
body.live-lang-ku .overlay,
body.live-lang-ku .sheet,
body.live-lang-ku .category-bar,
body.live-lang-ku .channel-section,
body.live-lang-ku .site-footer{
  font-family:SpedaKurd,'Speda Kurdish',Arial,sans-serif!important;
}
body.live-lang-ku .bottom-nav span,
body.live-lang-ku .category-pill,
body.live-lang-ku .section-kicker,
body.live-lang-ku .watch-live-row,
body.live-lang-ku .strip-heading,
body.live-lang-ku .sheet-head,
body.live-lang-ku .contact-copy,
body.live-lang-ku .report-label,
body.live-lang-ku .report-channel,
body.live-lang-ku .ad-placeholder,
body.live-lang-ku .player-controls,
body.live-lang-ku .player-header{
  font-family:SpedaKurd,'Speda Kurdish',Arial,sans-serif!important;
}
body.live-lang-ku .sheet,
body.live-lang-ku .contact-sheet,
body.live-lang-ku .report-sheet,
body.live-lang-ku .disclaimer-text,
body.live-lang-ku .search-box input,
body.live-lang-ku .report-label,
body.live-lang-ku .report-channel{
  direction:rtl;
  text-align:right;
}
body.live-lang-ku .bottom-nav span{font-size:13px!important;line-height:1.25!important;}
body.live-lang-ku .category-pill{font-size:14px!important;}
body.live-lang-ku .ktv-news-live,
body.live-lang-ku .stream-badge,
body.live-lang-ku .event-badge{font-family:SpedaKurd,'Speda Kurdish',Arial,sans-serif!important;}
@media(max-width:620px){
  body.live-lang-ku .bottom-nav span{font-size:11px!important;}
  body.live-lang-ku .category-pill{font-size:12px!important;}
}

/* v227 — keep Kurdish bottom-nav labels compact on phones */
@media(max-width:620px){
  body.live-lang-ku .bottom-nav span{
    font-size:9px!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
  }
}
\n\n/* v228 — complete Sorani RTL mode */\nhtml[dir="rtl"], html[dir="rtl"] body{direction:rtl;}\nbody.live-lang-ku{font-family:SpedaKurd,'Speda Kurdish',Tahoma,Arial,sans-serif !important;}\nbody.live-lang-ku .site-header,\nbody.live-lang-ku .header-actions,\nbody.live-lang-ku .app-downloads,\nbody.live-lang-ku .section-heading,\nbody.live-lang-ku .strip-heading,\nbody.live-lang-ku .player-header,\nbody.live-lang-ku .player-controls,\nbody.live-lang-ku .sheet-head,\nbody.live-lang-ku .contact-row,\nbody.live-lang-ku .search-row{direction:rtl;text-align:right;}\nbody.live-lang-ku .section-heading>*,\nbody.live-lang-ku .player-title-wrap,\nbody.live-lang-ku .now-playing,\nbody.live-lang-ku .sheet-head>div,\nbody.live-lang-ku .contact-row>div,\nbody.live-lang-ku .search-row>div:last-child,\nbody.live-lang-ku .disclaimer-text{text-align:right;}\nbody.live-lang-ku .category-bar,\nbody.live-lang-ku .channel-grid,\nbody.live-lang-ku .channel-strip{direction:rtl;}\nbody.live-lang-ku .category-bar{margin-left:0;}\nbody.live-lang-ku .search-box{direction:rtl;}\nbody.live-lang-ku .search-box input{text-align:right;direction:rtl;}\nbody.live-lang-ku .bottom-nav{direction:rtl !important;}\nbody.live-lang-ku .bottom-nav>button{direction:rtl !important;}\nbody.live-lang-ku .bottom-nav>button span{text-align:center !important;direction:rtl !important;}\nbody.live-lang-ku .contact-handle{direction:ltr;unicode-bidi:isolate;}\n@media(max-width:620px){\n  body.live-lang-ku .bottom-nav{direction:rtl !important;}\n  body.live-lang-ku .category-bar{margin-right:0;margin-left:-13px;padding-right:0;padding-left:13px;}\n}\n
/* =========================================================
   v229 — cleaner desktop banner + redesigned category bar
   ========================================================= */

/* Category navigation: compact premium segmented cards */
.category-bar{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  padding:8px!important;
  margin:0 0 20px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(18,22,30,.96),rgba(11,14,20,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.16)!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.category-bar::-webkit-scrollbar{display:none!important;}
.category-pill{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.025)!important;
  color:#b8c0cc!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.category-pill:hover{
  transform:translateY(-1px)!important;
  color:#fff!important;
  border-color:rgba(255,92,47,.35)!important;
  background:rgba(255,92,47,.07)!important;
}
.category-pill.active{
  color:#fff!important;
  border-color:rgba(255,103,59,.55)!important;
  background:linear-gradient(135deg,#ff5b2f,#d9251c)!important;
  box-shadow:0 7px 20px rgba(229,55,27,.22),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.category-pill.active::before{
  content:"";
  width:6px;
  height:6px;
  margin-inline-end:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 10px rgba(255,255,255,.7);
}

/* Kurdish keeps the same design but follows full RTL flow. */
body.live-lang-ku .category-bar{direction:rtl!important;}
body.live-lang-ku .category-pill{font-family:SpedaKurd,'Speda Kurdish',Tahoma,Arial,sans-serif!important;font-size:14px!important;}

/* Desktop banner: stop it dominating the page. Keep a clean wide cinema strip. */
@media (min-width:901px){
  .home-screen{
    padding-top:28px!important;
  }
  .home-screen .hero-row{
    display:block!important;
    margin:0 0 28px!important;
  }
  .home-screen .hero-copy{display:none!important;}
  html body #homeScreen #adBanner.ad-banner,
  html body #homeScreen .hero-row > #adBanner{
    width:100%!important;
    max-width:1480px!important;
    height:clamp(180px,15.2vw,245px)!important;
    min-height:180px!important;
    max-height:245px!important;
    aspect-ratio:auto!important;
    margin:0 auto!important;
    border-radius:20px!important;
    border:1px solid rgba(255,102,57,.28)!important;
    overflow:hidden!important;
    background:#0b0e13!important;
    box-shadow:0 12px 34px rgba(0,0,0,.34),0 0 28px rgba(255,76,33,.10)!important;
    animation:none!important;
  }
  html body #homeScreen #adBanner .ad-content,
  html body #homeScreen #adBanner .ad-content > a,
  html body #homeScreen #adBanner .ad-placeholder{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  html body #homeScreen #adBanner img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .channel-section{
    padding-top:2px!important;
  }
}

/* Tablet/mobile: cleaner category scroller without changing banner sizing. */
@media (max-width:900px){
  .category-bar{
    gap:7px!important;
    padding:6px!important;
    border-radius:15px!important;
    margin-bottom:14px!important;
  }
  .category-pill{
    min-height:38px!important;
    padding:0 13px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }
  body.live-lang-ku .category-pill{font-size:12px!important;}
}

/* =========================================================
   v240 — PROFESSIONAL DESKTOP HOME REDESIGN
   Desktop only. Mobile/tablet rules below 1100px are untouched.
   ========================================================= */
@media (min-width:1100px){
  body:not(.player-open){
    background:
      radial-gradient(900px 430px at 50% 170px,rgba(255,74,35,.095),transparent 66%),
      linear-gradient(180deg,#080a0f 0%,#090b10 42%,#07090d 100%)!important;
  }

  .site-header.ktv-header-v48{
    height:68px!important;min-height:68px!important;
    padding:0 28px!important;
    flex-direction:row!important;align-items:center!important;
    background:rgba(8,10,15,.92)!important;
    border-bottom:1px solid rgba(255,255,255,.075)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.22)!important;
    backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
    overflow:visible!important;
  }
  .site-header.ktv-header-v48 .ktv-header-brand{
    width:100%!important;height:68px!important;min-height:68px!important;flex:1 1 auto!important;
    padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  }
  .site-header.ktv-header-v48 .brand{gap:10px!important}
  .site-header.ktv-header-v48 .brand img{width:42px!important;height:42px!important;filter:drop-shadow(0 0 12px rgba(255,83,35,.18))}
  .site-header.ktv-header-v48 .brand span{font-size:17px!important;font-weight:900!important;letter-spacing:.25px!important}
  .site-header.ktv-header-v48 .app-downloads{gap:8px!important;align-items:center!important}
  .site-header.ktv-header-v48 .app-download-btn{
    height:38px!important;min-height:38px!important;border-radius:11px!important;
    border-color:rgba(255,255,255,.10)!important;background:rgba(18,22,30,.92)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  }
  .site-header.ktv-header-v48 .live-language-switch-top{height:38px!important;border-radius:11px!important}

  .ktv-news-ticker-v136{
    width:calc(100% - 48px)!important;max-width:1600px!important;height:38px!important;min-height:38px!important;
    margin:12px auto 0!important;border-radius:12px!important;
    border:1px solid rgba(255,78,40,.28)!important;
    background:linear-gradient(90deg,rgba(42,15,13,.86),rgba(13,15,20,.95) 24%,rgba(13,15,20,.95) 76%,rgba(42,15,13,.86))!important;
    box-shadow:0 8px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
  }

  .home-screen{
    max-width:1580px!important;padding:22px 32px 90px!important;margin:0 auto!important;
  }
  .home-screen .hero-row{margin:0 0 30px!important}
  html body #homeScreen #adBanner.ad-banner,
  html body #homeScreen .hero-row > #adBanner{
    width:min(1180px,82vw)!important;max-width:1180px!important;
    height:250px!important;min-height:250px!important;max-height:250px!important;
    margin:0 auto!important;border-radius:22px!important;
    border:1px solid rgba(255,101,56,.24)!important;
    box-shadow:0 22px 55px rgba(0,0,0,.38),0 0 44px rgba(255,75,34,.10)!important;
  }

  .channel-section{
    padding:24px 24px 30px!important;border:1px solid rgba(255,255,255,.065)!important;border-radius:24px!important;
    background:linear-gradient(180deg,rgba(16,19,26,.76),rgba(10,12,17,.54))!important;
    box-shadow:0 20px 60px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.025)!important;
  }
  .section-heading{margin-bottom:18px!important;align-items:center!important}
  .section-kicker{font-size:11px!important;letter-spacing:1.7px!important;margin-bottom:7px!important}
  .section-heading h2{font-size:29px!important;line-height:1!important;letter-spacing:-.8px!important}
  .channel-count{font-size:12px!important;padding:7px 11px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:999px!important;background:rgba(255,255,255,.025)!important}

  .category-bar{
    width:auto!important;display:inline-flex!important;max-width:100%!important;
    padding:6px!important;margin:0 0 22px!important;gap:6px!important;border-radius:15px!important;
    background:rgba(8,10,15,.72)!important;border-color:rgba(255,255,255,.07)!important;
    box-shadow:none!important;
  }
  .category-pill{min-height:39px!important;padding:0 15px!important;border-radius:10px!important;font-size:12px!important}

  #channelGrid,.channel-grid{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:14px!important;
  }
  #channelGrid .channel-card,.channel-grid .channel-card{
    padding:9px!important;border-radius:16px!important;
    border:1px solid rgba(255,255,255,.075)!important;
    background:linear-gradient(180deg,rgba(21,25,34,.96),rgba(12,15,21,.98))!important;
    box-shadow:0 7px 20px rgba(0,0,0,.16)!important;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease!important;
  }
  #channelGrid .channel-card:hover,.channel-grid .channel-card:hover{
    transform:translateY(-5px)!important;border-color:rgba(255,92,47,.42)!important;
    background:linear-gradient(180deg,#191e29,#10141c)!important;
    box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 0 1px rgba(255,91,45,.06)!important;
  }
  #channelGrid .channel-logo,.channel-grid .channel-logo{
    width:100%!important;aspect-ratio:1.25/1!important;height:auto!important;margin:0 0 10px!important;
    border-radius:12px!important;background:#090b0f!important;border:1px solid rgba(255,255,255,.055)!important;
  }
  #channelGrid .channel-logo img,.channel-grid .channel-logo img{padding:7px!important;transition:transform .25s ease!important}
  #channelGrid .channel-card:hover .channel-logo img,.channel-grid .channel-card:hover .channel-logo img{transform:scale(1.035)!important}
  #channelGrid .channel-card>strong,.channel-grid .channel-card>strong{font-size:12px!important;line-height:1.25!important;font-weight:800!important;padding:0 2px!important}
  #channelGrid .channel-card>small,.channel-grid .channel-card>small{font-size:9.5px!important;margin-top:5px!important;padding:0 2px!important;color:#7f8998!important}

  .site-footer{max-width:1580px!important;padding-left:56px!important;padding-right:56px!important}
}

/* =========================================================
   v241 — TRUE FULL-WIDTH DESKTOP FIX
   Removes the old 67% desktop zoom that was shrinking the entire UI.
   Desktop only; mobile/tablet remain unchanged.
   ========================================================= */
@media (min-width:1100px){
  html{zoom:1!important;}
  body{transform:none!important;width:100%!important;margin-left:0!important;transform-origin:initial!important;}

  .site-header.ktv-header-v48{
    width:100%!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }
  .site-header.ktv-header-v48 .brand img{width:46px!important;height:46px!important;}
  .site-header.ktv-header-v48 .brand span{font-size:18px!important;}
  .site-header.ktv-header-v48 .app-download-btn,
  .site-header.ktv-header-v48 .live-language-switch-top{
    height:42px!important;min-height:42px!important;
  }

  .ktv-news-ticker-v136{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:10px 16px 0!important;
  }

  #homeScreen.home-screen,
  .home-screen{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:18px 18px 96px!important;
  }

  .home-screen .hero-row{
    width:100%!important;
    max-width:none!important;
    margin:0 0 22px!important;
  }

  html body #homeScreen #adBanner.ad-banner,
  html body #homeScreen .hero-row > #adBanner{
    width:min(86vw,1560px)!important;
    max-width:none!important;
    height:clamp(205px,14vw,280px)!important;
    min-height:205px!important;
    max-height:280px!important;
    margin:0 auto!important;
  }

  .channels-section,
  .channels-wrap,
  .channel-section{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .channel-section{
    padding:22px 22px 30px!important;
    border-radius:20px!important;
  }

  .section-heading{margin-bottom:16px!important;}
  .section-heading h2{font-size:30px!important;}
  .channel-count{font-size:12px!important;padding:7px 12px!important;}

  .category-bar{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    gap:8px!important;
    padding:7px!important;
    margin-bottom:18px!important;
  }
  .category-pill{
    min-height:42px!important;
    padding:0 18px!important;
    font-size:13px!important;
  }

  #channelGrid.channel-grid,
  #channelGrid,
  .channel-grid{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:14px!important;
  }

  #channelGrid .channel-card,
  .channel-grid .channel-card{
    padding:10px!important;
    border-radius:16px!important;
  }
  #channelGrid .channel-logo,
  .channel-grid .channel-logo{
    aspect-ratio:1.35/1!important;
    margin-bottom:10px!important;
  }
  #channelGrid .channel-card>strong,
  .channel-grid .channel-card>strong{font-size:13px!important;}
  #channelGrid .channel-card>small,
  .channel-grid .channel-card>small{font-size:10px!important;}

  .bottom-nav{
    min-height:64px!important;
  }
  .bottom-nav > button{
    min-width:104px!important;
    padding:10px 14px!important;
    font-size:12px!important;
  }

  .site-footer{
    width:100%!important;
    max-width:none!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }
}

/* =========================================================
   v242 — DESKTOP EDGE-TO-EDGE LAYOUT (CACHE-SAFE)
   Desktop only. Mobile/tablet rules remain untouched.
   ========================================================= */
@media screen and (min-width:1100px) {
  html, body, .site-shell {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    zoom:1 !important;
    transform:none !important;
  }

  .ktv-news-ticker-v136 {
    width:calc(100vw - 32px) !important;
    max-width:none !important;
    margin:12px 16px 0 !important;
  }

  main#homeScreen.home-screen {
    display:block !important;
    width:100vw !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:18px 16px 100px !important;
  }

  main#homeScreen > .hero-row {
    width:100% !important;
    max-width:none !important;
    margin:0 0 24px !important;
    padding:0 !important;
  }

  html body main#homeScreen #adBanner.ad-banner,
  html body main#homeScreen .hero-row > #adBanner.ad-banner {
    width:min(86vw,1500px) !important;
    max-width:none !important;
    height:clamp(220px,15vw,290px) !important;
    min-height:220px !important;
    max-height:290px !important;
    margin:0 auto !important;
  }

  main#homeScreen > section.channel-section {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:26px 28px 34px !important;
    border-radius:22px !important;
  }

  main#homeScreen .section-heading h2 {
    font-size:32px !important;
  }

  main#homeScreen .category-bar {
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    gap:10px !important;
    padding:8px !important;
    margin:0 0 22px !important;
  }

  main#homeScreen .category-pill {
    min-height:46px !important;
    padding:0 21px !important;
    font-size:14px !important;
    border-radius:11px !important;
  }

  main#homeScreen #channelGrid.channel-grid {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(8,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  main#homeScreen #channelGrid .channel-card {
    width:100% !important;
    min-width:0 !important;
    padding:11px !important;
  }

  main#homeScreen #channelGrid .channel-logo {
    width:100% !important;
    height:auto !important;
    aspect-ratio:1.3/1 !important;
  }

  main#homeScreen #channelGrid .channel-card > strong {
    font-size:14px !important;
  }
  main#homeScreen #channelGrid .channel-card > small {
    font-size:11px !important;
  }

  .bottom-nav {
    min-height:68px !important;
    padding:7px 10px !important;
  }
  .bottom-nav > button {
    min-width:116px !important;
    min-height:54px !important;
    padding:10px 16px !important;
    font-size:13px !important;
  }
}


/* =========================================================
   v243 — desktop banner fit + square channel art + install/bookmark popup
   ========================================================= */
.app-install-btn{
  height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:0 12px;border:1px solid rgba(255,255,255,.10);border-radius:11px;
  background:rgba(18,22,30,.94);color:#fff;font:inherit;font-size:11px;font-weight:850;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);white-space:nowrap;
}
.app-install-btn:hover{border-color:rgba(255,92,47,.55);background:rgba(255,92,47,.10)}
.app-install-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.install-sheet{width:min(560px,100%)!important}
.browser-install-card{width:calc(100% - 28px);margin:14px;border:1px solid rgba(90,172,255,.34);border-radius:16px;background:linear-gradient(135deg,rgba(26,101,184,.22),rgba(11,24,42,.94));color:#fff;padding:15px;display:flex;align-items:center;gap:13px;text-align:start;cursor:pointer}
.browser-install-card.can-install{border-color:rgba(60,207,126,.55);box-shadow:0 0 26px rgba(60,207,126,.10)}
.browser-install-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:grid;place-items:center;background:#17263b;font-size:27px}
.browser-install-card>span:last-child{display:flex;min-width:0;flex-direction:column;gap:4px}.browser-install-card strong{font-size:14px}.browser-install-card small{color:#aebbd0;line-height:1.45}
.native-app-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}.native-app-card{display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#0c121b;padding:13px}.native-app-card.is-disabled{opacity:.68}.native-app-card>div{display:flex;flex-direction:column;gap:3px}.native-app-card small{color:#8d99aa;font-size:10px}.native-app-icon{min-width:58px;height:34px;border-radius:9px;background:#151e2b;display:grid;place-items:center;font-size:9px;font-weight:900}.apple-mark{font-size:9px}
@media(max-width:620px){.app-install-btn{width:36px;min-width:36px;height:32px;padding:0}.app-install-btn span{display:none}.app-install-btn svg{width:17px;height:17px}.native-app-options{grid-template-columns:1fr}.browser-install-card{margin:12px;width:calc(100% - 24px)}}

/* Desktop: use the banner's own ratio and fit the whole image. No crop. */
@media screen and (min-width:901px){
  html body main#homeScreen #adBanner.ad-banner,
  html body main#homeScreen .hero-row > #adBanner.ad-banner,
  html body #homeScreen #adBanner.ad-banner,
  html body #homeScreen .hero-row > #adBanner.ad-banner{
    width:min(86vw,1500px)!important;
    height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:var(--ad-ratio,24 / 5)!important;
  }
  #adBanner .ad-content,#adBanner .ad-content>a,#adBanner .ad-content picture{width:100%!important;height:100%!important;display:block!important}
  #adBanner img{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
}

/* Desktop channel artwork: true square tile with image filling the tile, no black padding frame. */
@media screen and (min-width:901px){
  main#homeScreen #channelGrid .channel-logo,
  #channelGrid .channel-logo,.channel-grid .channel-logo{
    aspect-ratio:1 / 1!important;height:auto!important;background:transparent!important;padding:0!important;border-radius:14px!important;
  }
  main#homeScreen #channelGrid .channel-logo img,
  #channelGrid .channel-logo img,.channel-grid .channel-logo img{
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;object-fit:cover!important;object-position:center!important;
  }
}

/* Keep the Install / Bookmark control immediately beside the KurdTV+ brand on desktop. */
@media screen and (min-width:1100px){
  .site-header.ktv-header-v48 .ktv-header-brand{justify-content:flex-start!important;gap:14px!important}
  .site-header.ktv-header-v48 .app-downloads{margin-inline-start:0!important}
}


/* =========================================================
   v291 — FINAL VISIBLE DESKTOP FIXES
   These are deliberately last so legacy rules cannot override them.
   ========================================================= */
@media screen and (min-width:901px){
  /* Full banner visible at every desktop width, no crop and no letterbox margins. */
  html body #homeScreen #adBanner.ad-banner,
  html body main#homeScreen #adBanner.ad-banner{
    width:min(96vw,1600px)!important;
    aspect-ratio:24 / 5!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-inline:auto!important;
    overflow:hidden!important;
  }
  html body #adBanner .ad-content,
  html body #adBanner .ad-content>a,
  html body #adBanner .ad-content picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
  }
  html body #adBanner img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    object-fit:fill!important;
    object-position:center!important;
  }

  /* Channel artwork fills a real square. Remove the old inner black frame/padding. */
  html body #channelGrid .channel-logo,
  html body .channel-grid .channel-logo{
    width:100%!important;
    aspect-ratio:1 / 1!important;
    height:auto!important;
    padding:0!important;
    margin-bottom:10px!important;
    overflow:hidden!important;
    background:transparent!important;
    border-radius:14px!important;
  }
  html body #channelGrid .channel-logo img,
  html body .channel-grid .channel-logo img{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center!important;
    background:transparent!important;
  }

  /* Keep Install / Bookmark visually attached to the logo area. */
  html body .site-header.ktv-header-v48 .ktv-header-brand{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }
  html body .site-header.ktv-header-v48 .app-downloads{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0!important;
  }
  html body .site-header.ktv-header-v48 .app-install-btn{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* =========================================================
   v292 — exact requested desktop fixes; intentionally last.
   ========================================================= */
@media screen and (min-width:901px){
  html body[data-build="v292"] #homeScreen #adBanner.ad-banner{
    width:100%!important;max-width:1600px!important;aspect-ratio:24/5!important;height:auto!important;
    min-height:0!important;max-height:none!important;margin-inline:auto!important;overflow:hidden!important;
  }
  html body[data-build="v292"] #homeScreen #adBanner.ad-banner .ad-content,
  html body[data-build="v292"] #homeScreen #adBanner.ad-banner .ad-content>a,
  html body[data-build="v292"] #homeScreen #adBanner.ad-banner picture{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;
  }
  html body[data-build="v292"] #homeScreen #adBanner.ad-banner img{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
    object-fit:fill!important;object-position:center!important;padding:0!important;margin:0!important;
  }
  html body[data-build="v292"] #channelGrid .channel-logo{
    width:100%!important;aspect-ratio:1/1!important;height:auto!important;padding:0!important;
    overflow:hidden!important;background:transparent!important;border-radius:14px!important;
  }
  html body[data-build="v292"] #channelGrid .channel-logo img{
    display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
    max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;
    transform:scale(1.06)!important;padding:0!important;margin:0!important;background:transparent!important;
  }
}

/* v295 — real PWA install UI */
.pwa-install-card{min-height:84px!important;}
.pwa-install-icon{font-size:30px!important;font-weight:800;line-height:1!important;color:#fff;}
.pwa-install-card.can-install{border-color:rgba(55,225,125,.7)!important;box-shadow:0 0 28px rgba(55,225,125,.14)!important;}
.pwa-install-card.can-install .pwa-install-icon{background:rgba(38,167,91,.28)!important;}
.pwa-install-card.is-installed{opacity:.72;cursor:default!important;}
.pwa-install-status{min-height:24px;padding:0 16px 16px;color:#aebbd0;font-size:12px;line-height:1.55;text-align:start;}
.install-sheet .native-app-options{display:none!important;}

/* v297 cross-browser PWA install fallback */
.pwa-install-fallback{margin:0 14px 16px;padding:13px 14px;border:1px solid rgba(117,174,240,.28);border-radius:13px;background:rgba(7,17,30,.68);color:#dbe7f7;text-align:start;line-height:1.55}
.pwa-install-fallback[hidden]{display:none!important}
.pwa-install-fallback b{display:block;margin-bottom:5px;font-size:13px;color:#fff}
.pwa-install-fallback span{display:block;font-size:12px;color:#afc0d6}
html[dir="rtl"] .pwa-install-fallback{text-align:right}
\n\n/* =========================================================\n   v300 — iPhone/mobile card favorites match bottom-bar heart\n   ========================================================= */\n.favorite-toggle .card-favorite-heart{\n  width:19px!important;\n  height:19px!important;\n  display:block!important;\n  fill:none!important;\n  stroke:currentColor!important;\n  stroke-width:1.9!important;\n  stroke-linecap:round!important;\n  stroke-linejoin:round!important;\n  pointer-events:none!important;\n  transition:fill .16s ease,stroke .16s ease,transform .16s ease!important;\n}\n.favorite-toggle.active .card-favorite-heart{fill:currentColor!important;}\n\n@media (max-width:620px) and (pointer:coarse){\n  #channelGrid .favorite-toggle,\n  .channel-grid .favorite-toggle{\n    top:6px!important;\n    right:6px!important;\n    width:30px!important;\n    height:30px!important;\n    min-width:30px!important;\n    min-height:30px!important;\n    padding:0!important;\n    border-radius:9px!important;\n    border:1px solid rgba(255,255,255,.12)!important;\n    background:rgba(13,16,22,.82)!important;\n    color:#aeb7c5!important;\n    box-shadow:none!important;\n    -webkit-backdrop-filter:blur(8px)!important;\n    backdrop-filter:blur(8px)!important;\n    -webkit-tap-highlight-color:transparent!important;\n  }\n  #channelGrid .favorite-toggle .card-favorite-heart,\n  .channel-grid .favorite-toggle .card-favorite-heart{\n    width:17px!important;\n    height:17px!important;\n    stroke-width:1.9!important;\n  }\n  #channelGrid .favorite-toggle.active,\n  .channel-grid .favorite-toggle.active{\n    color:#ff4f64!important;\n    border-color:rgba(255,79,100,.30)!important;\n    background:rgba(255,79,100,.08)!important;\n  }\n  #channelGrid .favorite-toggle:active .card-favorite-heart,\n  .channel-grid .favorite-toggle:active .card-favorite-heart{transform:scale(.88)!important;}\n}\n

/* =========================================================
   v304 — fixed-height banners + player banner
   Desktop home banner uses the height shown in the user's second reference.
   Taller artwork is SHRUNK to fit in full instead of being cropped.
   ========================================================= */
.ad-fit-media{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#080b10!important;
}
.ad-fit-media picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.ad-banner img.ad-banner-bg{
  position:absolute!important;
  inset:-8%!important;
  width:116%!important;
  height:116%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:blur(18px) brightness(.46) saturate(.9)!important;
  transform:scale(1.04)!important;
  opacity:.58!important;
  pointer-events:none!important;
}
.ad-banner img.ad-banner-main,
.ad-banner picture img.ad-banner-main{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  background:transparent!important;
  z-index:1!important;
}

/* Desktop home banner: fixed target height, responsive only when the viewport
   is too narrow to preserve the standard 1200x250 footprint. */
@media screen and (min-width:901px){
  html body[data-build="v304"] main#homeScreen #adBanner.ad-banner{
    width:min(96vw,1600px)!important;
    height:min(268px,calc((100vw - 40px) / 4.8))!important;
    min-height:min(268px,calc((100vw - 40px) / 4.8))!important;
    max-height:268px!important;
    aspect-ratio:auto!important;
    margin-inline:auto!important;
    overflow:hidden!important;
  }
  html body[data-build="v304"] #homeScreen #adBanner .ad-content,
  html body[data-build="v304"] #homeScreen #adBanner .ad-content>a,
  html body[data-build="v304"] #homeScreen #adBanner .ad-fit-media,
  html body[data-build="v304"] #homeScreen #adBanner picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  html body[data-build="v304"] #homeScreen #adBanner img.ad-banner-main{
    object-fit:contain!important;
  }
  html body[data-build="v304"] #homeScreen #adBanner img.ad-banner-bg{
    object-fit:cover!important;
  }
}

/* Banner above the active channel player. It uses the same rotating ad but is
   intentionally shorter so the video and channel strip remain usable. */
.player{
  grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
}
.player-ad-wrap{
  width:100%!important;
  height:clamp(78px,10.5vh,110px)!important;
  min-height:78px!important;
  max-height:110px!important;
  padding:8px clamp(12px,5vw,72px)!important;
  background:#080a0f!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  overflow:hidden!important;
}
.player-ad-wrap[hidden]{display:none!important;}
.player-ad-banner{
  width:min(100%,1200px)!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  border-radius:14px!important;
  overflow:hidden!important;
  animation:none!important;
  background:#080b10!important;
}
.player-ad-banner .ad-content,
.player-ad-banner .ad-content>a,
.player-ad-banner .ad-fit-media,
.player-ad-banner picture{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
}
.player-ad-banner img.ad-banner-main{object-fit:contain!important;}
.player-ad-banner img.ad-banner-bg{object-fit:cover!important;}
.player.is-fullscreen .player-ad-wrap{display:none!important;}

@media screen and (max-width:900px){
  .player-ad-wrap{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    padding:5px 10px!important;
  }
  .player-ad-banner{border-radius:10px!important;}
}
@media screen and (max-width:620px){
  .player-ad-wrap{
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:4px 7px!important;
  }
}
@media (orientation:landscape) and (max-height:520px){
  .player-ad-wrap{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:3px 8px!important;
  }
  .player-ad-banner{border-radius:7px!important;}
}

/* =========================================================
   v304 — player banner full-width + synchronized rotation fix
   The player banner now uses the same 1200:250 (4.8:1) canvas as the
   desktop home banner, so standard ads fill the available width. Tall
   artwork remains fully visible with the soft background fill.
   ========================================================= */

/* Both home and player banners use the same two-layer crossfade state.
   Previously only #adBanner had these opacity rules, so playerAdBanner's
   second DOM layer could sit on top forever and make rotation look stuck. */
html body[data-build="v304"] .ad-banner .ad-layer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  z-index:1!important;
  pointer-events:none!important;
  transform:translate3d(0,0,0) scale(1.012)!important;
  transition:opacity .65s ease,transform .85s cubic-bezier(.22,.61,.36,1)!important;
  will-change:opacity,transform!important;
  backface-visibility:hidden!important;
}
html body[data-build="v304"] .ad-banner .ad-layer.is-active{
  opacity:1!important;
  z-index:2!important;
  pointer-events:auto!important;
  transform:translate3d(0,0,0) scale(1)!important;
}

@media screen and (min-width:901px){
  html body[data-build="v304"] .player-ad-wrap{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:10px 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  html body[data-build="v304"] .player-ad-wrap[hidden]{display:none!important;}
  html body[data-build="v304"] #playerAdBanner.player-ad-banner{
    /* 1286 / 268 ≈ 4.8, matching the standard banner shape. */
    width:min(calc(100vw - 32px),1286px)!important;
    height:min(268px,calc((100vw - 32px) / 4.8))!important;
    min-height:0!important;
    max-height:268px!important;
    aspect-ratio:4.8 / 1!important;
    margin:0 auto!important;
    border-radius:18px!important;
  }
  html body[data-build="v304"] #playerAdBanner img.ad-banner-main{
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* Tablet/mobile keep a compact banner, but preserve the same wide ratio so
   the artwork does not become a tiny strip in the middle. */
@media screen and (max-width:900px){
  html body[data-build="v304"] .player-ad-wrap{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:5px 8px!important;
    display:flex!important;
    justify-content:center!important;
  }
  html body[data-build="v304"] .player-ad-wrap[hidden]{display:none!important;}
  html body[data-build="v304"] #playerAdBanner.player-ad-banner{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4.8 / 1!important;
    border-radius:10px!important;
  }
}

/* =========================================================
   v304 — compact desktop player advertisement banner
   Keep the active-channel banner wide and readable without letting it
   dominate the desktop player. Home/mobile banner sizing is unchanged.
   ========================================================= */
@media screen and (min-width:901px){
  html body[data-build="v304"] .player-ad-wrap{
    padding:8px 16px!important;
  }
  html body[data-build="v304"] #playerAdBanner.player-ad-banner{
    width:min(calc(100vw - 96px),900px)!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:4.8 / 1!important;
    margin:0 auto!important;
    border-radius:14px!important;
  }
}

/* =========================================================
   v304 — half-height desktop player advertisement banner
   User requested the active-channel banner to be about half the v303 height.
   Keep the same desktop width and rotation, but compress the artwork to the
   shorter fixed canvas so the whole ad remains visible without cropping.
   Home/tablet/mobile banner sizing is unchanged.
   ========================================================= */
@media screen and (min-width:901px){
  html body[data-build="v304"] .player-ad-wrap{
    padding:6px 16px!important;
  }
  html body[data-build="v304"] #playerAdBanner.player-ad-banner{
    width:min(calc(100vw - 96px),900px)!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    aspect-ratio:auto!important;
    margin:0 auto!important;
    border-radius:12px!important;
  }
  html body[data-build="v304"] #playerAdBanner .ad-content,
  html body[data-build="v304"] #playerAdBanner .ad-content>a,
  html body[data-build="v304"] #playerAdBanner .ad-fit-media,
  html body[data-build="v304"] #playerAdBanner picture{
    width:100%!important;
    height:100%!important;
  }
  html body[data-build="v304"] #playerAdBanner img.ad-banner-main,
  html body[data-build="v304"] #playerAdBanner img.ad-banner-bg{
    width:100%!important;
    height:100%!important;
    object-fit:fill!important;
    object-position:center!important;
  }
}


/* v305 - Sports + Movies header buttons share one identical look on every screen size */
.ktv-header-actions .sports-header-btn,.ktv-header-actions .movies-header-btn{flex:0 0 auto;white-space:nowrap}
.ktv-header-actions .sports-header-btn.active,.ktv-header-actions .movies-header-btn.active{border-color:#ff5b2f;background:rgba(255,74,32,.22)}

.top-language-sports{display:flex;align-items:center;gap:8px}
.top-sports-btn{height:40px!important;min-width:40px;padding:0 12px!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,91,47,.35);background:rgba(255,91,47,.10);color:#fff;border-radius:12px;text-decoration:none;font-family:'SpedaKurd','Speda Kurdish',Inter,Arial,sans-serif;font-weight:850;white-space:nowrap}
.top-sports-btn:hover,.top-sports-btn:focus-visible{background:rgba(255,91,47,.18);border-color:#ff5b2f;transform:translateY(-1px)}
@media(max-width:760px){.top-sports-btn span{display:none}.top-sports-btn{width:40px;padding:0!important}.top-language-sports{gap:5px}}

/* V326 — iPhone/Safari-safe sports ball animation: animate a real DOM span, not a pseudo-element. */
.top-sports-btn{
  position:relative;
  overflow:visible;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  -webkit-transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.top-sports-btn .sports-ball{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  font-size:21px;
  line-height:1;
  transform-origin:center center;
  -webkit-transform-origin:center center;
  -webkit-animation:ktvSportsBall 2.1s ease-in-out infinite;
  animation:ktvSportsBall 2.1s ease-in-out infinite;
  will-change:transform;
  -webkit-will-change:transform;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.top-sports-btn .sports-label{position:relative;z-index:1}
.top-sports-btn:hover .sports-ball,.top-sports-btn:focus-visible .sports-ball{
  -webkit-animation:ktvSportsBallActive .75s ease-in-out infinite;
  animation:ktvSportsBallActive .75s ease-in-out infinite;
}
.top-sports-btn:hover,.top-sports-btn:focus-visible{
  box-shadow:0 0 0 1px rgba(255,91,47,.18),0 7px 22px rgba(255,91,47,.20);
}
@-webkit-keyframes ktvSportsBall{
  0%{-webkit-transform:translate3d(0,0,0) rotate(0deg) scale(1);transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  20%{-webkit-transform:translate3d(0,-3px,0) rotate(72deg) scale(1.08);transform:translate3d(0,-3px,0) rotate(72deg) scale(1.08)}
  45%{-webkit-transform:translate3d(0,1px,0) rotate(165deg) scale(.97);transform:translate3d(0,1px,0) rotate(165deg) scale(.97)}
  70%{-webkit-transform:translate3d(0,-3px,0) rotate(255deg) scale(1.08);transform:translate3d(0,-3px,0) rotate(255deg) scale(1.08)}
  100%{-webkit-transform:translate3d(0,0,0) rotate(360deg) scale(1);transform:translate3d(0,0,0) rotate(360deg) scale(1)}
}
@keyframes ktvSportsBall{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  20%{transform:translate3d(0,-3px,0) rotate(72deg) scale(1.08)}
  45%{transform:translate3d(0,1px,0) rotate(165deg) scale(.97)}
  70%{transform:translate3d(0,-3px,0) rotate(255deg) scale(1.08)}
  100%{transform:translate3d(0,0,0) rotate(360deg) scale(1)}
}
@-webkit-keyframes ktvSportsBallActive{
  0%,100%{-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}
  50%{-webkit-transform:scale(1.28) rotate(180deg);transform:scale(1.28) rotate(180deg)}
}
@keyframes ktvSportsBallActive{
  0%,100%{transform:scale(1) rotate(0deg)}
  50%{transform:scale(1.28) rotate(180deg)}
}
@media(max-width:760px){
  /* V327 — show both the football and translated label on phones; the previous
     mobile rule hid the label and left only the ball visible. */
  .top-sports-btn{
    width:auto!important;
    min-width:88px!important;
    height:40px!important;
    padding:0 10px!important;
    gap:6px!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  .top-sports-btn .sports-ball{width:22px;height:22px;flex:0 0 22px;font-size:21px}
  .top-sports-btn .sports-label{display:inline!important;position:relative;z-index:1;font-size:12px;white-space:nowrap}
}
/* Keep the ball animated even when the device reports reduced-motion; this is a small navigation affordance. */

}
