:root {
  --nav-height: 72px;
  --nav-margin: 0px;
}

html {
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  scrollbar-color: #10b981 #07111f !important;
}

::-webkit-scrollbar {
  width: 12px !important;
}

::-webkit-scrollbar-track {
  background: #07111f !important;
}

::-webkit-scrollbar-thumb {
  background: #10b981 !important;
  border-radius: 999px !important;
  border: 3px solid #07111f !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #34d399 !important;
}

body {
  font-family: 'Poppins', sans-serif;
  background: #0f172a;
  /* clip, ikke hidden: hidden gjor body til scroll-container og stopper sticky nav. */
  overflow-x: clip;
}

/* Hvit kant rundt tegnede områder, så de synes på alle bakgrunner i kartet. */
.kart-omrade {
  filter: drop-shadow(0 0 1px #ffffff) drop-shadow(0 0 2px #ffffff);
}

/* isolation: Leaflets lag bruker z-index opp til 1000 og ville ellers lagt seg over toppmenyen. */
body .leaflet-container {
  font-family: 'Poppins', sans-serif;
  isolation: isolate;
}

/* Tomme valideringsfelt skal ikke ta plass før det finnes feil. */
.validation-summary-valid,
.field-validation-valid {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Syne', sans-serif;
}

.nav-bar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #07111f;
  border-bottom: 1px solid #334155;
  padding: 12px 32px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 72px;
}

.page-fill {
  position: relative;
  z-index: 1;
  margin: 0 -0.75rem;
  width: calc(100% + 1.5rem);
  min-height: calc(100vh - var(--nav-height) - var(--nav-margin));
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  text-decoration: none;
}

.brand-logo {
  height: 44px;
  width: auto;
  filter: drop-shadow(0 0 6px rgba(16, 185, 129, 0.7));
}

.brand-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.brand-name {
  font-family: 'Syne', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #f8fafc;
  letter-spacing: -0.5px;
}

.nav-links {
  display: flex;
  gap: 24px;
  align-items: center;
}

.nav-account {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-self: end;
  position: relative;
}

.nav-cta {
  align-items: center;
  background: #10b981;
  border-radius: 999px;
  color: #021912;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  padding: 10px 16px;
  text-decoration: none;
  transition: background 0.2s ease;
  white-space: nowrap;
}

.nav-cta:hover {
  background: #34d399;
  color: #021912;
}

.brand-portal {
  color: #7DD8F2;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.portal-antall {
  background: rgba(0, 177, 226, 0.18);
  border-radius: 999px;
  color: #A5E5F7;
  font-size: 13px;
  margin-left: 4px;
  padding: 0 7px;
}

.kobling-antall {
  background: #10b981;
  border-radius: 999px;
  color: #021912;
  font-size: 13px;
  font-weight: 700;
  margin-left: 4px;
  padding: 0 7px;
}

.nav-avatar:has(.kobling-antall) {
  position: relative;
}

.nav-avatar .kobling-antall {
  margin: 0;
  position: absolute;
  right: -6px;
  top: -6px;
}

/* Nettbrett: portalknappen vises bare som ikon, ellers blir menyen bredere enn skjermen. */
@media (max-width: 1100px) {
  .nav-portal__tekst {
    display: none;
  }

  .nav-account .nav-portal {
    padding: 9px 11px;
  }
}

/* Mobil: større trykkflate på små tekstlenker. Negativ margin holder oppsettet uendret. */
@media (max-width: 767px) {
  .site-footer__kolonne > a,
  .glemt-passord-row a,
  .bytte-row a,
  .kort > a,
  .profile-back,
  .admin-back,
  .admin-title a,
  .admin-match-eier a,
  .hjem-status__lenke,
  .profile-tip a {
    margin-block: -4px;
    padding-block: 4px;
  }
}

