/* Springsan V1.2 shared Header — to be loaded by EVERY future inner page.
   All selectors under .spr-site; no modifications to the legacy header03.php. */
/* Sticky occupies its own height. No layout or positioning changes on scroll. */
.spr-site .spr-header { position:sticky; top:0; z-index:1200; color:#fff; background:#050505; width:100%; isolation:isolate; }
/* Cosmetic scrolled state only: never switch sticky/absolute/fixed. */
.spr-site .spr-header.is-scrolled { box-shadow:0 3px 18px rgba(0,0,0,.14); }
.spr-site .spr-header__inner { display:flex; align-items:center; gap:clamp(1.1rem,2vw,2.1rem); min-height:5rem; }
.spr-site .spr-header__brand { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-start; width:clamp(7.1rem,7.3vw,8rem); line-height:1; text-decoration:none; }
.spr-site .spr-header__brand img { display:block; max-width:100%; width:auto; height:clamp(3.1rem,3.3vw,3.65rem); object-fit:contain; }
.spr-site .spr-header__nav { flex:1 1 auto; min-width:0; }
.spr-site .spr-header__menu { display:flex; justify-content:flex-start; align-items:center; gap:clamp(.95rem,1.55vw,1.9rem); margin:0; padding:0; list-style:none; }
.spr-site .spr-header__item { position:relative; min-width:0; }
.spr-site .spr-header__item-main { display:flex; align-items:center; gap:.2rem; }
.spr-site .spr-header__nav-link { display:inline-flex; align-items:center; min-height:5rem; color:#fff; text-decoration:none; font:400 clamp(.82rem, .94vw, 1rem)/1.25 var(--spr-font); white-space:nowrap; transition:color .16s; }
.spr-site .spr-header__nav-link:hover,.spr-site .spr-header__nav-link:focus-visible { color:var(--spr-primary); }
.spr-site .spr-header__nav-link--pending { cursor:default; }
.spr-site .spr-header__subtoggle { display:flex; padding:.4rem; align-items:center; justify-content:center; background:transparent; border:0; color:#fff; cursor:pointer; }
.spr-site .spr-header__subtoggle span { display:block; width:.4rem; height:.4rem; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.spr-site .spr-header__submenu { display:none; position:absolute; top:calc(100% - .3rem); left:-.9rem; min-width:13rem; max-width:22rem; max-height:70vh; overflow:auto; list-style:none; margin:0; padding:.4rem 0; background:#101112; box-shadow:0 1rem 2.6rem rgba(0,0,0,.3); }
.spr-site .spr-header__submenu a { display:block; padding:.72rem 1rem; color:#eee; white-space:normal; font-size:.78rem; line-height:1.5; text-decoration:none; }
.spr-site .spr-header__submenu a:hover { background:#282828; color:#fff; }
.spr-site .spr-header__item.is-open > .spr-header__submenu { display:block; }
.spr-site .spr-header__actions { margin-left:auto; flex:0 0 auto; display:flex; align-items:center; gap:.9rem; }
.spr-site .spr-header__search-open,.spr-site .spr-header__mobile-toggle,.spr-site .spr-header__lang-toggle { border:0; background:transparent; color:#fff; cursor:pointer; }
.spr-site .spr-header__search-open { display:flex; width:2.2rem; height:2.8rem; align-items:center; justify-content:center; padding:0; }
.spr-site .spr-header__search-open:hover,.spr-site .spr-header__search-open:focus-visible { color:var(--spr-primary); }
.spr-site .spr-header__mobile-toggle { display:none; align-items:center; flex-direction:column; justify-content:center; width:2.8rem; height:2.8rem; gap:.37rem; border:1px solid rgba(255,255,255,.5); border-radius:0; }
.spr-site .spr-header__mobile-toggle span { display:block; height:1px; width:1.25rem; background:#fff; transition:transform .2s,opacity .2s; }
.spr-site .spr-header__mobile-toggle[aria-expanded="true"] span:first-child { transform:translateY(.43rem) rotate(45deg); }
.spr-site .spr-header__mobile-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.spr-site .spr-header__mobile-toggle[aria-expanded="true"] span:last-child { transform:translateY(-.43rem) rotate(-45deg); }
.spr-site .spr-header__languages { position:relative; }
.spr-site .spr-header__lang-toggle { font-size:.75rem; padding:.6rem 0; }
.spr-site .spr-header__lang-menu { display:none; position:absolute; right:0; top:100%; padding:.4rem 0; margin:0; list-style:none; min-width:8.5rem; background:#151515; }
.spr-site .spr-header__languages.is-open .spr-header__lang-menu { display:block; }
.spr-site .spr-header__lang-menu a { display:block; color:#fff; text-decoration:none; padding:.6rem .85rem; font-size:.8rem; }
.spr-site .spr-header__lang-menu a:hover { background:#333; }
.spr-site .spr-header__search-panel { display:none; position:absolute; top:100%; left:0; right:0; background:#141515; border-top:1px solid #333; box-shadow:0 .75rem 1.7rem rgba(0,0,0,.22); }
.spr-site .spr-header__search-panel.is-open { display:block; }
.spr-site .spr-header__search-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.25rem; }
.spr-site .spr-header__search-form { width:min(100%,49rem); }
.spr-site .spr-header__search-form label { display:block; margin-bottom:.5rem; font-size:.81rem; font-weight:500; }
.spr-site .spr-header__search-row { display:flex; width:100%; background:#fff; }
.spr-site .spr-header__search-row input { min-width:0; flex:1; border:0; padding:.85rem 1rem; font:400 .87rem var(--spr-font); color:#222; outline:none; }
.spr-site .spr-header__search-row button { flex:0 0 auto; border:0; padding:.65rem 1.1rem; background:var(--spr-primary); color:#fff; font:500 .78rem var(--spr-font); }
.spr-site .spr-header__search-close { align-self:flex-start; border:0; background:transparent; font-size:2rem; line-height:1; color:#fff; }
@media(min-width:1200px){
 .spr-site .spr-header__item.has-children:hover .spr-header__submenu,.spr-site .spr-header__item.has-children:focus-within .spr-header__submenu { display:block; }
}
/* Desktop composition follows the 1320px Bootstrap container and the source design.
   Keep the actual menu grouped; do not use space-between on every item. */
@media(min-width:1400px){
 .spr-site .spr-header__nav { padding-left:clamp(1.2rem,2vw,2.25rem); }
 .spr-site .spr-header__menu { gap:clamp(1.8rem,2.35vw,2.6rem); }
}
@media(min-width:1200px) and (max-width:1399.98px){
 .spr-site .spr-header__inner { gap:1.1rem; }
 .spr-site .spr-header__menu { gap:clamp(.72rem,1vw,1.1rem); }
 .spr-site .spr-header__nav-link { font-size:.8rem; }
 .spr-site .spr-header__actions { gap:.5rem; }
}
@media(max-width:1199.98px){
 .spr-site .spr-header__inner { min-height:4.8rem; gap:1rem; }
 .spr-site .spr-header__brand img { height:3.45rem; }
 .spr-site .spr-header__mobile-toggle { display:flex; }
 .spr-site .spr-header__nav { display:none; position:absolute; top:100%; left:0; right:0; height:calc(100dvh - 4.8rem); padding:1rem max(1rem,calc((100vw - 720px)/2 + 1rem)) 3rem; overflow:auto; overscroll-behavior:contain; background:#101112; }
 .spr-site .spr-header__nav.is-open { display:block; }
 .spr-site .spr-header__menu { display:block; }
 .spr-site .spr-header__item { border-bottom:1px solid rgba(255,255,255,.12); }
 .spr-site .spr-header__item-main { justify-content:space-between; }
 .spr-site .spr-header__nav-link { min-height:3.3rem; flex:1; font-size:.92rem; }
 .spr-site .spr-header__subtoggle { width:2.75rem; height:3rem; }
 .spr-site .spr-header__submenu { position:static; width:100%; max-width:none; max-height:none; box-shadow:none; padding:0 0 .5rem .8rem; background:transparent; }
 .spr-site .spr-header__submenu a { font-size:.88rem; }
}
@media(max-width:575.98px){
 .spr-site .spr-header__inner { min-height:4.35rem; }
 .spr-site .spr-header__brand img { height:3rem; }
 .spr-site .spr-header__nav { height:calc(100dvh - 4.35rem); padding:1rem 1.1rem 3rem; }
 .spr-site .spr-header__search-row button { padding-inline:.6rem; }
}
@media(prefers-reduced-motion:reduce){.spr-site .spr-header__mobile-toggle span { transition:none; }}
