/* AdRevv HLL City Home — scoped to .hllch */
.hllch{
	--hllch-red:#d7262e;
	--hllch-red-d:#b81d24;
	--hllch-ink:#14171c;
	--hllch-body:#3b4149;
	--hllch-muted:#6b727c;
	--hllch-line:#e4e6ea;
	--hllch-bg:#f4f5f7;
	--hllch-card:#ffffff;
	--hllch-navy:#0d1626;
	--hllch-display:'Roboto Condensed','Arial Narrow',Arial,sans-serif;
	--hllch-radius:6px;
	color:var(--hllch-body);
	background:var(--hllch-bg);
	line-height:1.4;
	font-size:15px;
}
.hllch *,.hllch *::before,.hllch *::after{box-sizing:border-box;}
.hllch a{text-decoration:none;color:inherit;}
.hllch img{display:block;max-width:100%;}
.hllch h1,.hllch h2,.hllch h3,.hllch h4{margin:0;font-family:var(--hllch-display);color:var(--hllch-ink);letter-spacing:-.01em;}
.hllch p{margin:0;}
.hllch ul{list-style:none;margin:0;padding:0;}
.hllch .hllch-ic{flex:0 0 auto;}
.hllch-main{padding:0;margin:0;max-width:none;}

/* Full bleed when rendered inside a constrained theme container */
.hllch{width:100vw;position:relative;left:50%;margin-left:-50vw;}

