/* Managed public navigation and custom landing pages. */
.nav-menu { flex-wrap: wrap; row-gap: 10px; }
.nav-menu__group { position: relative; }
.nav-menu__group summary { display: inline-flex; gap: 6px; align-items: center; color: var(--theme-header-text, #d9dfeb); cursor: pointer; font-size: .9rem; font-weight: 650; list-style: none; }
.nav-menu__group summary::-webkit-details-marker { display: none; }
.nav-menu__summary-label { min-width: 0; transform: none; }
.nav-menu__group > summary .nav-menu__chevron { display: inline-block; flex: 0 0 auto; color: var(--teal); font-size: .78rem; line-height: 1; transition: transform .18s ease; }
.nav-menu__group[open] > summary .nav-menu__chevron { transform: rotate(180deg); }
.nav-menu__group summary:hover, .nav-menu__group.is-active summary { color: var(--teal); }
.nav-menu__dropdown { position: absolute; z-index: 20; top: calc(100% + 13px); left: -14px; display: grid; min-width: 196px; gap: 2px; padding: 8px; border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 16%, transparent); border-radius: 7px; background: var(--theme-header-bg, var(--ink-soft)); box-shadow: 0 16px 36px rgba(0,0,0,.24); }
.nav-menu__dropdown a { display: block; padding: 9px 10px; border-radius: 4px; color: var(--theme-header-text, #d9dfeb); font-size: .79rem; font-weight: 720; white-space: nowrap; }
.nav-menu__dropdown a:hover, .nav-menu__dropdown a.is-active { background: color-mix(in srgb, var(--theme-header-text, #ffffff) 8%, transparent); color: var(--teal); }

.custom-page-hero { position: relative; overflow: hidden; padding: clamp(76px, 11vw, 142px) 0; background: var(--theme-header-bg, var(--ink)); color: var(--theme-header-text, var(--white)); }
.custom-page-hero::before { position: absolute; inset: 0; background-image: linear-gradient(color-mix(in srgb, var(--theme-header-text, #ffffff) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--theme-header-text, #ffffff) 4%, transparent) 1px, transparent 1px); background-size: 52px 52px; content: ""; mask-image: linear-gradient(to right, black, transparent 78%); }
.custom-page-hero::after { position: absolute; right: max(-48px, calc((100% - var(--container)) / 2 - 72px)); bottom: -140px; width: 560px; height: 560px; border: 1px solid color-mix(in srgb, var(--teal) 22%, transparent); border-radius: 50%; content: ""; }
.custom-page-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(34px, 7vw, 88px); align-items: center; }
.custom-page-hero__copy > p:not(.eyebrow) { max-width: 620px; margin: 0 0 28px; color: color-mix(in srgb, var(--theme-header-text, var(--white)) 76%, transparent); font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.65; }
.custom-page-hero h1 { max-width: 760px; color: var(--theme-header-text, var(--white)); }
.custom-page-hero h1 > span { color: var(--teal); }
.custom-page-hero__media { aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid color-mix(in srgb, var(--theme-header-text, #ffffff) 18%, transparent); border-radius: var(--radius); background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 78%, #000); box-shadow: 0 24px 55px rgba(0,0,0,.24); }
.custom-page-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.custom-page-content { padding-bottom: 32px; }
.custom-page-content article { max-width: 820px; color: var(--slate); font-size: 1.02rem; line-height: 1.75; }
.custom-page-content article > *:last-child { margin-bottom: 0; }
.custom-page-content article h2, .custom-page-content article h3 { margin: 38px 0 14px; color: var(--ink); }
.custom-page-content article ul, .custom-page-content article ol { padding-left: 23px; }
.custom-page-listings .section-heading { margin-bottom: 30px; }
.custom-page-share { padding-top: 18px; }
.custom-page-not-found { min-height: 62vh; padding: 130px 0; }
.custom-page-not-found p:not(.eyebrow) { max-width: 510px; margin-bottom: 28px; color: var(--slate); }

/* Admin page library and navigation manager. */
.admin-page-heading__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px 19px; align-items: center; }
.admin-page-heading__actions > a:not(.button) { color: var(--teal-deep); font-size: .82rem; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.admin-page-tabs { display: flex; gap: 8px; margin: -17px 0 27px; border-bottom: 1px solid var(--line); }
.admin-page-tabs a { padding: 10px 13px 11px; border-bottom: 2px solid transparent; color: var(--slate); font-size: .79rem; font-weight: 850; }
.admin-page-tabs a:hover, .admin-page-tabs a.is-active { border-color: var(--teal-deep); color: var(--teal-deep); }
.admin-page-library { margin-top: 34px; }
.admin-page-library__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.admin-page-card { overflow: visible; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.admin-page-card__visual { position: relative; display: grid; height: 145px; overflow: hidden; border-radius: 10px 10px 0 0; background: linear-gradient(135deg, var(--ink-soft), color-mix(in srgb, var(--teal-deep) 52%, var(--ink-soft))); color: var(--teal); font-size: .7rem; font-weight: 900; letter-spacing: .13em; place-items: center; }
.admin-page-card__visual img { width: 100%; height: 100%; object-fit: cover; }
.admin-page-card__status { position: absolute; top: 10px; left: 10px; padding: 5px 7px; border-radius: 4px; background: #e6f5f1; color: #176152; font-size: .59rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-page-card__status--draft { background: #e9edf0; color: #40516c; }
.admin-page-card__status--scheduled { background: #fff1c7; color: #76580e; }
.admin-page-card__body { padding: 17px; }
.admin-page-card__body > p { margin: 0 0 7px; color: var(--teal-deep); font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.admin-page-card__body h3 { margin: 0 0 8px; color: var(--ink); font-size: 1.16rem; }
.admin-page-card__body > span { display: -webkit-box; min-height: 2.75em; overflow: hidden; color: var(--slate); font-size: .76rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.admin-page-card__body > small { display: block; margin-top: 9px; overflow: hidden; color: var(--slate); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-page-card__body > div, .admin-page-editor__utility { display: flex; flex-wrap: wrap; gap: 11px 16px; align-items: center; margin-top: 16px; }
.admin-page-card__body a, .admin-page-card__body button, .admin-page-editor__utility button { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .75rem; font-weight: 850; cursor: pointer; }
.admin-page-card__body a:hover, .admin-page-card__body button:hover, .admin-page-editor__utility button:hover { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.admin-page-card__body form, .admin-page-editor__utility form { margin: 0; }
.admin-page-card__body form:last-child button, .admin-page-editor__utility form:last-child button { color: #b23d2c; }
.admin-page-card__body form:last-child button:hover, .admin-page-editor__utility form:last-child button:hover { color: #7e2218; }
.admin-page-editor__publishing { margin-bottom: 4px; }
.admin-page-editor__basics { grid-template-columns: 1.25fr .75fr 1fr; }
.admin-page-editor__basics > label { align-content: start; }
.admin-page-editor__title > small, .admin-page-editor__slug > small { color: var(--slate); font-size: .69rem; font-weight: 700; line-height: 1.25; }
.admin-page-editor__title > small code { padding: 1px 3px; border-radius: 3px; background: var(--paper); color: var(--teal-deep); font: inherit; font-weight: 900; }
.admin-page-editor__excerpt { margin-top: -2px; }
.admin-page-editor__hero, .admin-page-editor__items, .admin-page-editor__navigation, .admin-page-editor__seo { display: grid; grid-template-columns: minmax(215px, .72fr) minmax(0, 1.28fr); gap: 25px; padding: 22px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.admin-page-editor__hero h3, .admin-page-editor__items h3, .admin-page-editor__navigation h3, .admin-page-editor__seo h3 { margin: 0 0 9px; color: var(--ink); font-size: 1.2rem; }
.admin-page-editor__hero p:not(.eyebrow), .admin-page-editor__items p:not(.eyebrow), .admin-page-editor__navigation p:not(.eyebrow), .admin-page-editor__seo p:not(.eyebrow) { margin: 0; color: var(--slate); font-size: .77rem; line-height: 1.5; }
.admin-page-editor__hero > div:last-child { display: grid; gap: 10px; align-content: start; }
.admin-page-editor__hero img { width: min(100%, 290px); aspect-ratio: 4 / 3; border-radius: 6px; object-fit: cover; }
.admin-page-editor__hero input[type="file"] { max-width: 100%; color: var(--slate); font-size: .76rem; }
.admin-page-editor__hero small { color: var(--slate); font-size: .69rem; }
.admin-form .admin-inline-checkbox, .admin-form .admin-page-editor__remove-hero { display: inline-flex !important; width: fit-content !important; min-height: 22px; gap: 8px !important; align-items: center; align-self: start; padding: 0; border: 0; background: transparent; color: var(--ink) !important; cursor: pointer; }
.admin-form .admin-inline-checkbox input[type="checkbox"], .admin-form .admin-page-editor__remove-hero input[type="checkbox"] { display: block; flex: 0 0 auto; width: 14px !important; height: 14px !important; min-width: 14px; min-height: 14px; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; appearance: auto; background: initial; box-shadow: none; accent-color: var(--teal-deep); }
.admin-form .admin-inline-checkbox > span, .admin-form .admin-page-editor__remove-hero > span { display: block; color: inherit; font-size: .78rem; font-weight: 760; letter-spacing: normal; line-height: 1.2; text-transform: none; white-space: nowrap; }
.admin-page-editor__remove-hero { margin-top: 8px; }
.admin-page-editor__item-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.admin-page-editor__item-groups fieldset { min-width: 0; margin: 0; padding: 11px; border: 1px solid var(--line); border-radius: 6px; }
.admin-page-editor__item-groups legend { padding: 0 4px; color: var(--ink); font-size: .75rem; font-weight: 850; }
.admin-page-editor__item-groups fieldset > p { margin: 0; color: var(--slate); font-size: .71rem; }
.admin-page-editor__item-groups fieldset > div { display: grid; max-height: 215px; overflow-y: auto; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }
.admin-page-editor__item-groups label { grid-template-columns: auto minmax(0, 1fr); gap: 8px !important; align-items: center; padding: 8px 0; border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent); color: var(--ink) !important; }
.admin-page-editor__item-groups label:last-child { border-bottom: 0; }
.admin-page-editor__item-groups input { width: 14px; height: 14px; margin: 0; accent-color: var(--teal-deep); }
.admin-page-editor__item-groups strong, .admin-page-editor__item-groups small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-page-editor__item-groups strong { font-size: .71rem; }
.admin-page-editor__item-groups small { margin-top: 2px; color: var(--slate); font-size: .63rem; font-weight: 650; }
.admin-page-editor__navigation > div:last-child, .admin-page-editor__seo > div:last-child { display: grid; gap: 15px; }
.admin-page-editor__utility { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }

.admin-navigation-editor__form { display: grid; gap: 20px; }
.admin-navigation-editor__list { display: grid; gap: 9px; }
.admin-navigation-editor__item { display: grid; grid-template-columns: auto minmax(220px, 1.2fr) minmax(130px, .75fr) minmax(180px, 1fr) auto minmax(70px, max-content); gap: 13px; align-items: end; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); cursor: grab; }
.admin-navigation-editor__item > label:first-of-type { min-width: 220px; }
.admin-navigation-editor__item.is-dragging { opacity: .45; cursor: grabbing; }
.admin-navigation-editor__item.is-drag-over { border-color: var(--teal-deep); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal-deep) 16%, transparent); }
.admin-navigation-editor__handle { align-self: center; color: var(--teal-deep); font-size: 1.12rem; font-weight: 900; }
.admin-navigation-editor__item label { display: grid; gap: 6px; color: var(--ink); font-size: .69rem; font-weight: 850; }
.admin-navigation-editor__item input[type="text"] { width: 100%; height: 37px; padding: 0 9px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: .77rem; }
.admin-navigation-editor__target { align-self: center; color: var(--slate); font-size: .7rem; font-weight: 750; }
.admin-navigation-editor__toggle { grid-template-columns: minmax(0, 1fr) auto; gap: 10px !important; align-items: center; padding-bottom: 10px; white-space: nowrap; }
.admin-navigation-editor__toggle input { position: relative; box-sizing: border-box; flex: 0 0 48px; width: 48px; min-width: 48px; height: 27px; min-height: 27px; margin: 0; padding: 0; appearance: none; border: 1px solid var(--line); border-radius: 99px; background: #a9b1b8; box-shadow: none; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.admin-navigation-editor__toggle input::after { position: absolute; top: 4px; left: 4px; width: 19px; height: 19px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 2px rgba(0,0,0,.22); content: ''; transition: transform .15s ease; }
.admin-navigation-editor__toggle input:checked { border-color: var(--teal-deep); background: var(--teal-deep); }
.admin-navigation-editor__toggle input:checked::after { transform: translateX(21px); }
.admin-navigation-editor__toggle input:focus-visible { outline: 3px solid rgba(24,185,160,.28); outline-offset: 2px; }
.theme-logo-dark .admin-navigation-editor__toggle input { border-color: var(--line); background: #69727a; }
.admin-navigation-editor__item > a, .admin-navigation-editor__remove > button { align-self: end; min-height: 14px; padding: 0 0 10px; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .73rem; font-weight: 850; line-height: 1.46; white-space: nowrap; cursor: pointer; }
.admin-navigation-editor__remove { position: relative; align-self: center; }
.admin-navigation-editor__remove > button { color: #b23d2c; }
.admin-navigation-editor__item > a:hover, .admin-navigation-editor__remove > button:hover { text-decoration: underline; text-underline-offset: 3px; }
.admin-navigation-add { max-width: none; }
.admin-navigation-add__form { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.admin-navigation-add__form .button { grid-column: 1 / -1; justify-self: start; min-height: var(--ui-control-height); padding: 9px 13px; white-space: nowrap; }

.theme-logo-dark .admin-page-card, .theme-logo-dark .admin-navigation-editor__item { border-color: var(--line); background: var(--theme-surface); }
.theme-logo-dark .admin-page-card__body h3, .theme-logo-dark .admin-page-editor__hero h3, .theme-logo-dark .admin-page-editor__items h3, .theme-logo-dark .admin-page-editor__navigation h3, .theme-logo-dark .admin-page-editor__seo h3, .theme-logo-dark .admin-page-editor__item-groups legend, .theme-logo-dark .admin-page-editor__item-groups label, .theme-logo-dark .admin-navigation-editor__item label { color: var(--ink) !important; }
.theme-logo-dark .admin-page-card__body > span, .theme-logo-dark .admin-page-card__body > small, .theme-logo-dark .admin-page-editor__hero p:not(.eyebrow), .theme-logo-dark .admin-page-editor__items p:not(.eyebrow), .theme-logo-dark .admin-page-editor__navigation p:not(.eyebrow), .theme-logo-dark .admin-page-editor__seo p:not(.eyebrow), .theme-logo-dark .admin-page-editor__hero small, .theme-logo-dark .admin-page-editor__item-groups fieldset > p, .theme-logo-dark .admin-page-editor__item-groups small, .theme-logo-dark .admin-navigation-editor__target { color: var(--slate); }
.theme-logo-dark .admin-page-editor__hero, .theme-logo-dark .admin-page-editor__items, .theme-logo-dark .admin-page-editor__navigation, .theme-logo-dark .admin-page-editor__seo, .theme-logo-dark .admin-page-editor__item-groups fieldset { border-color: var(--line); background: var(--theme-surface-muted); }
.theme-logo-dark .admin-page-editor__title > small, .theme-logo-dark .admin-page-editor__slug > small { color: var(--slate); }
.theme-logo-dark .admin-page-editor__title > small code { background: var(--theme-surface-input); color: var(--teal); }
.theme-logo-dark .admin-page-editor__item-groups label { border-color: var(--line); }
.theme-logo-dark .admin-navigation-editor__item input[type="text"] { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }
.theme-logo-dark .admin-page-card__status--draft { background: #343b40; color: #d6dce0; }
.theme-logo-dark .admin-page-card__status--scheduled { background: #3b341d; color: #ffe08a; }

@media (min-width: 721px) and (max-width: 1440px), (min-width: 721px) and (max-height: 900px) { .custom-page-hero { padding: clamp(62px, 7vw, 104px) 0; }.custom-page-hero__layout { gap: clamp(28px, 5vw, 62px); }.custom-page-hero h1 { font-size: clamp(2.9rem, 5vw, 4.8rem); }.custom-page-hero__copy > p:not(.eyebrow) { margin-bottom: 22px; font-size: 1rem; line-height: 1.58; } }
@media (max-width: 920px) { .custom-page-hero__layout { grid-template-columns: 1fr; }.custom-page-hero__media { max-width: 650px; }.admin-page-library__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-page-editor__basics { grid-template-columns: 1fr 1fr; }.admin-page-editor__basics label:first-child { grid-column: 1 / -1; }.admin-page-editor__hero, .admin-page-editor__items, .admin-page-editor__navigation, .admin-page-editor__seo { grid-template-columns: 1fr; gap: 18px; }.admin-page-editor__item-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-navigation-editor__item { grid-template-columns: auto minmax(160px, 1fr) minmax(125px, 1fr) auto minmax(70px, max-content); }.admin-navigation-editor__item > :nth-child(4) { grid-column: 2 / span 2; }.admin-navigation-editor__target { grid-column: 2; }.admin-navigation-add__form { grid-template-columns: 1fr 1fr; }.admin-navigation-add__form .button { width: fit-content; } }
@media (max-width: 720px) { .site-header .nav-menu > a, .site-header .nav-menu__group { display: flex; min-height: 30px; align-items: center; justify-content: center; }.site-header .nav-menu__group summary { width: 100%; min-height: 30px; justify-content: center; padding: 5px 2px; color: var(--theme-header-text, #d9dfeb); font-size: .72rem; font-weight: 720; line-height: 1.2; text-align: center; white-space: nowrap; }.site-header .nav-menu__group summary:hover, .site-header .nav-menu__group.is-active summary { color: var(--teal); }.site-header .nav-menu__dropdown { top: calc(100% + 4px); left: 50%; min-width: 176px; transform: translateX(-50%); }.custom-page-hero { padding: 72px 0 84px; }.custom-page-content article { font-size: .96rem; }.admin-page-heading__actions { justify-content: flex-start; margin-top: 19px; }.admin-page-tabs { margin-top: 0; }.admin-page-library__grid, .admin-page-editor__basics, .admin-page-editor__item-groups { grid-template-columns: 1fr; }.admin-page-editor__basics label:first-child { grid-column: auto; }.admin-navigation-editor__item { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; }.admin-navigation-editor__item > :nth-child(4), .admin-navigation-editor__target { grid-column: 2; }.admin-navigation-editor__item > label:nth-of-type(2) { grid-column: 2 / -1; }.admin-navigation-editor__toggle { grid-column: 2; justify-content: start; padding-bottom: 0; }.admin-navigation-editor__item > a, .admin-navigation-editor__remove { grid-column: 3; grid-row: 1; }.admin-navigation-add__form { grid-template-columns: 1fr; }.admin-navigation-add__form .button { width: 100%; }.admin-page-editor__utility { justify-content: space-between; } }

/* Shared editor heading actions keep top and bottom save controls consistent. */
.admin-editor__heading > .admin-form__actions { flex: 0 0 auto; flex-wrap: nowrap; gap: 12px; padding-top: 0; }
.admin-editor__heading > .admin-form__actions .button { min-height: var(--ui-control-height); padding: 12px 20px; white-space: nowrap; }

/* Searchable selection lists for curated landing-page content. */
.admin-page-editor__items > div:last-child { min-width: 0; }
.admin-page-curation__controls { display: grid; grid-template-columns: minmax(170px, 1.4fr) minmax(135px, .8fr) minmax(135px, .8fr); gap: 10px; align-items: end; }
.admin-page-curation__controls label { display: grid; gap: 6px; color: var(--ink); font-size: .69rem; font-weight: 850; }
.admin-page-curation__controls input, .admin-page-curation__controls select { width: 100%; height: 38px; padding: 0 9px; border: 1px solid var(--line); border-radius: 4px; outline: none; background: var(--white); color: var(--ink); font: inherit; font-size: .76rem; }
.admin-page-curation__controls input:focus, .admin-page-curation__controls select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 14%, transparent); }
.admin-page-curation__summary { min-height: 1.3em; margin: 10px 0 0 !important; color: var(--slate) !important; font-size: .7rem !important; font-weight: 750; }
.admin-page-editor__item-groups fieldset[hidden], .admin-page-editor__item-groups [data-page-curation-item][hidden] { display: none !important; }

/* Fixed, grouped admin navigation keeps the header compact as features grow.
   The nested level is a real, keyboard-accessible details menu on desktop and
   collapses into a clear full-width accordion inside the responsive menu. */
.admin-nav { align-items: center; }
.has-js .admin-nav { flex-wrap: nowrap; }
.admin-nav__group, .admin-nav__subgroup { position: relative; }
.admin-nav__group > summary, .admin-nav__subgroup > summary { display: inline-flex; gap: 6px; align-items: center; padding: 8px 0; color: var(--theme-header-text, #b9c4d7); cursor: pointer; font-size: .84rem; font-weight: 780; list-style: none; transform: none; white-space: nowrap; }
.admin-nav__group > summary::-webkit-details-marker, .admin-nav__subgroup > summary::-webkit-details-marker { display: none; }
.admin-nav__summary-label { min-width: 0; }
.admin-nav__chevron { display: inline-block; color: var(--teal); font-size: .75rem; line-height: 1; transition: transform .18s ease; }
.admin-nav__group[open] > summary .admin-nav__chevron { transform: rotate(180deg); }
.admin-nav__subgroup > summary .admin-nav__chevron { transform: rotate(0deg); }
.admin-nav__subgroup[open] > summary .admin-nav__chevron { transform: rotate(90deg); }
.admin-nav__group > summary:hover, .admin-nav__group.is-active > summary, .admin-nav__subgroup > summary:hover, .admin-nav__subgroup.is-active > summary { color: var(--teal); }
.admin-nav__dropdown, .admin-nav__subdropdown { position: absolute; z-index: 30; display: none; min-width: 178px; gap: 2px; padding: 8px; border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 16%, transparent); border-radius: 7px; background: var(--theme-header-bg, var(--ink-soft)); box-shadow: 0 16px 36px rgba(0,0,0,.28); }
.admin-nav__dropdown { top: calc(100% + 10px); left: -13px; }
.admin-nav__subdropdown { top: -8px; left: calc(100% + 8px); }
.admin-nav__group:last-of-type .admin-nav__subdropdown { right: calc(100% + 8px); left: auto; }
.admin-nav__group[open] > .admin-nav__dropdown, .admin-nav__subgroup[open] > .admin-nav__subdropdown { display: grid; }
.admin-nav__dropdown a, .admin-nav__subdropdown a { display: block; padding: 8px 10px; border-radius: 4px; color: var(--theme-header-text, #d9dfeb); font-size: .77rem; font-weight: 760; white-space: nowrap; }
.admin-nav__dropdown a:hover, .admin-nav__dropdown a.is-active, .admin-nav__subdropdown a:hover, .admin-nav__subdropdown a.is-active { background: color-mix(in srgb, var(--theme-header-text, #ffffff) 9%, transparent); color: var(--teal); }

/* Desktop groups use one expanding tray rather than nested fly-outs. This
   keeps multi-section menus fully visible and removes accidental scrollbars. */
@media (min-width: 721px) {
    /* Keep the header aligned with the standard site content column. The
       compact menu is selected by its live fit check, not by widening this
       container past the rest of the admin interface. */
    .admin-nav__dropdown { width: min(330px, calc(100vw - 32px)); max-height: none; overflow: visible; padding: 8px; border-radius: 10px; background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 91%, var(--teal) 9%); box-shadow: 0 19px 42px rgba(0,0,0,.34); }
    .admin-nav__dropdown > a { padding: 10px 11px; border-radius: 6px; white-space: normal; }
    .admin-nav__dropdown > .admin-nav__subgroup { position: static; width: 100%; border-top: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 14%, transparent); }
    .admin-nav__subgroup > summary { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; padding: 9px 11px; font-size: .69rem; letter-spacing: .055em; }
    .admin-nav__subgroup > .admin-nav__subdropdown { position: static; display: none; width: auto; margin: 0 8px 8px; padding: 3px 0 3px 10px; border: 0; border-left: 2px solid color-mix(in srgb, var(--teal) 55%, transparent); border-radius: 0; background: transparent; box-shadow: none; }
    .admin-nav__subgroup[open] > .admin-nav__subdropdown { display: grid; }
    .admin-nav__subdropdown a { padding: 8px; border-radius: 5px; white-space: normal; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 721px) {
    .admin-nav__group[open] > .admin-nav__dropdown, .admin-nav__subgroup[open] > .admin-nav__subdropdown { animation: admin-nav-dropdown-enter .17s cubic-bezier(.2,.8,.25,1) both; }
}
@keyframes admin-nav-dropdown-enter { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.theme-logo-dark .admin-page-curation__controls label { color: var(--ink); }
.theme-logo-dark .admin-page-curation__controls input, .theme-logo-dark .admin-page-curation__controls select { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }
.theme-logo-dark .admin-page-curation__summary { color: var(--slate) !important; }

.theme-logo-dark .admin-form .admin-inline-checkbox, .theme-logo-dark .admin-form .admin-page-editor__remove-hero { color: var(--ink) !important; }
.admin-dashboard-panel.is-collapsed { align-self: start !important; min-height: 38px !important; height: 38px !important; block-size: 38px !important; }
.admin-analytics-full__grid { align-items: start; }
.admin-analytics-full__grid > .admin-dashboard-panel.is-collapsed { padding: 0 !important; }
#page-editor-form > .admin-dashboard-panel { /* Shared Workspace / Section Panel insets are defined in styles.css. */ }
#page-editor-form > .admin-dashboard-panel.is-collapsed { padding: 0 !important; }
@media (max-width: 720px) { .admin-dashboard-panel.is-collapsed { min-height: 34px !important; height: 34px !important; block-size: 34px !important; } }
.admin-page-editor__navigation-note { margin: 11px 0 0; padding: 9px 10px; border-left: 3px solid var(--teal-deep); border-radius: 4px; background: var(--paper); color: var(--slate); font-size: .73rem; font-weight: 720; line-height: 1.4; }
.theme-logo-dark .admin-page-editor__navigation-note { background: var(--theme-surface); color: var(--ink); }

@media (max-width: 720px) { .admin-editor__heading > .admin-form__actions { flex-wrap: wrap; gap: 10px 12px; }.admin-editor__heading > .admin-form__actions .button { flex: 1 1 auto; min-width: 0; padding: 10px 13px; font-size: .8rem; }.admin-page-curation__controls { grid-template-columns: 1fr; }.admin-nav { gap: 4px 18px; }.admin-nav__group > summary { font-size: .82rem; }.admin-nav__dropdown { top: calc(100% + 4px); left: 50%; transform: translateX(-50%); } }

/* Admin navigation becomes a full-width menu only when the live desktop-fit
   check finds a collision. The readiness class is applied by
   navigation-dropdowns.js, leaving every admin link reachable when JavaScript
   is unavailable. */
.admin-nav-toggle { display: none; }
.admin-nav__mobile-actions { display: none; }

/* A short desktop window exists where the full information architecture still
   fits on one row if we tighten only the header's non-essential whitespace.
   This class is applied by the live fit check, so the default desktop menu
   retains its more generous rhythm whenever there is room. */
@media (min-width: 721px) {
    .admin-header--navigation-compact .admin-header__inner { flex-wrap: nowrap; gap: 10px; }
    .admin-header--navigation-compact .admin-nav { gap: 8px; }
    .admin-header--navigation-compact .admin-nav > a,
    .admin-header--navigation-compact .admin-nav__group > summary { font-size: .77rem; }
    .admin-header--navigation-compact .admin-header__actions { gap: 8px; }
    .admin-header--navigation-compact .admin-header__actions > a { font-size: .72rem; }
    .admin-header--navigation-compact .admin-header__actions button { padding: 6px 8px; font-size: .7rem; }
}

/* Medium screens keep the full information architecture visible before we
   offer the burger. Five balanced columns fill top-to-bottom, so the two rows
   are visually even rather than being an accidental flex wrap. */
.admin-header--navigation-two-row .admin-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 102px;
    gap: 0 24px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.admin-header--navigation-two-row .admin-brand,
.admin-header--navigation-two-row .admin-header__actions {
    grid-row: 1 / -1;
    align-self: center;
}
.admin-header--navigation-two-row .admin-brand { grid-column: 1; }
.admin-header--navigation-two-row .admin-header__actions { grid-column: 3; }
.admin-header--navigation-two-row .admin-nav {
    display: grid;
    grid-column: 2;
    grid-row: 1 / -1;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, minmax(32px, auto));
    align-content: center;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    column-gap: 12px;
    row-gap: 0;
    margin: 0;
}
.admin-header--navigation-two-row .admin-nav > a,
.admin-header--navigation-two-row .admin-nav > .admin-nav__group { min-width: 0; }
    .admin-header--navigation-ready .admin-header__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        min-height: 68px;
        padding-top: 10px;
        padding-bottom: 10px;
        gap: 10px 14px;
    }
    .admin-header--navigation-ready .admin-brand { min-width: 0; }
    .admin-header--navigation-ready .admin-nav-toggle {
        display: grid;
        grid-column: 2;
        grid-row: 1;
        width: 44px;
        height: 40px;
        align-content: center;
        justify-content: center;
        gap: 5px;
        padding: 0;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 28%, transparent);
        border-radius: 7px;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 88%, var(--theme-header-text, #ffffff) 12%);
        color: var(--theme-header-text, #ffffff);
    }
    .admin-header--navigation-ready .admin-nav-toggle:hover,
    .admin-header--navigation-ready .admin-nav-toggle:focus-visible {
        border-color: var(--teal);
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 76%, var(--teal) 24%);
        outline: 0;
    }
    .admin-nav-toggle__line {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }
    .admin-nav-toggle[aria-expanded="true"] .admin-nav-toggle__line:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
    .admin-nav-toggle[aria-expanded="true"] .admin-nav-toggle__line:nth-of-type(3) { opacity: 0; }
    .admin-nav-toggle[aria-expanded="true"] .admin-nav-toggle__line:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
    .admin-header--navigation-ready .admin-header__actions { display: none; }
    .admin-header--navigation-ready .admin-nav {
        display: none;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
        width: 100%;
        max-height: min(72dvh, 620px);
        gap: 5px;
        margin: 0;
        overflow: auto;
        padding: 9px;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 20%, transparent);
        border-radius: 10px;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 92%, var(--theme-header-text, #ffffff) 8%);
        box-shadow: 0 16px 34px rgba(0,0,0,.3);
        scrollbar-color: var(--teal) transparent;
        scrollbar-width: thin;
    }
    .admin-header--navigation-ready .admin-nav.is-open { display: grid; }
    .admin-header--navigation-ready .admin-nav::-webkit-scrollbar { width: 10px; }
    .admin-header--navigation-ready .admin-nav::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--teal); background-clip: padding-box; }
    .admin-header--navigation-ready .admin-nav > a,
    .admin-header--navigation-ready .admin-nav > .admin-nav__group {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        margin: 0;
        text-align: left;
    }
    .admin-header--navigation-ready .admin-nav > a {
        display: flex;
        min-height: 42px;
        align-items: center;
        padding: 9px 11px;
        border-radius: 6px;
        font-size: .84rem;
    }
    .admin-header--navigation-ready .admin-nav__group {
        position: static;
        overflow: hidden;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 14%, transparent);
        border-radius: 7px;
    }
    .admin-header--navigation-ready .admin-nav__group > summary,
    .admin-header--navigation-ready .admin-nav__subgroup > summary {
        display: flex;
        width: 100%;
        min-height: 43px;
        align-items: center;
        justify-content: space-between;
        padding: 9px 11px;
        border-radius: 0;
        color: var(--theme-header-text, #d9dfeb);
        font-size: .84rem;
        text-align: left;
    }
    .admin-header--navigation-ready .admin-nav__group > summary:hover,
    .admin-header--navigation-ready .admin-nav__group > summary:focus-visible,
    .admin-header--navigation-ready .admin-nav__subgroup > summary:hover,
    .admin-header--navigation-ready .admin-nav__subgroup > summary:focus-visible {
        background: color-mix(in srgb, var(--theme-header-text, #ffffff) 9%, transparent);
        color: var(--teal);
        outline: 0;
    }
    .admin-header--navigation-ready .admin-nav__group > summary .admin-nav__chevron,
    .admin-header--navigation-ready .admin-nav__subgroup > summary .admin-nav__chevron { margin-left: auto; }
    .admin-header--navigation-ready .admin-nav__dropdown {
        position: static;
        display: none;
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
        min-width: 0;
        gap: 3px;
        margin: 0;
        padding: 4px 7px 8px;
        border: 0;
        border-top: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 13%, transparent);
        border-radius: 0;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 80%, var(--theme-header-text, #ffffff) 20%);
        box-shadow: none;
        transform: none;
    }
    .admin-header--navigation-ready .admin-nav__group[open] > .admin-nav__dropdown { display: grid; }
    .admin-header--navigation-ready .admin-nav__dropdown > a,
    .admin-header--navigation-ready .admin-nav__subdropdown > a,
    .admin-header--navigation-ready .admin-nav__dropdown > .admin-nav__subgroup {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
        min-height: 39px;
        padding: 9px 10px;
        white-space: normal;
    }
    .admin-header--navigation-ready .admin-nav__subgroup {
        position: static;
        overflow: hidden;
        border-top: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 10%, transparent);
    }
    .admin-header--navigation-ready .admin-nav__subgroup > summary { min-height: 39px; padding: 8px 10px; font-size: .76rem; }
    .admin-header--navigation-ready .admin-nav__subdropdown {
        position: static;
        display: none;
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
        min-width: 0;
        margin: 0;
        padding: 0 0 7px 12px;
        border: 0;
        border-left-color: color-mix(in srgb, var(--teal) 62%, transparent);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .admin-header--navigation-ready .admin-nav__subgroup[open] > .admin-nav__subdropdown { display: grid; }
    .admin-header--navigation-ready .admin-nav__mobile-actions {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
        width: 100%;
        gap: 8px;
        margin-top: 5px;
        padding-top: 10px;
        border-top: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 17%, transparent);
    }
    .admin-header--navigation-ready .admin-nav__mobile-actions > a,
    .admin-header--navigation-ready .admin-nav__mobile-actions > form > button {
        display: inline-flex;
        width: 100%;
        min-height: 40px;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 8px 11px;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 25%, transparent);
        border-radius: 6px;
        background: transparent;
        color: var(--theme-header-text, #d9dfeb);
        font: 780 .76rem/1 var(--font-body);
        text-align: center;
    }
    .admin-header--navigation-ready .admin-nav__mobile-actions > a:hover,
    .admin-header--navigation-ready .admin-nav__mobile-actions > a:focus-visible,
    .admin-header--navigation-ready .admin-nav__mobile-actions > form > button:hover,
    .admin-header--navigation-ready .admin-nav__mobile-actions > form > button:focus-visible {
        border-color: var(--teal);
        background: color-mix(in srgb, var(--teal) 15%, transparent);
        color: var(--teal);
        outline: 0;
    }
    .admin-header--navigation-ready .admin-nav__mobile-actions > form { width: 100%; margin: 0; }
@media (max-width: 420px) {
    .admin-header--navigation-ready .admin-brand .brand-text__segment { font-size: 1.22rem; }
    .admin-header--navigation-ready .admin-brand .brand-text__segment--accent { font-size: .92rem; }
    .admin-header--navigation-ready .admin-brand__badge { display: none; }
    .admin-header--navigation-ready .admin-nav__mobile-actions { grid-template-columns: 1fr; }
}
