/* Flores365 premium newsroom Live TV module */
.f365tv-section{border-radius:15px;background:linear-gradient(125deg,rgba(25,44,54,.65),rgba(8,16,25,.9));border:1px solid rgba(207,170,109,.18);padding:clamp(16px,2.7vw,28px);margin-bottom:36px}
.f365tv-section .section-heading{margin-bottom:18px}
.f365tv-section .section-heading h2{margin-bottom:5px}
.f365tv-header-note{color:#a4b5c2;font-size:12px}
.f365tv-topline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 14px}
.f365tv-topline small{font:10px ui-monospace,monospace;color:#9db1bf}
.f365tv-live-pill{display:inline-flex;align-items:center;gap:7px;background:#60272a;color:#ffd8d8;border-radius:4px;padding:6px 11px;font-size:10px;font-weight:900;letter-spacing:.05em}
.f365tv-live-pill:before{content:"";height:7px;width:7px;background:#ff777b;border-radius:50%;box-shadow:0 0 8px #f35a5f}
.f365tv-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.78fr);gap:16px;align-items:start}
.f365tv-main{min-width:0}
.f365tv-player{position:relative;aspect-ratio:16/9;background:radial-gradient(circle at 62% 46%,#203747,#080e17 72%);border:1px solid #334858;border-radius:13px;overflow:hidden;display:grid;align-items:center;justify-items:center}
.f365tv-player video{display:block;width:100%;height:100%;object-fit:contain;background:#05080d}
.f365tv-player video[hidden]{display:none}
.f365tv-player iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:#05080d;z-index:2}
.f365tv-player iframe[hidden]{display:none!important}
.f365tv-placeholder{position:absolute;pointer-events:none;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:9px;text-align:center;color:#d5b77f;font-weight:800;letter-spacing:.04em}
.f365tv-placeholder span{font-size:clamp(28px,6vw,58px);opacity:.74}.f365tv-placeholder strong{font-size:clamp(12px,1.5vw,20px)}.f365tv-placeholder small{font-size:11px;color:#8599a7}
.f365tv-player:has(video:not([hidden])) .f365tv-placeholder,.f365tv-player:has(iframe:not([hidden])) .f365tv-placeholder{display:none}
.f365tv-current{display:flex;justify-content:space-between;gap:12px;align-items:start;margin:13px 0}
.f365tv-current h3{margin:4px 0;font-size:21px;color:#edf4f7}
.f365tv-current p{margin:0;font-size:11px;color:#8ea7b4}
.f365tv-pill{font-size:10px;color:#e4c488;border:1px solid #866a44;border-radius:999px;padding:6px 10px;white-space:nowrap}
.f365tv-message{min-height:20px;font-size:11px;color:#9bb1bf;line-height:1.5;margin:10px 0 13px}
.f365tv-message[data-state=error]{color:#ffb8b8}.f365tv-message[data-state=ok]{color:#a9da9f}
.f365tv-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.f365tv-controls button,.f365tv-controls a{border:1px solid #445461;background:#162b35;color:#d8e8ef;padding:9px 11px;border-radius:8px;font-size:11px;line-height:1.3;text-decoration:none;font-weight:700}
.f365tv-controls button:hover,.f365tv-controls a:hover{background:#273f49;color:#f3dfb1;border-color:#998057}
.f365tv-controls button:disabled{opacity:.36;cursor:not-allowed}
#f365tv-play{background:#d8b781;color:#18242b;border-color:#d8b781;font-weight:900}
.f365tv-guide{min-width:0;display:flex;flex-direction:column;border:1px solid #334755;background:rgba(9,18,26,.7);border-radius:12px;overflow:hidden}
.f365tv-guidehead{padding:14px 14px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.f365tv-guidehead h3{margin:0;color:#dfe9ef;font-size:15px}.f365tv-guidehead small{font:10px ui-monospace,monospace;color:#8ea3b2}
.f365tv-searchbox{padding:3px 13px 10px}
.f365tv-searchbox input{width:100%;border-radius:7px;padding:10px 12px;border:1px solid #354956;background:#12212a;color:#e8f0f2;font:12px "Manrope",sans-serif;outline:none}
.f365tv-searchbox input:focus{border-color:#d8b781}
.f365tv-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 12px 11px;scrollbar-width:none;scroll-snap-type:x proximity}
.f365tv-tabs::-webkit-scrollbar{display:none}
.f365tv-tabs button{white-space:nowrap;flex:0 0 auto;font-size:10px;border:1px solid #374956;background:#152530;color:#a6bccc;border-radius:7px;padding:8px 10px}
.f365tv-tabs button.active{background:#413e31;border-color:#af9362;color:#f4dcb0}
.f365tv-guide .f365tv-starfilter{margin:0 12px 10px;align-self:flex-start;font-size:10px;color:#e9cf9e;background:#1b2a30;border:1px solid #5e503a;padding:6px 10px;border-radius:7px}
.f365tv-guide .f365tv-starfilter.active{background:#483c28}
.f365tv-channels{padding:0 9px 9px;display:flex;flex-direction:column;gap:5px;max-height:460px;overflow:auto;overscroll-behavior:contain}
.f365tv-channel{display:flex;align-items:center;border:1px solid transparent;border-radius:8px;background:#111f2a;overflow:hidden}
.f365tv-channel.chosen{border-color:#ba965d;background:#283331}
.f365tv-pick{flex:1;min-width:0;text-align:left;display:flex;align-items:center;gap:10px;padding:9px;color:#cad9e2;background:none;border:0;cursor:pointer}
.f365tv-pick:hover{background:#263640}
.f365tv-monogram{flex:0 0 auto;width:39px;height:39px;border:1px solid #516474;border-radius:8px;display:grid;place-items:center;background:#243644;color:#d6bd92;font-weight:900;font-size:13px;letter-spacing:.03em}
.f365tv-identity{min-width:0;display:block}
.f365tv-identity strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f365tv-identity small{display:block;font-size:10px;color:#829eae;margin-top:4px}
.f365tv-star{flex:0 0 auto;background:none;color:#e1bd75;border:0;padding:12px;font-size:22px;cursor:pointer}
.f365tv-nomatches{color:#a9b7c2;font-size:12px;padding:10px}
.f365tv-caveat{margin:12px 0 0;color:#879fac;font-size:10px;line-height:1.6}
.f365tv-results-wrap[hidden]{display:none}
.f365tv-layout.with-results{grid-template-columns:minmax(0,1.3fr) minmax(210px,.55fr) minmax(220px,.6fr)}
.f365tv-results-wrap{border:1px solid #40535b;border-radius:12px;background:#0d1a24;padding:15px;min-width:0}
.f365tv-results-wrap h3{font-size:14px;margin:0 0 12px;color:#e4c18a}
.f365tv-results strong{display:block;font-size:13px;color:#e4c794}
.f365tv-results small{display:block;font-size:11px;color:#a1b3be;margin:9px 0;line-height:1.65}
.f365tv-results a{display:inline-block;margin-top:12px;font-size:11px;color:#d5b879}
.f365tv-result-race{margin:8px 0;padding:10px;border:1px solid #334957;border-radius:7px}
.f365tv-result-race b{display:block;font-size:11px;color:#dfe7ea}.f365tv-result-race span{font-size:10px;color:#e0c68c}
@media(max-width:1250px){.f365tv-layout.with-results{grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr)}.f365tv-layout.with-results .f365tv-results-wrap{grid-column:1/-1}}
@media(max-width:1050px){.f365tv-layout{grid-template-columns:1fr}.f365tv-channels{max-height:340px}}
@media(max-width:700px){.f365tv-section{padding:14px 11px}.f365tv-layout,.f365tv-layout.with-results{grid-template-columns:minmax(0,1fr)}.f365tv-layout.with-results .f365tv-results-wrap{grid-column:auto}.f365tv-current h3{font-size:17px}.f365tv-controls button,.f365tv-controls a{font-size:10px;padding:9px}.f365tv-player{border-radius:9px}.f365tv-channels{max-height:295px}}

.f365tv-monogram:has(img){width:54px;background:rgba(240,242,243,.96);border-color:rgba(255,255,255,.24);overflow:hidden}
.f365tv-monogram img{width:100%;height:100%;max-height:39px;object-fit:contain;display:block}

.f365tv-caveat a{color:#d6ba86;text-decoration:underline;text-underline-offset:3px}

/* Mobile All Channels: compact two-column channel tiles rather than one long
   oversized list. Other category views intentionally retain the original rows. */
@media (max-width:700px){
 .f365tv-channels.all-channel-view{
   display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
   gap:8px;padding:5px 9px 11px;max-height:390px;
   align-items:stretch;scrollbar-color:#546674 transparent;
 }
 .f365tv-channels.all-channel-view .f365tv-channel{
   position:relative;min-width:0;min-height:94px;align-items:stretch;
   background:linear-gradient(145deg,#152733,#0e1b27);
   border:1px solid #324751;border-radius:10px;
 }
 .f365tv-channels.all-channel-view .f365tv-channel.chosen{border-color:#cbaa73;background:#27352f}
 .f365tv-channels.all-channel-view .f365tv-pick{
   flex:1;flex-direction:column;align-items:flex-start;justify-content:center;
   gap:5px;padding:10px 28px 10px 11px;overflow:hidden;
 }
 .f365tv-channels.all-channel-view .f365tv-monogram{
   height:30px;width:41px;font-size:11px;border-radius:6px;
 }
 .f365tv-channels.all-channel-view .f365tv-monogram:has(img){width:51px;height:30px}
 .f365tv-channels.all-channel-view .f365tv-monogram img{max-height:28px}
 .f365tv-channels.all-channel-view .f365tv-identity{width:100%}
 .f365tv-channels.all-channel-view .f365tv-identity strong{
   font-size:10px;line-height:1.32;white-space:normal;
   display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
 }
 .f365tv-channels.all-channel-view .f365tv-identity small{font-size:9px;margin-top:2px}
 .f365tv-channels.all-channel-view .f365tv-star{
   position:absolute;right:1px;top:1px;padding:4px 7px;font-size:19px;
 }
 .f365tv-guidehead{gap:8px}
 .f365tv-guidehead small{white-space:nowrap}
}

/* 2026-10-22 Desktop channel guide repair: a flex-column with max-height
   otherwise shrinks every channel row when more channels are available than
   fit vertically. Make ROW HEIGHT non-shrinkable; scroll the guide instead. */
.f365tv-channels{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}
.f365tv-channels .f365tv-channel{
  flex:0 0 auto;
  flex-shrink:0;
  min-height:57px;
  width:100%;
}
.f365tv-channels .f365tv-pick{
  flex:1 1 0;
  min-width:0;
  min-height:55px;
  overflow:hidden;
}
.f365tv-channels .f365tv-identity{
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
}
.f365tv-channels .f365tv-identity strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.3;
}
.f365tv-channels .f365tv-identity small{
  line-height:1.3;
}
.f365tv-channels .f365tv-monogram{
  min-height:39px;
  overflow:hidden;
}
.f365tv-channels .f365tv-monogram:has(img){
  font-size:0;
  line-height:0;
}
.f365tv-channels .f365tv-monogram img{
  max-width:100%;
  height:100%;
  object-fit:contain;
}
.f365tv-channels .f365tv-star{
  min-width:43px;
  min-height:43px;
  align-self:center;
  line-height:1;
  display:grid;
  place-items:center;
}
@media(max-width:700px){
  /* Preserve the existing two-column All Channels mobile cards. */
  .f365tv-channels.all-channel-view .f365tv-channel{
    min-height:94px;
    width:auto;
  }
  .f365tv-channels.all-channel-view .f365tv-pick{
    min-height:92px;
  }
  .f365tv-channels.all-channel-view .f365tv-monogram{
    min-height:30px;
  }
  .f365tv-channels.all-channel-view .f365tv-star{
    min-height:28px;
    min-width:28px;
    display:grid;
    place-items:center;
    align-self:auto;
  }
}

/* Flo365 Mini-TV Phase 1: opt-in native player floating window with drag handle.
   The video node is never detached, avoiding HLS stream restarts. */
.f365tv-player-spacer{display:block;width:100%;aspect-ratio:16/9;min-height:0;background:#111f2a;border:1px dashed #375063;border-radius:12px}
.f365tv-player-spacer[hidden]{display:none!important}
.f365tv-mini-toolbar[hidden]{display:none!important}
.f365tv-mini-toolbar{display:flex;position:absolute;inset:0 0 auto 0;z-index:3;height:36px;
 align-items:stretch;gap:2px;padding:4px;
 background:linear-gradient(90deg,rgba(6,17,27,.96),rgba(14,35,48,.91));
 border-bottom:1px solid rgba(223,183,123,.45);pointer-events:auto}
.f365tv-mini-drag{min-width:0;flex:1;display:flex;gap:7px;align-items:center;padding:3px 9px;
 cursor:grab;touch-action:none;user-select:none;overflow:hidden;
 font:750 11px "Manrope",system-ui,sans-serif;color:#d3e2eb;border-radius:5px}
.f365tv-mini-drag:active{cursor:grabbing}
.f365tv-mini-drag:focus-visible,.f365tv-mini-toolbar button:focus-visible{outline:2px solid #e4c48b;outline-offset:-2px}
.f365tv-mini-live{color:#f5ad9d;font-size:9px;white-space:nowrap;letter-spacing:.06em}
#f365tv-mini-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f365tv-mini-grip{margin-left:auto;font-size:15px;color:#8ba4b0}
.f365tv-mini-toolbar button{flex:none;width:32px;border:1px solid #4b606c;border-radius:5px;background:#243d4d;
 color:#d7e5ed;font-size:15px;cursor:pointer}
.f365tv-mini-toolbar button:hover{background:#466274;color:#ffe3ac;border-color:#e0be84}
.f365tv-floating{position:fixed!important;z-index:390!important;left:auto;right:20px;
 bottom:calc(62px + env(safe-area-inset-bottom,0px));top:auto;
 width:min(380px,calc(100vw - 30px));height:auto;max-height:none;
 aspect-ratio:16/9;min-height:0;overflow:hidden;border:1px solid #d2ac72;border-radius:12px;
 background:#060d18;box-shadow:0 15px 50px rgba(0,0,0,.75),0 0 0 1px #e3c6931c;
 transition:box-shadow .15s ease}
.f365tv-floating:hover{box-shadow:0 16px 55px #000d,0 0 0 1px #e3c69370}
.f365tv-floating video{width:100%;height:100%;object-fit:contain}
#f365tv-mini-toggle[aria-pressed="true"]{color:#ffe1ab;border-color:#b99a65;background:#2c4a48}
@media(max-width:700px){
 .f365tv-floating{width:min(300px,calc(100vw - 22px));right:11px;bottom:calc(55px + env(safe-area-inset-bottom,0px));
  border-radius:9px}
 .f365tv-mini-toolbar{height:34px}
 .f365tv-mini-toolbar button{width:29px}
 .f365tv-mini-drag{font-size:10px}
}
@media(max-height:470px){
 .f365tv-floating{width:min(260px,calc(100vw - 22px));bottom:calc(49px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.f365tv-floating{transition:none}}

/* Make newly installed station logos easy to recognize on small iPhones. */
.f365tv-monogram:has(img){background:#f6f7f8;border-color:#758794}
.f365tv-monogram img{object-fit:contain;max-width:100%;max-height:100%}
@media(max-width:700px){
 .f365tv-channels.all-channel-view .f365tv-monogram:has(img){width:62px;height:38px;min-height:38px;border-radius:6px;padding:2px}
 .f365tv-channels.all-channel-view .f365tv-monogram img{max-height:34px;width:100%;height:100%;object-fit:contain}
 .f365tv-channels.all-channel-view .f365tv-channel{min-height:101px}
 .f365tv-channels.all-channel-view .f365tv-pick{min-height:99px}
}
