/* Ogere Remo refinement pass 5 */

:root {
    --ogere5-navy: #0c1831;
    --ogere5-navy-deep: #071326;
    --ogere5-blue: #052354;
    --ogere5-gold: #b68731;
    --ogere5-gold-dark: #8c691f;
    --ogere5-red: #df3038;
    --ogere5-text: #283241;
    --ogere5-muted: #5e6673;
    --ogere5-border: #e6e8ec;
    --ogere5-light: #f5f7fa;
}

/* Homepage shell and generated shortcode hosts must not introduce theme spacing. */
body.page-id-20524,
body.page-id-20524 #page,
body.page-id-20524 .site,
body.page-id-20524 .site-content,
body.page-id-20524 .site-content > .container,
body.page-id-20524 .content-area,
body.page-id-20524 .content-wrapper,
body.page-id-20524 .main-content,
body.page-id-20524 main.site-main,
body.page-id-20524 #content,
body.page-id-20524 #primary,
body.page-id-20524 #main,
body.page-id-20524 .elementor,
body.page-id-20524 .elementor-page,
body.page-id-20524 .elementor-section-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-id-20524 .elementor-top-section:first-child,
body.page-id-20524 .elementor-section:first-child,
body.page-id-20524 .ogere3-slider-host,
body.page-id-20524 .ogere3-slider-host > .elementor-container,
body.page-id-20524 .ogere3-slider-host .elementor-column,
body.page-id-20524 .ogere3-slider-host .elementor-widget-wrap,
body.page-id-20524 .ogere3-slider-host .elementor-widget-shortcode,
body.page-id-20524 .ogere3-slider-host .elementor-widget-container,
body.page-id-20524 .ogere5-ologere-host,
body.page-id-20524 .ogere5-events-host,
body.page-id-20524 .ogere4-support-host,
body.page-id-20524 .ogere4-security-host {
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-20524 .ogere3-slider-host,
body.page-id-20524 .ogere5-ologere-host,
body.page-id-20524 .ogere5-events-host,
body.page-id-20524 .ogere4-support-host,
body.page-id-20524 .ogere4-security-host {
    line-height: 0;
}

body.page-id-20524 .ogere3-slider-host > *,
body.page-id-20524 .ogere5-ologere-host > *,
body.page-id-20524 .ogere5-events-host > *,
body.page-id-20524 .ogere4-support-host > *,
body.page-id-20524 .ogere4-security-host > * {
    line-height: normal;
}

/* Slider refinements. */
.ogere5-slider { margin-top: 0 !important; }
.ogere5-slide:nth-child(1) h1 {
    max-width: 900px;
    font-size: clamp(36px, 3.75vw, 54px);
}
.ogere5-slide:nth-child(2) {
    background-position: center 44%;
}
.ogere5-slide:nth-child(2) .ogere4-slide-copy {
    max-width: 760px;
}

/* Shared eGovenz-style section heading treatment modelled on Discover Ogere. */
.ogere5-section-heading {
    max-width: 900px;
    margin: 0 auto 30px;
    text-align: center;
}
.ogere5-section-heading h2 {
    margin: 0;
    color: #383838;
    font-family: Poppins, Arial, sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.25;
}
.ogere5-section-heading h2 span {
    color: var(--ogere5-red);
    font-weight: inherit;
}
.ogere5-heading-rule {
    width: 38px;
    height: 2px;
    display: block;
    margin: 11px auto 13px;
    background: var(--ogere5-red);
}
.ogere5-section-heading p {
    max-width: 850px;
    margin: 0 auto;
    color: var(--ogere5-muted);
    font-size: 14px;
    line-height: 1.65;
}

/* Rebuilt Ologere section: portrait and identity occupy the complete left-hand height. */
.ogere5-ologere-section {
    margin: 0;
    padding: 0;
    background: linear-gradient(108deg, #9b7428 0%, #6f5423 16%, #071326 48%, #071326 100%);
    color: #fff;
    overflow: hidden;
}
.ogere5-ologere-grid {
    display: grid;
    grid-template-columns: minmax(330px, 42%) minmax(0, 58%);
    align-items: stretch;
    min-height: 650px;
}
.ogere5-ologere-visual {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    background: #071326;
}
.ogere5-ologere-photo-wrap {
    min-height: 0;
    flex: 1 1 auto;
    position: relative;
    overflow: hidden;
    background: #b88a39;
}
.ogere5-ologere-photo-wrap:after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent 72%, rgba(7,19,38,.28) 100%);
}
.ogere5-ologere-photo-wrap img {
    width: 100%;
    height: 100%;
    min-height: 515px;
    display: block;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.98) contrast(1.02);
}
.ogere5-ologere-identity {
    flex: 0 0 auto;
    min-height: 135px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 28px 24px;
    background: #052354;
    border-top: 3px solid var(--ogere5-gold);
    color: #fff;
}
.ogere5-ologere-identity h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 17px;
    line-height: 1.3;
}
.ogere5-ologere-identity p {
    margin: 1px 0;
    color: rgba(255,255,255,.86);
    font-size: 13px;
    line-height: 1.45;
}
.ogere5-ologere-copy {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 58px 58px 54px;
    background: linear-gradient(120deg, rgba(7,19,38,.92), rgba(7,19,38,.99));
}
.ogere5-ologere-title h2 {
    margin: 0;
    color: #fff;
    font-size: 31px;
    line-height: 1.2;
}
.ogere5-ologere-title h2 span { color: #e5c56d; }
.ogere5-ologere-title > span {
    width: 38px;
    height: 2px;
    display: block;
    margin: 12px 0 18px;
    background: #fff;
}
.ogere5-ologere-copy > p {
    margin: 0 0 16px;
    color: rgba(255,255,255,.91);
    font-size: 14px;
    line-height: 1.7;
}
.ogere5-ologere-copy > h3 {
    margin: 8px 0 15px;
    color: #fff;
    font-size: 23px;
}
.ogere5-ologere-priorities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 24px;
}
.ogere5-ologere-priorities span {
    color: rgba(255,255,255,.92);
    font-size: 13px;
}

