/* Tokig Privacy — bannern (0.3.0; kortet 0.7.0).

   MÅTTEN ÄR I PX, INTE REM. Många teman sätter html { font-size: 62.5% }
   så att 1rem = 10px. Med rem blev bannern på pixeltokig.com en tredjedel
   för liten (knapptext 9,4 px). orestbida räknar i px och em från
   #cc-main, som har 16 px; samma här. (0.7.0: kortet från 0.1.8/0.2.0 är
   omräknat från rem till px av samma skäl.)

   Färg, typsnitt och form kommer ur sajten (assets/js/tema.js) och sätts som
   CSS-variabler; portalens primärfärg är accenten. Här står bara formen, och
   regler som går före sajten:

   1. Acceptera och Neka ser EXAKT likadana ut — samma färg, storlek och
      vikt, sida vid sida. IMY har underkänt banners där godkännandet hade
      starkare färg än avvisandet (ATG dec 2024, beslut april 2025).
      Portalens knappstil «framhavd» ger Neka den ljusa stilen — samma
      storlek, form och typsnitt — och är personalens val.
   2. «Visa inställningar» är ingen samtyckesknapp och har den ljusa stilen.

   Logiska egenskaper (padding-inline, text-align: start) — fungerar i RTL.

   0.7.4: TEMASÄKERT. Allt text i #cc-main får färg, typsnitt och mått av
   bannern själv, också rubriker (h2/h3) och stycken. Mätt hos Kurage
   (Hello Elementor): «.elementor-kit-6 h3 { color: vitt }» gjorde
   kategorirubrikerna osynliga på det vita kortet, och temats reset gav h3
   1,75rem och marginaler. Reglerna längst ned har id + klass och går före
   alla sådana temaregler. */

#cc-main {
  font-family: var(--cc-font-family, inherit);
  --cc-modal-margin: 16px;
  --cc-z-index: 2147483000;
  --pxks-sekundar: rgba(127, 127, 127, 0.1);
  --pxks-sekundar-linje: rgba(127, 127, 127, 0.3);
}

/* Den ljusa knappen ur sajtens egna text- och kortfärg (mörkt tema blir
   mörkt), där webbläsaren kan blanda färger. */
@supports (color: color-mix(in srgb, red 50%, blue)) {
  #cc-main {
    --pxks-sekundar: color-mix(in srgb, var(--pxks-text, #1d2026) 6%, var(--pxks-kort, #fff));
    --pxks-sekundar-linje: color-mix(in srgb, var(--pxks-text, #1d2026) 16%, var(--pxks-kort, #fff));
  }
}

/* ---------- Kortet «Hantera samtycke» ---------- */

#cc-main .cm {
  border: 1px solid var(--pxks-linje, rgba(0, 0, 0, 0.12));
  box-shadow: 0 24px 64px rgba(16, 24, 40, 0.18), 0 2px 8px rgba(16, 24, 40, 0.06);
}

#cc-main .pxks-cm {
  overflow: hidden;
}

#cc-main .pxks-cm__huvud {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding-block: 18px;
  padding-inline: 28px;
  border-bottom: 1px solid var(--pxks-linje, #eceef2);
}

#cc-main .pxks-cm__logo {
  display: flex;
  align-items: center;
  justify-self: start;
  min-height: 40px;
  color: var(--pxks-text, #1d2026);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}

#cc-main .pxks-cm__logo img {
  display: block;
  height: 48px;
  max-width: 152px;
  width: auto;
  object-fit: contain;
  object-position: left center;
}

#cc-main.cc--rtl .pxks-cm__logo img,
[dir="rtl"] #cc-main .pxks-cm__logo img {
  object-position: right center;
}

#cc-main .pxks-cm__huvud #cm__title,
#cc-main .pxks-cm__huvud .cm__title {
  display: block;
  padding: 0 !important;
  margin: 0;
  text-align: center;
  font-family: var(--pxks-rubrik-typsnitt, inherit);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.25;
  color: var(--pxks-text, #1d2026);
}

#cc-main .pxks-cm__kryss {
  display: flex;
  justify-self: end;
}

#cc-main .pxks-cm .cm__btn--close {
  position: static;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
}

#cc-main .pxks-cm .cm__btn--close:hover {
  background: var(--pxks-sekundar);
}

#cc-main .pxks-cm .cm__btn--close svg {
  width: 24px;
  height: 24px;
  transform: none;
  stroke: var(--pxks-text, #1d2026);
  stroke-width: 3;
}

#cc-main .pxks-cm .cm__body {
  padding: 0 !important;
  flex-direction: column;
}

#cc-main .pxks-cm .cm__texts {
  padding: 24px 28px 22px !important;
}

#cc-main .pxks-cm .cm__desc {
  padding: 0 !important;
  margin: 0;
  max-height: 38vh;
  font-size: 16px;
  line-height: 1.65;
  color: var(--cc-secondary-color);
}

#cc-main .cm__desc a,
#cc-main .pm__section-desc a {
  color: var(--cc-primary-color);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Knapparna i ett rutnät: tre lika breda i en rad (två när sajten bara har
   ett valfritt ändamål). Grupperna ger upp sin egen layout. */
#cc-main .pxks-cm .cm__btns {
  display: grid !important;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  gap: 16px;
  padding: 24px 28px 16px !important;
  border-top: 1px solid var(--pxks-linje, #eceef2) !important;
  max-width: none !important;
}

#cc-main .pxks-cm .cm__btn-group {
  display: contents !important;
}

#cc-main .pxks-cm .cm__btn + .cm__btn,
#cc-main .pxks-cm .cm__btn-group + .cm__btn-group {
  margin: 0 !important;
}

/* L1: alla knappar har samma mått, form och typsnitt. */
#cc-main .pxks-cm .cm__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px;
  margin: 0 !important;
  padding: 12px 16px;
  border: 1px solid transparent;
  border-radius: var(--cc-btn-border-radius, 10px);
  font-family: var(--pxks-knapp-typsnitt, inherit);
  font-size: 17px;
  font-weight: var(--pxks-knapp-vikt, 600);
  text-transform: var(--pxks-knapp-versaler, none);
  letter-spacing: var(--pxks-knapp-spatiering, 0.01em);
  line-height: 1.2;
  white-space: normal;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
}

#cc-main .pxks-cm .cm__btn:active {
  transform: translateY(1px);
}

/* Fylld — Acceptera, och i «lika» även Neka. */
#cc-main .pxks-cm button[data-role="all"],
#cc-main .pxks-cm--lika button[data-role="necessary"] {
  background: var(--pxks-accent, #1f4f9c) !important;
  background-image: var(--pxks-knapp-bild, none) !important;
  background-size: 100% 100%;
  border-color: var(--pxks-accent, #1f4f9c) !important;
  color: var(--pxks-knapp-text, #fff) !important;
}

#cc-main .pxks-cm button[data-role="all"]:hover,
#cc-main .pxks-cm--lika button[data-role="necessary"]:hover {
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.12);
}

/* Ljus — Visa inställningar, och i «framhavd» även Neka. Samma storlek,
   samma typsnitt, kant så att den aldrig ser ut som text. */
#cc-main .pxks-cm button[data-role="show"],
#cc-main .pxks-cm--framhavd button[data-role="necessary"] {
  background: var(--pxks-sekundar) !important;
  background-image: none !important;
  border-color: var(--pxks-sekundar-linje) !important;
  color: var(--pxks-text, #1d2026) !important;
  text-transform: none;
}

#cc-main .pxks-cm button[data-role="show"]:hover,
#cc-main .pxks-cm--framhavd button[data-role="necessary"]:hover {
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.04);
}

/* Policylänkarna under knapparna. */
#cc-main .pxks-cm .cm__footer {
  display: block;
  background: transparent;
  border: 0;
  padding: 4px 0 22px;
}

#cc-main .pxks-cm .cm__links {
  padding: 0 28px !important;
}

#cc-main .pxks-cm .cm__link-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center !important;
  gap: 6px 20px;
  font-size: 15px;
}

#cc-main .pxks-cm .cm__link-group > * + * {
  margin: 0 !important;
}

#cc-main .pxks-cm .pxks-cm__lank {
  color: var(--cc-primary-color);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

#cc-main .pxks-cm .pxks-cm__lank:hover {
  text-decoration-thickness: 2px;
}

/* ---------- Layout «modal»: mitt på skärmen (standard) ---------- */

#cc-main .pxks-cm--modal.cm {
  inset-inline: auto;
  left: 50%;
  right: auto;
  top: 50%;
  bottom: auto;
  width: min(880px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  transform: translate(-50%, calc(-50% + 19px));
}

.show--consent #cc-main .cc--anim .pxks-cm--modal.cm {
  transform: translate(-50%, -50%);
}

.disable--interaction #cc-main .cm-wrapper::before {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

/* ---------- Layout «ruta»: kortet nere i mitten, sidan går att använda ---------- */

#cc-main .pxks-cm--ruta.cm {
  max-width: 480px;
}

#cc-main .pxks-cm--ruta .cm__btns {
  grid-auto-flow: row;
  gap: 10px;
}

#cc-main .pxks-cm--ruta .pxks-cm__huvud #cm__title,
#cc-main .pxks-cm--ruta .pxks-cm__huvud .cm__title {
  font-size: 18px;
}

/* ---------- Layout «horn» (0.7.1): nere till vänster, som 0.3–0.6 ---------- */

#cc-main .pxks-cm--horn.cm {
  max-width: 440px;
}

#cc-main .pxks-cm--horn .cm__btns {
  grid-auto-flow: row;
  gap: 10px;
}

#cc-main .pxks-cm--horn .pxks-cm__huvud #cm__title,
#cc-main .pxks-cm--horn .pxks-cm__huvud .cm__title {
  font-size: 18px;
}

/* ---------- Mobil: ark nerifrån ---------- */

@media screen and (max-width: 640px) {
  #cc-main .pxks-cm--modal.cm {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    transform: translateY(100%);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  .show--consent #cc-main .cc--anim .pxks-cm--modal.cm {
    transform: translateY(0);
  }

  #cc-main .pxks-cm__huvud {
    padding-block: 14px;
    padding-inline: 18px;
    gap: 8px;
  }

  #cc-main .pxks-cm__logo img {
    height: 38px;
    max-width: 104px;
  }

  #cc-main .pxks-cm__huvud #cm__title,
  #cc-main .pxks-cm__huvud .cm__title {
    font-size: 18px;
  }

  #cc-main .pxks-cm .cm__texts {
    padding: 18px 18px 16px !important;
  }

  #cc-main .pxks-cm .cm__desc {
    font-size: 15.5px;
    line-height: 1.6;
  }

  #cc-main .pxks-cm .cm__btns {
    grid-auto-flow: row;
    gap: 10px;
    padding: 18px 18px 12px !important;
  }

  #cc-main .pxks-cm .cm__btn {
    min-height: 48px;
    font-size: 16px;
  }

  #cc-main .pxks-cm .cm__links {
    padding: 0 18px !important;
  }

  #cc-main .pxks-cm .cm__footer {
    padding-bottom: 16px;
  }
}

