/* ==========================================================
   thkloakservice.dk – style.css  (Bootstrap 5.3 + jQuery 3)
   Change the brand blue in one place: --th-blue
   ========================================================== */

:root {
  --th-blue:        #2184eb;   /* brand blue from the old site */
  --th-blue-dark:   #1668c2;
  --th-blue-deep:   #0b3566;
  --th-blue-light:  #7cbcf7;
  --th-blue-tint:   #eef6fe;
  --th-ink:         #16202e;
  --th-text:        #3d4a5c;
  --th-muted:       #6b7788;
  --th-line:        #dbe3ee;
  --th-white:       #ffffff;
  --th-radius:      14px;
  --th-radius-sm:   10px;
  --th-shadow:      0 10px 30px rgba(11, 53, 102, .10);
  --th-shadow-lg:   0 20px 50px rgba(11, 53, 102, .18);
  --th-font-head:   'Barlow', system-ui, sans-serif;
  --th-font-body:   'Inter', system-ui, sans-serif;

  --bs-primary: var(--th-blue);
  --bs-link-color: var(--th-blue);
  --bs-link-hover-color: var(--th-blue-dark);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--th-font-body);
  color: var(--th-text);
  background: var(--th-white);
  font-size: 1rem;
  line-height: 1.7;
}
h1, h2, h3, h4, h5 {
  font-family: var(--th-font-head);
  color: var(--th-ink);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em;
}
h2 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); }
h3 { font-size: 1.35rem; }
a { color: var(--th-blue); }
a:hover { color: var(--th-blue-dark); }
img { max-width: 100%; height: auto; }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 10000;
  background: var(--th-blue); color: #fff; padding: .75rem 1rem;
}
.skip-link:focus { left: 1rem; top: 1rem; }

