/* Ògèrè Rẹ́mọ V12 site governance and consistency layer.
 * This stylesheet is intentionally late-loading. Values come from WordPress
 * admin options injected as CSS custom properties by ogere-site-governance-v12.php.
 */

/* -------------------------------------------------------------------------
   Typography: accented Yoruba words must inherit the exact surrounding style.
   ---------------------------------------------------------------------- */
.ogere-yoruba-name,
.section-title .title-suffix,
.ogere-project-v11-title-main,
.ogere-project-v11-title-accent,
.ogere-project-v12-title-main,
.ogere-project-v12-title-accent,
.ogere-v12-support-main,
.ogere-v12-support-accent,
[data-ogere-accent] {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    font-synthesis: inherit !important;
    vertical-align: baseline !important;
}

body {
    font-family: var(--ogere-v12-body-font, inherit);
}

/* Site-wide heading family. Existing component sizes remain intact unless
 * explicitly standardised below. */
h1, h2, h3, h4, h5, h6,
.section-title,
.feature-box-title,
.ogere4-primary-menu,
.ogere10-footer-column h3 {
    font-family: var(--ogere-v12-heading-font, Poppins, Arial, sans-serif) !important;
}

/* Common editorial colours. */
body:not(.page-id-20524) .section-title,
body:not(.page-id-20524) .entry-content h2,
body:not(.page-id-20524) .entry-content h3,
body:not(.page-id-20524) .feature-box-title {
    color: var(--ogere-v12-heading, #383838) !important;
}
body:not(.page-id-20524) .entry-content p,
body:not(.page-id-20524) .entry-content li,
body:not(.page-id-20524) .section-description,
body:not(.page-id-20524) .section-description p {
    color: var(--ogere-v12-text, #4f5866) !important;
}
.section-title .title-suffix,
.ogere-project-v11-title-accent,
.ogere-project-v12-title-accent,
.ogere-v12-support-accent,
.theme-color,
.text-theme-color {
    color: var(--ogere-v12-accent, #df193a) !important;
}
.title-separator.separator-border,
.theme-color-bg {
    background-color: var(--ogere-v12-accent, #df193a) !important;
}

/* -------------------------------------------------------------------------
   Shared shell and inner-page geometry.
   ---------------------------------------------------------------------- */
.ogere4-shell,
.ogere-project-v10-shell,
.ogere-project-v11-shell,
body.ogere-inner-v6-native .elementor-section > .elementor-container,
body.page-id-20530 .elementor-section > .elementor-container {
    max-width: var(--ogere-v12-content-width, 1240px) !important;
}

body.ogere-inner-shell .page-title-wrap,
body.ogere-inner-shell .page-title-section,
body.ogere-inner-shell .page-title-wrapper,
body.page-id-20530 .page-title-wrap,
body.page-id-20530 .page-title-section,
body.page-id-20530 .page-title-wrapper,
body.single-ogere_project .ogere-v10-project-hero {
    height: var(--ogere-v12-hero-desktop, 315px) !important;
    min-height: var(--ogere-v12-hero-desktop, 315px) !important;
    max-height: var(--ogere-v12-hero-desktop, 315px) !important;
}

/* Per-page Media Library hero override, with the existing approved image as fallback. */
body.ogere-inner-shell .page-title-wrap,
body.ogere-inner-shell .page-title-section,
body.ogere-inner-shell .page-title-wrapper {
    background-image: var(--ogere-v12-page-hero-image, var(--ogere-inner-page-hero-image)) !important;
}
body.page-id-20530 .page-title-wrap,
body.page-id-20530 .page-title-section,
body.page-id-20530 .page-title-wrapper {
    background-image: var(--ogere-v12-page-hero-image, var(--ogere-about-v3-hero-image)) !important;
}
body.single-ogere_project .ogere-v10-project-hero {
    background-image: var(--ogere-v12-page-hero-image, var(--ogere-inner-page-hero-image)) !important;
}

body.ogere-inner-shell .page-title-wrap > .container,
body.ogere-inner-shell .page-title-section > .container,
body.ogere-inner-shell .page-title-wrapper > .container,
body.page-id-20530 .page-title-wrap > .container,
body.page-id-20530 .page-title-section > .container,
body.page-id-20530 .page-title-wrapper > .container,
body.single-ogere_project .ogere-v10-project-hero > .container {
    width: calc(100% - (2 * var(--ogere-v12-gutter, 30px))) !important;
    max-width: var(--ogere-v12-content-width, 1240px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Standard inner-page section title metrics, aligned to About. */
body:not(.page-id-20524) .ogere-inner-v6-section .section-title,
body:not(.page-id-20524) .ogere-project-v11-section-title .section-title,
body:not(.page-id-20524) .ogere-project-v12-section-title .section-title {
    font-size: var(--ogere-v12-section-title-desktop, 40px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.single-ogere_project .ogere-project-v11-section {
    padding-top: var(--ogere-v12-section-space, 42px) !important;
    padding-bottom: var(--ogere-v12-section-space, 42px) !important;
}
body.single-ogere_project .ogere-project-v11-intro {
    padding-top: 52px !important;
    padding-bottom: 36px !important;
}
body.single-ogere_project .ogere-project-v11-alt,
body.ogere-inner-v6-native .ogere-inner-v6-alt {
    background: var(--ogere-v12-alt, #f6f8fb) !important;
}

/* -------------------------------------------------------------------------
   Support wording: always a phrase, never two stacked words.
   ---------------------------------------------------------------------- */
body.page-id-20524 .ogere9-support-section .section-title,
body.page-id-20524 .ogere4-support-heading h2,
body.page-id-20524 .ogere-v12-support-section h2 {
    white-space: nowrap !important;
}
body.page-id-20524 .ogere9-support-section .section-title .title-suffix,
body.page-id-20524 .ogere4-support-heading h2 span,
body.page-id-20524 .ogere-v12-support-section h2 span {
    display: inline !important;
    width: auto !important;
    white-space: nowrap !important;
    font-weight: inherit !important;
}
body.single-ogere_project .ogere-project-v11-context-support strong,
body.single-ogere_project .ogere-project-v11-context-links strong {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* Compact project facts and consistent borders/colours. */
body.single-ogere_project .ogere-project-v11-fact-card .feature-box-inner {
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 20px !important;
    border-color: var(--ogere-v12-border, #e1e6ee) !important;
    border-top-color: var(--ogere-v12-gold, #c5912d) !important;
}
body.single-ogere_project .ogere-project-v11-copy-panel {
    border-left-color: var(--ogere-v12-accent, #df193a) !important;
}
body.single-ogere_project .ogere-project-v11-gallery-prev:hover,
body.single-ogere_project .ogere-project-v11-gallery-prev:focus,
body.single-ogere_project .ogere-project-v11-gallery-next:hover,
body.single-ogere_project .ogere-project-v11-gallery-next:focus,
body.single-ogere_project .ogere-project-v11-gallery-thumbs button[aria-selected="true"] {
    border-color: var(--ogere-v12-accent, #df193a) !important;
    color: var(--ogere-v12-accent, #df193a) !important;
}

/* -------------------------------------------------------------------------
   Header/footer consistency. Menus are backend-managed WordPress menus.
   ---------------------------------------------------------------------- */
.ogere-v12-site-header {
    border-bottom-color: color-mix(in srgb, var(--ogere-v12-navy, #071a37) 12%, transparent) !important;
}
.ogere4-contact-button,
.ogere4-btn-gold {
    background-color: var(--ogere-v12-gold, #c5912d) !important;
    border-color: var(--ogere-v12-gold, #c5912d) !important;
}
.ogere-v12-site-footer,
.ogere10-footer-bottom {
    background-color: var(--ogere-v12-navy, #071a37) !important;
}
.ogere-v12-footer-menu {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.ogere-v12-footer-menu li {
    margin: 0 !important;
    padding: 0 !important;
}
.ogere-v12-footer-menu a {
    display: inline-block !important;
    text-decoration: none !important;
}
.ogere10-footer-bottom-inner,
.ogere10-footer-legal,
.ogere10-footer-contact-row {
    gap: 12px !important;
}

/* Avoid accidental token joining caused by inline blocks or generated suffixes. */
.section-title .title-suffix::before,
.ogere-project-v11-title-accent::before,
.ogere-project-v12-title-accent::before,
.ogere-v12-support-accent::before {
    content: none !important;
}

@media (max-width: 1024px) {
    body.ogere-inner-shell .page-title-wrap,
    body.ogere-inner-shell .page-title-section,
    body.ogere-inner-shell .page-title-wrapper,
    body.page-id-20530 .page-title-wrap,
    body.page-id-20530 .page-title-section,
    body.page-id-20530 .page-title-wrapper,
    body.single-ogere_project .ogere-v10-project-hero {
        height: var(--ogere-v12-hero-tablet, 270px) !important;
        min-height: var(--ogere-v12-hero-tablet, 270px) !important;
        max-height: var(--ogere-v12-hero-tablet, 270px) !important;
    }
    body:not(.page-id-20524) .ogere-inner-v6-section .section-title,
    body:not(.page-id-20524) .ogere-project-v11-section-title .section-title,
    body:not(.page-id-20524) .ogere-project-v12-section-title .section-title {
        font-size: var(--ogere-v12-section-title-tablet, 36px) !important;
    }
}

@media (max-width: 767px) {
    body.ogere-inner-shell .page-title-wrap,
    body.ogere-inner-shell .page-title-section,
    body.ogere-inner-shell .page-title-wrapper,
    body.page-id-20530 .page-title-wrap,
    body.page-id-20530 .page-title-section,
    body.page-id-20530 .page-title-wrapper,
    body.single-ogere_project .ogere-v10-project-hero {
        height: var(--ogere-v12-hero-mobile, 240px) !important;
        min-height: var(--ogere-v12-hero-mobile, 240px) !important;
        max-height: var(--ogere-v12-hero-mobile, 240px) !important;
    }
    body.ogere-inner-shell .page-title-wrap > .container,
    body.ogere-inner-shell .page-title-section > .container,
    body.ogere-inner-shell .page-title-wrapper > .container,
    body.page-id-20530 .page-title-wrap > .container,
    body.page-id-20530 .page-title-section > .container,
    body.page-id-20530 .page-title-wrapper > .container,
    body.single-ogere_project .ogere-v10-project-hero > .container {
        width: calc(100% - (2 * var(--ogere-v12-mobile-gutter, 22px))) !important;
    }
    body:not(.page-id-20524) .ogere-inner-v6-section .section-title,
    body:not(.page-id-20524) .ogere-project-v11-section-title .section-title,
    body:not(.page-id-20524) .ogere-project-v12-section-title .section-title {
        font-size: var(--ogere-v12-section-title-mobile, 30px) !important;
        line-height: 1.27 !important;
    }
    body.single-ogere_project .ogere-project-v11-section {
        padding-top: var(--ogere-v12-section-space-mobile, 30px) !important;
        padding-bottom: var(--ogere-v12-section-space-mobile, 30px) !important;
    }
    body.single-ogere_project .ogere-project-v11-intro {
        padding-top: 30px !important;
        padding-bottom: 28px !important;
    }
    body.page-id-20524 .ogere9-support-section .section-title,
    body.page-id-20524 .ogere4-support-heading h2,
    body.page-id-20524 .ogere-v12-support-section h2 {
        white-space: nowrap !important;
        font-size: 26px !important;
    }
    body.single-ogere_project .ogere-project-v11-context-support strong,
    body.single-ogere_project .ogere-project-v11-context-links strong {
        white-space: nowrap !important;
    }
}

.ogere-v12-custom-icon {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
    flex: 0 0 18px !important;
}

/* Backend-selectable safe layout variants for custom modules. */
body.page-id-20524 .ogere-v12-support-section .ogere4-support-grid {
    grid-template-columns: repeat(var(--ogere-v12-support-columns, 3), minmax(0, 1fr)) !important;
}
body.page-id-20524 .ogere-v12-security-section .ogere4-security-grid {
    grid-template-columns: repeat(var(--ogere-v12-security-columns, 4), minmax(0, 1fr)) !important;
}
body.single-ogere_project .ogere-project-v11-intro-grid.is-media-left .ogere-project-v11-intro-copy {
    order: 2 !important;
}
body.single-ogere_project .ogere-project-v11-intro-grid.is-media-left .ogere-project-v12-media,
body.single-ogere_project .ogere-project-v11-intro-grid.is-media-left .ogere-project-v12-media-placeholder {
    order: 1 !important;
}
@media (max-width: 1024px) {
    body.page-id-20524 .ogere-v12-support-section .ogere4-support-grid,
    body.page-id-20524 .ogere-v12-security-section .ogere4-security-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 767px) {
    body.page-id-20524 .ogere-v12-support-section .ogere4-support-grid,
    body.page-id-20524 .ogere-v12-security-section .ogere4-security-grid {
        grid-template-columns: 1fr !important;
    }
    body.single-ogere_project .ogere-project-v11-intro-grid.is-media-left .ogere-project-v11-intro-copy,
    body.single-ogere_project .ogere-project-v11-intro-grid.is-media-left .ogere-project-v12-media,
    body.single-ogere_project .ogere-project-v11-intro-grid.is-media-left .ogere-project-v12-media-placeholder {
        order: initial !important;
    }
}