/* Inställningarna. Knapparna i panelen: lika breda, samma stil (L1). */
#cc-main .pm__btn {
  font-family: var(--pxks-knapp-typsnitt, inherit);
  font-size: 15px;
  font-weight: var(--pxks-knapp-vikt, 600);
  text-transform: var(--pxks-knapp-versaler, none);
  letter-spacing: var(--pxks-knapp-spatiering, normal);
  min-height: 46px;
  line-height: 1.2;
  background-image: var(--pxks-knapp-bild, none);
  background-size: 100% 100%;
  border-width: 1px;
}

#cc-main .pm .pm__btn-group .pm__btn {
  flex: 1 1 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

#cc-main .pm__btn:hover {
  filter: brightness(0.94);
}

#cc-main .pm {
  border: 1px solid var(--pxks-linje, rgba(0, 0, 0, 0.12));
}

/* Rutan blir så hög som innehållet, inte alltid full höjd med tom yta
   ovanför knapparna (0.5.0). Långt innehåll skrollar som förut. */
@media (min-width: 641px) {
  #cc-main .pm--box {
    height: auto;
    max-height: min(680px, calc(100% - 32px));
  }
}

#cc-main .pm__header,
#cc-main .pm__footer {
  border-color: var(--cc-separator-border-color);
}

#cc-main .pm__section-title {
  font-weight: 600;
}

/* Kategoriblocken följer bannerns hörn, inte knapparnas — en sajt med
   piller-knappar ska inte få piller-formade textblock. */
#cc-main .pm__section,
#cc-main .pm__section--toggle,
#cc-main .pm__section--expandable,
#cc-main .pm__section-title,
#cc-main .pm__section--toggle .pm__section-title,
#cc-main .pm__section-desc-wrapper {
  border-radius: min(var(--cc-modal-border-radius, 12px), 12px) !important;
}

#cc-main .pm__section--expandable .pm__section-title {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

#cc-main .pm__section-desc-wrapper {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

#cc-main .pm__section-desc {
  font-size: 14.4px;
  line-height: 1.5;
  color: var(--cc-secondary-color);
}

#cc-main .pm__table-th,
#cc-main .pm__table-td {
  font-size: 13px;
  vertical-align: top;
}

#cc-main .pm__btn-group {
  display: flex;
  gap: 10px;
}

/* 0.7.4: ingen nowrap/max-content här längre — «Only necessary» sprack ur
   en knapp som flex gjort smal. Se «Inställningarnas fot» längst ned. */

#cc-main .pm__btn[data-role="save"] {
  background: transparent !important;
  background-image: none !important;
  color: var(--cc-primary-color) !important;
  border-color: var(--cc-primary-color) !important;
}

/* «Alltid på» vid Nödvändiga (0.5.0), i båda lägena. En grå, låst brytare
   har för låg kontrast och ser ut som ett fel; text säger vad som gäller. */
#cc-main .section__toggle-wrapper.pxks-alltid {
  width: auto !important;
  height: auto !important;
  cursor: default;
  display: flex;
  align-items: center;
}
#cc-main .pxks-alltid .toggle__icon {
  display: none !important;
}
#cc-main .pxks-alltid-text {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--cc-secondary-color);
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--cc-cookie-category-block-bg, rgba(0, 0, 0, 0.05));
}

/* ENKEL (0.5.0): en lista, inga block att fälla ut. Rubrik och en mening
   till vänster, brytaren till höger, mitt på raden. */
.pxks-lage-enkel #cc-main .pm__section-toggles {
  border-top: 1px solid var(--cc-separator-border-color);
}
.pxks-lage-enkel #cc-main .pm__section--toggle.pxks-rad {
  position: relative;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cc-separator-border-color) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 16px 0;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-title-wrapper {
  position: static;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-title {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 0;
  margin: 0;
  padding: 0 96px 0 0 !important;
  font-size: 16px;
  line-height: 1.35;
  cursor: default;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-arrow {
  display: none !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .section__toggle-wrapper {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc-wrapper {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin-top: 4px !important;
  padding: 0 96px 0 0;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc {
  padding: 0 !important;
  margin: 0;
}

/* Ingen valfri tjänst på sajten: inget att fråga om, ingen ingång. */
.pxks-inget-val .pxks-ingang {
  display: none !important;
}

#cc-main .pxks-samtyckes-id {
  margin: 16px 0 0;
  font-size: 12px;
  color: var(--cc-secondary-color);
  word-break: break-all;
}

/* Mobil: hela bredden längst ned, knapparna kvar sida vid sida. */
@media (max-width: 640px) {
  #cc-main .cm {
    max-width: none;
  }
  #cc-main .cm__body {
    padding: 22px 20px 0 !important;
  }
  #cc-main .cm__btns {
    padding: 16px 0 12px !important;
  }
  #cc-main .pm__btn-group {
    flex-direction: column;
    width: 100%;
  }
}

/* 0.7.0: ingen flytande knapp. Cachad HTML från 0.6.1 och tidigare kan
   fortfarande bära den — den döljs. Sidfotslänken och «Dina cookieval» på
   cookiepolicysidan öppnar inställningarna. */
.pxks-ingang,
.pxks-ateropna {
  display: none !important;
}

.pxks-dold {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media print {
  #cc-main {
    display: none !important;
  }
}

/* ---------- Sidfotslänken (PXKS_Sidfot) ----------
   Ärver temats typsnitt och färg. Bredvid integritetslänken / i menyn
   får den sajtens egna klasser; reserven sist på sidan är liten och lugn. */
.pxks-sidfot-lank {
  font: inherit;
  color: inherit;
}
.pxks-sidfot-sep {
  opacity: 0.6;
}
.pxks-sidfot {
  box-sizing: border-box;
  width: 100%;
  padding: 12px 16px;
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
}
.pxks-sidfot[hidden] {
  display: none;
}
.pxks-sidfot .pxks-sidfot-lank {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.pxks-sidfot-lank:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}

/* ---------- Cookiepolicysidan och «Dina cookieval» (0.7.7) ----------
   Sidan följer sajtens globala stil: typsnitt, storlekar, färger, rubriker
   och länkar kommer från temat (Elementor-kitet, blocktemat). Här finns
   bara struktur — luft, linjer, tabellens form — i neutrala toner som
   fungerar på ljus och mörk bakgrund (currentColor med låg täckning).
   Ingen egen palett, inget eget typsnitt.
   0.7.11: omgjord — lugn ingress, «I korthet», innehållsförteckning
   (klistrad bredvid texten på bred sida, hopfällbar på smal), numrerade
   avsnitt, luftiga tabeller som blir kort på smal skärm, kontaktkort.
   Tonerna är fortfarande bara textfärgen med låg täckning (color-mix,
   med rgba som reserv för äldre webbläsare). */
.pxks-cookiepolicy,
.pxks-cookieval {
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  text-align: start;
}
.pxks-cookiepolicy *,
.pxks-cookieval * {
  box-sizing: border-box;
}
.pxks-cookiepolicy {
  /* 0.7.11: ingen containerfråga längre. en containerfråga (inline-size)
     gör blockets egen bredd till 0 när det står i en behållare som krymper
     till innehållet (Elementors flex-kolumner) — sett på advokatkurage.se:
     ett ord per rad. Bredden mäts i stället av tema.js (ResizeObserver),
     som sätter .pxks-cp--smal / .pxks-cp--bred; utan skript gäller
     skärmbredden (@media). */
  width: 100%;
  line-height: 1.65;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  .pxks-cookiepolicy {
    scroll-behavior: auto;
  }
}
.pxks-cookiepolicy p {
  max-width: 68ch;
}
.pxks-cookiepolicy a {
  text-underline-offset: 0.18em;
}

/* Överst: ingress och datum */
.pxks-cp__topp {
  margin: 0 0 clamp(28px, 4vw, 44px);
}
.pxks-cookiepolicy .pxks-cp__ingress {
  margin: 0;
  max-width: 60ch;
  font-size: clamp(1.125em, 1.6vw, 1.3em);
  line-height: 1.55;
}
.pxks-cookiepolicy .pxks-cp__meta {
  margin: 1em 0 0;
  font-size: 0.875em;
  letter-spacing: 0.02em;
  opacity: 0.72;
}

/* I korthet */
.pxks-cp__korthet {
  margin: 0 0 clamp(36px, 5vw, 56px);
  padding: clamp(22px, 3.2vw, 34px) clamp(22px, 3.6vw, 40px);
  border: 1px solid rgba(127, 127, 127, 0.22);
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 20px;
  background: rgba(127, 127, 127, 0.06);
  background: color-mix(in srgb, currentColor 5%, transparent);
}
.pxks-cookiepolicy .pxks-cp__korthet-rubrik {
  margin: 0 0 0.9em;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
  opacity: 0.8;
}
.pxks-cp__korthet ul {
  display: grid;
  gap: 0.75em 2.5em;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15em), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.pxks-cp__korthet li {
  position: relative;
  margin: 0;
  padding-inline-start: 1.6em;
}
.pxks-cp__korthet li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0.1em;
  top: 0.62em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.55;
}

