/* Shared navigation; app layout and control events stay with their owners. */
:root { --ek-sv-bg:#fff; --ek-sv-ink:#192b46; --ek-sv-muted:#526075; --ek-sv-line:#c5ccd5; --ek-sv-hover:#edf1f6; }
@media (prefers-color-scheme:dark) { :root { --ek-sv-bg:#1b2532; --ek-sv-ink:#edf2fa; --ek-sv-muted:#b7c3d3; --ek-sv-line:#718196; --ek-sv-hover:#263343; } }
:root[data-display-mode="clear"] { --ek-sv-bg:#fff; --ek-sv-ink:#111; --ek-sv-muted:#515151; --ek-sv-line:#777; --ek-sv-hover:#eee; }
@media (prefers-color-scheme:dark) { :root[data-display-mode="clear"] { --ek-sv-bg:#080808; --ek-sv-ink:#fff; --ek-sv-muted:#bcbcbc; --ek-sv-line:#aaa; --ek-sv-hover:#222; } }
/* Native selectors keep their options, keyboard support and mobile picker. */
:root select:not([multiple]):not([size]) { appearance:auto !important; border:0 !important; border-bottom:1px solid var(--ek-sv-line) !important; border-radius:0 !important; background-color:transparent !important; background-image:none !important; box-shadow:none !important; min-height:44px; padding-block:8px; color:inherit; }
:root select:not([multiple]):not([size]):focus-visible { outline:2px solid currentColor; outline-offset:3px; }
:root select :is(option,optgroup) { background:var(--ek-sv-bg); color:var(--ek-sv-ink); }
:root #price-municipality, :root:root [data-display-mode-control] select:not([multiple]):not([size]) { border-bottom:0 !important; }
:root [data-ek-unified-navigation] { position:sticky !important; top:0; z-index:80; display:block !important; box-sizing:border-box; width:100%; max-width:none !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; border-bottom:1px solid var(--ek-sv-line) !important; border-radius:0 !important; background:var(--ek-sv-bg) !important; color:var(--ek-sv-ink) !important; box-shadow:none !important; font:600 15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
[data-ek-unified-navigation] .ek-navigation-inner { box-sizing:border-box; width:100%; max-width:1280px !important; min-height:80px; margin:0 auto !important; padding:12px 32px; display:flex; align-items:center; gap:24px; }
[data-ek-unified-navigation] .ek-navigation-brand { display:flex; flex-direction:column; flex-shrink:0; gap:2px; margin:0 auto 0 0; color:inherit !important; text-decoration:none !important; min-height:44px; justify-content:center; }
.ek-navigation-name { font-size:18px; font-weight:700; line-height:1.25; letter-spacing:-.025em; }
.ek-navigation-tag { font-size:10px; font-weight:650; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; color:var(--ek-sv-muted); }
[data-ek-unified-navigation] .ek-navigation-links { display:flex; align-items:center; gap:24px; margin:0; padding:0; flex-shrink:0; font:inherit; }
[data-ek-unified-navigation] .ek-nav-group { position:relative; display:block; margin:0; padding:0; border:0; font:inherit; }
[data-ek-unified-navigation] .ek-nav-group > summary, [data-ek-unified-navigation] .ek-navigation-toggle, [data-ek-unified-navigation] .ek-navigation-exit { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; box-sizing:border-box; padding:6px 0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; color:inherit !important; font:inherit; list-style:none; white-space:nowrap; cursor:pointer; text-decoration:none; }
.ek-nav-group > summary::-webkit-details-marker { display:none; }
.ek-nav-chevron { flex-shrink:0; transition:transform .15s ease; }
.ek-nav-group[open] > summary .ek-nav-chevron, .ek-navigation-toggle[aria-expanded="true"] .ek-nav-chevron { transform:rotate(180deg); }
[data-ek-unified-navigation] .ek-nav-panel { position:absolute; inset-block-start:calc(100% + 12px); inset-inline-end:0; z-index:1; display:grid; gap:2px; box-sizing:border-box; width:340px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:8px; list-style:none; border:1px solid var(--ek-sv-line); border-radius:8px; background:var(--ek-sv-bg); color:var(--ek-sv-ink); box-shadow:0 12px 24px rgb(0 0 0 / 12%); }
[data-ek-unified-navigation] .ek-nav-group:not([open]) > .ek-nav-panel { display:none; }
[data-ek-unified-navigation] .ek-nav-panel li { display:block; list-style:none; margin:0; padding:0; }
[data-ek-unified-navigation] .ek-nav-panel a { display:flex; align-items:center; min-height:44px; box-sizing:border-box; padding:10px 12px; margin:0; color:inherit !important; font:inherit; font-weight:500; text-decoration:none; white-space:normal; word-break:normal; overflow-wrap:normal; border-radius:3px; }
.ek-nav-panel a[aria-current="page"] { background:var(--ek-sv-hover); text-decoration:underline !important; text-underline-offset:4px; }
[data-ek-unified-navigation] .ek-nav-panel a:hover { background:var(--ek-sv-hover); text-decoration:underline; text-underline-offset:4px; }
[data-ek-unified-navigation] :is(summary,.ek-navigation-toggle,.ek-navigation-exit):hover { text-decoration:underline; text-underline-offset:5px; }
[data-ek-unified-navigation] :is(a,button,summary,select):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
[data-ek-unified-navigation] .display-mode-control { display:flex; align-items:center; gap:8px; margin:0; padding:0; color:inherit !important; font:inherit; }
[data-ek-unified-navigation] .display-mode-label { position:static; width:auto; height:auto; margin:0; padding:0; overflow:visible; clip:auto; clip-path:none; font:inherit; }
[data-ek-unified-navigation] .display-mode-select { box-sizing:border-box; width:auto !important; min-width:0; min-height:44px !important; margin:0; padding:6px 0 !important; font:inherit !important; color:inherit !important; }
[data-ek-unified-navigation] .ek-navigation-toggle { display:none; }
[data-ek-unified-navigation] .portal-profile > summary { padding:6px 0; min-height:44px; border-radius:0; background:none !important; color:inherit; font:inherit; }
[data-ek-unified-navigation] .portal-profile-panel { border-radius:8px; background:var(--ek-sv-bg); color:var(--ek-sv-ink); border-color:var(--ek-sv-line); }
.ek-service-related { display:flex; flex-wrap:wrap; gap:10px 20px; margin-block:20px 0; padding:0; font:inherit; line-height:1.6; }
.ek-service-related > a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.ek-service-related > a:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
@media (max-width:1000px) {
  [data-ek-unified-navigation] .ek-navigation-inner { min-height:72px; padding:10px 20px; gap:16px; flex-wrap:wrap; }
  .ek-navigation-name { font-size:16px; }
  .ek-navigation-tag { font-size:9px; letter-spacing:.09em; }
  [data-ek-unified-navigation][data-ek-nav-ready] .ek-navigation-toggle { display:flex; }
  [data-ek-unified-navigation] .ek-navigation-links { display:grid; width:100%; gap:0; padding:8px 0; border-top:1px solid var(--ek-sv-line); }
  [data-ek-unified-navigation][data-ek-nav-ready] .ek-navigation-links { position:absolute; inset:100% 0 auto; width:100%; max-height:calc(100dvh - 80px); overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; padding:8px 20px 20px; background:var(--ek-sv-bg); border-bottom:1px solid var(--ek-sv-line); box-shadow:0 12px 24px rgb(0 0 0 / 12%); }
  [data-ek-unified-navigation][data-ek-nav-ready] .ek-navigation-links:not([data-open]) { display:none; }
  [data-ek-unified-navigation] .ek-nav-group > summary { min-height:48px; font-size:16px; }
  [data-ek-unified-navigation] .ek-nav-group + .ek-nav-group { border-top:1px solid var(--ek-sv-line); }
  [data-ek-unified-navigation] .ek-nav-panel { position:static; width:100%; max-width:none; max-height:none; padding:0 0 12px 8px; margin:0; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
  [data-ek-unified-navigation] .ek-nav-panel a { font-size:16px; }
  [data-ek-unified-navigation] .ek-navigation-appearance { border-top:1px solid var(--ek-sv-line); padding:12px 0 0; }
  [data-ek-unified-navigation] .display-mode-control { justify-content:space-between; font-size:16px; }
  [data-ek-unified-navigation] .ek-navigation-profile:empty { display:none; }
  [data-ek-unified-navigation] .ek-navigation-profile:not(:empty) { border-top:1px solid var(--ek-sv-line); margin-top:8px; padding-top:8px; }
  [data-ek-unified-navigation] .portal-profile > summary { font-size:16px; }
  [data-ek-unified-navigation] .portal-profile > summary span { display:inline; }
  [data-ek-unified-navigation] .portal-profile-panel { position:static; width:100%; max-width:none; padding:12px 0 0; margin:0; border:0; border-radius:0; box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) { .ek-nav-chevron { transition:none; } }
@media (forced-colors:active) { [data-ek-unified-navigation] { border-color:CanvasText !important; } }
@media print { [data-ek-unified-navigation] { display:none !important; } }
