/* One shared, compact header for every public page and booking entry. */
.topbar { background:#323232; }
.topbar .container { min-height:38px; padding-block:0; display:flex; align-items:center; justify-content:space-between; }
.topbar .ns-top-reviews,.ns-top-permanence,.ns-top-craft,.topbar .ns-top-contact { display:inline-flex; align-items:center; gap:8px; font-size:.8rem; line-height:1.3; white-space:nowrap; padding-block:8px; }
.ns-google-name { font-weight:600; letter-spacing:-.4px; }
.ns-review-stars { display:flex; gap:2px; }
.ns-review-stars:empty { display:none; }
.star-full { fill:#E6B852; }.star-empty { fill:#687076; }
.ns-top-craft .ns-contact-icon,.ns-top-permanence .ns-contact-icon { color:#E6B852; }
.topbar :focus-visible { outline-color:#E6B852; }
.header > .container { min-height:84px; gap:16px; }
.header .brand { flex:none; }.header .brand img { width:128px; height:auto; }
.header .nav { gap:2px; }.header .nav-actions { flex:none; }
.ns-mega-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ns-mega-count-1 { grid-template-columns:1fr; max-width:720px; margin-inline:auto; }
.ns-nav-group summary.ns-active,.ns-mega-column a[aria-current="page"] { font-weight:700; background:var(--bg-alt); }
.ns-mobile-contact { display:flex; align-items:center; gap:8px; min-height:44px; border-bottom:1px solid var(--line); font-weight:600; }
@media(max-width:1200px) and (min-width:1101px) { .ns-nav-group summary { font-size:.86rem; padding-inline:6px; }.nav-actions .btn { padding:13px 12px; }.header > .container { gap:10px; } }
@media(max-width:1100px) { .header .ns-advice { display:inline-flex; }.header > .container { min-height:72px; }.header .brand img { width:112px; }.ns-mobile .ns-mega-grid { grid-template-columns:1fr; }.ns-top-craft { display:none; } }
@media(max-width:600px) { .topbar .container { gap:10px; min-height:36px; }.topbar .ns-top-contact { display:none; }.topbar .ns-top-reviews,.ns-top-permanence { font-size:.72rem; }.topbar span { font-size:inherit; }.header .brand img { width:100px; }.header .ns-advice { font-size:.76rem; padding:12px 10px; }.header > .container { gap:8px; }.nav-actions { gap:6px; }.burger { min-width:44px; min-height:44px; }.ns-review-stars { gap:1px; }.ns-review-stars svg { width:12px; } }
@media(max-width:359px) { .header .ns-advice { display:none; } }
/* Approved paired actions and compact brand signature, including narrow mobiles. */
.header .brand{display:flex;align-items:center;gap:10px}.header .ns-brand-signature{display:block;font-size:.62rem;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:10px;color:var(--ink)}
.header .ns-advice{background:#323232;color:#fff;border:1px solid #323232}.header .ns-advice:hover{background:#494949}.header .ns-plan-service{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#323232;border:1px solid #bab7b1}.header .ns-plan-service:hover{background:var(--bg-alt)}.ns-advice-short{display:none}.header .ns-plan-service .ns-contact-icon{display:none}
@media(min-width:1101px) and (max-width:1400px){.header .ns-brand-signature{font-size:.55rem;padding-left:7px}.header .nav-actions .btn{padding:13px 12px}.ns-nav-group summary{font-size:.88rem;padding-inline:7px}}
@media(max-width:1100px){.header .ns-plan-service{width:44px;height:44px;padding:10px}.header .ns-plan-service .ns-contact-icon{display:block}.header .ns-plan-service span{display:none}.header .ns-advice{display:inline-flex}}
@media(max-width:600px){.header .ns-brand-signature{font-size:.49rem;gap:5px;padding-left:6px}.header .brand{gap:6px}.header .nav-actions{gap:4px}.header .brand img{width:90px}.header .ns-advice-full{display:none}.header .ns-advice-short{display:inline}.header .ns-advice{display:inline-flex;font-size:.76rem;padding:12px 9px}.header>.container{gap:6px}}
@media(max-width:360px){.header .ns-brand-signature{display:none}.header .ns-plan-service{display:inline-flex}}
/* Longer online-planning labels. Desktop keeps both words; narrower headers only tighten spacing. */
@media(min-width:1101px) and (max-width:1400px){
  .header .nav-actions{gap:6px}
  .header .nav-actions .btn{padding:12px 12px}
}
@media(max-width:1100px) and (min-width:761px){
  .header .nav-actions:not(:has(.ns-home-request)) .ns-plan-service{width:auto;height:auto;padding:12px 12px}
  .header .nav-actions:not(:has(.ns-home-request)) .ns-plan-service span{display:inline}
  .header .nav-actions:not(:has(.ns-home-request)) .ns-plan-service .ns-contact-icon{display:none}
  .header .nav-actions:not(:has(.ns-home-request)){gap:6px}
}
@media(min-width:1101px) and (max-width:1240px){
  .header:has(.ns-home-request) .ns-brand-signature{display:none}
  .header:has(.ns-home-request) .ns-nav-group summary{padding-inline:5px}
}
@media(min-width:1101px) and (max-width:1360px){
  .header .nav-actions:has(.ns-home-request){gap:4px}
  .header .nav-actions:has(.ns-home-request) .btn{padding:10px 8px}
}
@media(min-width:1101px) and (max-width:1240px){
  .header .nav-actions:has(.ns-home-request) .btn{font-size:.8rem;padding:10px 6px}
}
@media(max-width:760px){
  .header .ns-plan-service{width:auto;height:auto;padding:10px 8px}
  .header .ns-plan-service span{display:inline}
  .header .ns-plan-service .ns-contact-icon{display:none}
  .header .ns-advice-full{display:inline}
  .header .ns-advice-short{display:none}
  .header .ns-plan-service,.header .ns-advice{font-size:.74rem}
  .header .nav-actions{gap:4px}
  .header>.container{gap:6px}
}
@media(max-width:560px){
  .header .ns-brand-signature{display:none}
  .header .ns-plan-service,.header .ns-advice{font-size:.7rem;padding:10px 7px}
}
@media(max-width:430px){
  .header .ns-plan-service,.header .ns-advice{font-size:.66rem;padding:9px 6px}
  .header .nav-actions{gap:3px}
  .header>.container{gap:4px}
}
@media(max-width:370px){
  .header .ns-plan-service{width:40px;height:40px;padding:8px}
  .header .ns-plan-service span{display:none}
  .header .ns-plan-service .ns-contact-icon{display:block}
}

/* Preserve the installation-customer qualification on narrow screens. */
@media(max-width:600px){.topbar .ns-top-permanence{white-space:normal;max-width:190px;line-height:1.25;gap:6px}.ns-top-permanence svg{flex:none}}
/* Mobile menu stays in the current viewport, and the control stays inside the header. */
@media(max-width:1100px){
  .topbar .container,.header>.container{min-width:0;max-width:100%}
  .header .brand{flex:1 1 auto;min-width:0;overflow:hidden}
  .header .brand img{max-width:100%}
  .header .nav-actions{flex:0 1 auto;min-width:0;max-width:100%}
  .header .ns-plan-service,.header .ns-advice{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .burger{display:inline-flex;flex:0 0 auto;position:static}
  .ns-mobile{
    position:fixed;z-index:49;left:0;right:0;bottom:0;top:var(--ns-menu-top,72px);
    width:100%;max-width:100%;margin:0;box-sizing:border-box;
    overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    padding-bottom:max(24px,env(safe-area-inset-bottom));
  }
}
