/* Shared density and discovery layout; logical properties support RTL locales. */
.catalog-results { min-width: 0; display: grid; gap: 18px; }
.active-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 8px; }
.active-filter-chips a { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; overflow-wrap: anywhere; }
.country-option-search { margin-block-end: 8px; }
.country-picker { min-width: 0; }
.catalog-library > summary { cursor: pointer; font-weight: 600; }
.catalog-library[open] > .library-grid { margin-block-start: 16px; }
.catalog-filter-panel:not(.is-sticky-filter) { position: static; }
[data-timezone-toggle][aria-pressed="true"] { border-color: var(--accent-2); color: var(--accent-2); }
.article-progress { position: fixed; inset-block-start: 0; inset-inline: 0; width: 100%; height: 3px; border: 0; z-index: 200; appearance: none; background: transparent; }
.article-progress::-webkit-progress-bar { background: transparent; }
.article-progress::-webkit-progress-value { background: var(--accent-2); }
.article-progress::-moz-progress-bar { background: var(--accent-2); }
.article-contents a[aria-current="location"] { color: var(--accent-2); text-decoration: underline; text-underline-offset: 4px; }
.catalog-workspace { display: grid; gap: 20px; align-items: start; }
.catalog-filter-panel { border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.catalog-filter-panel > summary, .playback-help-card > summary { cursor: pointer; padding: 16px; font-weight: 600; }
.catalog-filter-panel .filter-form { border: 0; box-shadow: none; background: transparent; }
.catalog-filter-panel .section-head { display: none; }
.catalog-filter-panel .filter-grid { grid-template-columns: minmax(0, 1fr); }
.catalog-filter-panel .filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
.page-header { padding: clamp(18px, 2.5vw, 30px); }
.page-title { font-size: clamp(25px, 3vw, 38px); line-height: 1.2; }
.page-header p { margin-block: 10px 0; }
.breadcrumbs { padding-block: 10px; }
.teaser-copy { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.teaser-card { gap: 12px; padding: 18px; }
.teaser-card:not(.taxonomy-card) { display: flex; flex-direction: column; min-height: 0; }
.teaser-card:not(.taxonomy-card) .teaser-copy { margin-block: 6px 0; }
.page-header { gap: 10px; }
.page-header:has(+ .catalog-workspace) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 20px; padding: 18px 24px; }
.page-header:has(+ .catalog-workspace) .eyebrow { display: none; }
.page-header:has(+ .catalog-workspace) .page-title { flex: 1 1 200px; }
.page-header:has(+ .catalog-workspace) .rich-content { flex-basis: 100%; font-size: 14px; }
.page-header:has(+ .catalog-workspace) p { margin-block: 0; }
.teaser-card .facts-list, .teaser-card .meta-line { margin-block: 0; }
.teaser-actions { margin-block-start: auto; }
.category-browse-links { display: none; }
.playback-help-card[open] > :not(summary) { margin-inline: 16px; }
.playback-help-card .playback-help-head { display: none; }
.content-body { max-width: 74ch; margin-inline: auto; }
.content-body :is(h2, h3) { scroll-margin-block-start: 24px; }
.hero-filter-form .section-head { display: none; }
.hero-filter-form { margin-block-start: 16px; padding: 16px; }
.hero-filter-form > .filter-grid { grid-template-columns: minmax(0, 1fr); }
.hero-advanced > summary { padding: 10px 0; cursor: pointer; }
.article-reading-layout { display: grid; gap: 20px; align-items: start; }
.account-menu { position: relative; justify-self: end; }
.account-menu > summary { padding: 10px 16px; cursor: pointer; }
.account-menu[open] .account-nav { display: flex; position: absolute; inset-inline-end: 0; top: 100%; padding: 12px; min-width: 220px; background: var(--surface-strong); border: 1px solid var(--line); border-radius: 16px; z-index: 100; }
.radio-controls { display: flex; align-items: center; gap: 12px; }
.schedule-compact .station-schedule-row:not(.station-schedule-current):not(.station-schedule-next) { display: none; }
.teaser-card:has(.is-playing) { border-color: var(--accent-2); box-shadow: 0 0 0 1px var(--accent-2); }
.radio-controls button { min-width: 48px; min-height: 48px; }
.radio-status { font-size: 13px; max-width: 24ch; }
.radio-volume input { width: 80px; accent-color: var(--accent-2); }
.sticky-player.is-enhanced audio { display: none; }
.radio-ui-ready .station-player-card audio { display: none; }
.app-shell { padding-bottom: calc(var(--radio-player-height, 0px) + 28px); }
.cookie-consent { bottom: calc(var(--radio-player-height, 0px) + 16px); }
body:has(.hero-filter-form) .page-stack { display: flex; flex-direction: column; }
body:has(.hero-filter-form) .page-stack > [data-library-section] { order: -1; }
summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (min-width: 1200px) {
    .detail-grid { grid-template-columns: minmax(0, 1fr) 280px; }
    .article-reading-layout:has(.article-contents) { grid-template-columns: minmax(0, 1fr) 260px; }
    .article-reading-layout .article-contents { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 16px; margin: 0 !important; }
    .article-reading-layout > .content-body { grid-column: 1; grid-row: 2; }
    .article-reading-layout > .page-summary-compact { grid-column: 1; grid-row: 1; }
    .catalog-workspace { grid-template-columns: 260px minmax(0, 1fr); }
    .catalog-filter-panel { position: sticky; top: 16px; }
    .catalog-results .teaser-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
    .detail-grid { grid-template-columns: minmax(0, 1fr); }
    .nav-shell { padding: 12px; gap: 10px; }
    .site-brand-copy > span { display: none; }
    .nav-shell { grid-template-columns: 1fr auto; }
    .site-brand { grid-column: 1; grid-row: 1; width: auto; }
    .account-menu { grid-column: 2 !important; grid-row: 1 !important; }
    .primary-nav, .header-search { grid-column: 1 / -1; }
    .locale-menu { grid-column: 1; grid-row: 4; width: auto; }
    .primary-nav { grid-column: 1 / -1; grid-row: 2; flex-wrap: nowrap; }
    .header-search { grid-row: 3; }
    .primary-nav .nav-link { padding-inline: 8px; font-size: 12px; min-width: 0; overflow-wrap: anywhere; }
    .locale-menu-trigger { padding-inline: 8px; font-size: 12px; }
    .breadcrumbs { padding: 8px 10px; gap: 4px; border: 0; background: none; }
    .breadcrumbs .crumb-link { padding: 4px; }
    .catalog-results .results-bar { padding: 10px 12px; }
    .catalog-results .results-bar .page-links { gap: 8px; }
    .catalog-results .results-bar .button-link { font-size: 12px; padding: 0; }
    .catalog-results .section-head { margin-bottom: 12px; }
    .catalog-results .section-card { padding: 12px; }
    .catalog-results .section-head .section-title { font-size: 18px; }
    .account-menu { grid-column: auto; grid-row: auto; }
    .account-nav { display: none; }
    .radio-volume { display: none; }
    .primary-nav { gap: 4px; }
    .primary-nav .nav-link { padding: 9px 12px; min-height: 44px; }
    .page-stack { gap: 14px; }
    .page-header .eyebrow { display: none; }
    .station-profile-card { padding: 16px; }
    .station-heading-large { gap: 12px; }
    .station-summary { font-size: 14px; line-height: 1.5; }
    .station-badges { margin-block: 10px; }
    .hero-filter-form .filter-grid { grid-template-columns: 1fr; }
    .sticky-player { padding: 10px 12px; gap: 8px; border-radius: 18px; }
    .sticky-player.is-enhanced { grid-template-columns: minmax(0, 1fr) auto; }
    .sticky-player.is-enhanced .sticky-player-meta { grid-column: 1; grid-row: 1; min-width: 0; }
    .sticky-player.is-enhanced .sticky-player-actions { display: contents; }
    .sticky-player.is-enhanced .radio-controls { grid-column: 2; grid-row: 1; }
    .sticky-player.is-enhanced .radio-controls button { flex: none; width: 48px; padding: 10px; }
    .sticky-player.is-enhanced .radio-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .sticky-player.is-enhanced .sticky-player-buttons { grid-column: 1 / -1; grid-row: 2; justify-content: flex-end; }
    .sticky-player.is-enhanced .sticky-player-buttons .button { flex: none; }
    .sticky-player.is-enhanced [data-sticky-player-copy] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
    .sticky-player-kicker { display: none; }
    .sticky-player-actions { gap: 6px; }
    .sticky-player-buttons .button { padding: 8px 12px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Responsive rhythm and readable constraints shared by all public templates. */
.page-stack, .section-stack { min-width: 0; }
.page-title, .detail-title, .section-title, .teaser-title { overflow-wrap: break-word; line-height: 1.25; }
.station-heading > div:last-child, .article-author, .content-body { min-width: 0; }
.content-body :is(h2, h3, h4) { line-height: 1.3; }
.content-body :is(ul, ol) { padding-inline-start: 1.5em; }
.content-body li + li { margin-block-start: .4em; }
.content-body :is(table, pre) { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.content-body :is(th, td) { padding: 10px 12px; vertical-align: top; }
.content-body iframe { max-width: 100%; }
.breadcrumbs .crumb-current { min-width: 0; max-width: 100%; line-height: 1.4; overflow-wrap: anywhere; }
.station-player-card [data-station-player-status] { margin-block: 0; line-height: 1.5; }
.sticky-player { bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
.app-shell { padding-bottom: calc(var(--radio-player-height, 0px) + 28px + env(safe-area-inset-bottom, 0px)); }
body.radio-ui-ready:has(.sticky-player:not([hidden])) .app-shell { padding-bottom: calc(var(--radio-player-height, 0px) + 28px + env(safe-area-inset-bottom, 0px)); }
.cookie-consent { bottom: calc(var(--radio-player-height, 0px) + 28px + env(safe-area-inset-bottom, 0px)); }
.sticky-player-meta { line-height: 1.4; }
.sticky-player-buttons .button { min-height: 44px; }
@media (min-width: 1200px) {
    .detail-grid > .section-stack .facts-grid { grid-template-columns: minmax(0, 1fr); }
    .detail-grid > .section-stack .fact-value { overflow-wrap: break-word; word-break: normal; }
    .sticky-player.is-enhanced { width: min(980px, calc(100% - 32px)); grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 12px 16px; }
    .sticky-player.is-enhanced .sticky-player-actions { display: flex; align-items: center; gap: 16px; }
    .sticky-player.is-enhanced .radio-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .sticky-player.is-enhanced .sticky-player-buttons { align-items: center; }
}
@media (max-width: 767px) {
    .sticky-player.is-enhanced.has-now-playing [data-sticky-player-copy] { display: none; }
    .breadcrumbs .crumb-current { padding: 4px; border: 0; border-radius: 0; background: none; color: var(--muted); font-size: .875rem; }
    .detail-actions { gap: 8px; }
    .detail-actions .button { min-width: 0; max-width: 100%; white-space: normal; text-align: center; line-height: 1.4; }
    .section-title { line-height: 1.3; }
    .content-body :is(th, td) { padding: 8px; }
    .category-editorial-summary { align-items: flex-start; gap: 12px; }
    .category-editorial-toggle { max-width: 40%; flex-wrap: wrap; justify-content: flex-end; }
    .genre-subcategories a, .genre-more summary { min-height: 44px; }
}
@media (min-width: 600px) and (max-width: 1199px) and (max-height: 500px) {
    .sticky-player.is-enhanced .sticky-player-actions { display: flex; align-items: center; gap: 12px; }
    .sticky-player.is-enhanced .sticky-player-buttons { align-items: center; }
    .sticky-player.is-enhanced [data-sticky-player-copy] { display: none; }
    .sticky-player .now-playing-track { margin: 0; padding: 0; border: 0; background: none; }
    .sticky-player .now-playing-track-title { -webkit-line-clamp: 1; }
}