/* Ram: förteckning + text */
.pxks-cp__ram {
  display: block;
}
.pxks-cp__toc {
  margin: 0 0 clamp(32px, 4vw, 48px);
}
.pxks-cp__toc-ruta {
  border: 1px solid rgba(127, 127, 127, 0.22);
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 16px;
  padding: 0;
}
.pxks-cp__toc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding: 0.95em 1.2em;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}
.pxks-cp__toc summary::-webkit-details-marker {
  display: none;
}
.pxks-cp__toc summary::after {
  content: "";
  width: 0.55em;
  height: 0.55em;
  border-inline-end: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-25%);
  opacity: 0.7;
}
.pxks-cp__toc-ruta[open] summary::after {
  transform: rotate(-135deg) translateY(-25%);
}
.pxks-cp__toc ol {
  counter-reset: pxkstoc;
  margin: 0;
  padding: 0 1.2em 1.1em;
  list-style: none;
}
.pxks-cp__toc li {
  counter-increment: pxkstoc;
  margin: 0;
  border-top: 1px solid rgba(127, 127, 127, 0.16);
  border-top: 1px solid color-mix(in srgb, currentColor 9%, transparent);
}
.pxks-cp__toc li:first-child {
  border-top: 0;
}
.pxks-cp__toc a {
  display: flex;
  gap: 0.85em;
  padding: 0.55em 0;
  color: inherit;
  font-size: 0.9375em;
  line-height: 1.4;
  text-decoration: none;
}
.pxks-cp__toc a::before {
  content: counter(pxkstoc, decimal-leading-zero);
  min-width: 1.6em;
  font-size: 0.85em;
  font-variant-numeric: tabular-nums;
  line-height: 1.65;
  opacity: 0.55;
}
.pxks-cp__toc a:hover,
.pxks-cp__toc a:focus-visible {
  text-decoration: underline;
}

/* Avsnitt och numrerade rubriker. Räknaren nollställs i textspalten,
   inte på .pxks-cookiepolicy: containerfrågan ger stilinneslutning, och
   en nollställning på själva behållaren når då inte rubrikerna (alla
   blev «01»). */
.pxks-cp__text {
  counter-reset: pxkscp;
}
.pxks-cp__avsnitt {
  margin: 0;
  padding: clamp(36px, 5vw, 56px) 0 0;
  scroll-margin-top: 96px;
}
.pxks-cp__avsnitt:first-child {
  padding-top: 0;
}
.pxks-cp__avsnitt + .pxks-cp__avsnitt {
  margin-top: clamp(36px, 5vw, 56px);
  border-top: 1px solid rgba(127, 127, 127, 0.2);
  border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}
.pxks-cookiepolicy .pxks-cp__h2,
.pxks-cookiepolicy .pxks-cookieval__rubrik {
  counter-increment: pxkscp;
  margin: 0 0 0.6em;
  scroll-margin-top: 96px;
}
.pxks-cookiepolicy .pxks-cp__h2::before,
.pxks-cookiepolicy .pxks-cookieval__rubrik::before {
  content: counter(pxkscp, decimal-leading-zero);
  display: block;
  margin-bottom: 0.7em;
  font-size: 0.4em;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0.55;
}
.pxks-cp__avsnitt > p {
  margin: 0 0 1em;
}
.pxks-cp__kategori {
  margin: clamp(28px, 4vw, 40px) 0 0;
  scroll-margin-top: 96px;
}
.pxks-cookiepolicy .pxks-cp__kategori > h3 {
  margin: 0 0 0.35em;
}
.pxks-cp__kategori > p {
  margin: 0 0 0.9em;
  opacity: 0.88;
}

/* Tabellen */
.pxks-cookiepolicy__rulla {
  margin: 0.75em 0 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
  border-radius: 16px;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: 0.9375em;
  line-height: 1.55;
  background: transparent;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell th,
.pxks-cookiepolicy .pxks-cookiepolicy__tabell td {
  padding: 1em 1.1em;
  border: 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
  border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  background: transparent;
  color: inherit;
  text-align: start;
  vertical-align: top;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell thead th {
  padding-top: 0.85em;
  padding-bottom: 0.85em;
  background: rgba(127, 127, 127, 0.07);
  background: color-mix(in srgb, currentColor 5%, transparent);
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
  white-space: nowrap;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell tbody tr:nth-child(even) > * {
  background: rgba(127, 127, 127, 0.03);
  background: color-mix(in srgb, currentColor 2.5%, transparent);
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell tbody th {
  font-weight: 600;
  min-width: 9em;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell tbody tr:last-child > * {
  border-bottom: 0;
}
.pxks-cookiepolicy code {
  padding: 0.12em 0.45em;
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.12);
  background: color-mix(in srgb, currentColor 8%, transparent);
  color: inherit;
  font-size: 0.85em;
  /* 0.7.7: ett cookienamn bryts aldrig mitt i («pxks_co / nsent»). */
  display: inline-block;
  margin: 0 0.2em 0.3em 0;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

/* Företagen bakom tjänsterna */
.pxks-cp__foretag {
  margin: 1.4em 0 1.4em;
}
.pxks-cookiepolicy .pxks-cp__foretag h3 {
  margin: 0 0 0.6em;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.8;
}
.pxks-cp__foretag ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15em), 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pxks-cp__foretag li {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  margin: 0;
  padding: 0.85em 1em;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  border-radius: 14px;
}
.pxks-cp__foretag-namn {
  font-weight: 600;
}
.pxks-cp__foretag-tjanster {
  font-size: 0.875em;
  opacity: 0.75;
}

/* Kontaktkortet */
.pxks-cp__kontaktkort {
  margin: 0.4em 0 1.4em;
  padding: clamp(22px, 3.2vw, 32px);
  border: 1px solid rgba(127, 127, 127, 0.22);
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 20px;
  background: rgba(127, 127, 127, 0.05);
  background: color-mix(in srgb, currentColor 4%, transparent);
}
.pxks-cookiepolicy .pxks-cp__kontakt-ingress {
  margin: 0 0 1.1em;
}
.pxks-cp__kontakt-namn {
  margin: 0 0 0.8em;
  font-size: 1.15em;
  font-weight: 600;
}
.pxks-cookiepolicy .pxks-cp__kontakt {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13em), 1fr));
  gap: 1em 2em;
  margin: 0;
  padding: 0;
}
.pxks-cp__kontakt dt {
  margin: 0 0 0.15em;
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.7;
}
.pxks-cp__kontakt dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.pxks-cookiepolicy .pxks-cp__imy {
  font-size: 0.9375em;
  opacity: 0.85;
}

/* Till toppen */
.pxks-cookiepolicy .pxks-cp__upp {
  margin: clamp(40px, 6vw, 64px) 0 0;
  font-size: 0.875em;
}
.pxks-cp__upp a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: inherit;
  text-decoration: none;
  opacity: 0.8;
}
.pxks-cp__upp a::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: 1.5px solid currentColor;
  border-inline-start: 1.5px solid currentColor;
  transform: rotate(45deg) translate(15%, 15%);
}
[dir="rtl"] .pxks-cp__upp a::before {
  transform: rotate(-45deg) translate(-15%, 15%);
}
.pxks-cp__upp a:hover,
.pxks-cp__upp a:focus-visible {
  opacity: 1;
  text-decoration: underline;
}

/* Bred sida: förteckningen klistrad bredvid texten. Klistringen kräver
   att temat inte döljer överflöd högre upp; annars ligger den kvar överst
   i spalten, vilket också är bra. */
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__ram {
    display: grid;
    grid-template-columns: minmax(200px, 250px) minmax(0, 1fr);
    gap: clamp(40px, 5vw, 72px);
    align-items: start;
}
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__toc {
    position: sticky;
    top: 96px;
    margin: 0;
}
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__toc-ruta {
    border: 0;
}
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__toc summary {
    padding: 0 0 0.9em;
    cursor: default;
    pointer-events: none;
}
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__toc summary::after {
    display: none;
}
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__toc ol {
    padding: 0;
}

