/*
 * Oxente 2.0.6 — structural layout. main.css owns presentation; this file owns
 * the container, masthead tracks and responsive editorial columns.
 * --ox-width remains the existing WordPress setting, in both background modes.
 */
:root {
    --ox-gutter-desktop: 32px;
    --ox-gutter-tablet: 24px;
    --ox-gutter-mobile: 16px;
    --ox-gutter: var(--ox-desktop-gutter, var(--ox-gutter-desktop));
    --ox-layout-gap: var(--ox-grid-gap, 24px);
    --ox-reading-width: 72ch;
    --ox-lead-ratio: 1.8;
}
.ox-container, body#ox-site .ox-container {
    max-width: var(--ox-width, 1320px);
    width: min(var(--ox-width, 1320px), calc(100% - 2 * var(--ox-gutter)));
    margin-inline: auto;
    min-width: 0;
    container-type: inline-size;
    container-name: ox-shell;
}
body.ox-page-layout-full { width: 100%; max-width: none; margin: 0; }
body.ox-page-layout-boxed {
    max-width: calc(var(--ox-width, 1320px) + 2 * var(--ox-gutter-desktop));
    margin-inline: auto;
    box-shadow: 0 0 36px #092b4922;
}
html:has(.ox-page-layout-boxed) { background: var(--ox-outer, #e8edf2); }
/* All masthead compositions use actual tracks; tablet logos have a full row. */
.ox-header-inner {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
    gap: var(--ox-layout-gap);
}
.ox-brand { max-width: 100%; min-width: 0; }
.ox-header .ox-brand {
    --ox-current-logo-width: var(--ox-logo-width, 430px);
    --ox-current-logo-height: var(--ox-logo-height, 100px);
    width: var(--ox-current-logo-width);
    justify-self: start;
}
.ox-header .ox-brand-image { width: 100%; height: auto; max-height: var(--ox-current-logo-height); object-fit: contain; }
.ox-header .ox-wordmark {
    font-size: min(calc(var(--ox-current-logo-width) * .12), calc((100vw - 2 * var(--ox-gutter-mobile)) * .12), calc(var(--ox-current-logo-height) * .7), 72px);
}
.ox-header .ox-tagline { font-size: 8px; letter-spacing: 2px; line-height: 1.5; overflow-wrap: anywhere; }

.ox-brand-image { object-position: left; }
.ox-header-ad { width: 100%; max-width: 728px; min-width: 0; justify-self: end; }
.ox-header-centered .ox-header-inner,
.ox-logo-position-center .ox-header-inner {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
}
:where(.ox-header-centered) .ox-header .ox-brand,
:where(.ox-logo-position-center) .ox-header .ox-brand { justify-self: center; }
.ox-header-centered .ox-header-ad,
.ox-logo-position-center .ox-header-ad { justify-self: center; }
.ox-header-centered .ox-brand-image,
.ox-logo-position-center .ox-brand-image { object-position: center; }
.ox-logo-position-left .ox-header-inner,
.ox-logo-position-right .ox-header-inner {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    text-align: left;
}
:where(.ox-logo-position-left) .ox-header .ox-brand { justify-self: start; }
.ox-logo-position-left .ox-header-ad { justify-self: end; }
.ox-logo-position-left .ox-brand-image { object-position: left; }
.ox-logo-position-right .ox-header-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    text-align: right;
}
:where(.ox-logo-position-right) .ox-header .ox-brand { grid-column: 2; grid-row: 1; justify-self: end; }
.ox-logo-position-right .ox-header-ad { grid-column: 1; grid-row: 1; justify-self: start; }
.ox-logo-position-right .ox-brand-image { object-position: right; }
.ox-nav-tools { flex-shrink: 0; }
.ox-menu { flex-wrap: wrap; }
.ox-top-right, .ox-utility { flex-wrap: wrap; min-width: 0; }
.ox-ticker > div { min-width: 0; }
/* The sidebar setting applies equally to home, archives, search and articles. */
.ox-content-sidebar {
    grid-template-columns: minmax(0, 1fr) minmax(220px, var(--ox-sidebar-width, 300px));
    gap: var(--ox-layout-gap);
}
.ox-content-sidebar > * { min-width: 0; }
.ox-content-sidebar > .ox-sidebar { display: block; padding: 0; border: 0; }
.ox-home-sidebar-left .ox-home .ox-content-sidebar {
    grid-template-columns: minmax(220px, var(--ox-sidebar-width, 300px)) minmax(0, 1fr);
}
.ox-home-sidebar-left .ox-home .ox-content-sidebar > .ox-sidebar { grid-column: 1; grid-row: 1; }
.ox-home-sidebar-left .ox-home .ox-content-sidebar > div { grid-column: 2; grid-row: 1; }
.ox-section-pair { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: var(--ox-layout-gap); }
.ox-section-pair > * { min-width: 0; }
.ox-cols-1 { grid-template-columns: minmax(0, 1fr); }
.ox-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ox-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ox-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ox-style-feature { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.ox-section-pair .ox-section-regional .ox-news-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.ox-section-pair .ox-section-services .ox-news-grid { grid-template-columns: minmax(0, 1fr); }
.ox-card-compact { grid-template-columns: 34% minmax(0, 1fr); }
.ox-section-national .ox-card-compact { grid-template-columns: 38% minmax(0, 1fr); }
.ox-hero-lead { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); }
.ox-hero-duo, .ox-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ox-hero-mosaic { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
/* Controls follow the actual lead track, including its gap and configured height. */
.ox-carousel-controls {
    left: 12px;
    bottom: 9px;
    width: calc((100% - 14px) * var(--ox-lead-ratio) / (var(--ox-lead-ratio) + 1) - 24px);
}
.ox-carousel-controls [data-carousel-prev], .ox-carousel-controls [data-carousel-next] {
    transform: translateY(calc(-1 * var(--ox-hero-height, 320px) / 2 + 35px));
}
/* Reading measure is independent of the portal width and remains fluid. */
.ox-reading-column { width: 100%; max-width: min(830px, var(--ox-reading-width)); }
.ox-single .ox-article-content { max-width: min(100%, var(--ox-reading-width)); }
.ox-article-content > p, .ox-article-content > ul, .ox-article-content > ol { max-width: var(--ox-reading-width); }
.ox-article-content pre, .ox-article-content .wp-block-table { max-width: 100%; overflow-x: auto; }
.ox-article-content table { display: block; width: 100%; overflow-x: auto; }
.ox-article-content audio, .ox-media-box audio, .ox-widget select { width: 100%; max-width: 100%; }
.ox-article-content figure, .ox-article-content iframe, .ox-article-content video { max-width: 100%; }
.ox-article-content .alignfull { width: 100%; max-width: 100%; margin-inline: 0; }
.ox-section-head { flex-wrap: wrap; }
.ox-section-head h2, .ox-card h3, .ox-ranking, .ox-footer-grid, .ox-archive-heading, .ox-article-heading,
.ox-partners h2, .ox-widget, .ox-post-navigation { overflow-wrap: anywhere; }
.ox-footer-grid > *, .ox-media-section > *, .ox-latest-videos > * { min-width: 0; }
.ox-partners-wrap:has(> .ox-partners:only-child) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1279px) { :root { --ox-gutter: var(--ox-gutter-tablet); } }
@media (max-width: 1200px) {
    .ox-section-pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .ox-cols-3, .ox-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ox-hero-mosaic { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
}
@media (max-width: 1024px) {
    .ox-header .ox-header-inner { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; padding-block: var(--ox-mobile-header-padding, 18px); }
    .ox-header .ox-brand {
        --ox-current-logo-width: var(--ox-mobile-logo, 240px);
        --ox-current-logo-height: var(--ox-mobile-logo-height, 80px);
        width: min(var(--ox-current-logo-width), 100%);
        justify-self: center;
        grid-column: auto;
        grid-row: auto;
    }
    .ox-header .ox-brand-image { max-height: var(--ox-current-logo-height); }
    .ox-logo-mobile-position-left .ox-header-inner { text-align: left; }
    :where(.ox-logo-mobile-position-left) .ox-header .ox-brand { justify-self: start; }
    .ox-logo-mobile-position-left .ox-brand-image { object-position: left; }
    .ox-logo-mobile-position-right .ox-header-inner { text-align: right; }
    :where(.ox-logo-mobile-position-right) .ox-header .ox-brand { justify-self: end; }
    .ox-logo-mobile-position-right .ox-brand-image { object-position: right; }
    .ox-logo-mobile-position-center .ox-header .ox-brand-image { object-position: center; }
    .ox-header .ox-header-ad { justify-self: center; grid-column: auto; grid-row: auto; }
    #ox-primary { left: 0; right: 0; padding-inline: 0; }
    .ox-menu > li > a, .ox-menu > li:first-child > a { padding-inline: 12px; white-space: normal; overflow-wrap: anywhere; }
    .ox-content-sidebar, .ox-home-sidebar-left .ox-home .ox-content-sidebar { grid-template-columns: minmax(0, 1fr); }
    .ox-home-sidebar-left .ox-home .ox-content-sidebar > .ox-sidebar,
    .ox-home-sidebar-left .ox-home .ox-content-sidebar > div { grid-column: auto; grid-row: auto; }
    .ox-hero-lead { grid-template-columns: minmax(0, 1fr); }
    .ox-hero-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ox-carousel-controls {
        width: calc(100% - 24px);
        top: calc(var(--ox-hero-height, 320px) - 35px);
        bottom: auto;
    }
}
@media (max-width: 680px) {
    .ox-cols-2, .ox-cols-3, .ox-cols-4, .ox-style-feature,
    .ox-section-pair .ox-section-regional .ox-news-grid { grid-template-columns: minmax(0, 1fr); }
    .ox-style-feature .ox-card:first-child { grid-row: auto; }
    .ox-hero-duo, .ox-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .ox-footer-grid { grid-template-columns: minmax(0, 1fr); }
    .ox-footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 599px) {
    :root { --ox-gutter: var(--ox-gutter-mobile); --ox-layout-gap: 18px; }
    .ox-card-compact, .ox-section-national .ox-card-compact { grid-template-columns: 32% minmax(0, 1fr); }
}
@media (max-width: 520px) {
    .ox-hero-mosaic { grid-template-columns: minmax(0, 1fr); }
    .ox-carousel-controls { top: calc(var(--ox-hero-mobile-height, 330px) - 35px); }
    .ox-carousel-controls [data-carousel-prev], .ox-carousel-controls [data-carousel-next] {
        transform: translateY(calc(-1 * var(--ox-hero-mobile-height, 330px) / 2 + 35px));
    }
}
@media print {
    body#ox-site .ox-container { width: 100%; max-width: none; }
    .ox-content-sidebar { display: block; }
    body.ox-page-layout-boxed { max-width: none; box-shadow: none; }
}

/* Container-based refinements also protect narrow presets on wide monitors. */
@container ox-shell (max-width: 1200px) {
    .ox-section-pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .ox-cols-3, .ox-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container ox-shell (max-width: 680px) {
    .ox-cols-2, .ox-cols-3, .ox-cols-4, .ox-style-feature,
    .ox-section-pair .ox-section-regional .ox-news-grid { grid-template-columns: minmax(0, 1fr); }
    .ox-style-feature .ox-card:first-child { grid-row: auto; }
}

/* Additional rotating editorial compositions. */
.ox-hero-shell > .ox-hero-trio, .ox-hero-shell > .ox-hero-focus, .ox-hero-shell > .ox-hero-strip { display: block; }
.ox-hero-page.ox-hero-trio { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ox-hero-trio .ox-hero-item { min-height: 360px; }
.ox-hero-page.ox-hero-focus { grid-template-columns: minmax(0,2fr) minmax(0,1fr); grid-auto-rows: 180px; }
.ox-hero-focus .ox-feature-primary { grid-row: span 2; }
.ox-hero-focus .ox-hero-item { min-height: 0; }
.ox-hero-focus .ox-hero-item:not(.ox-feature-primary) h2 { font-size: 21px; }
.ox-hero-focus .ox-hero-item:not(.ox-feature-primary) .ox-hero-copy { padding: 18px; }
.ox-hero-page.ox-hero-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ox-hero-strip .ox-hero-item { min-height: 280px; }
.ox-hero-trio .ox-hero-copy, .ox-hero-strip .ox-hero-copy { padding: 20px; }
.ox-hero-trio .ox-hero-copy h2 { font-size: 25px; }
.ox-hero-strip .ox-hero-copy h2 { font-size: 21px; }
.ox-hero-trio + .ox-carousel-controls, .ox-hero-focus + .ox-carousel-controls, .ox-hero-strip + .ox-carousel-controls { position: static; width: 100%; background: var(--ox-soft); padding: 8px; }
.ox-hero-trio + .ox-carousel-controls button, .ox-hero-focus + .ox-carousel-controls button, .ox-hero-strip + .ox-carousel-controls button { transform: none; }
@media(max-width:1024px) { .ox-hero-page.ox-hero-trio, .ox-hero-page.ox-hero-strip { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
 .ox-hero-page.ox-hero-trio, .ox-hero-page.ox-hero-strip, .ox-hero-page.ox-hero-focus { grid-template-columns: minmax(0,1fr); grid-auto-rows: auto; }
 .ox-hero-focus .ox-feature-primary { grid-row: auto; }
 .ox-hero-trio .ox-hero-item, .ox-hero-strip .ox-hero-item, .ox-hero-focus .ox-hero-item { min-height: 260px; }
}
@media(min-width:681px){
 .ox-hero-page.ox-hero-count-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
 .ox-hero-count-2 .ox-feature-primary{grid-row:auto}
 .ox-hero-count-2 .ox-hero-item{min-height:300px}
 .ox-hero-page.ox-hero-strip.ox-hero-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Mosaic: only the primary article is a carousel item. Controls belong to its box. */
.ox-hero-shell > .ox-mosaic-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:auto;gap:16px}
.ox-mosaic-primary{position:relative;min-width:0;min-height:max(390px,var(--ox-hero-height,320px));isolation:isolate}
.ox-mosaic-primary .ox-slider,.ox-mosaic-primary .ox-slides{height:100%}
.ox-mosaic-primary .ox-slide{min-height:max(390px,var(--ox-hero-height,320px))}
.ox-mosaic-primary .ox-hero-copy{padding:24px 56px 64px}
.ox-mosaic-primary .ox-hero-copy h2{font-size:var(--ox-hero-title,29px)}
.ox-mosaic-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.ox-mosaic-secondary .ox-hero-item{min-height:187px}
.ox-mosaic-secondary .ox-hero-copy{padding:18px}
.ox-mosaic-primary .ox-carousel-controls{position:absolute;inset:0;width:auto;background:none;padding:0;pointer-events:none;z-index:5}
.ox-mosaic-primary .ox-carousel-controls button{pointer-events:auto}
.ox-mosaic-primary .ox-carousel-controls [data-carousel-prev],.ox-mosaic-primary .ox-carousel-controls [data-carousel-next]{position:absolute;top:calc(50% - 15px);transform:none;background:#071e35cc}
.ox-mosaic-primary [data-carousel-prev]{left:12px}
.ox-mosaic-primary [data-carousel-next]{right:12px}
.ox-mosaic-primary .ox-slider-dots{position:absolute;bottom:10px;left:48px;right:48px;flex-wrap:wrap;pointer-events:auto}
.ox-mosaic-primary [data-carousel-pause]{position:absolute;bottom:12px;right:12px}
.ox-mosaic-split:has(>.ox-mosaic-primary:only-child){grid-template-columns:minmax(0,1fr)}
@media(max-width:1024px){.ox-hero-shell > .ox-mosaic-split{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){
 .ox-mosaic-primary,.ox-mosaic-primary .ox-slide{min-height:var(--ox-hero-mobile-height,330px)}
 .ox-mosaic-secondary{grid-template-columns:minmax(0,1fr)}
 .ox-mobile-single .ox-mosaic-secondary{display:none}
 .ox-mosaic-primary .ox-hero-copy{padding:20px 52px 64px}
}
