/* Shared Public Navigation v1 — versioned Newcomer presentation contract.
   Source of truth for Home, Calculators and Directory (same HTML + same CSS).
   Scoped to .nc-public-header: does not restyle provider cards or other modules. */
.nc-public-header, .nc-public-header * {box-sizing:border-box}
.nc-public-header {position:relative;z-index:70;width:100%;height:73px;background:#fffdfbf5;color:#141414;font:14px/1.35 Arial,'Helvetica Neue',sans-serif;box-shadow:0 2px 8px rgba(16,34,56,.035)}
.nc-public-header[data-context="home"] {position:absolute;inset:0 0 auto;background:transparent;box-shadow:none}
.nc-public-header .nc-header-inner {height:100%;width:min(1317px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;gap:18px}
.nc-public-header .nc-logo {position:relative;flex:0 0 190px;width:190px;min-width:190px;height:54px;margin-right:auto;display:block;line-height:1;text-decoration:none}
.nc-public-header .nc-approved-logo {display:block;width:190px;height:54px;object-fit:contain;border:0}
.nc-public-header .nc-brand-tagline {position:absolute;top:49px;left:0;display:block;color:#a86924;font:700 7.4px/1.18 Arial,'Helvetica Neue',sans-serif;letter-spacing:.125em;white-space:nowrap;text-transform:uppercase;max-width:248px}
.nc-public-header .nc-nav {display:flex;align-items:center;gap:clamp(12px,1.3vw,20px);margin-right:0;white-space:nowrap;flex:0 1 auto;min-width:0}
.nc-public-header .nc-nav a {position:relative;color:#141414;text-decoration:none;font:600 16px/1.35 Arial,'Helvetica Neue',sans-serif;white-space:nowrap}
.nc-public-header .nc-nav a:hover {color:#99591a}
.nc-public-header .nc-nav a.nc-nav-active::after {position:absolute;content:"";height:2px;bottom:-10px;left:0;right:0;background:#af6922}
.nc-public-header .nc-nav-actions {display:flex;align-items:center;gap:11px;flex:0 0 auto;margin-left:0;padding-left:24px}
/* Search occupies a fixed icon width. Expansion is an overlay: no text collisions. */
.nc-public-header .nc-search {position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:35px}
.nc-public-header .nc-search button.nc-search-toggle {position:static;top:auto;right:auto;display:grid;place-items:center;width:30px;height:35px;padding:4px;border:0;border-radius:4px;background:transparent;color:#121212;cursor:pointer}
.nc-public-header .nc-search-toggle:hover {background:#f7efdf}
.nc-public-header .nc-search-panel {position:absolute;right:-18px;top:calc(100% + 13px);width:310px;padding:16px;background:#fffdfb;border:1px solid #e6d8c7;border-radius:9px;box-shadow:0 14px 36px #16273a24;z-index:95;color:#1b304d}
.nc-public-header .nc-search-panel[hidden],.nc-public-header .nc-nav-actions [hidden] {display:none!important}
.nc-public-header .nc-search-panel label {display:block;margin-bottom:8px;color:#172b44;font:700 13px/1.3 Arial,sans-serif}
.nc-public-header .nc-search-panel-fields {display:flex;gap:8px}
.nc-public-header .nc-search-panel input {width:100%;min-width:0;min-height:36px;padding:8px;border:1px solid #bdc8d5;border-radius:5px;font:13px Arial,sans-serif;background:#fff;opacity:1;position:static;transition:none}
.nc-public-header .nc-search-panel button[type="submit"] {position:static;right:auto;top:auto;padding:8px 12px;border:0;border-radius:5px;background:#b78b37;color:#fff;font:700 12px Arial,sans-serif;cursor:pointer}
.nc-public-header .nc-mobile-search,.nc-public-header .nc-mobile-logout {display:none}
.nc-public-header .nc-auth-logout {border-color:#d1c3ac;background:#faf8f3;color:#182d48!important}
.nc-public-header svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.nc-public-header .nc-language {display:flex;align-items:center;gap:5px;color:#121212;font:700 12px/1.3 Arial,sans-serif;white-space:nowrap}
.nc-public-header .nc-language svg {width:17px;height:17px}
.nc-public-header .nc-btn {display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-height:35px;padding:9px 16px;font:700 12px/1.1 Arial,sans-serif;border:1px solid transparent;border-radius:6px;text-decoration:none!important;transition:background .18s,box-shadow .18s}
.nc-public-header .nc-btn-outline {border-color:#c59050;background:#fffdfb;color:#111!important}
.nc-public-header .nc-btn-outline:hover {background:#fff8eb}
.nc-public-header .nc-btn-gold {background:linear-gradient(105deg,#d69e42,#dda94f);color:#111!important;box-shadow:0 4px 11px #d9a34725}
.nc-public-header .nc-btn-gold:hover {background:#d2a04a}
.nc-public-header .nc-btn svg {width:17px;height:17px}
.nc-public-header .nc-mobile-menu {display:none;background:none;border:0;color:#13243e;padding:6px;cursor:pointer}
.nc-public-header .nc-visually-hidden {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.nc-public-header button:focus-visible,.nc-public-header a:focus-visible,.nc-public-header input:focus-visible {outline:3px solid #d9a542;outline-offset:3px}
@media (min-width:1181px) and (max-width:1450px){
 .nc-public-header .nc-header-inner {width:calc(100% - 70px)}
 .nc-public-header .nc-logo {width:175px;min-width:175px;flex-basis:175px;margin-right:auto}
 .nc-public-header .nc-approved-logo {width:175px;height:auto}
 .nc-public-header .nc-brand-tagline {font-size:7px;letter-spacing:.10em;max-width:225px}
 .nc-public-header .nc-nav {gap:14px}
}
@media (min-width:1051px) and (max-width:1180px){
 .nc-public-header .nc-header-inner {width:calc(100% - 34px);gap:10px}
 .nc-public-header .nc-logo {margin-right:auto}
 .nc-public-header .nc-nav {gap:10px}
 .nc-public-header .nc-nav a {font-size:15px}
 .nc-public-header .nc-btn {padding:8px 9px}
 .nc-public-header .nc-nav-actions {gap:7px;padding-left:24px}
}
@media (max-width:1050px){
 .nc-public-header,.nc-public-header[data-context="home"] {position:relative;inset:auto;height:70px;background:#fffdfaf0;box-shadow:0 3px 12px #13243f0d}
 .nc-public-header .nc-header-inner {width:calc(100% - 36px);justify-content:space-between;gap:10px}
 .nc-public-header .nc-logo {margin-right:0;flex:0 0 190px;min-width:190px;width:190px;height:54px}
 .nc-public-header .nc-approved-logo {width:190px;height:54px}
 .nc-public-header .nc-brand-tagline {top:49px;font-size:7px;letter-spacing:.08em;max-width:210px}
 .nc-public-header .nc-mobile-menu {display:inline-grid;place-items:center;order:3;width:44px;height:44px;border:1px solid #c38a39;border-radius:4px}
 .nc-public-header .nc-mobile-menu svg {width:27px;height:27px}
 .nc-public-header .nc-nav {position:absolute;top:70px;left:0;right:0;width:100%;display:none;padding:18px 25px;background:#fffdfa;box-shadow:0 14px 24px #13244024;flex-direction:column;align-items:flex-start;gap:18px;white-space:normal;margin:0;z-index:80}
 .nc-public-header .nc-nav.nc-nav-open {display:flex}
 .nc-public-header .nc-nav a {font-size:17px}
 .nc-public-header .nc-nav a.nc-nav-active::after {bottom:-4px}
 .nc-public-header .nc-nav-actions {margin-left:auto;gap:8px;padding-left:0}
 .nc-public-header .nc-nav-actions .nc-btn-gold,.nc-public-header .nc-language,.nc-public-header .nc-search,.nc-public-header .nc-nav-actions .nc-auth-logout {display:none}
 .nc-public-header .nc-mobile-search {display:block;width:100%;max-width:440px;border-top:1px solid #efe5d7;padding-top:13px}
 .nc-public-header .nc-mobile-search label {display:block;font-weight:700;font-size:13px;color:#1c304b;margin-bottom:7px}
 .nc-public-header .nc-mobile-search > div {display:flex;gap:8px}
 .nc-public-header .nc-mobile-search input {min-width:0;min-height:36px;flex:1 1 0;padding:8px;border:1px solid #c8cbd0;border-radius:5px;background:#fff}
 .nc-public-header .nc-mobile-search button {border:0;border-radius:5px;background:#b78b37;color:#fff;padding:8px 13px;font-weight:700;cursor:pointer}
 .nc-public-header .nc-nav .nc-mobile-logout:not([hidden]) {display:block;color:#243d5b;font-weight:700}
}
@media (max-width:590px){
 .nc-public-header .nc-header-inner {width:calc(100% - 25px);gap:6px}
 .nc-public-header .nc-logo {flex-basis:176px;width:176px;min-width:176px;height:50px}
 .nc-public-header .nc-approved-logo {width:176px;height:50px}
 .nc-public-header .nc-brand-tagline {top:47px;max-width:176px;font-size:6.5px;letter-spacing:.04em}
 .nc-public-header .nc-btn-outline {font-size:11px;padding:8px 9px}
}
@media (max-width:375px){
 .nc-public-header .nc-logo {flex-basis:138px;min-width:138px;width:138px}
 .nc-public-header .nc-approved-logo {width:138px;height:auto}
 .nc-public-header .nc-brand-tagline {top:43px;max-width:138px;font-size:5.5px;letter-spacing:.035em}
 .nc-public-header .nc-btn-outline {font-size:10px;padding:7px 6px}
 .nc-public-header .nc-header-inner {gap:4px}
}
@media (max-width:340px){
 .nc-public-header .nc-logo {flex-basis:136px;min-width:136px;width:136px}
 .nc-public-header .nc-approved-logo {width:136px;height:45px}
 .nc-public-header .nc-brand-tagline {font-size:5.5px;max-width:136px;top:43px}
}
/* Calculators has the same overlay header positioning as its pre-refactor
   layout; Directory keeps a normal-flow header below the staging banner. */
@media (min-width:1051px){
 .nc-public-header[data-context="calculators"] {position:absolute;inset:0 0 auto;background:#fffdf7ed;box-shadow:0 1px 15px #17283908}
}

/* 0.1.28: usable, accessible EN/ES public-home links from the shared Header v1. */
.nc-public-header .nc-language-switch{display:flex;align-items:center;gap:5px;white-space:nowrap}
.nc-public-header .nc-language-switch a{font:700 12px/1.3 Arial,sans-serif;color:#554638;text-decoration:none;padding:5px 3px;border-radius:4px}
.nc-public-header .nc-language-switch a[aria-current="page"]{color:#93581b;text-decoration:underline;text-underline-offset:4px}
.nc-public-header .nc-language-switch a:hover{color:#93581b}
.nc-public-header .nc-mobile-languages{display:none}
@media(max-width:1050px){
 .nc-public-header .nc-nav-actions .nc-language-switch{display:none}
 .nc-public-header .nc-nav .nc-mobile-languages{display:flex;align-items:center;gap:16px;width:100%;border-top:1px solid #efe5d7;padding-top:14px}
 .nc-public-header .nc-mobile-languages a{font:700 16px/1.3 Arial,sans-serif;padding:8px 6px;color:#1d3551}
 .nc-public-header .nc-mobile-languages a[aria-current="page"]{text-decoration:underline;text-decoration-color:#b78b37;text-underline-offset:5px}
}
