/* SelfSale Cookies – bruger temaets farver og skrifter, hvis de findes. */
.ssc {
  --ssc-ink: var(--ink, #14201B);
  --ssc-muted: var(--muted, #47524D);
  --ssc-line: var(--line, #DDE3DF);
  --ssc-bg: var(--bg, #FFFFFF);
  --ssc-soft: var(--bg-2, #F3F5F2);
  --ssc-accent: var(--accent, #1E6B4F);
  --ssc-accent-dark: var(--accent-dark, #134733);
  position: fixed;
  inset: auto 16px 16px 16px;
  z-index: 99999;
  display: flex;
  justify-content: center;
  pointer-events: none;
  font-family: var(--font, system-ui, -apple-system, "Segoe UI", sans-serif);
  color: var(--ssc-ink);
  font-size: 15px;
  line-height: 1.5;
}
.ssc[hidden] { display: none !important; }
.ssc__box {
  pointer-events: auto;
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: var(--ssc-bg);
  border: 1px solid var(--ssc-line);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(20, 32, 27, .18), 0 2px 6px rgba(20, 32, 27, .08);
  padding: 22px 22px 20px;
  outline: none;
}
.ssc--wide .ssc__box { max-width: 720px; }
.ssc__layer[hidden] { display: none; }
.ssc__title { margin: 0 0 6px; font-family: var(--font-display, inherit); font-size: 19px; font-weight: 700; letter-spacing: -0.01em; }
.ssc__text { margin: 0 0 10px; color: var(--ssc-muted); }
.ssc__quick { display: grid; gap: 6px; margin: 4px 0 10px; }
.ssc__switch--quick { align-items: center; padding: 10px 12px; background: var(--ssc-soft); border-radius: 10px; }
.ssc__switch--quick .ssc__cat-text { gap: 0; }
.ssc__switch--quick .ssc__track { margin-top: 0; }
.ssc__back { margin-right: 4px; padding: 0 6px; border: 0; background: none; font: inherit; color: var(--ssc-accent); cursor: pointer; }
.ssc__links { margin: 0 0 16px; font-size: 14px; color: var(--ssc-muted); }
.ssc__link { padding: 0; border: 0; background: none; font: inherit; color: var(--ssc-accent); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ssc__link:hover { color: var(--ssc-accent-dark); }

/* "Afvis alle" og "Accepter alle" ser ens ud – lige let at sige nej og ja. */
.ssc__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ssc__buttons--three { grid-template-columns: 1fr 1fr 1fr; margin-top: 16px; }
.ssc__btn {
  min-height: 46px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--ssc-accent);
  background: var(--ssc-accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer;
  transition: background-color .15s, border-color .15s;
}
.ssc__btn:hover { background: var(--ssc-accent-dark); border-color: var(--ssc-accent-dark); }
.ssc__btn--quiet { background: var(--ssc-bg); color: var(--ssc-ink); border-color: var(--ssc-line); }
.ssc__btn--quiet:hover { background: var(--ssc-soft); border-color: var(--ssc-line); }
.ssc__btn:focus-visible, .ssc__link:focus-visible, .ssc__switch input:focus-visible + .ssc__track, .ssc-reopen:focus-visible { outline: 3px solid var(--ssc-accent); outline-offset: 2px; }

.ssc__cats { display: grid; gap: 10px; }
.ssc__cat { border: 1px solid var(--ssc-line); border-radius: 12px; padding: 14px 16px; }
.ssc__switch { display: flex; align-items: flex-start; gap: 16px; cursor: pointer; }
.ssc__cat-text { flex: 1; display: grid; gap: 2px; }
.ssc__cat-text span { color: var(--ssc-muted); font-size: 14px; }
.ssc__switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ssc__track { position: relative; flex: none; width: 46px; height: 26px; margin-top: 2px; border-radius: 99px; background: #C9D1CC; transition: background-color .15s; }
.ssc__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .15s; }
.ssc__switch input:checked + .ssc__track { background: var(--ssc-accent); }
.ssc__switch input:checked + .ssc__track::after { transform: translateX(20px); }
.ssc__switch input:disabled + .ssc__track { opacity: .55; }
.ssc__switch:has(input:disabled) { cursor: default; }
.ssc__details { margin-top: 8px; font-size: 14px; }
.ssc__details summary { cursor: pointer; color: var(--ssc-accent); width: fit-content; }
.ssc__services { margin: 8px 0 6px; color: var(--ssc-muted); }
.ssc__table, .ssc-declaration .ssc__table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 13px; }
.ssc__table th, .ssc__table td { text-align: left; vertical-align: top; padding: 7px 8px; border-bottom: 1px solid var(--ssc-line, #DDE3DF); }
.ssc__table th { font-weight: 600; background: var(--ssc-soft, #F3F5F2); }
.ssc__table code { font-size: 12px; overflow-wrap: anywhere; }
.ssc__table td:last-child, .ssc__table th:last-child { white-space: nowrap; }

/* Knap til at åbne indstillingerne igen */
.ssc-reopen {
  position: fixed; left: 16px; bottom: 16px; z-index: 99998;
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--line, #DDE3DF); background: var(--bg, #fff); color: var(--accent, #1E6B4F);
  box-shadow: 0 6px 18px rgba(20, 32, 27, .15); cursor: pointer;
}
.ssc-reopen[hidden] { display: none; }
.ssc-reopen:hover { background: var(--bg-2, #F3F5F2); }
.ssc-open--inline { padding: 0; border: 0; background: none; font: inherit; color: var(--accent, #1E6B4F); text-decoration: underline; cursor: pointer; }

/* Cookiepolitik-siden */
.ssc-declaration__status { padding: 14px 18px; border-radius: 12px; background: var(--bg-2, #F3F5F2); margin: 16px 0; }
.ssc-declaration__status p { margin: 0; }
.ssc-declaration h2 { margin-top: 1.6em; }
.ssc-declaration__updated { margin-top: 1.5em; color: var(--muted, #47524D); font-size: 14px; }

@media (max-width: 600px) {
  .ssc { inset: auto 8px 8px 8px; }
  .ssc__box { padding: 18px 16px 16px; border-radius: 16px; }
  .ssc__buttons--three { grid-template-columns: 1fr 1fr; }
  .ssc__buttons--three [data-ssc-action="save"] { grid-column: 1 / -1; order: 3; }
  .ssc__table thead { display: none; }
  .ssc__table tr { display: grid; grid-template-columns: 1fr; padding: 6px 0; border-bottom: 1px solid var(--ssc-line, #DDE3DF); }
  .ssc__table td { border: 0; padding: 2px 0; }
}
@media (prefers-reduced-motion: reduce) { .ssc__track, .ssc__track::after, .ssc__btn { transition: none; } }
/* Boksen får fokus programmatisk for skærmlæsere – den skal ikke have en synlig ring. */
.ssc .ssc__box:focus, .ssc .ssc__box:focus-visible { outline: none !important; box-shadow: 0 20px 50px rgba(20, 32, 27, .18), 0 2px 6px rgba(20, 32, 27, .08) !important; }