/* ── HERO ───────────────────────────────────────── */
.hllch-hero{position:relative;min-height:300px;overflow:hidden;background:var(--hllch-navy);}
.hllch-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hllch-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,20,.78) 0%,rgba(8,12,20,.45) 45%,rgba(8,12,20,.1) 75%),linear-gradient(0deg,rgba(8,12,20,.45),transparent 50%);}
.hllch-hero__inner{position:relative;max-width:1520px;margin:0 auto;padding:36px 24px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:300px;}
.hllch-hero__kicker{display:flex;align-items:center;gap:8px;color:#fff;font-family:var(--hllch-display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.hllch-hero__kicker .hllch-ic{color:#f5a623;}
.hllch-hero__title{color:#fff !important;font-size:clamp(38px,5.4vw,64px);font-weight:800;line-height:1;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.hllch-hero__tags{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:14px;color:#fff;font-family:var(--hllch-display);font-weight:600;font-size:clamp(14px,1.4vw,19px);}
.hllch-hero__sep{opacity:.7;}
.hllch-hero__cards{display:flex;gap:14px;align-items:flex-start;align-self:flex-start;}

.hllch-wx{background:rgba(18,22,30,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;border-radius:var(--hllch-radius);padding:16px 18px;min-width:200px;}
.hllch-wx__now{display:flex;align-items:center;gap:12px;}
.hllch-wx__temp{font-family:var(--hllch-display);font-size:38px;font-weight:700;line-height:1;}
.hllch-wx__label{font-size:14px;margin-top:2px;}
.hllch-wx__hilo{font-size:13px;opacity:.9;}
.hllch-wx__loc{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:14px;}
.hllch-wx__loc strong{display:block;font-weight:600;}
.hllch-wx__loc a{color:#7fb6ff !important;text-decoration:underline !important;font-size:13px;}

.hllch-date{background:#fff;border-radius:var(--hllch-radius);overflow:hidden;min-width:160px;box-shadow:0 6px 20px rgba(0,0,0,.2);}
.hllch-date__head{background:var(--hllch-red);color:#fff;text-align:center;font-family:var(--hllch-display);font-weight:700;font-size:15px;line-height:1.15;padding:10px 8px;display:flex;flex-direction:column;}
.hllch-date a{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;color:var(--hllch-ink);border-top:1px solid var(--hllch-line);}
.hllch-date a .hllch-ic{color:var(--hllch-red);}
.hllch-date a:hover{background:#fbf1f1;}

/* ── CATEGORY BAR ───────────────────────────────── */
.hllch-cats{background:#fff;border-bottom:1px solid var(--hllch-line);}
.hllch-cats__track{max-width:1520px;margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;overflow-x:auto;scrollbar-width:none;}
.hllch-cats__track::-webkit-scrollbar{display:none;}
.hllch-cats a{display:flex;align-items:center;gap:8px;padding:13px 10px;white-space:nowrap;font-size:14px;color:var(--hllch-ink);border-bottom:3px solid transparent;}
.hllch-cats a .hllch-ic{color:var(--hllch-red);}
.hllch-cats a:hover{border-bottom-color:var(--hllch-red);}

/* ── LAYOUT ─────────────────────────────────────── */
.hllch-wrap{max-width:1520px;margin:0 auto;padding:16px 16px 28px;}
.hllch-row1{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr) minmax(0,1.1fr);gap:12px;}
.hllch-row2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;}
/* Home page: Row 2 is a separate wrap directly under Row 1 — drop its top padding so it sits snug.
   Scoped with .hllch--home so it beats the responsive .hllch-wrap padding rules at every width. */
.hllch--home .hllch-wrap--row2{padding-top:0;}
.hllch--home .hllch-wrap--row2 .hllch-row2{margin-top:0;}

.hllch-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--hllch-red);color:#fff;font-family:var(--hllch-display);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:3px;}
.hllch-btn{display:inline-block;background:var(--hllch-red);color:#fff !important;font-weight:600;font-size:15px;padding:9px 18px;border-radius:4px;transition:background .15s;}
.hllch-btn:hover{background:var(--hllch-red-d);}
.hllch-btn--sm{font-size:13px;padding:7px 14px;}
.hllch-pipe{opacity:.5;margin:0 2px;}
.hllch-empty{padding:28px 18px;text-align:center;color:var(--hllch-muted);font-size:14px;}
/* Upcoming Events fallback: community photo + 40% dark overlay + heavy "No Upcoming Events" */
.hllch-card:has(.hllch-events-empty){display:flex;flex-direction:column;}
.hllch-events-empty{position:relative;flex:1 1 auto;min-height:220px;border-radius:var(--hllch-radius);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;background-color:#2a2f38;background-position:center;background-size:cover;background-repeat:no-repeat;}
.hllch-events-empty::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.4);}
.hllch-events-empty__text{position:relative;z-index:1;color:#fff;font-family:var(--hllch-display);font-weight:800;font-size:clamp(20px,2vw,26px);line-height:1.15;letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.45);}
.hllch-empty--cta{display:flex;flex-direction:column;gap:8px;align-items:center;}
.hllch-empty--cta strong{color:var(--hllch-ink);font-size:16px;}

/* ── SLIDER ─────────────────────────────────────── */
.hllch-slider{position:relative;border-radius:var(--hllch-radius);overflow:hidden;background:var(--hllch-navy);min-height:400px;}
.hllch-slide{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s;}
.hllch-slide.is-active{opacity:1;visibility:visible;}
/* 16:9 image on top; navy bar below holds the title and fills the remaining height so the
   slider stays the same height as the side-stories column. (cap keeps a title bar on ultrawide) */
.hllch-slide > img{width:100%;aspect-ratio:16/9;object-fit:cover;flex:0 0 auto;max-height:calc(100% - 96px);}
.hllch-slide__shade{display:none;}
.hllch-slide__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:16px 22px;background:var(--hllch-navy);color:#fff;overflow:hidden;}
.hllch-slide__body h2{color:#fff;font-size:clamp(20px,2.1vw,30px);font-weight:800;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hllch-slide__body h2 a{color:#fff !important;}
.hllch-slide__body p{margin-top:8px;font-size:14.5px;max-width:560px;color:#cfd6e2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hllch-slide__meta{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;flex-wrap:wrap;}
.hllch-slide__meta .hllch-btn{margin-right:8px;}
.hllch-slider__nav{position:absolute;top:30%;z-index:3;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.hllch-slider__nav:hover{background:rgba(0,0,0,.8);}
.hllch-slider__prev{left:12px;}
.hllch-slider__next{right:12px;}
.hllch-slider__dots{position:absolute;right:20px;bottom:24px;z-index:3;display:flex;gap:8px;}
.hllch-slider__dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.8);cursor:pointer;}
.hllch-slider__dots button.is-active{background:var(--hllch-red);}

/* ── SIDE STORIES ───────────────────────────────── */
/* Right stack: compact cards with 16:9 thumbnails; cards distribute (space-between) to fill the
   column so its overall height matches the left slider. PHP renders ~6 so gaps stay tight. */
.hllch-side{display:flex;flex-direction:column;gap:8px;justify-content:space-between;}
.hllch-side__item{flex:0 0 auto;display:flex;align-items:center;background:var(--hllch-card);border:1px solid var(--hllch-line);border-radius:var(--hllch-radius);overflow:hidden;transition:box-shadow .15s;}
.hllch-side__item:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);}
.hllch-side__img{flex:0 0 42%;aspect-ratio:16/9;background:#dfe2e6;}
.hllch-side__img img{width:100%;height:100%;object-fit:cover;display:block;}
.hllch-side__body{flex:1;min-width:0;padding:8px 12px;display:flex;flex-direction:column;justify-content:center;gap:3px;}
.hllch-side__body strong{font-family:var(--hllch-display);font-size:15px;font-weight:700;color:var(--hllch-ink);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hllch-side__body small{font-size:12px;color:var(--hllch-muted);}
.hllch-side__item:hover strong{color:var(--hllch-red);}
/* Home variant: morning-report banner ad pinned at the top of the stacked column */
.hllch--home .hllch-side__ad{flex:0 0 auto;width:100%;background:#0e1118;border-radius:var(--hllch-radius);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:54px;}
.hllch--home .hllch-side__ad .ins-zone,.hllch--home .hllch-side__ad img,.hllch--home .hllch-side__ad iframe{display:block;width:100%;max-width:100%;height:auto;margin:0;}

/* ── LOOP TV ────────────────────────────────────── */
.hllch-tv{background:var(--hllch-navy);color:#fff;border-radius:var(--hllch-radius);padding:14px 16px;display:flex;flex-direction:column;}
.hllch-tv__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;}
.hllch-tv__live{display:flex;align-items:center;gap:8px;font-family:var(--hllch-display);font-weight:700;font-size:16px;text-transform:uppercase;}
.hllch-tv__live em{font-style:normal;color:#ff4148;}
.hllch-tv__yt{display:inline-flex;align-items:center;justify-content:center;width:22px;height:16px;background:var(--hllch-red);border-radius:4px;}
.hllch-tv__head a{display:flex;align-items:center;gap:2px;color:#7fb6ff !important;font-size:13px;text-decoration:underline !important;}
/* Stack order: Loop Report (audio) on top, then the "{City} Loop TV" header, then the live
   channel, then the schedule. (on-video channel/show overlay removed; channel name lives in the head) */
.hllch-audio,.hllch-tv__now{order:1;}
.hllch-tv__head{order:2;}
.hllch-tv__screen{order:3;}
.hllch-tv__sched{order:4;}
.hllch-tv__onair{display:none !important;}
.hllch-tv__screen{position:relative;aspect-ratio:16/9;background:#1a2436 linear-gradient(135deg,#1c2a44,#0f1726);border-radius:4px;overflow:hidden;}
.hllch-tv__screen img,.hllch-tv__screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hllch-tv__watch{position:absolute;left:14px;bottom:14px;z-index:2;display:flex;align-items:center;gap:8px;background:var(--hllch-red);color:#fff;border:0;border-radius:4px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer;}
.hllch-tv__watch:hover{background:var(--hllch-red-d);}
.hllch-tv__screen.is-playing .hllch-tv__watch,.hllch-tv__screen.is-playing img{display:none;}
.hllch-tv__now{padding:12px 0 10px;border-bottom:1px solid rgba(255,255,255,.18);}
.hllch-tv__now strong{display:block;font-family:var(--hllch-display);font-size:17px;}
.hllch-tv__now span{font-size:13px;color:#c9d1dc;}
.hllch-tv__sched li{display:flex;align-items:center;gap:14px;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.hllch-tv__sched li:last-child{border-bottom:0;}
.hllch-tv__sched time{flex:0 0 72px;color:#c9d1dc;}
.hllch-tv__sched span{color:#9cc4ff;}
.hllch-tv__sched b{background:var(--hllch-red);color:#fff;font-size:10px;padding:1px 5px;border-radius:2px;letter-spacing:.04em;}

/* ── CARDS ROW ──────────────────────────────────── */
.hllch-card{background:var(--hllch-card);border:1px solid var(--hllch-line);border-radius:var(--hllch-radius);padding:14px 16px;}
.hllch-card__head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--hllch-line);}
.hllch-card__head h3{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;}
.hllch-card__head h3 .hllch-ic{color:var(--hllch-red);}
.hllch-card__head a{display:flex;align-items:center;gap:2px;color:var(--hllch-red) !important;font-size:14px;white-space:nowrap;}

.hllch-events li{display:grid;grid-template-columns:50px 104px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hllch-line);}
.hllch-events li:last-child{border-bottom:0;}
.hllch-events__date{display:flex;flex-direction:column;border:1px solid var(--hllch-line);border-radius:4px;overflow:hidden;text-align:center;}
.hllch-events__date b{background:var(--hllch-red);color:#fff;font-size:13px;padding:3px 0;}
.hllch-events__date i{font-style:normal;font-family:var(--hllch-display);font-weight:700;font-size:22px;color:var(--hllch-ink);padding:3px 0;}
.hllch-events__img{display:block;aspect-ratio:3/2;background:#e3e6ea;border-radius:3px;overflow:hidden;}
.hllch-events__img img{width:100%;height:100%;object-fit:cover;}
.hllch-events__body{display:flex;flex-direction:column;gap:2px;}
.hllch-events__body a{font-family:var(--hllch-display);font-weight:700;font-size:16px;color:var(--hllch-ink);line-height:1.2;}
.hllch-events__body a:hover{color:var(--hllch-red);}
.hllch-events__body small{font-size:13px;color:var(--hllch-muted);}

.hllch-biz{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(0,1fr);gap:8px;padding-top:10px;}
.hllch-biz--single{grid-template-columns:1fr;}
.hllch-biz__hero{position:relative;display:block;aspect-ratio:16/8;background:#e3e6ea;border-radius:3px;overflow:hidden;}
.hllch-biz__hero img{width:100%;height:100%;object-fit:cover;}
.hllch-biz__hero .hllch-badge{top:10px;left:10px;font-size:11px;}
.hllch-biz__attr{position:absolute;left:0;right:0;bottom:0;z-index:2;font-size:10px;line-height:1.3;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);padding:12px 8px 4px;pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.hllch-biz__attr[hidden]{display:none;}
.hllch-biz h4{font-size:20px;font-weight:700;margin-top:10px;}
.hllch-biz h4 a:hover{color:var(--hllch-red);}
.hllch-biz p{font-size:14px;margin:4px 0 10px;}
.hllch-biz__thumbs{display:flex;flex-direction:column;gap:8px;}
.hllch-biz__thumbs a{flex:1;min-height:60px;border-radius:3px;overflow:hidden;background:#e3e6ea;}
.hllch-biz__thumbs img{width:100%;height:100%;object-fit:cover;}

.hllch-comm li{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--hllch-line);}
.hllch-comm li:last-child{border-bottom:0;}
.hllch-comm__img{flex:0 0 90px;height:52px;border-radius:3px;overflow:hidden;background:#e3e6ea;}
.hllch-comm__img img{width:100%;height:100%;object-fit:cover;}
.hllch-comm span{display:flex;flex-direction:column;gap:3px;min-width:0;}
.hllch-comm span a{font-family:var(--hllch-display);font-weight:700;font-size:15px;color:var(--hllch-ink);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hllch-comm span a:hover{color:var(--hllch-red);}
.hllch-comm small{font-size:13px;color:var(--hllch-muted);}
/* Features section ("more across the Loop") — reuses the Row 2 grid.
   Feature cards (City Hall, Ask the Framers) = header + one clickable graphic that fills the card. */
.hllch-card--feature{display:grid;grid-template-rows:auto 1fr;}
.hllch-feature{display:grid;grid-template-rows:1fr;min-height:150px;border-radius:var(--hllch-radius);overflow:hidden;background:#e3e6ea;}
.hllch-feature img{width:100%;height:100%!important;min-height:0;object-fit:cover;display:block;}

.hllch-debug{font:12px/1.5 monospace;background:#111;color:#9fe1cb;padding:12px;margin:0;white-space:pre-wrap;}

/* ── RESPONSIVE ─────────────────────────────────── */
@media (max-width:1200px){
	.hllch-row1{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);}
	/* TV block is full-width here and stacks vertically (flex from base), so the order stays
	   Loop Report -> {City} Loop TV header -> live channel -> schedule at every width. */
	.hllch-tv{grid-column:1 / -1;}
	.hllch-row2{grid-template-columns:repeat(2,minmax(0,1fr));}
	.hllch-row2 > :last-child{grid-column:1 / -1;}
}
@media (max-width:900px){
	.hllch-hero__inner{flex-direction:column;align-items:flex-start;}
	.hllch-hero__cards{align-self:stretch;}
	.hllch-date{display:none;}
	.hllch-wx{flex:1;display:flex;justify-content:space-between;align-items:center;gap:16px;}
	.hllch-wx__loc{margin-top:0;}
	.hllch-row1{grid-template-columns:1fr;}
	/* Single-column hero: let height follow the ACTIVE slide (16:9 image + navy bar sized to its
	   text) instead of a fixed min-height — a fixed height squeezed the navy bar as the full-width
	   16:9 image grew, clipping long titles. Slides flow (only the active one shown). */
	.hllch-slider{min-height:0;}
	.hllch-slide{position:static;display:none;opacity:1;visibility:visible;}
	.hllch-slide.is-active{display:flex;}
	.hllch-slide > img{max-height:none;}
	.hllch-slide__body{overflow:visible;}
	.hllch-tv{display:flex;}
	.hllch-row2{grid-template-columns:1fr;}
}
@media (max-width:560px){
	/* Compact hero so the temperature widget fits in the same section as the welcome */
	.hllch-hero__inner{padding:16px 16px 14px;min-height:0;gap:12px;}
	.hllch-hero__kicker{font-size:12.5px;margin-bottom:2px;}
	.hllch-hero__title{font-size:27px;line-height:1.05;}
	.hllch-hero__tags{font-size:12px;margin-top:6px;}
	.hllch-wx{flex-direction:row;align-items:center;padding:12px 14px;}
	.hllch-wx__temp{font-size:32px;}
	.hllch-wx__loc{display:none;}  /* location name + Change Location removed on mobile (use the top bar) */
	.hllch-slide__body{padding:16px;}
	.hllch-slider__dots{bottom:auto;top:18px;right:14px;}
	.hllch-side__img{flex-basis:44%;}
	.hllch-events li{grid-template-columns:46px 84px minmax(0,1fr);gap:10px;}
	.hllch-card__head h3{font-size:18px;}
	.hllch-wrap{padding:12px 12px 24px;}
}
@media (prefers-reduced-motion:reduce){.hllch-slide{transition:none;}}
html:has(.hllch){overflow-x:clip;}

/* mobile refinements */
.hllch-tv__live,.hllch-tv__head a{white-space:nowrap;}
@media (max-width:560px){
	.hllch-slider__nav{display:none;}
	.hllch-tv__live{font-size:14px;gap:6px;}
	.hllch-tv__head a{font-size:12px;}
	.hllch-biz{grid-template-columns:1fr;}
	.hllch-biz__thumbs{flex-direction:row;}
	.hllch-biz__thumbs a{aspect-ratio:4/3;min-height:0;}
}

/* ── v1.1: city channel + Loop Report audio ─────── */
.hllch-tv__screen video{z-index:1;background:#000;object-fit:contain;}
.hllch-tv__screen > img{z-index:0;}
.hllch-tv__screen::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%);pointer-events:none;}
.hllch-tv__screen.is-playing::after{display:none;}
.hllch-tv__chan{position:absolute;top:12px;left:12px;z-index:2;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:600;padding:4px 8px;border-radius:3px;}
.hllch-tv__chan::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff3b42;margin-right:6px;vertical-align:1px;animation:hllch-pulse 1.6s infinite;}
.hllch-tv__screen.is-playing .hllch-tv__chan{display:none;}
.hllch-tv__err{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center;padding:16px;background:rgba(13,22,38,.92);font-size:14px;}
.hllch-tv__err[hidden]{display:none;}
.hllch-tv__err a{color:#7fb6ff !important;text-decoration:underline !important;}
@keyframes hllch-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.hllch-audio{display:flex;align-items:center;gap:12px;margin:12px 0 4px;padding:10px 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:6px;}
.hllch-audio[hidden]{display:none;}
.hllch-audio__host{flex:0 0 46px;width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--hllch-red);}
.hllch-audio__btn{flex:0 0 38px;width:38px;height:38px;border-radius:50%;border:0;background:var(--hllch-red);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.hllch-audio__btn:hover{background:var(--hllch-red-d);}
.hllch-audio__pause{display:none;}
.hllch-audio.is-playing .hllch-audio__play{display:none;}
.hllch-audio.is-playing .hllch-audio__pause{display:block;}
.hllch-audio__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.hllch-audio__info strong{font-family:var(--hllch-display);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hllch-audio__info small{font-size:12px;color:#c9d1dc;}
.hllch-audio__bar{position:relative;height:5px;margin-top:6px;background:rgba(255,255,255,.2);border-radius:3px;cursor:pointer;}
.hllch-audio__bar span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--hllch-red);border-radius:3px;}
.hllch-audio__bar:focus-visible{outline:2px solid #7fb6ff;outline-offset:3px;}
.hllch-audio__time{flex:0 0 auto;font-size:12px;color:#c9d1dc;font-variant-numeric:tabular-nums;}
.hllch-audio.is-error .hllch-audio__btn{opacity:.4;pointer-events:none;}
@media (max-width:1200px) and (min-width:901px){ .hllch-audio{grid-column:1;} }
@media (prefers-reduced-motion:reduce){.hllch-tv__chan::before{animation:none;}}

/* ── v1.3: autoplay preview + prominent Loop Report ── */
.hllch-tv__screen{cursor:pointer;}
.hllch-tv__onair{position:absolute;left:12px;right:12px;top:12px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none;}
.hllch-tv__onair .hllch-tv__chan{position:static;}
.hllch-tv__screen.is-playing .hllch-tv__chan{display:inline-block;}
.hllch-tv__show{max-width:100%;background:rgba(0,0,0,.6);color:#fff;font-family:var(--hllch-display);font-weight:700;font-size:14px;padding:3px 8px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hllch-tv__screen.is-playing:not(.is-muted) .hllch-tv__onair{display:none;}
.hllch-tv__watch[hidden],.hllch-tv__sound[hidden]{display:none !important;}
.hllch-tv__sound{position:absolute;left:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.72);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;}
.hllch-tv__sound:hover{background:var(--hllch-red);border-color:var(--hllch-red);}
.hllch-tv__screen.is-playing::after{display:block;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 30%,transparent 75%,rgba(0,0,0,.35));}
.hllch-tv__screen.is-playing:not(.is-muted)::after{display:none;}

.hllch-audio{align-items:flex-start;gap:14px;margin:12px 0 6px;padding:14px;background:linear-gradient(135deg,rgba(215,38,46,.22),rgba(255,255,255,.06));border:1px solid rgba(215,38,46,.45);}
.hllch-audio__host{flex:0 0 64px;width:64px;height:64px;}
.hllch-audio__kick{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ff6b70;}
.hllch-audio__info strong{font-size:18px;white-space:normal;line-height:1.15;}
.hllch-audio__row{display:flex;align-items:center;gap:10px;margin-top:8px;}
.hllch-audio__row .hllch-audio__bar{flex:1;margin-top:0;}
.hllch-audio__btn{flex:0 0 36px;width:36px;height:36px;}
.hllch-audio.is-playing{border-color:var(--hllch-red);}
@media (max-width:1200px) and (min-width:901px){ .hllch-audio{grid-column:1;margin-top:0;} }

/* --- Row 1 side weather widget: current conditions + 3-day forecast (sits above the ad, ~2 article slots tall) --- */
/* Dark navy panel (matches the TV / Loop Report chrome) in BOTH light and dark mode. */
.hllch-swx{display:flex;flex-direction:column;gap:9px;background:var(--hllch-navy);border:1px solid rgba(255,255,255,.12);border-radius:var(--hllch-radius);padding:10px 12px;color:#dfe3ea;transition:box-shadow .15s,border-color .15s;}
.hllch-swx:hover{box-shadow:0 6px 18px rgba(0,0,0,.28);border-color:var(--hllch-red);}
.hllch-swx__now{display:flex;align-items:center;gap:10px;}
.hllch-swx__icon{flex:0 0 auto;line-height:0;}
.hllch-swx__main{display:flex;flex-direction:column;min-width:0;line-height:1.1;}
.hllch-swx__temp{font-family:var(--hllch-display);font-size:30px;font-weight:700;line-height:1;color:#fff;}
.hllch-swx__cond{font-size:12px;color:rgba(255,255,255,.7);margin-top:2px;}
.hllch-swx__meta{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:2px;align-items:flex-end;}
.hllch-swx__hilo{font-size:12px;color:rgba(255,255,255,.82);white-space:nowrap;}
.hllch-swx__loc{font-size:12px;font-weight:700;color:#ff6b70;white-space:nowrap;max-width:118px;overflow:hidden;text-overflow:ellipsis;}
.hllch-swx__fc{display:flex;gap:1px;border-top:1px solid rgba(255,255,255,.14);padding-top:8px;}
.hllch-swx__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;min-width:0;}
.hllch-swx__dow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;color:rgba(255,255,255,.6);}
.hllch-swx__day svg{margin:1px 0;}
.hllch-swx__dtemp{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;}
.hllch-swx__dtemp small{font-size:10px;font-weight:400;color:rgba(255,255,255,.6);margin-left:2px;}

/* === Dark / night mode: the header toggle sets html[data-theme="dark"]. city-home uses scoped
   tokens, so redefine them here (fixes section bg, cards, text, borders, AND the weather widget
   in one shot) + spot-fix the few hardcoded light surfaces. === */
html[data-theme="dark"] .hllch{
	--hllch-ink:#f3f5f8;
	--hllch-body:#c4ccd8;
	--hllch-muted:#8b94a3;
	--hllch-line:#222a37;
	--hllch-bg:#0b0d12;
	--hllch-card:#14171f;
}
html[data-theme="dark"] .hllch-date{background:#14171f;}
html[data-theme="dark"] .hllch-date a:hover{background:#1e2430;}
html[data-theme="dark"] .hllch-cats{background:#0f1218;}
html[data-theme="dark"] .hllch-side__img,
html[data-theme="dark"] .hllch-events__img,
html[data-theme="dark"] .hllch-biz__hero,
html[data-theme="dark"] .hllch-biz__thumbs a,
html[data-theme="dark"] .hllch-comm__img,
html[data-theme="dark"] .hllch-feature{background:#20242e;}
html[data-theme="dark"] .hllch-swx:hover,
html[data-theme="dark"] .hllch-side__item:hover{box-shadow:0 4px 14px rgba(0,0,0,.45);}