/* Smal spalt (< 760 px): varje tjänst blir ett eget kort, rubrikerna
   står vid värdena. Efter SIDANS innehållsbredd (0.7.7) — sedan 0.7.11
   mätt av tema.js; utan skript efter skärmens bredd. */
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__rulla {
    overflow: visible;
    border: 0;
    border-radius: 0;
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell, .pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell tbody, .pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell tr, .pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell th, .pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell td {
    display: block;
    width: 100%;
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell tr {
    margin: 0 0 12px;
    padding: 1.05em 1.15em;
    border: 1px solid rgba(127, 127, 127, 0.22);
    border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
    border-radius: 16px;
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell tbody tr:nth-child(even) > * {
    background: transparent;
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell th, .pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell td {
    padding: 0.2em 0;
    border: 0 !important;
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell tbody th {
    font-size: 1.05em;
    padding-bottom: 0.45em;
}
.pxks-cookiepolicy.pxks-cp--smal .pxks-cookiepolicy__tabell td[data-pxks-kol]::before {
    content: attr(data-pxks-kol);
    display: block;
    margin-top: 0.45em;
    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.65;
}
@media (max-width: 760px) {
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__rulla {
      overflow: visible;
      border: 0;
      border-radius: 0;
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell, .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell tbody, .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell tr, .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell th, .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell td {
      display: block;
      width: 100%;
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell tr {
      margin: 0 0 12px;
      padding: 1.05em 1.15em;
      border: 1px solid rgba(127, 127, 127, 0.22);
      border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
      border-radius: 16px;
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell tbody tr:nth-child(even) > * {
      background: transparent;
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell th, .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell td {
      padding: 0.2em 0;
      border: 0 !important;
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell tbody th {
      font-size: 1.05em;
      padding-bottom: 0.45em;
  }
  .pxks-cookiepolicy:not(.pxks-cp--bred):not(.pxks-cp--mellan) .pxks-cookiepolicy__tabell td[data-pxks-kol]::before {
      content: attr(data-pxks-kol);
      display: block;
      margin-top: 0.45em;
      font-size: 0.72em;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      opacity: 0.65;
  }
}

/* «Dina cookieval» */
.pxks-cookieval {
  margin: 1.75em 0 0.5em;
  padding: clamp(22px, 3.4vw, 36px);
  border: 1px solid rgba(127, 127, 127, 0.3);
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  border-radius: 20px;
  background: rgba(127, 127, 127, 0.05);
  background: color-mix(in srgb, currentColor 5%, transparent);
}
.pxks-cp__avsnitt--val .pxks-cookieval {
  margin: 0;
}
.pxks-cookieval__rubrik {
  margin: 0 0 0.4em;
}
.pxks-cookieval__status,
.pxks-cookieval__tid,
.pxks-cookieval__livstid,
.pxks-cookieval__ratt {
  margin: 0 0 0.5em;
  max-width: 68ch;
}
.pxks-cookieval__tid,
.pxks-cookieval__livstid {
  font-size: 0.9375em;
  opacity: 0.85;
}
.pxks-cookieval__knappar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 1.1em;
}
/* Ändra och Återkalla är lika framträdande — återkallelsen ska vara
   lika lätt som samtycket (GDPR art. 7.3). Temats typsnitt och färg;
   bara formen är vår.
   0.7.10 (live advokatkurage.se 21:14): Elementor-kitets knappstil
   (.elementor-kit-N button: svart text, rosa ram, Oswald) vann över
   .pxks-cookieval__knapp och gav svart text på mörkblå botten. Väljaren
   är därför starkare än ett temas «.kit button[type]»; färgen ärvs
   från texten runt omkring, som sidan redan gjort läsbar. */
.pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp {
  flex: 0 1 auto;
  min-height: 46px;
  min-width: 12em;
  margin: 0;
  padding: 0.7em 1.4em;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  opacity: 1;
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp:hover {
    background: rgba(127, 127, 127, 0.12);
    color: inherit;
  }
}
/* 0.7.11: «Ändra cookieinställningar» är huvudknappen — fylld. Färgerna
   sätter tema.js ur sajtens egen accent (eller textfärgen omvänd när
   accenten inte syns mot bakgrunden); utan skript en tydligare ram och
   ton. Återkalla är lika stor och står bredvid — lika lätt att hitta. */
.pxks-cookieval button.pxks-cookieval__knapp--primar.pxks-cookieval__knapp {
  border-width: 2px;
  background: rgba(127, 127, 127, 0.16);
  background: color-mix(in srgb, currentColor 14%, transparent);
}
.pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp:active {
  background: rgba(127, 127, 127, 0.2);
}
.pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp[disabled] {
  opacity: 0.5;
  cursor: default;
}
.pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp:focus {
  outline: none;
}
.pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (max-width: 640px) {
  .pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp {
    flex: 1 1 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp {
    transition: none;
  }
}

.pxks-fail-closed {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 9997;
  max-width: 448px;
  padding: 12px 16px;
  border-radius: 5.6px;
  border: 2px solid #9a6700;
  background: #fff8e6;
  color: #3b2f00;
  font: inherit;
  font-size: 14px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
.pxks-fail-closed[data-pxks-reason] {
  /* reason bärs i attribut — tester kan läsa beteende, inte bara CSS. */
}

.pxks-platshallare {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  border: 1px dashed rgba(0, 0, 0, 0.25);
  background: rgba(0, 0, 0, 0.03);
  min-height: 128px;
}

.pxks-platshallare__knapp:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}

/* Inga förikryssade preferenser — orestbida default; förstärk. */
#cc-main input[type="checkbox"]:not([disabled]) {
  accent-color: currentColor;
}

/* orestbida flyttar fokus till dialogens behållare när den öppnas; den ska
   inte få en ram — det ska bara det man tabbar till. */
#cc-main [tabindex="-1"]:focus,
#cc-main [tabindex="-1"]:focus-visible {
  outline: none;
}

#cc-main *:focus-visible {
  outline: 3px solid var(--pxks-accent, #005fcc);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  #cc-main * {
    animation: none !important;
    transition: none !important;
  }
}


/* =====================================================================
   0.7.4 — TEMASÄKERT, RADERNA, BRYTARNA, KNAPPARNA, KRYSSET, LOGOTYPEN
   ===================================================================== */

/* Rubriker och stycken i bannern ärver ingenting från temat. */
#cc-main :is(h1, h2, h3, h4, h5, h6, p, label, span) {
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
}
#cc-main :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--pxks-rubrik-typsnitt, inherit);
  margin: 0;
}
#cc-main .pm__title,
#cc-main .cm__title,
#cc-main .pm__section-title,
#cc-main #cm__title {
  color: var(--cc-primary-color, #111) !important;
  -webkit-text-fill-color: currentColor;
  opacity: 1 !important;
  /* Inte visibility: ett «visible» på barnet syns och tar klick genom den
     dolda rutan (orestbida döljer .pm-wrapper med visibility: hidden). */
}
#cc-main .pm__section-desc,
#cc-main .cm__desc,
#cc-main .pxks-alltid-text,
#cc-main .pxks-samtyckes-id {
  color: var(--cc-secondary-color, #444) !important;
  -webkit-text-fill-color: currentColor;
  opacity: 1 !important;
}

/* Inställningarnas huvud: rubriken i bannerns stil, krysset som kortets. */
#cc-main .pm__header {
  padding: 20px 28px !important;
}
#cc-main .pm__title {
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}
#cc-main .pm__close-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
}
#cc-main .pm__close-btn:hover {
  background: var(--pxks-sekundar) !important;
}
#cc-main .pm__close-btn svg {
  width: 24px;
  height: 24px;
  stroke: var(--cc-primary-color, #111) !important;
  stroke-width: 3;
}

#cc-main .pm__body {
  padding: 22px 28px 8px !important;
}
#cc-main .pm__body > .pm__section:first-child {
  margin-bottom: 12px !important;
}
#cc-main .pm__section-desc {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* ENKEL: en rad per kategori. Rubrik (fet, mörk) och en mening till vänster
   som ett block; brytaren till höger, mitt på blocket — inte på rubriken. */
.pxks-lage-enkel #cc-main .pm__section--toggle.pxks-rad {
  display: block !important;
  position: relative !important;
  min-height: 64px;
  padding: 18px 0 !important;
}
.pxks-lage-enkel #cc-main .pm__section--toggle.pxks-rad + .pm__section--toggle.pxks-rad {
  margin-top: 0 !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-title-wrapper {
  position: static !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-title {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  padding-inline-end: 104px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc-wrapper {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  padding-inline-end: 104px !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc {
  display: block !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .section__toggle-wrapper {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
  left: auto;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}
.pxks-lage-enkel #cc-main.cc--rtl .pxks-rad .section__toggle-wrapper,
[dir="rtl"] .pxks-lage-enkel #cc-main .pxks-rad .section__toggle-wrapper {
  right: auto !important;
  left: 0 !important;
}

/* Brytarna: av = ljust spår, mörk kant, knopp med kant (kanten ≥ 3:1);
   på = accentfärgen. Ikonen i knoppen följer kanten. */
#cc-main .section__toggle-wrapper:not(.pxks-alltid),
#cc-main .section__toggle-wrapper:not(.pxks-alltid) .section__toggle,
#cc-main .section__toggle-wrapper:not(.pxks-alltid) .toggle__label {
  width: 52px !important;
  height: 28px !important;
}
#cc-main .section__toggle-wrapper:not(.pxks-alltid) .toggle__icon {
  width: 52px !important;
  height: 28px !important;
  background: var(--pxks-vaxel-av, #eceef1) !important;
  box-shadow: inset 0 0 0 1.5px var(--pxks-vaxel-kant, #6b7280) !important;
  border-radius: 999px !important;
}
#cc-main .section__toggle-wrapper:not(.pxks-alltid) .toggle__icon-circle {
  top: 2px !important;
  left: 2px !important;
  width: 24px !important;
  height: 24px !important;
  background: var(--cc-bg, #fff) !important;
  box-shadow: 0 0 0 1.5px var(--pxks-vaxel-kant, #6b7280), 0 1px 2px rgba(0, 0, 0, 0.18) !important;
}
#cc-main .section__toggle-wrapper:not(.pxks-alltid) .toggle__icon-off svg {
  stroke: var(--pxks-vaxel-kant, #6b7280) !important;
}
#cc-main .section__toggle:checked ~ .toggle__icon {
  background: var(--pxks-accent, var(--cc-toggle-on-bg)) !important;
  box-shadow: inset 0 0 0 1.5px var(--pxks-accent, var(--cc-toggle-on-bg)) !important;
}
#cc-main .section__toggle:checked ~ .toggle__icon .toggle__icon-circle {
  background: var(--pxks-knapp-text, #fff) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important;
  transform: translateX(24px) !important;
}
#cc-main.cc--rtl .section__toggle:checked ~ .toggle__icon .toggle__icon-circle {
  transform: translateX(-24px) !important;
}
#cc-main .section__toggle:checked ~ .toggle__icon .toggle__icon-on svg {
  stroke: var(--pxks-accent, var(--cc-toggle-on-bg)) !important;
}
#cc-main .section__toggle:focus-visible ~ .toggle__icon {
  outline: 3px solid var(--pxks-accent, #005fcc);
  outline-offset: 2px;
}
#cc-main .pxks-alltid-text {
  font-size: 13px !important;
  font-weight: 600 !important;
  background: var(--pxks-vaxel-av, rgba(0, 0, 0, 0.06)) !important;
  border: 1px solid var(--pxks-linje, rgba(0, 0, 0, 0.12));
}

/* Inställningarnas fot: tre lika breda knappar i en rad (Acceptera alla ·
   Endast nödvändiga · Spara val). Texten bryts snyggt och centreras i
   stället för att spricka ut ur knappen. Mobil: en kolumn. */
#cc-main .pm__footer {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px !important;
  align-items: stretch;
  padding: 18px 28px !important;
}
#cc-main .pm__footer .pm__btn-group {
  display: contents !important;
}
#cc-main .pm .pm__footer .pm__btn,
#cc-main .pm .pm__footer .pm__btn-group .pm__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 10px 14px !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-align: center !important;
  line-height: 1.25 !important;
  flex: none !important;
}
@media (max-width: 640px) {
  #cc-main .pm__header {
    padding: 14px 18px !important;
  }
  #cc-main .pm__body {
    padding: 16px 18px 4px !important;
  }
  #cc-main .pm__footer {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px !important;
    padding: 14px 18px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .pxks-lage-enkel #cc-main .pxks-rad .pm__section-title,
  .pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc-wrapper {
    padding-inline-end: 72px !important;
  }
}

/* Kortets knappar: samma princip — lika breda, texten bryts och centreras. */
#cc-main .pxks-cm .cm__btn {
  overflow: visible !important;
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Logotypen: högst 40 px hög, aldrig större än bildens egen storlek
   (banner.js sätter max-höjden efter naturlig storlek), skarp på 2x. */
#cc-main .pxks-cm__logo img {
  height: auto !important;
  max-height: var(--pxks-logo-h, 40px) !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain;
  image-rendering: auto;
}
@media screen and (max-width: 640px) {
  #cc-main .pxks-cm__logo img {
    max-height: min(var(--pxks-logo-h, 40px), 34px) !important;
    max-width: 112px !important;
  }
}


/* =====================================================================
   0.7.4 — FORMSPRÅKET: lugnt, luftigt och exklusivt
   En tydlig hierarki (rubrik → text → val), generösa marginaler, mjuka
   skuggor och hörn, lugna övergångar. Reglerna överst gäller fortfarande:
   Acceptera och Endast nödvändiga är exakt lika, och all text når 4,5:1.
   ===================================================================== */

