/* News & Advice — archive and single article. Loaded only on post/archive views. */
.cctv-news-hero{background:#11171b;color:#fff;padding:clamp(40px,5vw,64px) 0 clamp(44px,5.5vw,70px)}
.cctv-news-hero-inner{max-width:var(--cctv-width)}
.cctv-news-hero .cctv-kicker{color:#ff999d;margin:0 0 16px}
.cctv-news-hero h1{color:#fff;font-size:clamp(34px,4.6vw,54px);line-height:1.1;letter-spacing:-.035em;font-weight:600;margin:0 0 18px;max-width:900px}
.cctv-news-intro{color:#c9cfd3;font-size:18px;line-height:1.65;max-width:680px;margin:0}
.cctv-news-crumbs{margin:0 0 26px}
.cctv-news-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 0;font-size:13px;color:#aab2b8}
.cctv-news-crumbs li{margin:0;display:flex;align-items:center;min-width:0}
.cctv-news-crumbs li+li::before{content:"/";margin:0 10px;color:#5f686e}
.cctv-news-crumbs a{color:#dfe3e6;text-decoration:none}
.cctv-news-crumbs a:hover,.cctv-news-crumbs a:focus-visible{color:#fff;text-decoration:underline}
.cctv-news-crumbs li[aria-current]{color:#aab2b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(60ch,100%)}
.cctv-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:14px;color:#c9cfd3}
.cctv-article-meta a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:#bc2026;text-underline-offset:4px}
.cctv-article-meta-sep{color:#5f686e}

/* Final CTA reuses the service-page markup; match the page template's group-wrapper handling. */
.cctv-article .wp-block-group__inner-container,.cctv-news-archive .wp-block-group__inner-container{display:contents;padding:0!important;margin:0!important}

/* Article body */
.cctv-article-wrap{width:min(760px,calc(100% - var(--cctv-gutter)*2));margin:0 auto;padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,88px)}
.cctv-article-featured{margin:0 0 40px}
.cctv-article-featured img{display:block;width:100%;height:auto;border-radius:10px}
.cctv-article-body{font-size:18px;line-height:1.75;color:var(--cctv-ink);overflow-wrap:break-word}
.cctv-article-body>*:first-child{margin-top:0}
.cctv-article-body p,.cctv-article-body ul,.cctv-article-body ol,.cctv-article-body blockquote,.cctv-article-body table,.cctv-article-body figure{margin:0 0 1.35em}
.cctv-article-body h2{font-size:clamp(26px,3vw,32px);line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:1.9em 0 .6em;color:var(--cctv-ink)}
.cctv-article-body h3{font-size:clamp(21px,2.3vw,24px);line-height:1.3;letter-spacing:-.015em;font-weight:600;margin:1.6em 0 .5em}
.cctv-article-body h4,.cctv-article-body h5,.cctv-article-body h6{font-size:19px;line-height:1.35;font-weight:600;margin:1.4em 0 .45em}
.cctv-article-body ul,.cctv-article-body ol{padding-left:1.3em}
.cctv-article-body li{margin:0 0 .45em}
.cctv-article-body li>ul,.cctv-article-body li>ol{margin:.45em 0 0}
.cctv-article-body a{color:var(--cctv-red);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px;text-decoration-thickness:1px}
.cctv-article-body a:hover{color:var(--cctv-red-hover)}
.cctv-article-body strong,.cctv-article-body b{font-weight:700}
.cctv-article-body blockquote{border-left:3px solid var(--cctv-red);padding:4px 0 4px 22px;color:var(--cctv-muted);font-style:normal}
.cctv-article-body img{max-width:100%;height:auto;border-radius:8px}
.cctv-article-body figure{max-width:100%}
.cctv-article-body figcaption,.cctv-article-body .wp-caption-text{font-size:14px;color:var(--cctv-muted);margin-top:8px}
.cctv-article-body .alignleft{float:left;margin:6px 24px 16px 0}
.cctv-article-body .alignright{float:right;margin:6px 0 16px 24px}
.cctv-article-body .aligncenter{display:block;margin-left:auto;margin-right:auto}
.cctv-article-body::after{content:"";display:table;clear:both}
.cctv-article-body iframe,.cctv-article-body video,.cctv-article-body embed{display:block;max-width:100%}
.cctv-article-body iframe[src*="youtube"],.cctv-article-body iframe[src*="youtu.be"],.cctv-article-body iframe[src*="vimeo"]{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:8px}
.cctv-article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:16px;line-height:1.5;-webkit-overflow-scrolling:touch}
.cctv-article-body table th,.cctv-article-body table td{border:1px solid var(--cctv-line);padding:10px 14px;text-align:left;vertical-align:top;min-width:120px}
.cctv-article-body table th,.cctv-article-body table thead td{background:var(--cctv-paper);font-weight:600}
.cctv-article-body hr{border:0;border-top:1px solid var(--cctv-line);margin:2em 0}
.cctv-article-body p:empty{display:none}
.cctv-article-body pre{white-space:pre-wrap;overflow-x:auto}

/* Imported embeds wrapped in fixed-height boxes: keep them 16:9 at every width. */
.cctv-article-body div:has(> iframe[src*="youtube"]),.cctv-article-body div:has(> iframe[src*="youtu.be"]){height:auto!important;aspect-ratio:16/9;border-radius:8px;overflow:hidden;margin:0 0 1.35em}

/* Simple article gallery (one migrated post). */
.cctv-article-body .cctv-post-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 1.35em}
.cctv-article-body .cctv-post-gallery-item{margin:0}
.cctv-article-body .cctv-post-gallery-item img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.cctv-article-body .cctv-post-gallery-item figcaption{margin-top:6px;font-size:13px;line-height:1.4}
@media (max-width:767px){.cctv-article-body .cctv-post-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* /news/ banner (approved image); the HTML heading stays for accessibility and SEO. */
.cctv-news-hero--banner{padding-bottom:clamp(28px,4vw,48px)}
.cctv-news-banner{display:block;margin:0}
.cctv-news-banner img{display:block;width:100%;height:auto;border-radius:10px}
@media (min-width:768px){.cctv-news-hero--banner .cctv-kicker,.cctv-news-hero--banner h1,.cctv-news-hero--banner .cctv-news-intro{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cctv-news-hero--banner .cctv-news-crumbs{margin-bottom:20px}}
@media (max-width:767px){.cctv-news-banner{margin-top:26px}.cctv-news-banner img{border-radius:8px}}

/* Archive */
.cctv-news-list{padding:clamp(40px,5vw,64px) 0 clamp(64px,8vw,104px)}
.cctv-news-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.cctv-news-filter a{display:inline-block;padding:9px 16px;border:1px solid var(--cctv-line);border-radius:999px;font-size:14px;font-weight:600;color:var(--cctv-ink);text-decoration:none;background:#fff}
.cctv-news-filter a:hover,.cctv-news-filter a:focus-visible{border-color:var(--cctv-red);color:var(--cctv-red)}
.cctv-news-filter a[aria-current]{background:var(--cctv-ink);border-color:var(--cctv-ink);color:#fff}
.cctv-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cctv-news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cctv-line);border-top:3px solid var(--cctv-red);border-radius:0 0 10px 10px;overflow:hidden;min-width:0}
.cctv-news-card-media{display:block;aspect-ratio:16/10;background:var(--cctv-paper);overflow:hidden}
.cctv-news-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.cctv-news-card:hover .cctv-news-card-media img{transform:scale(1.03)}
.cctv-news-card-media--empty{background:linear-gradient(135deg,#11171b,#2a3237)}
.cctv-news-card-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.cctv-news-card-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cctv-muted)}
.cctv-news-card-cat{color:var(--cctv-red);font-weight:700}
.cctv-news-card-title{font-size:21px;line-height:1.3;letter-spacing:-.015em;font-weight:600;margin:0 0 12px}
.cctv-news-card-title a{color:var(--cctv-ink);text-decoration:none}
.cctv-news-card-title a:hover,.cctv-news-card-title a:focus-visible{color:var(--cctv-red)}
.cctv-news-card-excerpt{font-size:16px;line-height:1.6;color:var(--cctv-muted);margin:0 0 18px}
.cctv-news-card-more{margin-top:auto;font-size:14px;font-weight:700;color:var(--cctv-red);text-decoration:none}
.cctv-news-card-more:hover,.cctv-news-card-more:focus-visible{text-decoration:underline;text-underline-offset:4px}
.cctv-news-empty{font-size:18px;color:var(--cctv-muted);margin:0}
.cctv-news-pagination{margin-top:48px}
.cctv-news-pagination ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.cctv-news-pagination li{margin:0}
.cctv-news-pagination a,.cctv-news-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--cctv-line);border-radius:6px;font-size:15px;font-weight:600;color:var(--cctv-ink);text-decoration:none;background:#fff}
.cctv-news-pagination a:hover,.cctv-news-pagination a:focus-visible{border-color:var(--cctv-red);color:var(--cctv-red)}
.cctv-news-pagination .current{background:var(--cctv-ink);border-color:var(--cctv-ink);color:#fff}
.cctv-news-pagination .dots{border:0;background:none}

/* Related */
.cctv-news-related{background:var(--cctv-paper);padding:clamp(56px,7vw,96px) 0}
.cctv-news-related .cctv-kicker{margin-bottom:14px}
.cctv-news-related h2{font-size:clamp(30px,3.6vw,40px);line-height:1.15;letter-spacing:-.03em;font-weight:600;margin:0 0 32px}
.cctv-news-related .cctv-news-card-title{font-size:19px}

@media (max-width:1024px){.cctv-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media (max-width:767px){
.cctv-news-grid{grid-template-columns:1fr}
.cctv-article-body{font-size:17px;line-height:1.7}
.cctv-article-body .alignleft,.cctv-article-body .alignright{float:none;margin:0 0 16px}
.cctv-news-intro{font-size:17px}
.cctv-news-card-title{font-size:20px}
.cctv-article-featured{margin-bottom:28px}
}
