/* Scoped to the optional guest header/footer. No existing portal or theme rules modified. */
.lzld-ghf-header, .lzld-ghf-footer, .lzld-ghf-header *, .lzld-ghf-footer * { box-sizing: border-box; }
.lzld-ghf-header { position: relative; z-index: 10; width: 100%; background: #fff; border-bottom: 1px solid #e5e7eb; color: #182437; font-size: 14px; line-height: 1.4; }
.lzld-ghf-footer { width: 100%; background: #fff; border-top: 1px solid #e5e7eb; color: #64748b; font-size: 12px; line-height: 1.4; }
.lzld-ghf-container { width: 100%; max-width: var(--lzld-public-content-width, 1240px); padding-inline: 22px; margin-inline: auto; }
.lzld-ghf-header-inner { min-height: 56px; padding-block: 7px; display: flex; align-items: center; gap: 26px; }
.lzld-ghf-brand { min-width: 0; display: inline-flex; align-items: center; gap: 10px; color: #182437; text-decoration: none; font-size: 15px; font-weight: 700; line-height: 1.25; }
.lzld-ghf-brand:hover, .lzld-ghf-brand:focus { color: #182437; }
.lzld-ghf-brand span { overflow-wrap: anywhere; }
.lzld-ghf-logo { max-width: 140px; max-height: 38px; width: auto; height: auto; object-fit: contain; }
.lzld-ghf-navigation { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-left: auto; }
.lzld-ghf-navigation a, .lzld-ghf-footer-nav a { color: inherit; text-decoration: none; font: inherit; }
.lzld-ghf-navigation a { color: #344255; font-weight: 600; }
.lzld-ghf-navigation a:hover, .lzld-ghf-navigation a:focus, .lzld-ghf-footer-nav a:hover, .lzld-ghf-footer-nav a:focus { color: #0f172a; text-decoration: underline; text-underline-offset: 3px; }
.lzld-ghf-login { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 18px; border-radius: 7px; background: var(--e-global-color-primary, #182437); border: 1px solid var(--e-global-color-primary, #182437); color: #fff!important; text-decoration: none!important; font: inherit; font-weight: 600; line-height: 1.25; transition: opacity .15s ease; }
.lzld-ghf-login:hover, .lzld-ghf-login:focus { opacity: .88; }
.lzld-ghf-footer-inner { min-height: 50px; padding-block: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px 24px; }
.lzld-ghf-copyright { color: inherit; font: inherit; }
.lzld-ghf-footer-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
@media (max-width: 640px) {
    .lzld-ghf-container { padding-inline: 16px; }
    .lzld-ghf-header-inner { gap: 8px 12px; flex-wrap: wrap; padding-block: 9px; }
    .lzld-ghf-brand { flex: 1 1 auto; font-size: 14px; }
    .lzld-ghf-logo { max-width: 112px; max-height: 32px; }
    .lzld-ghf-login { order: 2; padding: 6px 14px; min-height: 32px; }
    .lzld-ghf-navigation { order: 3; width: 100%; flex: 1 0 100%; margin-left: 0; gap: 10px 20px; font-size: 13px; }
    .lzld-ghf-footer-inner { justify-content: center; flex-direction: column; gap: 9px; text-align: center; }
    .lzld-ghf-footer-nav { justify-content: center; }
}

/* Guest header and footer color presets, independently configurable. */
.lzld-ghf-header{background:var(--lzld-ghf-header-bg,#fff)}
.lzld-ghf-footer{background:var(--lzld-ghf-footer-bg,#fff)}
.lzld-ghf-header.lzld-ghf-dark,.lzld-ghf-footer.lzld-ghf-dark{color:#f8fafc;border-color:rgba(255,255,255,.2)}
.lzld-ghf-header.lzld-ghf-light{color:#182437}
.lzld-ghf-footer.lzld-ghf-light{color:#64748b}
.lzld-ghf-header.lzld-ghf-dark .lzld-ghf-brand,.lzld-ghf-header.lzld-ghf-dark .lzld-ghf-navigation a,.lzld-ghf-footer.lzld-ghf-dark .lzld-ghf-footer-nav a{color:#f8fafc!important}
.lzld-ghf-header.lzld-ghf-light .lzld-ghf-brand,.lzld-ghf-header.lzld-ghf-light .lzld-ghf-navigation a{color:#182437!important}
.lzld-ghf-header.lzld-ghf-dark .lzld-ghf-login{background:#f8fafc!important;border-color:#f8fafc!important;color:#182437!important}
.lzld-ghf-header.lzld-ghf-light .lzld-ghf-login{background:#182437!important;border-color:#182437!important;color:#fff!important}
.lzld-ghf-header.lzld-ghf-dark .lzld-ghf-navigation a:hover,.lzld-ghf-footer.lzld-ghf-dark .lzld-ghf-footer-nav a:hover{color:#fff!important}

/* Keep the optional visitor header visible during scrolling; no effect on admin or portal headers. */
.lzld-ghf-header{position:sticky;top:0;z-index:1000;}