#cc-main {
  --pxks-skugga: 0 1px 2px rgba(16, 24, 40, 0.04), 0 12px 32px -8px rgba(16, 24, 40, 0.14), 0 32px 72px -12px rgba(16, 24, 40, 0.22);
  --pxks-mjuk: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.disable--interaction #cc-main .cm-wrapper::before,
.disable--interaction #cc-main .pm-wrapper::before,
#cc-main .pm-overlay {
  background: rgba(12, 16, 24, 0.48) !important;
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  backdrop-filter: blur(6px) saturate(120%);
}

/* Kortet och rutan */
#cc-main .cm,
#cc-main .pm {
  border: 1px solid var(--pxks-linje, rgba(0, 0, 0, 0.08)) !important;
  border-radius: var(--cc-modal-border-radius, 20px) !important;
  box-shadow: var(--pxks-skugga) !important;
  overflow: hidden;
}
#cc-main .pxks-cm--modal.cm {
  width: min(800px, calc(100vw - 48px));
  transition: opacity 0.28s var(--pxks-mjuk), transform 0.32s var(--pxks-mjuk) !important;
}
#cc-main .pm--box {
  width: min(720px, calc(100vw - 48px)) !important;
  max-width: none !important;
  transition: opacity 0.28s var(--pxks-mjuk), transform 0.32s var(--pxks-mjuk) !important;
}

/* Huvudet: logotyp · rubrik · kryss, med luft. */
#cc-main .pxks-cm__huvud {
  padding-block: 22px !important;
  padding-inline: 32px !important;
  border-bottom: 1px solid var(--pxks-linje, #eceef2);
}
#cc-main .pxks-cm__huvud #cm__title,
#cc-main .pxks-cm__huvud .cm__title {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.25 !important;
}
#cc-main .pxks-cm .cm__btn--close,
#cc-main .pm__close-btn {
  width: 40px !important;
  height: 40px !important;
  transition: background-color 0.18s ease;
}
#cc-main .pxks-cm .cm__btn--close svg,
#cc-main .pm__close-btn svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2.5 !important;
  transform: none !important;
  flex: none;
}
#cc-main .pm__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
}

/* Brödtexten: läsbar radlängd och radavstånd. */
#cc-main .pxks-cm .cm__texts {
  padding: 28px 32px 26px !important;
}
#cc-main .pxks-cm .cm__desc {
  font-size: 16px !important;
  line-height: 1.7 !important;
  max-width: 68ch;
}

/* Knapparna: samma höjd, form och vikt; mjuk övergång, tydlig fokus. */
#cc-main .pxks-cm .cm__btns {
  gap: 12px !important;
  padding: 24px 32px 18px !important;
}
#cc-main .pxks-cm .cm__btn,
#cc-main .pm .pm__footer .pm__btn {
  min-height: 52px !important;
  font-size: 16px !important;
  font-weight: var(--pxks-knapp-vikt, 600) !important;
  letter-spacing: 0.005em !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.12s var(--pxks-mjuk) !important;
}
#cc-main .pxks-cm button[data-role="all"],
#cc-main .pxks-cm--lika button[data-role="necessary"],
#cc-main .pm__footer .pm__btn:not(.pm__btn--secondary) {
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
#cc-main .pxks-cm .cm__btn:hover,
#cc-main .pm .pm__footer .pm__btn:hover {
  transform: translateY(-1px);
  filter: none !important;
}
#cc-main .pxks-cm .cm__btn:active,
#cc-main .pm .pm__footer .pm__btn:active {
  transform: translateY(0);
}
#cc-main .pxks-cm .cm__footer {
  padding: 2px 0 24px !important;
}
#cc-main .pxks-cm .cm__link-group {
  font-size: 14.5px !important;
  gap: 6px 24px !important;
}

/* Inställningarna: rubrik, ingress, rader med luft och hårfina linjer. */
#cc-main .pm__header {
  padding: 22px 32px !important;
  border-bottom: 1px solid var(--pxks-linje, #eceef2) !important;
}
#cc-main .pm__title {
  font-size: 22px !important;
  letter-spacing: -0.012em !important;
}
#cc-main .pm__body {
  padding: 26px 32px 10px !important;
}
#cc-main .pm__body > .pm__section:first-child .pm__section-desc {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
}
.pxks-lage-enkel #cc-main .pm__section-toggles,
.pxks-lage-enkel #cc-main .pm__body > .pm__section:first-child + .pm__section--toggle {
  margin-top: 8px !important;
}
.pxks-lage-enkel #cc-main .pm__section--toggle.pxks-rad {
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--pxks-linje, #eceef2) !important;
}
.pxks-lage-enkel #cc-main .pm__section--toggle.pxks-rad:last-of-type {
  border-bottom: 0 !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-title {
  font-size: 16.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc-wrapper {
  margin-top: 6px !important;
}
.pxks-lage-enkel #cc-main .pxks-rad .pm__section-desc {
  font-size: 15px !important;
  line-height: 1.6 !important;
}
#cc-main .toggle__icon,
#cc-main .toggle__icon-circle {
  transition: background-color 0.22s var(--pxks-mjuk), box-shadow 0.22s var(--pxks-mjuk), transform 0.26s var(--pxks-mjuk) !important;
}
#cc-main .pxks-alltid-text {
  padding: 6px 12px !important;
  border-radius: 999px !important;
}
#cc-main .pxks-samtyckes-id {
  margin: 18px 0 6px !important;
  font-size: 12.5px !important;
}
#cc-main .pm__footer {
  padding: 20px 32px !important;
  border-top: 1px solid var(--pxks-linje, #eceef2) !important;
  background: var(--cc-bg, #fff) !important;
}

/* Mobil: ett ark nerifrån med stora hörn och samma luft i mindre skala. */
@media screen and (max-width: 640px) {
  #cc-main .pxks-cm--modal.cm {
    width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    border-bottom: 0 !important;
  }
  #cc-main .pm--box {
    width: 100% !important;
  }
  #cc-main .pxks-cm__huvud {
    padding-block: 16px !important;
    padding-inline: 20px !important;
  }
  #cc-main .pxks-cm__huvud #cm__title,
  #cc-main .pxks-cm__huvud .cm__title,
  #cc-main .pm__title {
    font-size: 19px !important;
  }
  #cc-main .pxks-cm .cm__texts {
    padding: 20px 20px 18px !important;
  }
  #cc-main .pxks-cm .cm__desc {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
  }
  #cc-main .pxks-cm .cm__btns {
    gap: 10px !important;
    padding: 18px 20px 12px !important;
  }
  #cc-main .pxks-cm .cm__btn,
  #cc-main .pm .pm__footer .pm__btn {
    min-height: 50px !important;
  }
  #cc-main .pxks-cm .cm__footer {
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #cc-main .pm__header {
    padding: 16px 20px !important;
  }
  #cc-main .pm__body {
    padding: 18px 20px 6px !important;
  }
  #cc-main .pm__footer {
    padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Hörnkortet och rutan: samma formspråk, kompaktare. */
#cc-main .pxks-cm--horn .pxks-cm__huvud,
#cc-main .pxks-cm--ruta .pxks-cm__huvud {
  padding-block: 18px !important;
  padding-inline: 24px !important;
}
#cc-main .pxks-cm--horn .cm__texts,
#cc-main .pxks-cm--ruta .cm__texts {
  padding: 20px 24px 18px !important;
}
#cc-main .pxks-cm--horn .cm__btns,
#cc-main .pxks-cm--ruta .cm__btns {
  padding: 18px 24px 14px !important;
  gap: 10px !important;
}
#cc-main .pxks-cm--horn .pxks-cm__huvud .cm__title,
#cc-main .pxks-cm--ruta .pxks-cm__huvud .cm__title,
#cc-main .pxks-cm--horn .pxks-cm__huvud #cm__title,
#cc-main .pxks-cm--ruta .pxks-cm__huvud #cm__title {
  font-size: 18px !important;
}
#cc-main .pxks-cm--horn .cm__desc,
#cc-main .pxks-cm--ruta .cm__desc {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (prefers-reduced-motion: reduce) {
  #cc-main .cm,
  #cc-main .pm,
  #cc-main .cm__btn,
  #cc-main .pm__btn {
    transition: none !important;
    transform: none;
  }
}

/* Krysset i inställningarna: ikonen mitt i knappen (orestbida lägger den i
   ett span utan centrering). */
#cc-main .pm__close-btn span {
  align-items: center;
  justify-content: center;
}


/* 0.7.5: logotypen på en diskret platta när den annars inte syns mot
   kortet (mörk logotyp på mörkt kort, ljus på ljust). banner.js avgör. */
#cc-main .pxks-cm__logo.pxks-cm__logo--platta {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 10px;
  line-height: 0;
}
#cc-main .pxks-cm__logo.pxks-cm__logo--platta-ljus {
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18), inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}
#cc-main .pxks-cm__logo.pxks-cm__logo--platta-mork {
  background: #16181d;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}


/* =====================================================================
   0.7.6 — HÖRNKORTET SOM FÖRVAL
   Ett mjukt kort nere till vänster (höger i RTL) som glider upp. Ingen
   mörk bakgrund, sidan går att använda. Mobil: ett ark längst ned i hela
   bredden, med plats för hemindikatorn (safe-area). Samma vita kort,
   samma logotypplatta och samma lika knappar som den centrerade rutan.
   ===================================================================== */

#cc-main .pxks-cm--horn.cm {
  top: auto !important;
  bottom: max(24px, env(safe-area-inset-bottom, 0px)) !important;
  left: 24px !important;
  right: auto !important;
  margin: 0 !important;
  width: min(420px, calc(100vw - 48px)) !important;
  max-width: none !important;
  max-height: calc(100vh - 48px);
  overflow-y: auto !important;
  opacity: 0;
  transform: translateY(28px) !important;
  transition: opacity 0.42s var(--pxks-mjuk), transform 0.52s var(--pxks-mjuk) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 18px 48px -12px rgba(16, 24, 40, 0.28) !important;
}
.show--consent #cc-main .cc--anim .pxks-cm--horn.cm {
  opacity: 1;
  transform: translateY(0) !important;
}
/* 0.7.9: cookieconsent markerar höger-till-vänster med klassen cc--rtl på
   #cc-main, inte med dir — sett live på advokatkurage.se (arabiska) 10 okt:
   texten gick åt rätt håll men kortet låg kvar nere till vänster. */