.nav-portal {
  align-items: center;
  background: rgba(0, 177, 226, 0.14);
  border: 1px solid #00B1E2;
  border-radius: 999px;
  color: #A5E5F7;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  padding: 9px 16px;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}

.nav-portal:hover {
  background: rgba(0, 177, 226, 0.26);
  border-color: #33C1E8;
  color: #f8fafc;
}

html:has(body.portal) {
  scrollbar-color: #00B1E2 #07111f !important;
}

.portal ::-webkit-scrollbar-thumb {
  background: #00B1E2 !important;
}

.portal .nav-cta {
  background: #00B1E2;
}

.portal .nav-cta:hover {
  background: #33C1E8;
}

.portal .brand-logo {
  filter: drop-shadow(0 0 6px rgba(0, 177, 226, 0.7));
}

.portal .nav-item.active .nav-item-label {
  background: rgba(0, 177, 226, 0.15);
  color: #A5E5F7;
}

.portal .nav-avatar,
.portal .nav-hamburger {
  border-color: rgba(0, 177, 226, 0.5);
}

.portal .nav-avatar:hover,
.portal .nav-hamburger:hover {
  border-color: #00B1E2;
}

.portal .konto-dropdown__bruker-ikon,
.portal .mobil-meny__avatar {
  background: rgba(0, 177, 226, 0.12);
  border-color: rgba(0, 177, 226, 0.4);
  color: #A5E5F7;
}

.portal .konto-dropdown__lenke:hover {
  background: rgba(0, 177, 226, 0.1);
  color: #A5E5F7;
}

.portal .mobil-meny__konto {
  background: linear-gradient(135deg, rgba(0, 177, 226, 0.08), #0f172a 60%);
  border-color: rgba(0, 177, 226, 0.3);
}

.portal .mobil-meny__logg-inn {
  background: #00B1E2;
}

.portal .mobil-meny__logg-inn:hover {
  background: #33C1E8;
}

.nav-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  background: rgba(30, 41, 59, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(16, 185, 129, 0.25);
  color: #f1f5f9;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.nav-avatar:hover {
  background: rgba(30, 41, 59, 0.75);
  border-color: rgba(16, 185, 129, 0.6);
}

.konto-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 200px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #1e293b;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 2px solid #334155;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 18px 24px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

.konto-dropdown.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.konto-dropdown__pill {
  display: block;
  text-align: center;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.konto-dropdown__pill--primary {
  background: #10b981;
  color: #021912;
}

.konto-dropdown__pill--primary:hover {
  background: #34d399;
}

.konto-dropdown__pill--secondary {
  padding: 8px 16px;
  background: transparent;
  border: 1px solid rgba(241, 245, 249, 0.2);
  color: #f1f5f9;
}

.konto-dropdown__pill--secondary:hover {
  border-color: #10b981;
  color: #34d399;
}

.konto-dropdown__bruker {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 2px;
}

.konto-dropdown__bruker-ikon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #6ee7b7;
  font-size: 14px;
}

.konto-dropdown__epost {
  font-size: 14px;
  color: #cbd5e1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.konto-dropdown__delelinje {
  margin: 0;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.konto-dropdown__lenke {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 10px;
  border-radius: 10px;
  background: transparent;
  border: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #f1f5f9;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.konto-dropdown__lenke i {
  width: 16px;
  text-align: center;
  color: #cbd5e1;
}

.konto-dropdown__lenke:hover {
  background: rgba(16, 185, 129, 0.1);
  color: #6ee7b7;
}

.konto-dropdown__lenke--logg-ut:hover {
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
}

.konto-dropdown__lenke--logg-ut:hover i {
  color: #fca5a5;
}

.nav-avatar i {
  font-size: 16px;
}

.nav-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  padding: 0 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.nav-item-label {
  font-size: 14px;
  font-weight: 500;
  color: #cbd5e1;
  padding: 6px 16px;
  border-radius: 999px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.nav-item.active .nav-item-label {
  font-weight: 700;
  color: #6ee7b7;
  background: rgba(16, 185, 129, 0.15);
}

.active-indicator {
  display: none;
}

.nav-item:hover:not(.active) .nav-item-label {
  color: #f8fafc;
}

html {
  font-size: 14px;
}

.nav-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: rgba(30, 41, 59, 0.55);
  border: 1px solid rgba(16, 185, 129, 0.25);
  color: #f1f5f9;
  cursor: pointer;
}

.nav-hamburger:hover {
  background: rgba(30, 41, 59, 0.75);
  border-color: rgba(16, 185, 129, 0.6);
}

.mobil-meny {
  display: none;
  position: fixed;
  top: var(--nav-height);
  left: 0;
  right: 0;
  z-index: 99;
  flex-direction: column;
  gap: 24px;
  width: auto;
  padding: 20px;
  background: #07111f;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid #334155;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.33);
}

.mobil-meny.open {
  display: flex;
}

.mobil-meny__lenker {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mobil-meny__element {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid transparent;
  color: #cbd5e1;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}

.mobil-meny__element i {
  font-size: 14px;
}

.mobil-meny__element.active {
  background: #1e293b;
  border-color: #334155;
  color: #f8fafc;
  font-weight: 700;
}

.mobil-meny__delelinje {
  margin: 0;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.mobil-meny__konto {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), #0f172a 60%);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 14px;
}

.mobil-meny__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #6ee7b7;
  font-size: 15px;
}

.mobil-meny__konto-tekst {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.mobil-meny__konto-tekst p {
  margin: 0;
}

.mobil-meny__konto-tekst p:first-child {
  font-size: 14px;
  font-weight: 700;
  color: #f8fafc;
}

.mobil-meny__konto-tekst p:last-child {
  font-size: 13px;
  color: #cbd5e1;
}

.mobil-meny__logg-inn {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  color: #021912;
  background: #10b981;
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration: none;
}

.mobil-meny__logg-inn:hover {
  background: #34d399;
}

/* Hamburgermeny også på nettbrett: menyen er for bred for 768-991px, særlig i portalen. */
@media (max-width: 991px) {
  .nav-links,
  .nav-cta,
  .nav-portal,
  .nav-avatar {
    display: none;
  }

  .nav-hamburger {
    display: flex;
    position: relative;
  }

  .nav-hamburger .kobling-antall {
    margin: 0;
    position: absolute;
    right: -6px;
    top: -6px;
  }
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}


.site-footer {
  background: #0b1420;
  border-top: 1px solid #334155;
  margin-top: 48px;
  padding: 48px 32px 0;
}

.site-footer__top {
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(200px, 1.3fr) minmax(120px, 0.7fr) minmax(120px, 0.7fr) minmax(280px, 1.5fr);
  margin: 0 auto;
  max-width: 1200px;
  padding-bottom: 32px;
}

.site-footer__brand-rad {
  display: flex;
  align-items: center;
  gap: 10px;
}

.site-footer__logo {
  height: 28px;
  width: auto;
}

.site-footer__brand-navn {
  font-family: 'Syne', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #f8fafc;
  letter-spacing: -0.5px;
}

.site-footer__tagline {
  margin: 8px 0 0;
  color: #cbd5e1;
  font-size: 14px;
  max-width: 280px;
}

.site-footer__kolonne {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.site-footer__kolonne h2 {
  color: #f8fafc;
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 4px;
}

.site-footer__kolonne > a {
  color: #cbd5e1;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer__kolonne > a:hover {
  color: #34d399;
  text-decoration: underline;
}

.site-footer__akutt h2 i {
  color: #fca5a5;
  margin-right: 6px;
}

.site-footer__akutt p {
  color: #cbd5e1;
  font-size: 14px;
  margin: 0 0 4px;
}

.site-footer__numre {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* .site-footer foran: ellers vinner den scopede a-regelen fra _Layout.cshtml.css over tel-lenkene. */
.site-footer .site-footer__numre a {
  align-items: center;
  border-radius: 10px;
  color: #ffffff;
  display: flex;
  flex: 1 1 84px;
  flex-direction: column;
  font-size: 13px;
  padding: 6px 10px;
  text-decoration: none;
  transition: filter 0.2s ease;
}

.site-footer .site-footer__numre a:hover {
  color: #ffffff;
  filter: brightness(1.25);
}

.site-footer .site-footer__numre .site-footer__nummer--brann {
  background: #991b1b;
}

.site-footer .site-footer__numre .site-footer__nummer--politi {
  background: #1e3a8a;
}

.site-footer .site-footer__numre .site-footer__nummer--ambulanse {
  background: #166534;
}

.site-footer__numre strong {
  color: #f8fafc;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.site-footer__bunn {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  color: #cbd5e1;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 4px 16px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1200px;
  padding: 16px 0;
}

@media (max-width: 991px) {
  .site-footer__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .site-footer {
    padding-left: 20px;
    padding-right: 20px;
  }

  .site-footer__brand,
  .site-footer__akutt {
    grid-column: 1 / -1;
  }

  .site-footer__top {
    gap: 24px;
  }
}

/* Valg fra /Accessibility. Klassene settes av js/tilgjengelighet.js. */
/* Skriften er satt i px, så størrelsen må endres med zoom. Hele kart ligger utenfor fordi Leaflet feilberegner klikk under zoom. */
html.a11y-storre-tekst body:not(:has(#map)) {
  zoom: 1.2;
}

html.a11y-storre-tekst body:has(#map) .ressurs-split__form {
  zoom: 1.15;
}

/* Gjelder alle elementer. Unntak: lyse knapper og ikonsirkler, som har mørk tekst, og selve kartet. */
html.a11y-hoy-kontrast,
html.a11y-hoy-kontrast body {
  background: #000 !important;
}

html.a11y-hoy-kontrast body *:not(.admin-filter-submit,.hjem-knapp--primary,.hjem-knapp--behov,.hjem-knapp--ressurs,.kart-knapp,.konto-dropdown__pill--primary,.konto-knapp,.kart-popup__knapp,.mobil-meny__logg-inn,.nav-cta,.profile-add,.resource-add,.resource-detail__map-link,.resource-filter-submit,.ressurs-btn--submit,.admin-type-ikon,.hjem-status__ikon,.kart-ikon,.kart-forklaring__nal,.kart-forklaring__deg,.bryter,.admin-filter-submit *,.hjem-knapp--primary *,.hjem-knapp--behov *,.hjem-knapp--ressurs *,.kart-knapp *,.konto-dropdown__pill--primary *,.konto-knapp *,.kart-popup__knapp *,.mobil-meny__logg-inn *,.nav-cta *,.profile-add *,.resource-add *,.resource-detail__map-link *,.resource-filter-submit *,.ressurs-btn--submit *,.admin-type-ikon *,.hjem-status__ikon *,.kart-ikon *,.kart-forklaring__nal *,.kart-forklaring__deg *,.bryter *):not(.leaflet-container,.leaflet-container *) {
  background-color: #000 !important;
  background-image: none !important;
  border-color: #fff !important;
  box-shadow: none !important;
  color: #fff !important;
  text-shadow: none !important;
}

html.a11y-hoy-kontrast :is(.leaflet-popup-content-wrapper, .leaflet-popup-tip) {
  background: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.a11y-hoy-kontrast .leaflet-popup-content *:not(.admin-filter-submit,.hjem-knapp--primary,.hjem-knapp--behov,.hjem-knapp--ressurs,.kart-knapp,.konto-dropdown__pill--primary,.konto-knapp,.kart-popup__knapp,.mobil-meny__logg-inn,.nav-cta,.profile-add,.resource-add,.resource-detail__map-link,.resource-filter-submit,.ressurs-btn--submit,.admin-type-ikon,.hjem-status__ikon,.kart-ikon,.kart-forklaring__nal,.kart-forklaring__deg,.bryter,.admin-filter-submit *,.hjem-knapp--primary *,.hjem-knapp--behov *,.hjem-knapp--ressurs *,.kart-knapp *,.konto-dropdown__pill--primary *,.konto-knapp *,.kart-popup__knapp *,.mobil-meny__logg-inn *,.nav-cta *,.profile-add *,.resource-add *,.resource-detail__map-link *,.resource-filter-submit *,.ressurs-btn--submit *,.admin-type-ikon *,.hjem-status__ikon *,.kart-ikon *,.kart-forklaring__nal *,.kart-forklaring__deg *,.bryter *),
html.a11y-hoy-kontrast .leaflet-popup-close-button {
  background: transparent !important;
  color: #fff !important;
}

html.a11y-hoy-kontrast body a:not(.admin-filter-submit,.hjem-knapp--primary,.hjem-knapp--behov,.hjem-knapp--ressurs,.kart-knapp,.konto-dropdown__pill--primary,.konto-knapp,.kart-popup__knapp,.mobil-meny__logg-inn,.nav-cta,.profile-add,.resource-add,.resource-detail__map-link,.resource-filter-submit,.ressurs-btn--submit,.admin-type-ikon,.hjem-status__ikon,.kart-ikon,.kart-forklaring__nal,.kart-forklaring__deg,.bryter,.admin-filter-submit *,.hjem-knapp--primary *,.hjem-knapp--behov *,.hjem-knapp--ressurs *,.kart-knapp *,.konto-dropdown__pill--primary *,.konto-knapp *,.kart-popup__knapp *,.mobil-meny__logg-inn *,.nav-cta *,.profile-add *,.resource-add *,.resource-detail__map-link *,.resource-filter-submit *,.ressurs-btn--submit *,.admin-type-ikon *,.hjem-status__ikon *,.kart-ikon *,.kart-forklaring__nal *,.kart-forklaring__deg *,.bryter *):not(.nav-item):not(.brand):not(.mobil-meny__element):not(.admin-action):not(.profile-button):not(.tilgjengelighet-rad) {
  color: #ffe14d !important;
  text-decoration: underline !important;
}

html.a11y-hoy-kontrast :is(input, select, textarea, button, .nav-portal, .kart-filter label, .admin-match-fane, .kart-merke, .admin-match-merke):not(.admin-filter-submit,.hjem-knapp--primary,.hjem-knapp--behov,.hjem-knapp--ressurs,.kart-knapp,.konto-dropdown__pill--primary,.konto-knapp,.kart-popup__knapp,.mobil-meny__logg-inn,.nav-cta,.profile-add,.resource-add,.resource-detail__map-link,.resource-filter-submit,.ressurs-btn--submit,.admin-type-ikon,.hjem-status__ikon,.kart-ikon,.kart-forklaring__nal,.kart-forklaring__deg,.bryter,.admin-filter-submit *,.hjem-knapp--primary *,.hjem-knapp--behov *,.hjem-knapp--ressurs *,.kart-knapp *,.konto-dropdown__pill--primary *,.konto-knapp *,.kart-popup__knapp *,.mobil-meny__logg-inn *,.nav-cta *,.profile-add *,.resource-add *,.resource-detail__map-link *,.resource-filter-submit *,.ressurs-btn--submit *,.admin-type-ikon *,.hjem-status__ikon *,.kart-ikon *,.kart-forklaring__nal *,.kart-forklaring__deg *,.bryter *) {
  border-style: solid !important;
  border-width: 2px !important;
}

/* Valgt tilstand må synes uten farge. */
html.a11y-hoy-kontrast :is(.kart-filter label:has(input:checked), .admin-match-fane.active, .nav-item.active .nav-item-label, .mobil-meny__element.active),
html.a11y-hoy-kontrast :is(.kart-filter label:has(input:checked), .admin-match-fane.active, .mobil-meny__element.active) * {
  background-color: #fff !important;
  color: #000 !important;
}

html.a11y-hoy-kontrast .bryter {
  background: #000 !important;
  outline: 2px solid #fff;
}

html.a11y-hoy-kontrast .bryter-input:checked + .bryter {
  background: #fff !important;
}

html.a11y-hoy-kontrast .bryter-input:checked + .bryter::before {
  background: #000 !important;
}

html.a11y-hoy-kontrast ::placeholder {
  color: #fff !important;
  opacity: 1 !important;
}

html.a11y-lettlest-skrift body,
html.a11y-lettlest-skrift body *:not(i):not([class*="fa-"]) {
  font-family: Verdana, Arial, sans-serif !important;
  letter-spacing: 0.01em !important;
  word-spacing: 0.08em !important;
}

html.a11y-understrek body a:not(.admin-filter-submit,.hjem-knapp--primary,.hjem-knapp--behov,.hjem-knapp--ressurs,.kart-knapp,.konto-dropdown__pill--primary,.konto-knapp,.kart-popup__knapp,.mobil-meny__logg-inn,.nav-cta,.profile-add,.resource-add,.resource-detail__map-link,.resource-filter-submit,.ressurs-btn--submit,.admin-type-ikon,.hjem-status__ikon,.kart-ikon,.admin-filter-submit *,.hjem-knapp--primary *,.hjem-knapp--behov *,.hjem-knapp--ressurs *,.kart-knapp *,.konto-dropdown__pill--primary *,.konto-knapp *,.kart-popup__knapp *,.mobil-meny__logg-inn *,.nav-cta *,.profile-add *,.resource-add *,.resource-detail__map-link *,.resource-filter-submit *,.ressurs-btn--submit *,.admin-type-ikon *,.hjem-status__ikon *,.kart-ikon *,.leaflet-control-attribution,.leaflet-control-attribution *):not(.nav-item):not(.brand):not(.mobil-meny__element):not(.admin-action):not(.profile-button):not(.tilgjengelighet-rad) {
  text-decoration: underline !important;
}

html.a11y-fokus :focus-visible {
  box-shadow: 0 0 0 5px #000 !important;
  outline: 3px solid #ffe14d !important;
  outline-offset: 2px !important;
}

html.a11y-redusert-bevegelse *,
html.a11y-redusert-bevegelse *::before,
html.a11y-redusert-bevegelse *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
