/*
Theme Name: Egovenz Child
Description: Child Theme for Egovenz Theme
Author: Zozothemes
Version: 1.0
Template: egovenz
Tags: one-column, two-columns, right-sidebar, flexible-header, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
Text Domain: zozotheme
*/

:root {
    --ogere-navy: #0c1831;
    --ogere-navy-dark: #071326;
    --ogere-blue: #052354;
    --ogere-gold: #b68731;
    --ogere-gold-dark: #8c691f;
    --ogere-cream: #f7f3ea;
    --ogere-text: #283241;
    --ogere-border: #e6e8ec;
}

/* --------------------------------------------------------------------------
   Parent demo header/footer suppression. The child theme owns the Ogere shell.
   -------------------------------------------------------------------------- */
body > header.site-header,
body > .site-header,
body > .header-wrap,
body > .main-header,
body > .mobile-header,
body > footer.site-footer,
body > #colophon,
body > .footer-wrap,
body > .footer-wrapper {
    display: none !important;
}

/* If eGovenz nests its demo header/footer one level deeper. */
body .header-topbar:not(.ogere-utility-bar),
body .header-logobar,
body .header-navbar,
body .footer-middle,
body .footer-bottom:not(.ogere-footer-bottom) {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Ogere custom utility bar and header
   -------------------------------------------------------------------------- */
.ogere-utility-bar {
    background: var(--ogere-navy-dark);
    color: #fff;
    font-size: 12px;
    line-height: 1.3;
}

.ogere-utility-inner,
.ogere-header-inner,
.ogere-footer-main,
.ogere-footer-bottom-inner {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
}

.ogere-utility-inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ogere-utility-tagline {
    font-weight: 500;
    letter-spacing: .01em;
    white-space: nowrap;
}

.ogere-utility-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    white-space: nowrap;
}

.ogere-utility-links a {
    color: rgba(255,255,255,.92);
    text-decoration: none;
}

.ogere-utility-links a:hover,
.ogere-utility-links a:focus {
    color: #fff;
    text-decoration: underline;
}

.ogere-utility-social {
    font-weight: 600;
}

.ogere-site-header {
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(12,24,49,.10);
    box-shadow: 0 3px 18px rgba(12,24,49,.06);
    position: sticky;
    top: 0;
    z-index: 999;
}

.admin-bar .ogere-site-header {
    top: 32px;
}

.ogere-header-inner {
    min-height: 86px;
    display: flex;
    align-items: center;
    gap: 26px;
}

