/* Responsive tillegg – Norsk Boligservice */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
input[type=range]{width:100%;height:28px;touch-action:pan-y}
input[type=range]::-webkit-slider-thumb{width:26px;height:26px}
input[type=range]::-moz-range-thumb{width:26px;height:26px}
.nbs-burger,.nbs-menu,.nbs-backdrop{display:none}
@media (max-width:767px){
  .nbs-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;border:1px solid rgba(148,163,184,.4);background:rgba(148,163,184,.12);color:inherit;font-size:18px;cursor:pointer}
  header.nbs-light .nbs-burger{color:#0f172a}
  header.nbs-dark .nbs-burger{color:#fff}
  .nbs-backdrop.open{display:block;position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:48}
  .nbs-menu.open{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:min(86vw,340px);background:#0b1328;color:#e2e8f0;z-index:49;padding:1rem;gap:.35rem;overflow-y:auto;box-shadow:-10px 0 40px rgba(0,0,0,.4)}
  .nbs-menu .nbs-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}
  .nbs-menu .nbs-close{width:44px;height:44px;border-radius:12px;background:rgba(148,163,184,.15);color:#fff;font-size:18px;border:0}
  .nbs-menu a{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.75rem 1rem;border-radius:12px;font-weight:700;font-size:15px;color:#e2e8f0}
  .nbs-menu a:hover{background:rgba(148,163,184,.12)}
  .nbs-menu a.nbs-cta{background:linear-gradient(90deg,#2563eb,#4f46e5);color:#fff;justify-content:center;margin-bottom:.5rem}
  .nbs-partner-btn{padding-left:.75rem!important;padding-right:.75rem!important;white-space:nowrap}
header>div{gap:.5rem!important}
  header .nbs-hide-sm{display:none!important}
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}
  button,.btn,a[class*="rounded"]{min-height:40px}
  table{font-size:12px}
  .card-scene{max-width:100%}
}
@media (max-width:420px){
  h1{font-size:1.9rem!important;line-height:1.15!important}
  h2{font-size:1.5rem!important;line-height:1.2!important}
  header a span.text-xl,header a span.text-lg{font-size:.95rem!important}
  .grid.grid-cols-3:not([class*="sm:"]):not([class*="md:"]){gap:.5rem}
  .grid.grid-cols-4:not([class*="sm:"]):not([class*="md:"]):not([class*="lg:"]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .px-8{padding-left:1.25rem;padding-right:1.25rem}
  .p-8,.p-10{padding:1.25rem}
}
@media (max-width:480px){
  header>div>a{min-width:0;flex-shrink:1;gap:.5rem!important}
  header>div>a>div:first-child{width:2.4rem;height:2.4rem;flex-shrink:0}
  header a span.text-xl,header a span.text-lg{flex-wrap:wrap;line-height:1.1;column-gap:.25rem}
  #countySelect{max-width:96px}
}
@media (max-width:767px){
  header #countySelect{font-size:13px!important;max-width:84px;padding-right:0}
  header div:has(>#countySelect),header div:has(>div>#countySelect){padding:.4rem .5rem!important;gap:.35rem!important;min-width:0}
}