/* Support Ogere. */
.ogere5-support-section {
    margin: 0;
    padding: 70px 0 76px;
    background: #fff;
}
.ogere5-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}
.ogere5-support-card {
    min-height: 228px;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 28px;
    background: var(--ogere5-blue);
    color: #fff !important;
    border-top: 4px solid var(--ogere5-gold);
    border-radius: 5px;
    box-shadow: 0 12px 30px rgba(12,24,49,.09);
    text-decoration: none !important;
}
.ogere5-support-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(182,135,49,.18);
    color: #e3c36c;
    font-size: 18px;
}
.ogere5-support-card h3 {
    margin: 0 0 9px;
    color: #fff;
    font-size: 18px;
}
.ogere5-support-card p {
    min-height: 66px;
    margin: 0;
    color: rgba(255,255,255,.84);
    font-size: 13.5px;
    line-height: 1.6;
}
.ogere5-card-link {
    margin-top: auto;
    padding-top: 16px;
    color: #e3c36c;
    font-size: 12.5px;
    font-weight: 700;
}
.ogere5-support-card:hover {
    background: #092b61;
    transform: translateY(-2px);
}

/* Upcoming Events, automatically populated from ogere_event. */
.ogere5-events-section {
    margin: 0;
    padding: 68px 0 72px;
    background: #f8f8f8;
}
.ogere5-events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}
.ogere5-events-grid.ogere5-events-count-1 {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
}
.ogere5-events-grid.ogere5-events-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 980px;
    margin-inline: auto;
}
.ogere5-event-card {
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ogere5-border);
    border-radius: 5px;
    box-shadow: 0 10px 28px rgba(12,24,49,.07);
}
.ogere5-event-image {
    height: 205px;
    display: block;
    background-position: center center;
    background-size: cover;
    text-decoration: none;
}
.ogere5-event-body {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    min-height: 190px;
}
.ogere5-event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px 10px;
    background: var(--ogere5-gold);
    color: #fff;
    text-align: center;
}
.ogere5-event-date strong {
    font-size: 30px;
    line-height: 1;
}
.ogere5-event-date span {
    margin-top: 7px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}
.ogere5-event-content {
    padding: 22px 23px 23px;
}
.ogere5-event-content h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.35;
}
.ogere5-event-content h3 a {
    color: var(--ogere5-navy) !important;
    text-decoration: none !important;
}
.ogere5-event-content p {
    margin: 0 0 9px;
    color: var(--ogere5-muted);
    font-size: 13px;
    line-height: 1.58;
}
.ogere5-event-venue { color: var(--ogere5-gold-dark) !important; font-weight: 600; }
.ogere5-event-link {
    color: var(--ogere5-gold-dark) !important;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
.ogere5-events-action { margin-top: 28px; text-align: center; }

/* Security & Emergency. */
.ogere5-security-section {
    margin: 0 !important;
    padding: 64px 0 68px;
    background: var(--ogere5-light);
}
.ogere5-security-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    align-items: stretch;
}
.ogere5-security-card {
    min-height: 170px;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 22px 20px;
    background: #fff;
    border: 1px solid var(--ogere5-border);
    border-top: 4px solid var(--ogere5-gold);
    border-radius: 5px;
    box-shadow: 0 9px 24px rgba(12,24,49,.055);
}
.ogere5-security-card h3 {
    margin: 0 0 16px;
    color: var(--ogere5-navy);
    font-size: 15.5px;
    line-height: 1.35;
}
.ogere5-security-lines {
    margin-top: auto;
    display: grid;
    gap: 8px;
}
.ogere5-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--ogere5-text);
    font-size: 12.5px;
    line-height: 1.45;
}
.ogere5-contact-row svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 1px;
    color: var(--ogere5-gold-dark);
}
.ogere5-contact-row a {
    color: var(--ogere5-text) !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}
