.olp-header {
    --olp-admin-offset: 0px;
    position: fixed; inset: var(--olp-admin-offset) 0 auto;
    z-index: 1000; padding-block: 1.5rem;
    border-bottom: 1px solid transparent;
    background: transparent;
    transition: padding .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
}
.admin-bar .olp-header { --olp-admin-offset: 32px; }
.olp-header.is-scrolled {
    padding-block: 1rem; background: rgb(5 5 5 / 80%);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom-color: rgb(240 237 232 / 4%);
}
.olp-header__inner {
    max-width: var(--wp--style--global--wide-size, 1280px);
    padding-inline: var(--wp--preset--spacing--30, 1.5rem);
    margin-inline: auto; display: flex; align-items: center; justify-content: space-between;
}
.olp-brand {
    flex-shrink: 0; position: relative; z-index: 2;
    font-size: 1rem; font-weight: 700; line-height: 1.5; letter-spacing: -.025em;
    color: var(--wp--preset--color--foreground); text-decoration: none;
}
.olp-brand__suffix { font-weight: 300; color: var(--wp--preset--color--muted); }
.olp-brand__image { display: block; width: auto; height: 24px; max-width: 180px; object-fit: contain; }
.olp-header__panel { display: contents; }
.olp-menu {
    display: flex; align-items: center; gap: 1.75rem;
    list-style: none; margin: 0; padding: 0;
    font-size: .875rem; font-weight: 400; line-height: 1.25rem;
}
.olp-menu a {
    display: block; color: var(--wp--preset--color--muted);
    text-decoration: none; letter-spacing: .025em;
    transition: color .2s ease;
}
.olp-menu a:hover, .olp-menu a:focus-visible { color: var(--wp--preset--color--foreground); }
.olp-header__cta { line-height: 1.5rem; }
.olp-header__cta a {
    padding: .625rem 1.25rem; border-radius: 100vmax;
    background: var(--wp--preset--color--foreground); color: var(--wp--preset--color--background);
    font-size: .875rem; font-weight: 600; line-height: 1.25rem;
    text-decoration: none; transition: background-color .2s ease;
}
.olp-header__cta a:hover { background: #dcd9d5; }
.olp-menu-toggle {
    display: none; align-items: center; justify-content: center;
    position: relative; z-index: 2; border: 0; background: none;
    color: var(--wp--preset--color--foreground); padding: 0; cursor: pointer;
    width: 24px; height: 24px;
}
/* Expand the touch target without changing the reference icon position. */
.olp-menu-toggle::before { content: ''; position: absolute; inset: -10px; }
.olp-icon-close { display: none; }
.olp-header.is-open .olp-icon-close { display: block; }
.olp-header.is-open .olp-icon-menu { display: none; }

@media (max-width: 47.999rem) {
    .olp-header.is-open { backdrop-filter: none; -webkit-backdrop-filter: none; }
    .olp-header__inner { flex-wrap: wrap; }
    .olp-header__panel { display: flex; flex: 1 0 100%; flex-direction: column; align-items: center; gap: 3rem; padding-top: 2rem; }
    .olp-menu { flex-wrap: wrap; justify-content: center; }
    /* No-JS navigation stays visible, in normal document flow. */
    .olp-header:not(.is-enhanced) { position: relative; background: var(--wp--preset--color--background); }
    .olp-header.is-enhanced .olp-menu-toggle { display: flex; }
    .olp-header.is-enhanced .olp-header__panel {
        position: fixed; inset: var(--olp-admin-offset) 0 0;
        z-index: 1; overflow-y: auto; overscroll-behavior: contain;
        padding: 5rem 1.5rem; justify-content: safe center;
        background: rgb(5 5 5 / 95%);
        backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
        opacity: 0; visibility: hidden; pointer-events: none;
        transition: opacity .3s ease, visibility .3s;
    }
    .olp-header.is-enhanced.is-open .olp-header__panel { opacity: 1; visibility: visible; pointer-events: auto; }
    .olp-header.is-enhanced .olp-menu { flex-direction: column; flex-wrap: nowrap; gap: 2rem; font-size: 1.5rem; line-height: 2rem; font-weight: 500; }
    .olp-header.is-enhanced .olp-menu a { color: var(--wp--preset--color--foreground); letter-spacing: normal; }
    .olp-header__cta a { display: inline-block; max-width: 100%; text-align: center; padding: .75rem 2rem; font-size: 1.125rem; line-height: 1.75rem; }
    .olp-header.is-enhanced .olp-header__panel > * { flex-shrink: 0; }
    html.olp-menu-open { overflow: hidden; scrollbar-gutter: stable; }
}
@media (max-width: 782px) { .admin-bar .olp-header { --olp-admin-offset: 46px; } }
@media (prefers-reduced-motion: reduce) {
    .olp-header, .olp-header__panel, .olp-menu a, .olp-header__cta a { transition: none !important; }
}
