/* Version 1.5.5 — global layout lock for every public template.
 * This file is intentionally loaded on every page after main.css using a new
 * filename so browser/server caches cannot keep the earlier broken header/hero
 * rules on inner pages.
 */
:root {
    --jda-lock-gold: #d8b062;
    --jda-lock-dark: #070707;
    --jda-lock-ivory: #f7f4ee;
    --jda-lock-border: rgba(255,255,255,.10);
}

body.jda-theme {
    min-height: 100vh;
    background: var(--jda-lock-ivory);
}

body.jda-theme .jda-site-header,
body.jda-theme .jda-site-header.is-sticky {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 76px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: var(--jda-lock-dark) !important;
    border-bottom: 1px solid var(--jda-lock-border) !important;
    color: #fff !important;
    transform: none !important;
}

body.admin-bar.jda-theme .jda-site-header,
body.admin-bar.jda-theme .jda-site-header.is-sticky {
    top: 32px !important;
}

body.jda-theme .jda-site-header > .jda-container.jda-header-inner,
body.jda-theme .jda-header-inner {
    display: grid !important;
    grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-content: normal !important;
    gap: clamp(16px, 2.4vw, 38px) !important;
    width: min(calc(100% - 2rem), var(--jda-content, 1180px)) !important;
    min-height: 76px !important;
    height: auto !important;
    max-height: none !important;
    margin-inline: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
}

body.jda-theme .jda-site-header .jda-brand,
body.jda-theme .jda-site-header .jda-header-cta,
body.jda-theme .jda-site-header .jda-site-nav {
    position: static !important;
    inset: auto !important;
    align-self: center !important;
    transform: none !important;
    margin: 0 !important;
}

body.jda-theme .jda-site-header .jda-brand {
    justify-self: start !important;
    display: inline-flex !important;
}

body.jda-theme .jda-site-header .jda-brand__name {
    max-width: 220px !important;
    color: var(--jda-lock-gold) !important;
    font-size: clamp(1.05rem, 1.45vw, 1.34rem) !important;
    line-height: .95 !important;
    letter-spacing: .06em !important;
}

body.jda-theme .jda-site-header .jda-site-nav {
    justify-self: center !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
}

body.jda-theme .jda-site-header .jda-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(14px, 1.7vw, 28px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.jda-theme .jda-site-header .jda-menu a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 76px !important;
    padding: 0 !important;
    color: rgba(255,255,255,.86) !important;
    font-size: .69rem !important;
    font-weight: 750 !important;
    letter-spacing: .045em !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

body.jda-theme .jda-site-header .jda-header-cta {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: .72rem 1.25rem !important;
    border: 1px solid rgba(216,176,98,.78) !important;
    background: transparent !important;
    color: #fff !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
    letter-spacing: .09em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.jda-theme .jda-site-main,
body.jda-theme #primary {
    position: relative !important;
    z-index: 1 !important;
    min-height: 45vh !important;
}

body.jda-theme:not(.jda-front-page) .jda-page-hero,
body.jda-theme:not(.jda-front-page) .jda-archive-hero,
body.jda-theme:not(.jda-front-page) .jda-single-hero {
    min-height: auto !important;
    height: auto !important;
    padding-block: clamp(68px, 8vw, 116px) !important;
    margin: 0 !important;
    overflow: hidden !important;
}

body.jda-theme:not(.jda-front-page) .jda-page-hero.jda-section-dark,
body.jda-theme:not(.jda-front-page) .jda-archive-hero.jda-section-dark,
body.jda-theme:not(.jda-front-page) .jda-single-hero.jda-section-dark {
    background: radial-gradient(circle at 84% 2%, rgba(216,176,98,.18), transparent 32%), linear-gradient(115deg, #070707 0%, #0b0b0b 58%, #17120b 100%) !important;
    color: #fff !important;
}

body.jda-theme:not(.jda-front-page) .jda-page-hero.jda-section-light,
body.jda-theme:not(.jda-front-page) .jda-archive-hero.jda-section-light,
body.jda-theme:not(.jda-front-page) .jda-single-hero.jda-section-light {
    background: var(--jda-lock-ivory) !important;
    color: var(--jda-text, #20201f) !important;
}

body.jda-theme:not(.jda-front-page) .jda-page-hero__grid {
    min-height: 0 !important;
    height: auto !important;
    align-items: center !important;
}

body.jda-theme:not(.jda-front-page) .jda-page-entry,
body.jda-theme:not(.jda-front-page) .jda-page-content,
body.jda-theme:not(.jda-front-page) .jda-directory-section,
body.jda-theme:not(.jda-front-page) .jda-contact-section,
body.jda-theme:not(.jda-front-page) .jda-map-section,
body.jda-theme:not(.jda-front-page) .jda-related-section {
    min-height: 0 !important;
    background: var(--jda-lock-ivory);
}

body.jda-theme .jda-breadcrumbs {
    display: block;
    background: var(--jda-lock-ivory);
}

@media (max-width: 1180px) {
    body.jda-theme .jda-site-header .jda-menu { gap: 14px !important; }
    body.jda-theme .jda-site-header .jda-menu a { font-size: .62rem !important; }
}

@media (max-width: 980px) {
    body.jda-theme .jda-site-header .jda-header-cta { display: none !important; }
}

@media (max-width: 900px) {
    body.admin-bar.jda-theme .jda-site-header,
    body.admin-bar.jda-theme .jda-site-header.is-sticky { top: 46px !important; }

    body.jda-theme .jda-site-header > .jda-container.jda-header-inner,
    body.jda-theme .jda-header-inner {
        display: flex !important;
        min-height: 68px !important;
        justify-content: space-between !important;
        gap: 1rem !important;
    }

    body.jda-theme .jda-menu-toggle { display: inline-flex !important; }

    .jda-js body.jda-theme .jda-site-header .jda-site-nav {
        position: fixed !important;
        inset: 0 0 0 auto !important;
        width: min(88vw, 390px) !important;
        height: auto !important;
        padding: 1rem 1.2rem 2rem !important;
        overflow-y: auto !important;
        background: #0b0c0b !important;
        visibility: hidden !important;
        opacity: 0 !important;
        transform: translateX(105%) !important;
        transition: transform 220ms ease, opacity 220ms ease !important;
    }

    .jda-js body.jda-theme .jda-site-header .jda-site-nav.is-open {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
    }

    body.jda-theme .jda-site-header .jda-menu {
        display: block !important;
    }

    body.jda-theme .jda-site-header .jda-menu a {
        min-height: 0 !important;
        padding: 14px 0 !important;
        font-size: .95rem !important;
    }

    body.jda-theme .jda-mobile-nav-heading,
    body.jda-theme .jda-menu-close { display: flex !important; }
}

@media (max-width: 782px) {
    body.admin-bar.jda-theme .jda-site-header,
    body.admin-bar.jda-theme .jda-site-header.is-sticky { top: 46px !important; }
}