.ogere-header-logo {
    flex: 0 0 190px;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.ogere-header-logo img {
    width: 190px;
    max-width: 100%;
    height: auto;
    display: block;
}

.ogere-nav-panel {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.ogere-primary-nav {
    min-width: 0;
}

.ogere-primary-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ogere-primary-menu > li {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
}

.ogere-primary-menu > li > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 8px;
    color: var(--ogere-navy) !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
}

.ogere-primary-menu > li > a:hover,
.ogere-primary-menu > li.current-menu-item > a,
.ogere-primary-menu > li.current-menu-ancestor > a {
    color: var(--ogere-gold-dark) !important;
}

.ogere-primary-menu .sub-menu {
    position: absolute;
    z-index: 1005;
    top: calc(100% + 6px);
    left: 0;
    min-width: 230px;
    list-style: none;
    margin: 0;
    padding: 10px 0;
    background: #fff;
    border: 1px solid var(--ogere-border);
    border-top: 3px solid var(--ogere-gold);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 16px 40px rgba(12,24,49,.13);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: .18s ease;
}

.ogere-primary-menu li:hover > .sub-menu,
.ogere-primary-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ogere-primary-menu .sub-menu a {
    display: block;
    padding: 9px 18px;
    color: var(--ogere-navy) !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.ogere-primary-menu .sub-menu a:hover {
    background: #f7f8fa;
    color: var(--ogere-gold-dark) !important;
}

.ogere-support-menu > a,
li.ogere-support-menu > a {
    background: var(--ogere-gold) !important;
    color: #fff !important;
    border-radius: 4px;
    padding: 11px 14px !important;
    margin-left: 4px;
    line-height: 1.2 !important;
}

.ogere-support-menu > a:hover,
.ogere-support-menu.current-menu-item > a,
li.ogere-support-menu > a:hover {
    background: var(--ogere-gold-dark) !important;
    color: #fff !important;
}

.ogere-contact-button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid var(--ogere-navy);
    border-radius: 4px;
    color: var(--ogere-navy) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.ogere-contact-button:hover,
.ogere-contact-button:focus {
    color: #fff !important;
    background: var(--ogere-navy);
}

.ogere-menu-toggle {
    display: none;
    margin-left: auto;
    border: 1px solid rgba(12,24,49,.18);
    border-radius: 4px;
    padding: 8px 10px;
    background: #fff;
    color: var(--ogere-navy);
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.ogere-menu-bars {
    width: 20px;
    display: grid;
    gap: 4px;
}

.ogere-menu-bars span {
    height: 2px;
    background: currentColor;
    display: block;
}

/* --------------------------------------------------------------------------
   Homepage shell and page-width corrections
   -------------------------------------------------------------------------- */
.page-id-20524 .page-title-wrap,
.page-id-20524 .page-title-wrapper,
.page-id-20524 .page-title,
.page-id-20524 .breadcrumb,
.page-id-20524 .breadcrumb-wrap,
.page-id-20524 .page-header,
.page-id-20524 .page-header-wrap {
    display: none !important;
}

.page-id-20524 .site-content,
.page-id-20524 .content-area,
.page-id-20524 main.site-main {
    width: 100% !important;
    max-width: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.page-id-20524 .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1240px;
}

.page-id-20524 .elementor-section.elementor-section-stretched {
    width: 100vw;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.ogere-home-hero {
    position: relative;
    overflow: hidden;
}

.ogere-home-hero .elementor-container {
    max-width: 1240px !important;
}

.ogere-home-hero .elementor-heading-title {
    text-shadow: 0 2px 18px rgba(0,0,0,.25);
    max-width: 850px;
}

.ogere-home-hero .elementor-widget-text-editor,
.ogere-home-hero .elementor-widget-text-editor p {
    font-size: 18px;
    line-height: 1.65;
    max-width: 760px;
}

/* --------------------------------------------------------------------------
   Welcome to Ogere / image balance
   -------------------------------------------------------------------------- */
.ogere-welcome-palace,
.ogere-welcome-palace .elementor-widget-container {
    height: 100%;
}

.ogere-welcome-palace img {
    display: block;
    width: 100% !important;
    height: 510px !important;
    object-fit: cover;
    object-position: center top;
    border-radius: 7px;
    box-shadow: 0 16px 40px rgba(12,24,49,.12);
}

/* --------------------------------------------------------------------------
   Discover Ogere semantic icon cards
   -------------------------------------------------------------------------- */
.ogere-discover-card .feature-box-wrap,
.ogere-discover-card .feature-box-wrapper,
.ogere-discover-card .feature-box-inner,
.ogere-discover-card .elementor-widget-container {
    min-height: 92px;
}

.ogere-discover-card i,
.ogere-discover-card .feature-box-icon,
.ogere-discover-card .feature-icon {
    color: var(--ogere-gold) !important;
}

/* --------------------------------------------------------------------------
   Ologere section: blend portrait into the section rather than a hard cut.
   -------------------------------------------------------------------------- */
.ogere-ologere-section {
    overflow: hidden;
}

.ogere-hide-spacer {
    display: none !important;
}

.ogere-ologere-portrait,
.ogere-ologere-portrait .elementor-widget-container {
    height: 100%;
    overflow: hidden;
    background: var(--ogere-navy-dark);
}

.ogere-ologere-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 570px;
    object-fit: cover;
    object-position: center top;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 72%, rgba(0,0,0,.82) 84%, transparent 100%);
    mask-image: linear-gradient(to right, #000 0%, #000 72%, rgba(0,0,0,.82) 84%, transparent 100%);
}

/* --------------------------------------------------------------------------
   Equal support cards
   -------------------------------------------------------------------------- */
.ogere-support-grid .elementor-container,
.ogere-support-grid .elementor-row {
    align-items: stretch;
}

.ogere-support-grid .elementor-column,
.ogere-support-grid .elementor-column-wrap,
.ogere-support-grid .elementor-widget-wrap,
.ogere-support-grid .elementor-widget-egovenzfeaturebox,
.ogere-support-grid .elementor-widget-container {
    height: 100%;
}

.ogere-support-grid .elementor-widget-egovenzfeaturebox .feature-box-wrap,
.ogere-support-grid .elementor-widget-egovenzfeaturebox .feature-box-wrapper,
.ogere-support-grid .elementor-widget-egovenzfeaturebox .feature-box-inner {
    min-height: 210px;
    height: 100%;
}

/* --------------------------------------------------------------------------
   Security and emergency contacts
   -------------------------------------------------------------------------- */
.ogere-security-section {
    background: #f7f8fa;
}

.ogere-security-card {
    height: 100%;
    background: #fff;
    border: 1px solid var(--ogere-border);
    border-top: 4px solid var(--ogere-gold);
    border-radius: 5px;
    padding: 24px 22px;
    box-shadow: 0 10px 28px rgba(12,24,49,.06);
}

.ogere-security-card .elementor-heading-title {
    color: var(--ogere-navy);
    font-size: 17px;
    line-height: 1.35;
    margin-bottom: 8px;
}

.ogere-security-card p {
    margin-bottom: 5px;
    color: var(--ogere-text);
    font-size: 14px;
    line-height: 1.55;
}

.ogere-security-card a {
    color: var(--ogere-navy);
    font-weight: 700;
    text-decoration: none;
}

.ogere-security-card a:hover {
    color: var(--ogere-gold-dark);
}

/* --------------------------------------------------------------------------
   Ogere footer
   -------------------------------------------------------------------------- */
.ogere-site-footer {
    margin-top: 0;
    color: rgba(255,255,255,.86);
    background: var(--ogere-navy-dark);
    font-size: 14px;
    line-height: 1.65;
}

.ogere-footer-main {
    padding-top: 58px;
    padding-bottom: 34px;
}

.ogere-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr repeat(3, 1fr);
    gap: 46px;
}

.ogere-footer-logo img {
    width: 210px;
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 18px;
}

.ogere-footer-tagline {
    color: #fff;
    font-weight: 600;
    max-width: 410px;
}

.ogere-footer-brand p {
    max-width: 450px;
}

.ogere-site-footer h3 {
    color: #fff;
    font-size: 16px;
    margin: 7px 0 15px;
}

.ogere-site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ogere-site-footer li {
    margin: 0 0 7px;
}

.ogere-site-footer a {
    color: rgba(255,255,255,.88);
    text-decoration: none;
}

.ogere-site-footer a:hover,
.ogere-site-footer a:focus {
    color: #fff;
    text-decoration: underline;
}

.ogere-footer-social {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.ogere-footer-social a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.ogere-footer-social a:hover {
    background: var(--ogere-gold);
    border-color: var(--ogere-gold);
    text-decoration: none;
}

.ogere-footer-bottom {
    background: #040d1c;
    border-top: 1px solid rgba(255,255,255,.08);
}

.ogere-footer-bottom-inner {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    text-align: center;
    font-size: 12px;
    color: rgba(255,255,255,.78);
}

.ogere-footer-bottom a {
    color: #fff;
    font-weight: 600;
}

/* --------------------------------------------------------------------------
   Responsive header/footer/homepage
   -------------------------------------------------------------------------- */
@media (max-width: 1179px) {
    .ogere-utility-social,
    .ogere-utility-separator {
        display: none;
    }

    .ogere-header-inner {
        min-height: 76px;
    }

    .ogere-header-logo,
    .ogere-header-logo img {
        width: 178px;
        flex-basis: 178px;
    }

    .ogere-menu-toggle {
        display: inline-flex;
    }

    .ogere-nav-panel {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 1001;
        padding: 12px 24px 22px;
        background: #fff;
        border-top: 1px solid var(--ogere-border);
        box-shadow: 0 18px 36px rgba(12,24,49,.13);
    }

    .ogere-nav-panel.is-open {
        display: block;
    }

    .ogere-primary-menu {
        display: block;
    }

    .ogere-primary-menu > li > a {
        min-height: 42px;
        padding: 9px 4px;
        border-bottom: 1px solid #f0f1f3;
        font-size: 14px;
    }

    .ogere-primary-menu .sub-menu {
        position: static;
        display: block;
        min-width: 0;
        padding: 0 0 4px 14px;
        border: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .ogere-support-menu > a,
    li.ogere-support-menu > a {
        display: inline-flex !important;
        width: auto;
        margin: 10px 0 !important;
        padding: 11px 16px !important;
        border-bottom: 0 !important;
    }

    .ogere-contact-button {
        margin-top: 8px;
    }

    .ogere-footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
        gap: 34px;
    }

    .ogere-footer-column:last-child {
        grid-column: 2 / 4;
    }
}

@media (max-width: 782px) {
    .admin-bar .ogere-site-header {
        top: 46px;
    }
}

@media (max-width: 767px) {
    .ogere-utility-inner,
    .ogere-header-inner,
    .ogere-footer-main,
    .ogere-footer-bottom-inner {
        width: min(100% - 30px, 1320px);
    }

    .ogere-utility-inner {
        min-height: 31px;
        justify-content: center;
    }

    .ogere-utility-tagline {
        display: none;
    }

    .ogere-utility-links {
        width: 100%;
        justify-content: center;
    }

    .ogere-header-inner {
        min-height: 68px;
    }

    .ogere-header-logo,
    .ogere-header-logo img {
        width: 158px;
        flex-basis: 158px;
    }

    .ogere-menu-toggle-label {
        display: none;
    }

    .ogere-nav-panel {
        padding-left: 17px;
        padding-right: 17px;
    }

    .ogere-home-hero .elementor-widget-text-editor,
    .ogere-home-hero .elementor-widget-text-editor p {
        font-size: 16px;
        line-height: 1.55;
    }

    .ogere-welcome-palace img {
        height: 430px !important;
        margin-top: 20px;
    }

    .ogere-ologere-portrait img {
        min-height: 500px;
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 83%, rgba(0,0,0,.75) 91%, transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0%, #000 83%, rgba(0,0,0,.75) 91%, transparent 100%);
    }

    .ogere-footer-main {
        padding-top: 42px;
    }

    .ogere-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ogere-footer-column:last-child {
        grid-column: auto;
    }

    .ogere-footer-logo img {
        width: 190px;
    }

    .ogere-footer-divider {
        display: none;
    }

    .ogere-footer-bottom-inner {
        padding: 15px 0;
        display: grid;
        gap: 2px;
    }
}