#cc-main.cc--rtl .pxks-cm--horn.cm,
#cc-main[dir="rtl"] .pxks-cm--horn.cm,
[dir="rtl"] #cc-main .pxks-cm--horn.cm {
  left: auto !important;
  right: 24px !important;
}

/* Hörnkortet spärrar aldrig sidan — inte ens om ett tema lägger på
   cookieconsents skuggklass. */
#cc-main .cm-wrapper:has(.pxks-cm--horn)::before {
  display: none !important;
}

/* Knapparna i hörnkortet: staplade, lika stora, samma höjd. */
#cc-main .pxks-cm--horn .cm__btns {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
}
#cc-main .pxks-cm--horn .cm__btns .cm__btn {
  width: 100% !important;
  min-height: 46px !important;
}

@media screen and (max-width: 640px) {
  #cc-main .pxks-cm--horn.cm,
  #cc-main.cc--rtl .pxks-cm--horn.cm,
  #cc-main[dir="rtl"] .pxks-cm--horn.cm,
  [dir="rtl"] #cc-main .pxks-cm--horn.cm {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-height: 88vh;
    border-radius: 20px 20px 0 0 !important;
    border-bottom: 0 !important;
    transform: translateY(100%) !important;
  }
  .show--consent #cc-main .cc--anim .pxks-cm--horn.cm {
    transform: translateY(0) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #cc-main .pxks-cm--horn.cm,
  .show--consent #cc-main .cc--anim .pxks-cm--horn.cm {
    transition: none !important;
    transform: none !important;
  }
}


/* =====================================================================
   0.7.6 — HOVER, FOKUS OCH TRYCK (mikrointeraktioner)

   Kurage 0.7.4/0.7.5: hovern på Acceptera / Endast nödvändiga «hackade».
   Orsaker: skuggan bytte från två yttre lager till ett inre 999 px-lager
   — olika listor går inte att tona, så den hoppade och den mjuka skuggan
   försvann; knappen lyftes 1 px (texten ryckte och blev suddig); på den
   ljusa knappen tonades ett inre lager från 0 till 999 px (en «iris» som
   växer inifrån); i inställningarna syntes ingen hover alls, bara lyftet.

   Nu: en tunn slöja i knappens egen textfärg (::after, opacity — tonar
   alltid jämnt, i alla teman), en skugga med samma antal lager i vila och
   hover, ingen förflyttning vid hover, en lätt intryckning vid tryck,
   en tydlig fokusring bara för tangentbord, och ingen hover på pekskärm
   (ingen «fastnad» hover efter ett tryck).
   ===================================================================== */

#cc-main .pxks-cm .cm__btns .cm__btn,
#cc-main .pm .pm__footer .pm__btn {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), 0 10px 22px -12px rgba(16, 24, 40, 0) !important;
  transition: box-shadow 0.28s var(--pxks-mjuk), border-color 0.28s var(--pxks-mjuk), transform 0.12s var(--pxks-mjuk) !important;
}
#cc-main .pxks-cm .cm__btns .cm__btn::after,
#cc-main .pm .pm__footer .pm__btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: currentColor;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s var(--pxks-mjuk);
}
/* Lyftet och de gamla inre skuggorna gäller inte längre. */
#cc-main .pxks-cm .cm__btn:hover,
#cc-main .pm .pm__btn:hover {
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  #cc-main .pxks-cm .cm__btns .cm__btn:hover,
  #cc-main .pm .pm__footer .pm__btn:hover {
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), 0 10px 22px -12px rgba(16, 24, 40, 0.42) !important;
  }
  #cc-main .pxks-cm .cm__btns .cm__btn:hover::after,
  #cc-main .pm .pm__footer .pm__btn:hover::after {
    opacity: 0.1;
  }
  #cc-main .pxks-cm .cm__btns .cm__btn[data-role="show"]:hover::after,
  #cc-main .pxks-cm--framhavd .cm__btns .cm__btn[data-role="necessary"]:hover::after,
  #cc-main .pm .pm__footer .pm__btn.pm__btn--secondary:hover::after {
    opacity: 0.05;
  }
}
#cc-main .pxks-cm .cm__btns .cm__btn:active,
#cc-main .pm .pm__footer .pm__btn:active {
  transform: scale(0.985) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), 0 10px 22px -12px rgba(16, 24, 40, 0) !important;
}
#cc-main .pxks-cm .cm__btns .cm__btn:active::after,
#cc-main .pm .pm__footer .pm__btn:active::after {
  opacity: 0.16;
}

/* Krysset: mjuk rund yta, ingen förflyttning. */
#cc-main .cm__btn--close,
#cc-main .pm__close-btn {
  transform: none !important;
  transition: background-color 0.2s var(--pxks-mjuk) !important;
}

/* Fokus: en ring i accentfärgen, bara med tangentbord. Temats
   button:focus-färg (Hello Elementor: rosa #c36) når aldrig hit. */
#cc-main button:focus,
#cc-main a:focus,
#cc-main input:focus {
  outline: none !important;
}
#cc-main button:focus-visible,
#cc-main a:focus-visible {
  outline: 2px solid var(--pxks-accent, #1f4f9c) !important;
  outline-offset: 3px !important;
}
#cc-main .section__toggle:focus-visible ~ .toggle__icon {
  outline: 2px solid var(--pxks-accent, #1f4f9c) !important;
  outline-offset: 3px !important;
}
#cc-main .pm__close-btn:focus,
#cc-main .cm__btn--close:focus {
  background-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
  #cc-main .pxks-cm .cm__btns .cm__btn:active,
  #cc-main .pm .pm__footer .pm__btn:active {
    transform: none !important;
  }
  #cc-main .pxks-cm .cm__btns .cm__btn::after,
  #cc-main .pm .pm__footer .pm__btn::after {
    transition: none !important;
  }
}

/* Ett val i taget: när kortet håller på att tona ut efter ett val går
   knapparna inte att trycka på igen (banner.js stoppar också klicket). */
html:not(.show--consent) #cc-main .cm {
  pointer-events: none !important;
}


/* =====================================================================
   0.7.15 — LOGOTYPEN STÅR FRITT
   Ingen mörk ruta, ingen kant, ingen skugga runt loggan. Naturliga
   proportioner, object-fit: contain, högst 40 px hög (32 px i mobil) och
   140 px bred. banner.js gör en enfärgad bildbotten genomskinlig och
   beskär tomrummet; en oläsbar bild med ljus botten blandas bort.
   ===================================================================== */
#cc-main .pxks-cm__logo {
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: 32px;
  line-height: 0;
}
#cc-main .pxks-cm__logo img {
  /* Fast höjd + auto bredd: en SVG utan width/height (bara viewBox) får
     rätt bredd ur sitt bildförhållande i stället för 0×0. Små rasterbilder
     förstoras inte: banner.js sätter --pxks-logo-h till bildens höjd. */
  height: min(var(--pxks-logo-h, 40px), 40px) !important;
  width: auto !important;
  max-height: 40px !important;
  max-width: 140px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: none !important;
}
@media screen and (max-width: 640px) {
  #cc-main .pxks-cm__logo img {
    height: min(var(--pxks-logo-h, 32px), 32px) !important;
    max-height: 32px !important;
    max-width: 112px !important;
  }
}
#cc-main .pxks-cm__logo--blanda img { mix-blend-mode: multiply; }
#cc-main .pxks-cm__logo--vand img { filter: invert(1) hue-rotate(180deg); }
/* Sista utvägen (färgad logga utan kontrast): en tunn, luftig platta. */
#cc-main .pxks-cm__logo.pxks-cm__logo--platta {
  padding: 5px 9px !important;
  border-radius: 8px !important;
}
#cc-main .pxks-cm__logo.pxks-cm__logo--platta-ljus { background: rgba(255,255,255,0.92) !important; }
#cc-main .pxks-cm__logo.pxks-cm__logo--platta-mork { background: rgba(20,22,26,0.9) !important; }
/* Namnet som logotyp: lugnt, elegant ordmärke i sajtens typsnitt. */
#cc-main .pxks-cm__logo.pxks-cm__logo--text {
  line-height: 1.15;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  font-family: var(--pxks-rubrik-typsnitt, inherit);
  text-transform: uppercase;
  max-width: 160px;
  overflow-wrap: anywhere;
}

/* 0.7.18: luft och ram. Policyn står i temats innehållsyta, som på många
   sajter (RIJD) saknar egen sidmarginal — texten gick kant i kant och
   tabellen klipptes till höger. Nu: högst 1180 px, centrerad, alltid
   minst 20 px luft på sidorna; tabellerna har fast layout och kan aldrig
   bli bredare än sin spalt. */
