/* Felles handlingsknapper. Faner, ikonknapper og kartkontroller beholder sin funksjonelle form. */
@media screen {
  :is(body[data-gratis-design], body[data-gratis-knapper]) {
    --knapp-radius: 10px;
    --knapp-kant: color-mix(in srgb, var(--ink, #252923) 22%, var(--surface, #fffdf8));
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button, input[type="submit"], .finn-link, .fav-compare, .boliggrunnlag-rapport, .print-btn, .verktoey-knapp, .panel-cta, .utleie-kilde-knapp):not(:where(
    .leaflet-control *, .maplibregl-control-container *, .mapboxgl-control-container *,
    .konto-vipps-lenke, [role="tab"], .profil-faner *, .faner-navpil, .nav-toggle, #tema-bryter,
    .konto-varsel, .konto-varselpanel-lukk, .portal-sok-lukk, .um-grabber,
    .suggestions *, .sok-forslag *, .autocomplete-results *,
    .konto-eiendomshandlinger *, .eiendom-handlinger *
  )),
  body[data-gratis-design] :is(#profil-abonnement, #profil-varselinnboks, #profil-historikk) button,
  body[data-gratis-design] #profil-uten-nyhetsbrev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    box-sizing: border-box;
    min-height: 48px;
    min-width: 44px;
    max-width: 100%;
    padding: .7rem 1rem;
    border: 1px solid var(--knapp-kant);
    border-radius: var(--knapp-radius);
    background: var(--surface, #fffdf8);
    color: var(--ink, #252923);
    font: 500 .875rem/1.35 Inter, system-ui, sans-serif;
    text-decoration: none;
    text-align: center;
    white-space: normal;
    cursor: pointer;
    transition: background-color .15s, border-color .15s, color .15s;
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button, .finn-link, .fav-compare, .boliggrunnlag-rapport, .print-btn, .verktoey-knapp, .panel-cta, .utleie-kilde-knapp):not(:where(.leaflet-control *, .konto-vipps-lenke)):hover:not(:disabled):not([aria-disabled="true"]) {
    border-color: var(--accent, #8a6536);
    background-color: var(--accent-soft, #f6efdd);
    color: var(--accent, #8a6536);
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button[type="submit"], input[type="submit"], .fav-compare, [data-rapport-print]):not(:where(.konto-vipps-lenke)) {
    background: var(--accent, #8a6536);
    border-color: var(--accent, #8a6536);
    color: var(--bg, #fffdf8);
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button[aria-pressed="true"], button[aria-selected="true"], .marked-faner button.active) {
    background-color: var(--accent-soft, #f6efdd);
    border-color: var(--accent, #8a6536);
    color: var(--accent, #8a6536);
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button, a, input, select, summary):focus-visible {
    outline: 3px solid var(--accent, #8a6536);
    outline-offset: 3px;
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button:disabled, input[type="submit"]:disabled, a[aria-disabled="true"]) {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none;
  }
  html:root :is(body[data-gratis-design], body[data-gratis-knapper]) [aria-busy="true"] {
    cursor: progress;
  }
  html:root body[data-gratis-design] :is(#profil-slett, .fav-card .remove, [data-fjern-sammenligning], #profil-historikk-tom, [data-stopp]) {
    color: var(--bad, #a33d2e);
  }
  html:root body[data-gratis-design] :is(#profil-slett, .fav-card .remove, [data-fjern-sammenligning], #profil-historikk-tom, [data-stopp]):hover:not(:disabled) {
    color: var(--bad, #a33d2e);
    border-color: var(--bad, #a33d2e);
    background: color-mix(in srgb, var(--bad, #a33d2e) 10%, var(--surface, #fffdf8));
  }
  :is(body[data-gratis-design], body[data-gratis-knapper]) button svg { flex-shrink: 0; }
  html:root body[data-gratis-design] :is(#tema-bryter, .konto-varsel, .nav-toggle, .konto-varselpanel-lukk, .portal-sok-lukk) {
    min-width: 44px;
    min-height: 44px;
    flex-shrink: 0;
    border-radius: var(--knapp-radius);
  }
  body[data-gratis-design] :is(.konto-import, .konto-varselvalg-handlinger, .profil-kontovalg) { gap: .625rem; }
  body[data-gratis-design] .konto-import button { margin: .25rem .5rem .25rem 0; }
  body[data-gratis-design] .fav-actions { flex-wrap: wrap; }
  body[data-gratis-design] .fav-card { padding-bottom: 4.5rem; }
  body[data-gratis-design] .fav-card > a { display: block; padding-top: 1.5rem; }
  :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button, input[type="submit"], .finn-link, .fav-compare, .boliggrunnlag-rapport, .print-btn, .verktoey-knapp, .panel-cta, .utleie-kilde-knapp)[hidden] { display: none !important; }
  @media (prefers-reduced-motion: reduce) {
    :is(body[data-gratis-design], body[data-gratis-knapper]) :is(button, .finn-link, .fav-compare, .boliggrunnlag-rapport, .print-btn, .verktoey-knapp, .panel-cta, .utleie-kilde-knapp) { transition: none; }
  }
}