/* ---------- Buttons ---------- */
.btn { border-radius: 999px; font-weight: 600; padding: .7rem 1.4rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
.btn i { font-size: 1.05em; }

.btn-sk-primary { background: var(--th-blue); color: #fff; border: 2px solid var(--th-blue); }
.btn-sk-primary:hover, .btn-sk-primary:focus { background: var(--th-blue-dark); border-color: var(--th-blue-dark); color: #fff; }
.btn-sk-primary:disabled { background: var(--th-blue); border-color: var(--th-blue); color: #fff; opacity: .75; }

.btn-sk-call { background: var(--th-blue); color: #fff; border: 2px solid var(--th-blue); padding: .55rem 1.1rem; }
.btn-sk-call:hover { background: var(--th-blue-dark); border-color: var(--th-blue-dark); color: #fff; }

.btn-th-light { background: #fff; color: var(--th-blue-dark); border: 2px solid #fff; }
.btn-th-light:hover { background: var(--th-blue-tint); color: var(--th-blue-deep); border-color: var(--th-blue-tint); }

.btn-th-outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7); }
.btn-th-outline:hover { background: rgba(255,255,255,.12); color: #fff; border-color: #fff; }

.btn-th-ghost { background: transparent; color: var(--th-blue); border: 2px solid var(--th-line); }
.btn-th-ghost:hover { border-color: var(--th-blue); color: var(--th-blue-dark); }

/* ---------- Topbar ---------- */
.sk-topbar { background: var(--th-blue-deep); color: rgba(255,255,255,.8); font-size: .875rem; }
.sk-topbar a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; }
.sk-topbar a:hover { color: var(--th-blue-light); }
.sk-topbar-kk { height: 26px; width: auto; background: #fff; border-radius: 4px; padding: 2px 6px; }

.sk-dot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: #3ddc84; margin-right: .5rem;
  box-shadow: 0 0 0 0 rgba(61,220,132,.6);
  animation: sk-pulse 2s infinite;
}
@keyframes sk-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(61,220,132,.6); }
  70%  { box-shadow: 0 0 0 8px rgba(61,220,132,0); }
  100% { box-shadow: 0 0 0 0 rgba(61,220,132,0); }
}

/* ---------- Header / navigation ---------- */
.sk-header {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(255,255,255,.97);
  backdrop-filter: saturate(160%) blur(8px);
  border-bottom: 1px solid var(--th-line);
  transition: box-shadow .2s ease;
}
.sk-header.is-scrolled { box-shadow: 0 6px 24px rgba(11,53,102,.10); }
.sk-header .navbar { padding: .6rem 0; }
.sk-header .navbar-brand img { height: 64px; width: auto; transition: height .2s ease; }
.sk-header.is-scrolled .navbar-brand img { height: 52px; }

.sk-header .nav-link {
  font-family: var(--th-font-head); font-weight: 700; font-size: 1.05rem;
  color: var(--th-ink); padding: .5rem .9rem !important; position: relative;
}
.sk-header .nav-link:hover,
.sk-header .nav-link.active { color: var(--th-blue); }
@media (min-width: 992px) {
  .sk-header .nav-link::after {
    content: ''; position: absolute; left: .9rem; right: .9rem; bottom: .2rem;
    height: 2px; background: var(--th-blue); transform: scaleX(0); transition: transform .2s ease;
  }
  .sk-header .nav-link:hover::after,
  .sk-header .nav-link.active::after { transform: scaleX(1); }
  .sk-header .dropdown-toggle::after { display: none; }
  .sk-header .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
}
.sk-header .dropdown-toggle .bi { font-size: .8em; }
.sk-header .dropdown-menu {
  border: 1px solid var(--th-line); border-radius: var(--th-radius-sm);
  box-shadow: var(--th-shadow); padding: .5rem; min-width: 250px;
}
.sk-header .dropdown-item { border-radius: 8px; padding: .55rem .9rem; font-weight: 500; }
.sk-header .dropdown-item:hover,
.sk-header .dropdown-item.active { background: var(--th-blue-tint); color: var(--th-blue-dark); }

.navbar-toggler { border: 0; font-size: 2rem; color: var(--th-blue); padding: 0 .25rem; }
.navbar-toggler:focus { box-shadow: none; }

@media (max-width: 991.98px) {
  .sk-header .navbar-brand img { height: 52px; }
  .sk-header .navbar-collapse { padding: .75rem 0 1rem; }
  .sk-header .dropdown-menu { box-shadow: none; border: 0; background: var(--th-blue-tint); }
}

/* ---------- Hero ---------- */
.th-hero {
  position: relative; color: rgba(255,255,255,.9);
  padding: clamp(3rem, 6vw, 5.5rem) 0;
  background:
    linear-gradient(105deg, rgba(11,53,102,.94) 0%, rgba(33,132,235,.86) 55%, rgba(33,132,235,.55) 100%),
    url('/assets/images/TH-Kloak-billeder-2.jpg') center/cover no-repeat;
}
/* Video hero: the film replaces the background image, with a lighter blue tint */
.th-hero--video { background: var(--th-blue-deep); overflow: hidden; isolation: isolate; }
.th-hero-video {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover;
}
.th-hero-overlay {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(105deg, rgba(11,53,102,.72) 0%, rgba(33,132,235,.45) 50%, rgba(33,132,235,.12) 100%);
}
.th-hero--video h1,
.th-hero--video .th-lead,
.th-hero--video p { text-shadow: 0 2px 12px rgba(0,0,0,.35); }
@media (max-width: 991.98px) {
  /* text sits over the whole video on small screens, so keep it a little darker */
  .th-hero-overlay { background: linear-gradient(180deg, rgba(11,53,102,.70) 0%, rgba(33,132,235,.50) 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .th-hero-video { display: none; }
  .th-hero--video { background: var(--th-blue-deep) url('/assets/images/TH-Kloak-billeder-2.jpg') center/cover no-repeat; }
}

.th-hero h1 {
  color: #fff; font-size: clamp(2.4rem, 1.6rem + 3.5vw, 4rem); font-weight: 800; margin: .75rem 0 1rem;
}
.th-hero .th-lead { font-size: 1.2rem; color: #fff; font-weight: 500; }
.th-eyebrow {
  display: inline-flex; align-items: center;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px; padding: .35rem .9rem; font-size: .9rem; font-weight: 600; color: #fff;
}
.th-usp {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--th-radius); padding: 1.25rem 1.5rem;
}
.th-usp strong { color: #fff; font-family: var(--th-font-head); font-size: 1.15rem; display: block; margin-bottom: .5rem; }
.th-usp ul { list-style: none; padding: 0; margin: 0; }
.th-usp li { display: flex; gap: .6rem; align-items: flex-start; padding: .25rem 0; }
.th-usp li i { color: var(--th-blue-light); margin-top: .2rem; }

/* ---------- Sections ---------- */
.th-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.th-section--tint { background: var(--th-blue-tint); }
.th-kicker {
  display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--th-blue); margin-bottom: .6rem;
}
.th-kicker--light { color: var(--th-blue-light); }
.section-head { max-width: 720px; }
.section-head h2 { margin-bottom: 0; }
.th-prose p { margin-bottom: 1.1rem; }
@media (min-width: 992px) { .th-sticky { position: sticky; top: 120px; } }

/* ---------- Service cards ---------- */
.info-card {
  height: 100%; background: #fff; border: 1px solid var(--th-line); border-radius: var(--th-radius);
  padding: 1.75rem; display: flex; flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.info-card:hover { transform: translateY(-4px); box-shadow: var(--th-shadow-lg); border-color: transparent; }
.info-card-icon {
  width: 72px; height: 72px; border-radius: 18px; background: var(--th-blue-tint);
  display: grid; place-items: center; margin-bottom: 1.25rem;
}
.info-card-icon img { width: 44px; height: 44px; object-fit: contain; }
.info-card h3 { margin-bottom: .75rem; }
.info-card p { font-size: .95rem; flex: 1; }
.info-card-link { font-weight: 700; text-decoration: none; display: inline-flex; gap: .4rem; align-items: center; }
.info-card-link i { transition: transform .2s ease; }
.info-card-link:hover i { transform: translateX(4px); }

/* ---------- Photo ---------- */
.th-photo { position: relative; margin: 0; }
.th-photo img { border-radius: var(--th-radius); box-shadow: var(--th-shadow-lg); width: 100%; }
.th-photo-badge {
  position: absolute; left: 1.25rem; bottom: -1.25rem;
  background: var(--th-blue); color: #fff; font-family: var(--th-font-head); font-weight: 700;
  font-size: 1.1rem; padding: .85rem 1.25rem; border-radius: var(--th-radius-sm);
  box-shadow: var(--th-shadow); display: flex; align-items: center; gap: .6rem;
}

/* ---------- CTA section ---------- */
.th-cta {
  background: linear-gradient(135deg, var(--th-blue-deep) 0%, var(--th-blue) 100%);
  color: rgba(255,255,255,.88);
}
.th-cta h2 { color: #fff; margin-bottom: 1.25rem; }
.th-cta a:not(.btn) { color: #fff; }
.th-contact-list { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: 1.5rem; }
.th-contact-list a { text-decoration: none; font-weight: 600; font-size: 1.1rem; display: inline-flex; gap: .5rem; align-items: center; }

/* ---------- Form cards (form-header / form-footer) ---------- */
.sk-form-card {
  position: relative; overflow: hidden;
  background: #fff; color: var(--th-text);
  border-radius: var(--th-radius); box-shadow: var(--th-shadow-lg);
  padding: clamp(1.5rem, 3vw, 2rem);
  border-top: 5px solid var(--th-blue);
}
.sk-form-card h3 { font-size: 1.5rem; margin-bottom: .35rem; }
.sk-form-intro { font-size: .95rem; color: var(--th-muted); margin-bottom: 1.1rem; }
.sk-form-card .form-label { font-weight: 600; font-size: .875rem; color: var(--th-ink); margin-bottom: .3rem; }
.sk-form-card .form-control,
.sk-form-card .form-select {
  border: 1px solid var(--th-line); border-radius: var(--th-radius-sm);
  padding: .65rem .9rem; background-color: #f8fafd;
}
.sk-form-card .form-control:focus,
.sk-form-card .form-select:focus {
  border-color: var(--th-blue); background-color: #fff;
  box-shadow: 0 0 0 .2rem rgba(33,132,235,.15);
}
.sk-form-card .form-error-msg { display: flex; gap: .75rem; align-items: flex-start; border-radius: var(--th-radius-sm); }
.sk-form-card .form-error-msg.d-none { display: none !important; }
.sk-form-card .spinner-border { width: 1.2rem; height: 1.2rem; border-width: .18em; }

.contact-success-wrapper {
  position: absolute; inset: 0; z-index: 5;
  background: #fff; padding: 2rem; text-align: center;
  flex-direction: column; align-items: center; justify-content: center;
}
.contact-success-wrapper .success-icon i { font-size: 4rem; color: var(--th-blue); }

/* ---------- Footer ---------- */
.sk-footer { background: var(--th-blue-deep); color: rgba(255,255,255,.75); padding-top: 4rem; font-size: .95rem; }
.sk-footer h4 { color: #fff; font-size: 1.15rem; margin-bottom: 1rem; }
.sk-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.sk-footer a:hover { color: #fff; text-decoration: underline; }
.sk-footer ul { list-style: none; padding: 0; margin: 0; }
.sk-footer ul li { padding: .2rem 0; }
.sk-footer address { line-height: 2; margin: 0; }
.sk-footer-logo { max-height: 80px; width: auto; background: #fff; padding: .6rem 1rem; border-radius: var(--th-radius-sm); }
.sk-kims-logo { max-height: 50px; width: auto; background: #fff; padding: .4rem .8rem; border-radius: 8px; }
.sk-guarantee-logo { max-height: 48px; width: auto; background: #fff; padding: .4rem .8rem; border-radius: 8px; }
.sk-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 3rem; padding: 1.25rem 0; font-size: .85rem; }

/* ---------- Mobile call bar ---------- */
.sk-mobile-call {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040;
  display: none; align-items: center; justify-content: center; gap: .5rem;
  background: var(--th-blue); color: #fff; font-weight: 700; padding: .9rem; text-decoration: none;
  box-shadow: 0 -6px 20px rgba(11,53,102,.2);
}
.sk-mobile-call:hover { color: #fff; background: var(--th-blue-dark); }
@media (max-width: 767.98px) {
  .sk-mobile-call { display: flex; }
  body { padding-bottom: 56px; }
}

/* ---------- Reveal animation (class added by site.js) ---------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
  .sk-dot { animation: none; }
}

/* ==========================================================
   SUBPAGES (service pages, priser, om os, kontakt, legal)
   ========================================================== */

/* ---------- Page hero: photo + lighter blue tint ---------- */
.th-hero--page {
  background:
    linear-gradient(105deg, rgba(11,53,102,.86) 0%, rgba(33,132,235,.62) 55%, rgba(33,132,235,.30) 100%),
    var(--hero-img, url('/assets/images/TH-Kloak-billeder-2.jpg')) center/cover no-repeat;
}
.th-hero--page h1,
.th-hero--page .th-lead,
.th-hero--page p { text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.th-hero--slim { padding: clamp(2.5rem, 5vw, 4rem) 0; }
@media (max-width: 991.98px) {
  .th-hero--page {
    background:
      linear-gradient(180deg, rgba(11,53,102,.85) 0%, rgba(33,132,235,.65) 100%),
      var(--hero-img, url('/assets/images/TH-Kloak-billeder-2.jpg')) center/cover no-repeat;
  }
}

/* Breadcrumb in hero */
.th-crumbs { list-style: none; padding: 0; margin: 0 0 .5rem; display: flex; flex-wrap: wrap; gap: .4rem; font-size: .85rem; }
.th-crumbs li { color: rgba(255,255,255,.75); }
.th-crumbs li + li::before { content: '/'; margin-right: .4rem; opacity: .6; }
.th-crumbs a { color: #fff; text-decoration: none; }
.th-crumbs a:hover { text-decoration: underline; }

/* ---------- Check list (light sections) ---------- */
.th-check { list-style: none; padding: 0; margin: 1rem 0 1.25rem; }
.th-check li { display: flex; gap: .7rem; align-items: flex-start; padding: .45rem 0; border-bottom: 1px dashed var(--th-line); }
.th-check li:last-child { border-bottom: 0; }
.th-check li i { color: var(--th-blue); font-size: 1.1rem; margin-top: .15rem; }

/* ---------- Section image ---------- */
.th-side-img { border-radius: var(--th-radius); box-shadow: var(--th-shadow-lg); width: 100%; object-fit: cover; }
.th-side-img--tall { aspect-ratio: 4 / 5; }
@media (max-width: 991.98px) { .th-side-img--tall { aspect-ratio: 16 / 10; } }

/* ---------- Highlight / callout box ---------- */
.th-callout {
  display: flex; gap: 1rem; align-items: flex-start;
  background: var(--th-blue-tint); border-left: 4px solid var(--th-blue);
  border-radius: var(--th-radius-sm); padding: 1.1rem 1.25rem; margin: 1.5rem 0;
}
.th-callout > i { font-size: 1.6rem; color: var(--th-blue); line-height: 1; margin-top: .15rem; }
.th-callout p:last-child { margin-bottom: 0; }
.th-callout strong { color: var(--th-ink); }

/* ---------- Cause cards (e.g. rodskæring) ---------- */
.th-mini-card {
  height: 100%; background: #fff; border: 1px solid var(--th-line); border-radius: var(--th-radius-sm);
  padding: 1.1rem 1.25rem; display: flex; gap: .8rem; align-items: center; font-weight: 600; color: var(--th-ink);
}
.th-mini-card i { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; display: grid; place-items: center; background: var(--th-blue-tint); color: var(--th-blue); font-size: 1.15rem; }

/* ---------- Reviews ---------- */
.th-review {
  height: 100%; background: #fff; border: 1px solid var(--th-line); border-radius: var(--th-radius);
  padding: 1.6rem; display: flex; flex-direction: column; box-shadow: var(--th-shadow);
}
.th-stars { color: #f5b301; letter-spacing: .12em; font-size: 1.15rem; }
.th-review-tags { font-size: .8rem; color: var(--th-muted); font-weight: 600; margin: .25rem 0 .9rem; }
.th-review blockquote { margin: 0 0 1.25rem; font-size: 1rem; color: var(--th-text); flex: 1; }
.th-review blockquote::before { content: '“'; font-family: var(--th-font-head); font-size: 3rem; line-height: 0; color: var(--th-blue); vertical-align: -1.1rem; margin-right: .2rem; }
.th-review-by { display: flex; align-items: center; gap: .7rem; border-top: 1px solid var(--th-line); padding-top: 1rem; }
.th-review-by img { width: 28px; height: 28px; }
.th-review-by strong { display: block; color: var(--th-ink); line-height: 1.2; }
.th-review-by a { color: var(--th-muted); font-size: .85rem; text-decoration: none; }
.th-review-by a:hover { color: var(--th-blue); }

/* ---------- Døgnvagt band ---------- */
.th-band { background: var(--th-blue-tint); }
.th-band-phone {
  display: inline-flex; align-items: center; gap: .75rem;
  font-family: var(--th-font-head); font-weight: 800; font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.2rem);
  color: var(--th-blue-dark); text-decoration: none;
}
.th-band-phone i { width: 52px; height: 52px; border-radius: 50%; background: var(--th-blue); color: #fff; display: grid; place-items: center; font-size: 1.3rem; }
.th-band-phone:hover { color: var(--th-blue); }

/* ---------- Price list ---------- */
.th-price-card { background: #fff; border-radius: var(--th-radius); box-shadow: var(--th-shadow-lg); overflow: hidden; border-top: 5px solid var(--th-blue); }
.th-price-card header { padding: 1.5rem 1.75rem .75rem; }
.th-price-card header h2 { font-size: 1.6rem; margin: 0; }
.th-price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 1rem 1.75rem; border-top: 1px solid var(--th-line); }
.th-price-row:nth-child(even) { background: #fafcff; }
.th-price-row .name { font-weight: 600; color: var(--th-ink); }
.th-price-row .name small { display: block; font-weight: 400; color: var(--th-muted); font-size: .85rem; margin-top: .15rem; }
.th-price-row .price { font-family: var(--th-font-head); font-weight: 800; font-size: 1.3rem; color: var(--th-blue-dark); white-space: nowrap; }
.th-price-row .price--call { font-size: 1rem; font-family: var(--th-font-body); font-weight: 700; color: var(--th-blue); text-decoration: none; }

.th-fact {
  height: 100%; background: #fff; border: 1px solid var(--th-line); border-radius: var(--th-radius);
  padding: 1.5rem; display: flex; gap: 1rem; align-items: flex-start;
}
.th-fact > i { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 12px; display: grid; place-items: center; background: var(--th-blue-tint); color: var(--th-blue); font-size: 1.3rem; }
.th-fact p { margin: 0; }
.th-fact .th-fact-big { font-family: var(--th-font-head); font-weight: 800; font-size: 1.6rem; color: var(--th-blue-dark); line-height: 1.1; display: block; margin-bottom: .35rem; }
.th-fact--accent { background: var(--th-blue); border-color: var(--th-blue); color: rgba(255,255,255,.9); }
.th-fact--accent > i { background: rgba(255,255,255,.15); color: #fff; }
.th-fact--accent .th-fact-big { color: #fff; }

/* ---------- Contact cards + map ---------- */
.th-contact-card {
  height: 100%; display: flex; gap: 1rem; align-items: center;
  background: #fff; border: 1px solid var(--th-line); border-radius: var(--th-radius);
  padding: 1.25rem 1.4rem; text-decoration: none; color: var(--th-ink);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.th-contact-card:hover { transform: translateY(-3px); box-shadow: var(--th-shadow); border-color: transparent; color: var(--th-ink); }
.th-contact-card i { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 12px; display: grid; place-items: center; background: var(--th-blue); color: #fff; font-size: 1.25rem; }
.th-contact-card small { display: block; color: var(--th-muted); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.th-contact-card span { font-weight: 700; word-break: break-word; }
.th-map { border-radius: var(--th-radius); overflow: hidden; box-shadow: var(--th-shadow); background: var(--th-blue-tint); }
.th-map iframe { display: block; width: 100%; height: 360px; border: 0; }

/* ---------- Legal / long text ---------- */
.th-legal { max-width: 820px; margin: 0 auto; }
.th-legal h2 { margin: 0 0 1.5rem; }
.th-legal h3 { margin: 2.5rem 0 1rem; font-size: 1.5rem; }
.th-legal h4 { font-size: 1.1rem; margin: 1.75rem 0 .5rem; }
.th-legal p { margin-bottom: 1rem; }
.th-legal address { font-style: normal; background: var(--th-blue-tint); border-radius: var(--th-radius-sm); padding: 1.25rem 1.5rem; line-height: 1.9; }

/* ---------- Thank-you ---------- */
.th-thanks-icon { font-size: 4.5rem; color: #fff; line-height: 1; }

/* ---------- Form section heading on light backgrounds ---------- */
.th-cta .th-form-lead { font-size: 1.1rem; color: #fff; }

/* ==========================================================
   AREA PAGES (område-sider) + /omraader overview
   ========================================================== */
.th-section--slim { padding: clamp(2.5rem, 5vw, 3.5rem) 0; border-top: 1px solid var(--th-line); }
.th-hero .th-eyebrow + h1 { margin-top: .9rem; }

/* "Vi kører også ud til" chips */
.th-area-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.th-area-chip {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .5rem .95rem; border-radius: 999px; font-size: .9rem; font-weight: 600;
  background: var(--th-blue-tint); color: var(--th-blue-dark); text-decoration: none;
  border: 1px solid transparent; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.th-area-chip i { color: var(--th-blue); }
.th-area-chip:hover { background: var(--th-blue); color: #fff; }
.th-area-chip:hover i { color: #fff; }
.th-area-chip--all { background: #fff; border-color: var(--th-line); }

/* Overview: search */
.sk-area-search { position: relative; }
.sk-area-search i { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); color: var(--th-blue); font-size: 1.1rem; pointer-events: none; }
.sk-area-search .form-control {
  padding: .95rem 1.1rem .95rem 2.9rem; border-radius: 999px; border: 2px solid var(--th-line);
  font-size: 1.05rem; background: #fff;
}
.sk-area-search .form-control:focus { border-color: var(--th-blue); box-shadow: 0 0 0 .2rem rgba(33,132,235,.15); }

/* Overview: service jump links (site.js toggles .is-empty) */
.sk-letters { display: flex; flex-wrap: wrap; gap: .6rem; }
.sk-letter {
  display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1.1rem; border-radius: 999px;
  background: #fff; border: 1px solid var(--th-line); color: var(--th-ink); font-weight: 700; text-decoration: none;
  transition: border-color .2s ease, background .2s ease;
}
.sk-letter i { color: var(--th-blue); }
.sk-letter span { background: var(--th-blue-tint); color: var(--th-blue-dark); border-radius: 999px; padding: 0 .55rem; font-size: .8rem; }
.sk-letter:hover { border-color: var(--th-blue); color: var(--th-blue-dark); }
.sk-letter.is-empty { opacity: .4; pointer-events: none; }

/* Overview: groups and cards */
.sk-area-group { margin-bottom: 3rem; scroll-margin-top: 120px; }
.sk-area-title { display: flex; align-items: center; gap: .6rem; font-size: 1.5rem; margin-bottom: 1.1rem; padding-bottom: .75rem; border-bottom: 2px solid var(--th-blue-tint); }
.sk-area-title i { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--th-blue); color: #fff; font-size: 1.1rem; }
.sk-area-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .75rem; }
.sk-area-card {
  display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem;
  background: #fff; border: 1px solid var(--th-line); border-radius: var(--th-radius-sm);
  color: var(--th-ink); text-decoration: none; font-weight: 700;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.sk-area-card > i:first-child { color: var(--th-blue); font-size: 1.1rem; }
.sk-area-card span { flex: 1; line-height: 1.2; }
.sk-area-card small { display: block; font-size: .72rem; font-weight: 600; color: var(--th-muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .15rem; }
.sk-area-card > i:last-child { color: var(--th-line); transition: color .15s ease, transform .15s ease; }
.sk-area-card:hover { transform: translateY(-2px); box-shadow: var(--th-shadow); border-color: transparent; color: var(--th-blue-dark); }
.sk-area-card:hover > i:last-child { color: var(--th-blue); transform: translateX(3px); }
.sk-area-empty { display: flex; gap: 1rem; align-items: center; background: var(--th-blue-tint); border-radius: var(--th-radius); padding: 1.5rem; }
.sk-area-empty.d-none { display: none !important; }
.sk-area-empty i { font-size: 2rem; color: var(--th-blue); }

/* Check list items with inline links */
.th-check li span a { font-weight: 600; }