.pxks-cookiepolicy {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 56px);
  padding-block: clamp(8px, 2vw, 24px) clamp(24px, 4vw, 56px);
}
.pxks-cookiepolicy .pxks-cp__text {
  min-width: 0;
}
.pxks-cookiepolicy .pxks-cookiepolicy__rulla {
  max-width: 100%;
}
.pxks-cookiepolicy:not(.pxks-cp--smal) .pxks-cookiepolicy__tabell {
  table-layout: fixed;
}
.pxks-cookiepolicy:not(.pxks-cp--smal) .pxks-cookiepolicy__tabell thead th:nth-child(1) { width: 18%; }
.pxks-cookiepolicy:not(.pxks-cp--smal) .pxks-cookiepolicy__tabell thead th:nth-child(2) { width: 16%; }
.pxks-cookiepolicy:not(.pxks-cp--smal) .pxks-cookiepolicy__tabell thead th:nth-child(3) { width: 31%; }
.pxks-cookiepolicy:not(.pxks-cp--smal) .pxks-cookiepolicy__tabell thead th:nth-child(4) { width: 20%; }
.pxks-cookiepolicy:not(.pxks-cp--smal) .pxks-cookiepolicy__tabell thead th:nth-child(5) { width: 15%; }
.pxks-cookiepolicy .pxks-cookiepolicy__tabell thead th {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.08em;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell th,
.pxks-cookiepolicy .pxks-cookiepolicy__tabell td {
  overflow-wrap: break-word;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell tbody th {
  min-width: 0;
}
.pxks-cookiepolicy .pxks-cookiepolicy__tabell code {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}
.pxks-cookiepolicy.pxks-cp--bred .pxks-cp__ram {
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
}
@media (max-width: 640px) {
  .pxks-cookiepolicy {
    padding-inline: 20px;
  }
}
.pxks-cookiepolicy .pxks-cp__varumarke {
  margin: clamp(32px, 4vw, 48px) 0 0;
  padding-top: 1.25em;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
  border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  font-size: 0.8125em;
  letter-spacing: 0.02em;
  opacity: 0.7;
  max-width: none;
}
.pxks-cookiepolicy .pxks-cp__varumarke a {
  color: inherit;
  font-weight: 600;
}
.pxks-cookiepolicy .pxks-cp__kontrollerad {
  margin-top: 0.25em;
}

/* ==========================================================================
   0.7.19: designlager för cookiepolicyn. 0.7.18 såg mindre lyxig ut än
   0.7.16 (smal spalt bredvid en klistrad förteckning, höga celler,
   cookienamn som bröts mitt i ordet, fet stil som sajten saknar).
   Nu: en läsespalt (max 920 px) med luft på sidorna, förteckningen som
   ett lugnt register överst, tjänsterna som en fyrspaltig lista
   (tjänst + företag | syfte | cookies som små etiketter | lagring), inga
   fetstilar (många lyxteman har bara vikt 400), hårfina linjer.
   Allt ärvs från temat: typsnitt, färg, rubriker.
   ========================================================================== */
.pxks-cookiepolicy.pxks-cp {
  --pxks-linje: rgba(127, 127, 127, 0.22);
  --pxks-linje: color-mix(in srgb, currentColor 13%, transparent);
  --pxks-linje-svag: rgba(127, 127, 127, 0.14);
  --pxks-linje-svag: color-mix(in srgb, currentColor 8%, transparent);
  --pxks-dov: 0.62;
  max-width: 920px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
  padding-block: clamp(8px, 2vw, 24px) clamp(40px, 6vw, 80px);
  line-height: 1.7;
}
.pxks-cookiepolicy.pxks-cp p { max-width: 64ch; }
.pxks-cookiepolicy.pxks-cp strong,
.pxks-cookiepolicy.pxks-cp b { font-weight: inherit; }

/* Topp: ingress + en diskret metarad */
.pxks-cookiepolicy.pxks-cp .pxks-cp__topp { margin: 0 0 clamp(36px, 5vw, 56px); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__ingress {
  font-size: clamp(1.15em, 1.7vw, 1.375em);
  line-height: 1.5;
  max-width: 34em;
  letter-spacing: -0.005em;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__meta {
  display: inline;
  margin: 0;
  font-size: 0.8125em;
  letter-spacing: 0.04em;
  opacity: var(--pxks-dov);
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__topp .pxks-cp__meta:first-of-type::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: 1.6em 0 1.1em;
  background: currentColor;
  opacity: 0.5;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__kontrollerad::before {
  content: "\00a0\00a0·\00a0\00a0";
}

/* I korthet: fyra punkter mellan två hårfina linjer, ingen grå låda */
.pxks-cookiepolicy.pxks-cp .pxks-cp__korthet {
  margin: 0 0 clamp(40px, 5vw, 64px);
  padding: clamp(22px, 3vw, 30px) 0;
  border: 0;
  border-block: 1px solid var(--pxks-linje);
  border-radius: 0;
  background: none;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__korthet-rubrik,
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc summary,
.pxks-cookiepolicy.pxks-cp .pxks-cp__foretag h3 {
  font-size: 0.72em;
  font-weight: inherit;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: var(--pxks-dov);
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__korthet ul {
  counter-reset: pxkskort;
  gap: 1.1em 2.4em;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5em), 1fr));
  font-size: 0.9375em;
  line-height: 1.55;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__korthet li {
  counter-increment: pxkskort;
  padding: 0;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__korthet li::before {
  content: counter(pxkskort, decimal-leading-zero);
  position: static;
  display: block;
  width: auto;
  height: auto;
  margin: 0 0 0.45em;
  border-radius: 0;
  background: none;
  font-size: 0.75em;
  letter-spacing: 0.14em;
  opacity: 0.5;
}

/* Förteckningen: alltid ett register överst i spalten, två kolumner på bred sida */
.pxks-cookiepolicy.pxks-cp .pxks-cp__ram,
.pxks-cookiepolicy.pxks-cp.pxks-cp--bred .pxks-cp__ram { display: block; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc,
.pxks-cookiepolicy.pxks-cp.pxks-cp--bred .pxks-cp__toc {
  position: static;
  margin: 0 0 clamp(48px, 6vw, 72px);
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc-ruta {
  border: 0;
  border-bottom: 1px solid var(--pxks-linje);
  border-radius: 0;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc summary { padding: 0 0 1em; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc ol {
  padding: 0 0 1.2em;
  column-gap: 2.6em;
}
.pxks-cookiepolicy.pxks-cp:not(.pxks-cp--smal) .pxks-cp__toc ol { columns: 2; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc li {
  break-inside: avoid;
  border-top: 1px solid var(--pxks-linje-svag);
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc li:first-child { border-top: 1px solid var(--pxks-linje-svag); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc a {
  padding: 0.7em 0;
  font-size: 0.9375em;
  transition: opacity 0.2s ease;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__toc a::before { font-size: 0.78em; letter-spacing: 0.1em; line-height: 1.85; }
@media (hover: hover) {
  .pxks-cookiepolicy.pxks-cp .pxks-cp__toc a:hover { text-decoration: none; opacity: 0.6; }
}

/* Avsnitt och rubriker */
.pxks-cookiepolicy.pxks-cp .pxks-cp__avsnitt { padding-top: clamp(44px, 6vw, 72px); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__avsnitt:first-child { padding-top: 0; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__avsnitt + .pxks-cp__avsnitt {
  margin-top: clamp(44px, 6vw, 72px);
  border-top-color: var(--pxks-linje);
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__h2,
.pxks-cookiepolicy.pxks-cp .pxks-cookieval__rubrik {
  margin: 0 0 0.75em;
  font-weight: inherit;
  line-height: 1.15;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__h2::before,
.pxks-cookiepolicy.pxks-cp .pxks-cookieval__rubrik::before {
  font-size: max(0.32em, 11px);
  font-weight: inherit;
  letter-spacing: 0.22em;
  margin-bottom: 1.1em;
  opacity: 0.5;
}

/* Dina cookieval: ljus, luftig panel */
.pxks-cookiepolicy.pxks-cp .pxks-cookieval {
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--pxks-linje);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.35);
  background: color-mix(in srgb, Canvas 40%, transparent);
}
.pxks-cookiepolicy.pxks-cp .pxks-cookieval__tid { font-size: 0.8125em; letter-spacing: 0.03em; opacity: var(--pxks-dov); }
.pxks-cookieval button.pxks-cookieval__knapp.pxks-cookieval__knapp { font-weight: inherit; letter-spacing: 0.02em; }

/* Kategorier */
.pxks-cookiepolicy.pxks-cp .pxks-cp__kategori { margin-top: clamp(36px, 5vw, 52px); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__kategori > h3 {
  margin: 0 0 0.4em;
  font-size: 0.8em;
  font-weight: inherit;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__kategori > p { font-size: 0.9375em; opacity: 0.75; margin-bottom: 1.1em; }

/* Tjänstelistan. Tabellen behålls i HTML (skärmläsare), formen är ett
   rutnät: tjänst och företag i samma spalt. */
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__rulla {
  margin-top: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid var(--pxks-linje);
  border-radius: 0;
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell { font-size: 0.9375em; line-height: 1.6; table-layout: auto; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tr {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.75fr) minmax(0, 1.35fr) minmax(0, 0.85fr);
  grid-template-areas: "tj sy co la" "fo sy co la";
  grid-template-rows: auto 1fr;
  column-gap: clamp(16px, 2.4vw, 32px);
  padding: 1.35em 0;
  border-bottom: 1px solid var(--pxks-linje-svag);
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell thead tr { padding: 0.9em 0; border-bottom: 1px solid var(--pxks-linje); grid-template-areas: "tj sy co la"; grid-template-rows: auto; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody tr:last-child { border-bottom: 0; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell thead,
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody { display: block; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell th,
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell td {
  display: block;
  width: auto !important;
  padding: 0;
  border: 0 !important;
  background: none !important;
  overflow: visible;
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell > * > tr > :nth-child(1) { grid-area: tj; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell > * > tr > :nth-child(2) { grid-area: fo; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell > * > tr > :nth-child(3) { grid-area: sy; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell > * > tr > :nth-child(4) { grid-area: co; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell > * > tr > :nth-child(5) { grid-area: la; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell thead th {
  font-family: inherit;
  font-size: 0.72em;
  font-weight: inherit;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: var(--pxks-dov);
  overflow: visible;
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell thead th:nth-child(2) {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody th {
  font-family: inherit;
  font-size: 1.0625em;
  font-weight: inherit;
  line-height: 1.35;
  letter-spacing: 0.005em;
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody td:nth-child(2) {
  margin-top: 0.3em;
  font-size: 0.8125em;
  line-height: 1.45;
  letter-spacing: 0.02em;
  opacity: var(--pxks-dov);
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody td:nth-child(3) { opacity: 0.88; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody td:nth-child(5) { font-size: 0.875em; line-height: 1.5; }
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell tbody td:nth-child(4) {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 6px;
  font-size: 0.875em;
}
/* Cookienamnen som små etiketter: aldrig bruten mitt i, hårfin ram */
.pxks-cookiepolicy.pxks-cp code {
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 0.28em 0.7em;
  border: 1px solid var(--pxks-linje);
  border-radius: 999px;
  background: none;
  color: inherit;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78em;
  line-height: 1.35;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  vertical-align: baseline;
}
.pxks-cookiepolicy.pxks-cp .pxks-cookiepolicy__tabell code { font-size: 0.86em; }

/* Smal sida: varje tjänst ett luftigt kort */
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__rulla { border-top: 0; border-bottom: 0; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "tj la" "fo fo" "sy sy" "co co";
  grid-template-rows: auto;
  gap: 0 16px;
  margin: 0 0 12px;
  padding: 1.25em 1.25em 1.3em;
  border: 1px solid var(--pxks-linje);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.35);
  background: color-mix(in srgb, Canvas 40%, transparent);
}
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell tbody tr:last-child { border-bottom: 1px solid var(--pxks-linje); }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell th,
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell td { padding: 0; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell td[data-pxks-kol]::before { display: none; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell tbody th { padding-bottom: 0; font-size: 1.05em; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell tbody td:nth-child(5) {
  text-align: end;
  font-size: 0.75em;
  letter-spacing: 0.06em;
  opacity: var(--pxks-dov);
  padding-top: 0.25em;
  max-width: 11em;
}
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell tbody td:nth-child(3) {
  margin-top: 0.85em;
  padding-top: 0.85em;
  border-top: 1px solid var(--pxks-linje-svag) !important;
  font-size: 0.95em;
  line-height: 1.55;
}
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cookiepolicy__tabell tbody td:nth-child(4) { margin-top: 0.9em; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cp__korthet ul { grid-template-columns: 1fr 1fr; gap: 1.2em 1.4em; font-size: 0.875em; }

/* Företagen */
.pxks-cookiepolicy.pxks-cp .pxks-cp__foretag ul { border-top: 1px solid var(--pxks-linje); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__foretag li { border-color: var(--pxks-linje-svag); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__foretag-namn { font-weight: inherit; }

/* Kontaktkortet */
.pxks-cookiepolicy.pxks-cp .pxks-cp__kontaktkort {
  border: 1px solid var(--pxks-linje);
  border-radius: 4px;
  background: none;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__kontakt-namn { font-weight: inherit; letter-spacing: 0.02em; }

/* Slut: «Till toppen» och varumärket som en diskret signatur */
.pxks-cookiepolicy.pxks-cp .pxks-cp__upp { margin-top: clamp(40px, 5vw, 56px); font-size: 0.8125em; letter-spacing: 0.08em; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__varumarke {
  margin: clamp(48px, 6vw, 72px) auto 0;
  padding-top: 1.6em;
  border-top: 1px solid var(--pxks-linje-svag);
  font-size: 0.6875em;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  opacity: 0.5;
  max-width: none;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__varumarke a {
  font-weight: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}
.pxks-cookiepolicy.pxks-cp:not(.pxks-cp--smal) .pxks-cp__toc summary { cursor: default; pointer-events: none; }
.pxks-cookiepolicy.pxks-cp:not(.pxks-cp--smal) .pxks-cp__toc summary::after { display: none; }
.pxks-cookiepolicy.pxks-cp:not(.pxks-cp--smal) .pxks-cp__korthet ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pxks-cookiepolicy.pxks-cp .pxks-cp__korthet-rubrik { margin-bottom: 1.3em; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__ingress { margin-bottom: 0; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__topp { display: flex; flex-wrap: wrap; align-items: baseline; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__ingress { flex: 1 0 100%; margin-bottom: 1.4em; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__meta { display: block; line-height: 1.6; max-width: none; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__topp .pxks-cp__meta:first-of-type::before { content: none; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cp__kontrollerad { flex-basis: 100%; margin-top: 0.3em; }
.pxks-cookiepolicy.pxks-cp.pxks-cp--smal .pxks-cp__kontrollerad::before { content: none; }
.pxks-cookiepolicy.pxks-cp section[aria-labelledby="pxks-cp-kakfri"] > p:first-of-type { font-size: 1.08em; line-height: 1.65; }

/* 0.7.20: «+N» för långa cookielistor */
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler { display: contents; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler > summary {
  display: inline-flex;
  align-items: center;
  list-style: none;
  padding: 0.28em 0.75em;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.75em;
  line-height: 1.35;
  letter-spacing: 0.06em;
  opacity: 0.7;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler > summary::-webkit-details-marker { display: none; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler > summary:hover { opacity: 1; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler > summary:focus-visible { opacity: 1; outline: 2px solid currentColor; outline-offset: 2px; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler[open] > summary { display: none; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__fler-lista { display: contents; }

/* 0.7.20: Tokig Analytics — ingress + tätare text + not */
.pxks-cookiepolicy.pxks-cp .pxks-cp__ta { max-width: 64ch; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__ta p { margin: 0 0 0.9em; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__ta-lead {
  margin: 0 0 1.4em !important;
  padding: 0.1em 0 0.1em 1.2em;
  border-inline-start: 1px solid currentColor;
  font-size: clamp(1.2em, 1.9vw, 1.45em);
  line-height: 1.45;
  letter-spacing: -0.005em;
}
.pxks-cookiepolicy.pxks-cp .pxks-cp__ta-text { font-size: 0.9375em; line-height: 1.7; opacity: 0.88; }
.pxks-cookiepolicy.pxks-cp .pxks-cp__ta-grund {
  margin-top: 1.4em !important;
  padding-top: 1.1em;
  border-top: 1px solid var(--pxks-linje-svag);
  font-size: 0.8125em;
  line-height: 1.65;
  letter-spacing: 0.01em;
  opacity: var(--pxks-dov);
}
.pxks-cookiepolicy.pxks-cp section[aria-labelledby="pxks-cp-kakfri"] > .pxks-cp__ta p:first-of-type { font-size: clamp(1.2em, 1.9vw, 1.45em); }


/* =====================================================================
   0.7.22 — ingen platta någonsin; kreditrad i sidfoten
   ===================================================================== */
#cc-main .pxks-cm__logo.pxks-cm__logo--platta,
#cc-main .pxks-cm__logo.pxks-cm__logo--platta-ljus,
#cc-main .pxks-cm__logo.pxks-cm__logo--platta-mork {
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
/* Logga som behåller egen botten (t.ex. vit favicon): mjukt hörn, ingen ram. */
#cc-main .pxks-cm__logo.pxks-cm__logo--egen-botten img {
  border-radius: 6px !important;
}

/* Kreditrad: Cookieinställningar till vänster, kredit (bild/text) i mitten. */
.pxks-sidfot-kredit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px 24px;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  padding: 8px 16px;
  flex-wrap: wrap;
}
.pxks-sidfot-kredit__mitt {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
}
.pxks-sidfot-kredit__mitt img {
  max-width: 100%;
  height: auto;
}
.pxks-sidfot-lank--kredit {
  flex: 0 0 auto;
  font: inherit;
  font-size: inherit;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  opacity: 0.85;
  white-space: nowrap;
  order: -1;
  margin-inline-end: auto;
}
/* När kreditraden är mörk (svart kreditbild-rad) ärver länken ofta fel —
   försök matcha ljus text om raden är mörk. */
.pxks-sidfot-kredit {
  color: inherit;
}
@media (max-width: 640px) {
  .pxks-sidfot-kredit {
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px;
  }
  .pxks-sidfot-lank--kredit {
    order: 0;
    margin-inline-end: 0;
    font-size: 13px;
  }
}
/* Reserv / sist i sidfot: ärv typografi, ingen egen «rad»-stil. */
.pxks-sidfot.pxks-sidfot--arvd,
.pxks-sidfot--arvd {
  padding: 8px 16px;
  text-align: center;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  color: inherit;
  background: transparent;
}
.pxks-sidfot--arvd .pxks-sidfot-lank {
  font: inherit;
  font-size: inherit;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  opacity: 0.85;
}


/* =====================================================================
   0.7.23 — logotypbox + huvud utan överlapp
   Breda ordmärken (t.ex. beskuren B&V-favicon ≈ 3,8:1) fick height:40px
   → ~154 px bredd och stackade ut över den centrerade rubriken i
   grid 1fr|auto|1fr (grid-item min-width:auto). Lösning: begränsa
   logotypBOXEN, min-width:0 + overflow:hidden, img med max-width/
   max-height + object-fit:contain (ingen fast height), rubrik i egen
   flexibel cell med wrap/ellipsis. Gäller kvadrat, bred, hög, ljus/mörk.
   ===================================================================== */
#cc-main {
  --pxks-logo-box: 128px;
  --pxks-logo-h-cap: 34px;
}
#cc-main .pxks-cm--horn,
#cc-main .pxks-cm--ruta {
  --pxks-logo-box: 118px;
  --pxks-logo-h-cap: 32px;
}
#cc-main .pxks-cm__huvud {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
  row-gap: 8px !important;
}
#cc-main .pxks-cm__logo {
  justify-self: start !important;
  align-self: center !important;
  min-width: 0 !important;
  max-width: var(--pxks-logo-box) !important;
  width: auto !important;
  max-height: calc(var(--pxks-logo-h-cap) + 4px) !important;
  overflow: hidden !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
}
#cc-main .pxks-cm__logo img {
  display: block !important;
  /* Fast höjd-cap + max-width 100% + object-fit:contain:
     breda raster (B&V ≈3,8:1) ryms i boxen utan att stacka ut;
     SVG med bara viewBox (annars 0×0 vid height:auto) får användbar storlek. */
  width: auto !important;
  height: min(var(--pxks-logo-h, var(--pxks-logo-h-cap)), var(--pxks-logo-h-cap)) !important;
  max-width: 100% !important;
  max-height: min(var(--pxks-logo-h, var(--pxks-logo-h-cap)), var(--pxks-logo-h-cap)) !important;
  object-fit: contain !important;
  object-position: left center !important;
}
/* SVG/okänd intrinsisk storlek: fyll boxens bredd, behåll höjd-cap. */
#cc-main .pxks-cm__logo img:not([width]):not([height]) {
  width: 100% !important;
}
#cc-main.cc--rtl .pxks-cm__logo img,
[dir="rtl"] #cc-main .pxks-cm__logo img {
  object-position: right center !important;
}
#cc-main .pxks-cm__logo.pxks-cm__logo--text {
  max-width: var(--pxks-logo-box) !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}
#cc-main .pxks-cm__huvud #cm__title,
#cc-main .pxks-cm__huvud .cm__title {
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: center !important;
  align-self: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  text-align: center !important;
  padding-inline: 2px !important;
}
#cc-main .pxks-cm__kryss {
  justify-self: end !important;
  align-self: center !important;
  min-width: 0 !important;
  flex-shrink: 0 !important;
}
@media screen and (max-width: 640px) {
  #cc-main {
    --pxks-logo-box: 96px;
    --pxks-logo-h-cap: 28px;
  }
  #cc-main .pxks-cm--horn,
  #cc-main .pxks-cm--ruta {
    --pxks-logo-box: 88px;
    --pxks-logo-h-cap: 26px;
  }
  #cc-main .pxks-cm__huvud {
    column-gap: 8px !important;
  }
}


/* =====================================================================
   0.7.24 — platsmeningen (land, region och ort ur IP-adressen)
   I avsnittet om kakfri mätning ärver den .pxks-cp__ta-text. Under
   tabellen för Statistik (ingen kakfri mätning) står den som tabellens
   not: samma storlek som kategorins beskrivning, luft ovanför.
   ===================================================================== */
.pxks-cookiepolicy.pxks-cp .pxks-cp__kategori > .pxks-cp__plats {
  max-width: 64ch;
  margin: 1.1em 0 0;
  font-size: 0.9375em;
  line-height: 1.7;
  opacity: 0.75;
}