.ogere5-phone-row > span {
    display: inline;
    white-space: normal;
}
.ogere5-phone-row > span a { white-space: nowrap; }
.ogere5-security-action { margin-top: 26px; text-align: center; }

/* Footer. */
.ogere5-site-footer {
    margin-top: 0 !important;
}
.ogere5-footer-logo {
    display: block;
    text-align: left;
}
.ogere5-footer-logo img {
    margin-left: 0 !important;
    margin-right: auto !important;
}
.ogere5-footer-brand { text-align: left; }
.ogere5-footer-legal {
    margin-top: 20px;
    padding-top: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 20px;
    border-top: 1px solid rgba(255,255,255,.11);
}
.ogere5-footer-legal a {
    color: rgba(255,255,255,.83) !important;
    font-size: 12px;
    text-decoration: none !important;
}
.ogere5-footer-legal a:hover { color: #fff !important; }

/* Prevent any residual theme wrapper from creating a band between Security and the footer. */
body.page-id-20524 .ogere4-security-host,
body.page-id-20524 .ogere4-security-host > .elementor-container,
body.page-id-20524 .ogere4-security-host .elementor-column,
body.page-id-20524 .ogere4-security-host .elementor-widget-wrap,
body.page-id-20524 .ogere4-security-host .elementor-widget-shortcode,
body.page-id-20524 .ogere4-security-host .elementor-widget-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 1180px) {
    .ogere5-ologere-grid { grid-template-columns: 42% 58%; min-height: 620px; }
    .ogere5-ologere-copy { padding: 44px 38px; }
    .ogere5-security-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ogere5-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ogere5-events-grid.ogere5-events-count-1 { grid-template-columns: minmax(0, 680px); }
}

@media (max-width: 767px) {
    .ogere5-slide:nth-child(1) h1 { font-size: 30px; max-width: 94%; }
    .ogere5-slide:nth-child(2) { background-position: center center; }
    .ogere5-section-heading { margin-bottom: 24px; }
    .ogere5-section-heading h2 { font-size: 25px; }
    .ogere5-section-heading p { font-size: 13px; line-height: 1.58; }
    .ogere5-ologere-grid { width: 100%; grid-template-columns: 1fr; min-height: 0; }
    .ogere5-ologere-photo-wrap img { min-height: 0; height: auto; object-fit: contain; object-position: center top; }
    .ogere5-ologere-identity { min-height: 128px; padding: 20px 22px; }
    .ogere5-ologere-copy { padding: 34px 24px 38px; }
    .ogere5-ologere-title h2 { font-size: 27px; }
    .ogere5-ologere-copy > p { font-size: 13.5px; line-height: 1.64; }
    .ogere5-ologere-priorities { grid-template-columns: 1fr; gap: 8px; }
    .ogere5-support-section { padding: 52px 0 56px; }
    .ogere5-support-grid { grid-template-columns: 1fr; }
    .ogere5-support-card { min-height: 210px; }
    .ogere5-support-card p { min-height: 0; }
    .ogere5-events-section { padding: 52px 0 56px; }
    .ogere5-events-grid,
    .ogere5-events-grid.ogere5-events-count-1,
    .ogere5-events-grid.ogere5-events-count-2 { grid-template-columns: 1fr; }
    .ogere5-event-image { height: 185px; }
    .ogere5-event-body { grid-template-columns: 68px minmax(0, 1fr); min-height: 0; }
    .ogere5-security-section { padding: 50px 0 54px; }
    .ogere5-security-grid { grid-template-columns: 1fr; }
    .ogere5-security-card { min-height: 145px; }
    .ogere5-phone-row > span { display: inline; }
    .ogere5-footer-legal { justify-content: flex-start; gap: 7px 14px; }
}

@media (max-width: 420px) {
    .ogere5-slide:nth-child(1) h1 { font-size: 27px; }
    .ogere5-section-heading h2 { font-size: 23px; }
    .ogere5-ologere-identity h3 { font-size: 15px; }
    .ogere5-ologere-identity p { font-size: 12px; }
    .ogere5-event-body { grid-template-columns: 62px minmax(0, 1fr); }
    .ogere5-event-content { padding: 18px; }
    .ogere5-event-content h3 { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .ogere5-support-card { transition: none !important; }
}
