/* TechSabado Signal: live-site content (front page copy, ads, widget rail). */
.ts-section--top { margin-top: var(--ts-gap) !important; margin-bottom: 0 !important; }
.ts-section--top + .ts-hero { margin-top: 0 !important; }

.ts-adslot { margin-top: var(--ts-section) !important; }
.ts-adslot:empty, .ts-adslot:not(:has(.ts-widget)) { display: none; }
.ts-widgets--home-advertisement-widgets { display: flex; justify-content: center; padding: 14px; background: var(--ts-panel); border: 1px solid var(--ts-line-strong); position: relative; }
.ts-widgets--home-advertisement-widgets::before { content: "Advertisement"; position: absolute; top: -9px; left: 14px; padding: 0 6px; background: var(--ts-ground); font-family: var(--ts-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ts-muted); }
.ts-widget { min-width: 0; }
.ts-widget img, .ts-widget iframe { max-width: 100%; height: auto; }

.ts-frontcopy__body { max-width: none; font-size: 17px; line-height: 1.7; color: var(--ts-text); }
.ts-frontcopy__body > p, .ts-frontcopy__body > h2, .ts-frontcopy__body > div:not(.wp-block-latest-posts) { max-width: 760px; }
.ts-frontcopy__body > p:empty { display: none; }
.ts-frontcopy__body > p em { color: var(--ts-muted); }
.ts-frontcopy__body > p a { color: var(--ts-red); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ts-frontcopy__body > h2 {
	position: relative; margin: 46px 0 22px !important; padding-bottom: 10px;
	font-family: var(--ts-display); font-weight: 700; font-size: 26px; line-height: 1.15; text-transform: uppercase; letter-spacing: 0.01em; color: var(--ts-ink);
}
.ts-frontcopy__body > h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 60px; height: 3px; background: var(--ts-gold); }

.ts-frontcopy .wp-block-latest-posts.is-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px 22px; margin: 0 0 22px; padding: 0; list-style: none; }
.ts-frontcopy .wp-block-latest-posts.is-grid li { width: auto !important; margin: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.ts-frontcopy .wp-block-latest-posts__featured-image { margin: 0 0 4px !important; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ts-panel); position: relative; }
.ts-frontcopy .wp-block-latest-posts__featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms var(--ts-ease); }
.ts-frontcopy .wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.035); }
.ts-frontcopy .wp-block-latest-posts__featured-image::before, .ts-frontcopy .wp-block-latest-posts__featured-image::after {
	content: ""; position: absolute; z-index: 2; width: 14px; height: 14px; pointer-events: none; opacity: 0; transition: opacity 160ms ease;
}
.ts-frontcopy .wp-block-latest-posts__featured-image::before { top: 8px; left: 8px; border-top: 2px solid #fff; border-left: 2px solid #fff; }
.ts-frontcopy .wp-block-latest-posts__featured-image::after { right: 8px; bottom: 8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; }
.ts-frontcopy .wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image::before,
.ts-frontcopy .wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image::after { opacity: 1; }
.ts-frontcopy .wp-block-latest-posts__post-title { font-family: var(--ts-body); font-weight: 700; font-size: 15px; line-height: 1.45; color: var(--ts-text); text-decoration: none; }
.ts-frontcopy .wp-block-latest-posts__post-title:hover { color: var(--ts-ink); text-decoration: underline; text-decoration-color: var(--ts-gold); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ts-frontcopy .wp-block-latest-posts__post-date { order: 3; font-family: var(--ts-mono); font-size: 11px; color: var(--ts-muted); }
.ts-frontcopy .wp-block-latest-posts__post-excerpt { order: 4; font-size: 14px; line-height: 1.55; color: var(--ts-text); margin: 0; }
.ts-frontcopy #w25338_widget { max-width: none; padding: 18px; background: var(--ts-paper); border: 1px solid var(--ts-line-strong); }

.ts-rail { margin-top: var(--ts-section) !important; padding-top: 22px; border-top: 1px solid var(--ts-line-strong); }
.ts-widgets--sidebar-1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 26px; align-items: start; }
.ts-widgets--sidebar-1 .ts-widget { background: var(--ts-paper); border: 1px solid var(--ts-line); padding: 18px; font-size: 15px; line-height: 1.6; color: var(--ts-text); }
.ts-widgets--sidebar-1 .ts-widget.adplugg, .ts-widgets--sidebar-1 .ts-widget:has(.adplugg-tag:only-child) { background: transparent; border: 0; padding: 0; display: flex; justify-content: center; }
.ts-widgets--sidebar-1 .ts-widget.adplugg:not(:has(iframe, img, ins)) { display: none; }
.ts-widget__title { position: relative; margin: 0 0 14px !important; padding-bottom: 8px; font-family: var(--ts-display); font-weight: 700; font-size: 18px; text-transform: uppercase; color: var(--ts-ink); }
.ts-widget__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background: var(--ts-gold); }
.ts-widget p { margin: 0 0 10px; }
.ts-widget p:empty, .ts-widget .textwidget p:has(> br:only-child) { display: none; }
.ts-widget a { color: var(--ts-red); word-break: break-word; }

@media (max-width: 1180px) { .ts-frontcopy .wp-block-latest-posts.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .ts-frontcopy .wp-block-latest-posts.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; } }
@media (max-width: 600px) { .ts-frontcopy .wp-block-latest-posts.is-grid { grid-template-columns: minmax(0, 1fr); } .ts-frontcopy__body { font-size: 16px; } }

/* TV caption: label + newest episode title, clear of the speaker grille. */
.ts-crt__caption { padding-right: 136px; min-width: 0; }
.ts-crt__label { flex: none; }
.ts-crt__title { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #000; font-weight: 600; text-decoration: none; border-left: 1px solid #c9c0ae; padding-left: 10px; }
.ts-crt__title:hover { text-decoration: underline; text-decoration-color: var(--ts-red); text-underline-offset: 3px; }
@media (max-width: 600px) { .ts-crt__caption { padding-right: 0; background: none; } }
