/* =========================================================
   Diatool Katalog - frontend
   Version: 1.5.0

   Farver
     --dtk-red       #D62B2B  Diatool rød: handlinger, valgt tilstand, snitlinjen
     --dtk-graphite  #24282C  tekst og forespørgsels-båndet
     --dtk-steel     #5E656C  sekundær tekst
     --dtk-line      #DADDDF  hairlines
     --dtk-concrete  #EEF0F0  billedflader
   Typografi
     Barlow Condensed (overskrifter, priser, knapper) + Barlow (brødtekst)

   Signatur: den røde "snitlinje" - en tynd rød streg, der skærer under
   kategorinavne i indekset og markerer valgt fane. Alt andet holdes roligt.
   Ingen skygger på kort, ingen badges, sentence case overalt.
   ========================================================= */

.dtk {
  --dtk-red: #D62B2B;
  --dtk-red-dark: #B42121;
  --dtk-graphite: #24282C;
  --dtk-graphite-2: #2F3438;
  --dtk-steel: #5E656C;
  --dtk-line: #DADDDF;
  --dtk-concrete: #EEF0F0;
  --dtk-white: #FFFFFF;
  --dtk-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --dtk-body: "Barlow", "Helvetica Neue", Arial, sans-serif;
  --dtk-wrap: 1360px;
  --dtk-gutter: clamp(1.1rem, 4vw, 3rem);
  --dtk-radius: 6px;
  --dtk-ease: cubic-bezier(.22, 1, .36, 1);

  font-family: var(--dtk-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--dtk-graphite);
  -webkit-font-smoothing: antialiased;
}

.dtk,
.dtk *,
.dtk *::before,
.dtk *::after { box-sizing: border-box; }

/* Temaer (fx Hello Elementor) styler p, li, input m.m. med egne fonte. */
.dtk :is(p, a, li, dl, dt, dd, span, label, input, select, textarea, button, legend) { font-family: inherit; }
.dtk :is(h1, h2, h3, h4) { font-family: var(--dtk-display); color: var(--dtk-graphite); margin: 0; letter-spacing: 0; text-transform: none; }
.dtk p { margin: 0; }
.dtk img { max-width: 100%; height: auto; display: block; }
.dtk a { color: inherit; text-decoration: none; }
.dtk ul, .dtk ol { list-style: none; margin: 0; padding: 0; }

/* Nulstil temaets knap-styling (Hello Elementor giver alle knapper en farvet ramme). */
.dtk button,
.dtk [type="button"],
.dtk [type="submit"] {
  appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  color: inherit;
  padding: 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
}
.dtk button:hover,
.dtk button:focus,
.dtk [type="submit"]:hover,
.dtk [type="submit"]:focus { background: none; color: inherit; }

.dtk :focus-visible { outline: 2px solid var(--dtk-red); outline-offset: 3px; }
.dtk [hidden] { display: none !important; }

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

.dtk-icon { width: 1.15em; height: 1.15em; flex: none; }

.dtk-wrap {
  max-width: var(--dtk-wrap);
  margin-inline: auto;
  padding-inline: var(--dtk-gutter);
}
.dtk-archive,
.dtk-single { padding-bottom: clamp(3rem, 7vw, 6rem); }
.dtk-embed { padding: 0; }

/* =========================================================
   Knapper og links
   ========================================================= */
.dtk .dtk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  min-height: 48px;
  padding: .55em 1.5em;
  border: 1px solid transparent;
  border-radius: 3px;
  font-family: var(--dtk-display);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  transition: background-color .15s, border-color .15s, color .15s;
}
.dtk .dtk-btn--lg { min-height: 56px; font-size: 1.35rem; padding-inline: 1.9em; }
.dtk .dtk-btn--primary { background: var(--dtk-red); color: var(--dtk-white); border-color: var(--dtk-red); }
.dtk .dtk-btn--primary:hover,
.dtk .dtk-btn--primary:focus-visible { background: var(--dtk-red-dark); border-color: var(--dtk-red-dark); color: var(--dtk-white); }
.dtk .dtk-btn--ghost { background: transparent; color: var(--dtk-graphite); border-color: var(--dtk-graphite); }
.dtk .dtk-btn--ghost:hover { background: var(--dtk-graphite); color: var(--dtk-white); }
.dtk .dtk-btn[disabled],
.dtk .dtk-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }

.dtk .dtk-textlink {
  color: var(--dtk-graphite);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--dtk-red);
  text-decoration-thickness: 2px;
  text-underline-offset: .3em;
}
.dtk .dtk-textlink:hover { color: var(--dtk-red); }

.dtk .dtk-iconbtn {
  display: inline-grid;
  place-items: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  color: var(--dtk-graphite);
}
.dtk .dtk-iconbtn:hover { background: var(--dtk-concrete); }
.dtk .dtk-iconbtn .dtk-icon { width: 22px; height: 22px; }

/* =========================================================
   Pris
   ========================================================= */
.dtk-price .woocommerce-Price-amount { white-space: nowrap; }
.dtk-price del { color: var(--dtk-steel); font-weight: 400; margin-right: .35em; }
.dtk-price ins { text-decoration: none; }
.dtk-price .dtk-price__from { font-weight: 500; }
.dtk-price .dtk-price__request { color: var(--dtk-steel); font-weight: 500; }
.dtk-price small,
.dtk-price .woocommerce-price-suffix { font-size: .72em; color: var(--dtk-steel); font-weight: 400; }

/* =========================================================
   Søgefelt og select
   ========================================================= */
.dtk .dtk-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.dtk .dtk-search input[type="search"] {
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: .6em 3.4em .6em 1.1em;
  border: 1px solid var(--dtk-graphite);
  border-radius: 3px;
  background: var(--dtk-white);
  color: var(--dtk-graphite);
  font-size: 1.05rem;
  -webkit-appearance: none;
}
.dtk .dtk-search input[type="search"]::placeholder { color: #7a8187; }
.dtk .dtk-search input[type="search"]:focus { outline: 2px solid var(--dtk-red); outline-offset: -1px; border-color: var(--dtk-red); }
.dtk .dtk-search .dtk-search__btn {
  position: absolute;
  right: 4px; top: 50%;
  transform: translateY(-50%);
  display: grid; place-items: center;
  width: 48px; height: 48px;
  color: var(--dtk-graphite);
}
.dtk .dtk-search .dtk-search__btn:hover { color: var(--dtk-red); }
.dtk .dtk-search__btn .dtk-icon { width: 22px; height: 22px; }

.dtk .dtk-search--small input[type="search"] { min-height: 46px; border-color: var(--dtk-line); font-size: 1rem; }
.dtk .dtk-search--small .dtk-search__btn { width: 40px; height: 40px; }

.dtk .dtk-select { display: inline-flex; align-items: center; gap: .6em; }
.dtk .dtk-select label { font-size: .95rem; color: var(--dtk-steel); white-space: nowrap; }
.dtk .dtk-select select {
  min-height: 46px;
  margin: 0;
  padding: .4em 2.4em .4em .9em;
  border: 1px solid var(--dtk-line);
  border-radius: 3px;
  background: var(--dtk-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324282C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .7em center / 16px;
  color: var(--dtk-graphite);
  font-size: 1rem;
  -webkit-appearance: none;
  appearance: none;
}
.dtk .dtk-select--block { display: block; }
.dtk .dtk-select--block select { width: 100%; min-height: 50px; }

/* =========================================================
   Brødkrumme
   ========================================================= */
.dtk-crumbs { padding-block: 1.5rem .5rem; font-size: .92rem; color: var(--dtk-steel); }
.dtk-crumbs ol { display: flex; flex-wrap: wrap; gap: .25em .5em; }
.dtk-crumbs li { display: inline-flex; align-items: center; gap: .5em; }
.dtk-crumbs li + li::before { content: "/"; color: #9aa0a5; }
.dtk-crumbs a { color: var(--dtk-steel); }
.dtk-crumbs a:hover { color: var(--dtk-red); }
.dtk-crumbs [aria-current="page"] { color: var(--dtk-graphite); }

/* =========================================================
   Lille topbanner (kategori- og produktsider)
   ========================================================= */
.dtk-topbanner { background: var(--dtk-graphite); color: #C9CED2; }
.dtk-topbanner { padding-top: var(--dtk-header-offset, 0px); }
.dtk-topbanner__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .6rem 2rem;
  min-height: clamp(5.5rem, 9vw, 7.5rem);
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
}
.dtk-topbanner .dtk-crumbs { font-size: 1rem; }
.dtk-topbanner .dtk-crumbs { padding: 0; min-width: 0; color: #C9CED2; }
.dtk-topbanner .dtk-crumbs li + li::before { color: #6B7279; }
.dtk .dtk-topbanner .dtk-crumbs a { color: #C9CED2; }
.dtk .dtk-topbanner .dtk-crumbs a:hover { color: var(--dtk-white); }
.dtk-topbanner .dtk-crumbs [aria-current="page"] { color: var(--dtk-white); }
.dtk .dtk-topbanner__link {
  flex: none;
  font-size: .95rem;
  font-weight: 500;
  color: var(--dtk-white);
  text-decoration: underline;
  text-decoration-color: var(--dtk-red);
  text-decoration-thickness: 2px;
  text-underline-offset: .35em;
}
.dtk .dtk-topbanner__link:hover { color: #FFD9D9; }
@media (max-width: 640px) {
  .dtk-topbanner .dtk-crumbs li:not(:nth-last-child(-n+2)) { display: none; }
  .dtk-topbanner .dtk-crumbs li:nth-last-child(2)::before { content: none; }
}

/* =========================================================
   Katalogforsiden: hoved + kategori-indeks
   ========================================================= */
.dtk-index { padding-top: clamp(2rem, 5vw, 4.5rem); }

.dtk-index__head {
  display: grid;
  gap: 1.75rem;
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}
@media (min-width: 960px) {
  .dtk-index__head {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: end;
    gap: 4rem;
  }
}
.dtk .dtk-index__title {
  font-size: clamp(3.4rem, 9.5vw, 8rem);
  font-weight: 700;
  line-height: .88;
  letter-spacing: -.012em;
}
.dtk-index__total {
  margin-top: 1rem !important;
  font-size: 1rem;
  color: var(--dtk-steel);
  font-variant-numeric: tabular-nums;
}
.dtk-index__intro { max-width: 46ch; margin-bottom: 1.25rem !important; color: var(--dtk-graphite); }

/* Kategorikasser: billedet i fokus */
.dtk-catgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
  gap: clamp(1.75rem, 3vw, 2.75rem) clamp(1rem, 2vw, 1.75rem);
}
.dtk-catcard { position: relative; display: flex; flex-direction: column; min-width: 0; }
.dtk-catcard__media {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--dtk-radius);
  background: var(--dtk-concrete);
  overflow: hidden;
}
.dtk-catcard__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 9%;
  mix-blend-mode: multiply;
  transition: transform .6s var(--dtk-ease);
}
.dtk-catcard:hover .dtk-catcard__media img,
.dtk-catcard:focus-within .dtk-catcard__media img { transform: scale(1.04); }
.dtk-catcard__noimg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 49.8%, var(--dtk-line) 49.8%, var(--dtk-line) 50.2%, transparent 50.2%);
}
/* Snitlinjen: skærer ind langs billedets underkant, når kassen er i fokus */
.dtk-catcard__cut {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 4px;
  background: var(--dtk-red);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s var(--dtk-ease);
}
.dtk-catcard:hover .dtk-catcard__cut,
.dtk-catcard:focus-within .dtk-catcard__cut { transform: scaleX(1); }

.dtk-catcard__body { padding-top: 1rem; }
.dtk .dtk-catcard__title {
  font-size: clamp(1.7rem, 2.4vw, 2.2rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.004em;
}
.dtk .dtk-catcard__link { color: var(--dtk-graphite); }
.dtk .dtk-catcard__link::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.dtk .dtk-catcard__link:focus-visible { outline: none; }
.dtk-catcard:has(.dtk-catcard__link:focus-visible) { outline: 2px solid var(--dtk-red); outline-offset: 6px; border-radius: 2px; }
.dtk-catcard:hover .dtk-catcard__link { color: var(--dtk-red); }
.dtk-catcard__count { margin-top: .3rem !important; font-size: .92rem; color: var(--dtk-steel); font-variant-numeric: tabular-nums; }
.dtk-catcard__subs {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem 1rem;
  margin-top: .8rem !important;
  padding-top: .75rem !important;
  border-top: 1px solid var(--dtk-line);
  font-size: .95rem;
}
.dtk .dtk-catcard__subs a { color: var(--dtk-graphite); padding-block: .15rem; }
.dtk .dtk-catcard__subs a:hover { color: var(--dtk-red); text-decoration: underline; text-underline-offset: .25em; }
.dtk .dtk-catcard__more { color: var(--dtk-steel) !important; }

/* =========================================================
   Sektionshoved (senest tilføjet, relaterede)
   ========================================================= */
.dtk-latest,
.dtk-related { padding-top: clamp(3.5rem, 7vw, 6rem); }
.dtk-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem 2rem;
  margin-bottom: 1.75rem;
}
.dtk .dtk-section-head__title { font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-weight: 600; line-height: 1.05; }

/* =========================================================
   Kategorihoved og faneblade
   ========================================================= */
.dtk-cathead { padding-top: clamp(1.75rem, 4vw, 3rem); padding-bottom: 1.5rem; }
.dtk-cathead__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 2rem;
}
.dtk .dtk-cathead__title {
  font-size: clamp(2.6rem, 6.5vw, 5.4rem);
  font-weight: 700;
  line-height: .92;
  letter-spacing: -.01em;
}
.dtk-cathead__count { color: var(--dtk-steel); font-variant-numeric: tabular-nums; }
.dtk-cathead__desc { max-width: 68ch; margin-top: 1.1rem; color: var(--dtk-graphite); }
.dtk-cathead__desc p + p { margin-top: .8em; }

.dtk-tabs {
  margin-top: 2rem;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: .25rem;
}
.dtk-tabs::-webkit-scrollbar { display: none; }
.dtk-tabs ul { display: flex; gap: .75rem; min-width: max-content; }
.dtk .dtk-tabs__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 72px;
  padding: .45rem 1.1rem .45rem .45rem;
  border: 1px solid var(--dtk-line);
  border-radius: var(--dtk-radius);
  background: var(--dtk-white);
  color: var(--dtk-graphite);
  white-space: nowrap;
  transition: border-color .15s;
}
.dtk-tabs__img {
  flex: none;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  background: var(--dtk-concrete);
  overflow: hidden;
}
.dtk-tabs__img img { width: 100%; height: 100%; object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.dtk-tabs__text { display: flex; flex-direction: column; line-height: 1.15; }
.dtk-tabs__name { font-family: var(--dtk-display); font-size: 1.25rem; font-weight: 600; }
.dtk-tabs__n { margin-top: .15rem; font-family: var(--dtk-body); font-size: .82rem; color: var(--dtk-steel); font-variant-numeric: tabular-nums; }
.dtk .dtk-tabs__item:hover { border-color: var(--dtk-graphite); }
.dtk .dtk-tabs__item:hover .dtk-tabs__name { color: var(--dtk-red); }
.dtk .dtk-tabs__item[aria-current="page"] { border-color: var(--dtk-red); box-shadow: inset 0 0 0 1px var(--dtk-red); }
.dtk .dtk-tabs__item[aria-current="page"] .dtk-tabs__name { color: var(--dtk-red); }
@media (max-width: 640px) {
  .dtk .dtk-tabs__item { min-height: 60px; gap: .6rem; padding-right: .9rem; }
  .dtk-tabs__img { width: 48px; height: 48px; }
  .dtk-tabs__name { font-size: 1.1rem; }
}

/* =========================================================
   Layout: sidekolonne + resultater
   ========================================================= */
.dtk-shell { display: grid; gap: 2rem; padding-top: 1.5rem; }
@media (min-width: 1000px) {
  .dtk-shell { grid-template-columns: 16.5rem minmax(0, 1fr); gap: 3.5rem; }
}

.dtk-side__bar { display: none; }
.dtk-side__block + .dtk-side__block { margin-top: 2.5rem; }
.dtk .dtk-side__title {
  font-size: 1.35rem;
  font-weight: 600;
  padding-bottom: .6rem;
  margin-bottom: .4rem;
  border-bottom: 1px solid var(--dtk-graphite);
}
.dtk-side__reset { display: inline-block; margin-top: 1rem; font-size: .95rem; }

.dtk-tree { font-size: .98rem; }
.dtk .dtk-tree a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .45rem 0;
  color: var(--dtk-graphite);
}
.dtk .dtk-tree a:hover { color: var(--dtk-red); }
.dtk .dtk-tree a[aria-current="page"] { color: var(--dtk-red); font-weight: 600; }
.dtk-tree__n { color: var(--dtk-steel); font-size: .85rem; font-variant-numeric: tabular-nums; font-weight: 400; }
.dtk-tree > li { border-bottom: 1px solid var(--dtk-line); }
.dtk-tree > li:last-child { border-bottom: 0; }
.dtk-tree > li.is-open > a { font-weight: 600; }
.dtk .dtk-tree--sub { margin: 0 0 .6rem .1rem; padding-left: .9rem; border-left: 1px solid var(--dtk-line); }
.dtk-tree--sub a { padding: .3rem 0; font-size: .95rem; }
.dtk-tree--sub > li { border: 0; }

/* Tjekbokse */
.dtk-checks { display: grid; gap: .1rem; }
.dtk .dtk-check {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .4rem 0;
  cursor: pointer;
  line-height: 1.4;
}
.dtk .dtk-check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; }
.dtk-check__box {
  flex: none;
  display: grid;
  place-items: center;
  width: 22px; height: 22px;
  border: 1px solid var(--dtk-steel);
  border-radius: 3px;
  background: var(--dtk-white);
  color: transparent;
}
.dtk-check__box .dtk-icon { width: 15px; height: 15px; stroke-width: 2.6; }
.dtk .dtk-check input:checked + .dtk-check__box { background: var(--dtk-red); border-color: var(--dtk-red); color: var(--dtk-white); }
.dtk .dtk-check input:focus-visible + .dtk-check__box { outline: 2px solid var(--dtk-red); outline-offset: 2px; }

/* Værktøjslinje */
.dtk-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  margin-bottom: 1.75rem;
}
.dtk-toolbar .dtk-search { flex: 1 1 16rem; max-width: 26rem; }
.dtk-toolbar .dtk-select { margin-left: auto; }
.dtk .dtk-toolbar__filters { display: none; min-height: 46px; font-size: 1.1rem; }

/* Mobil: sidekolonnen bliver en skuffe */
@media (max-width: 999px) {
  .dtk .dtk-toolbar__filters { display: inline-flex; }
  .dtk-toolbar .dtk-search { order: 3; flex-basis: 100%; max-width: none; }
  .dtk-side {
    position: fixed;
    z-index: 100000;
    top: 0; bottom: 0; left: 0;
    width: min(23rem, 88vw);
    padding: 0 1.25rem 2rem;
    background: var(--dtk-white);
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform .3s var(--dtk-ease);
    visibility: hidden;
  }
  .dtk-side.is-open { transform: none; visibility: visible; }
  .dtk-side__bar {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 -1.25rem 1.5rem;
    padding: .6rem .6rem .6rem 1.25rem;
    background: var(--dtk-white);
    border-bottom: 1px solid var(--dtk-line);
  }
  .dtk-side__bar-title { font-family: var(--dtk-display); font-size: 1.35rem; font-weight: 600; }
  .dtk-scrim {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(36, 40, 44, .5);
  }
}
.dtk-scrim[hidden] { display: none !important; }
body.dtk-noscroll { overflow: hidden; }

/* =========================================================
   Produktgrid og kort
   ========================================================= */
.dtk-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.25rem 1rem;
}
@media (min-width: 760px) {
  .dtk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.75rem 1.5rem; }
}
@media (min-width: 1280px) {
  .dtk-archive .dtk-grid:not(.dtk-grid--four) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .dtk-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.dtk-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.dtk-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: var(--dtk-radius);
  background: var(--dtk-concrete);
  overflow: hidden;
}
.dtk-card__media img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 9%;
  mix-blend-mode: multiply;
}
.dtk-card__noimg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, transparent 49.6%, var(--dtk-line) 49.6%, var(--dtk-line) 50.4%, transparent 50.4%);
}
.dtk-card__body { padding-top: 1rem; display: flex; flex-direction: column; gap: .2rem; flex: 1; }
.dtk-card__brand { font-size: .88rem; color: var(--dtk-steel); font-weight: 500; }
.dtk .dtk-card__title {
  font-size: clamp(1.2rem, 1.6vw, 1.4rem);
  font-weight: 600;
  line-height: 1.12;
}
.dtk .dtk-card__title a { color: var(--dtk-graphite); }
.dtk .dtk-card__title a::after { content: ""; position: absolute; inset: 0; }
.dtk-card:hover .dtk-card__title a { color: var(--dtk-red); }
.dtk-card:has(a:focus-visible) { outline: 2px solid var(--dtk-red); outline-offset: 6px; border-radius: 2px; }
.dtk .dtk-card__title a:focus-visible { outline: none; }
.dtk-card__meta { font-size: .86rem; color: var(--dtk-steel); font-variant-numeric: tabular-nums; }
.dtk-card__price {
  margin-top: auto !important;
  padding-top: .55rem;
  font-family: var(--dtk-display);
  font-size: 1.25rem;
  font-weight: 600;
}
.dtk-card__price .dtk-price__request { font-family: var(--dtk-body); font-size: .92rem; }

/* Sider */
.dtk-pages { margin-top: 3.5rem; }
.dtk-pages ul { display: flex; flex-wrap: wrap; gap: .4rem; }
.dtk .dtk-pages .page-numbers {
  display: inline-grid;
  place-items: center;
  min-width: 44px; height: 44px;
  padding: 0 .9rem;
  border: 1px solid var(--dtk-line);
  border-radius: 3px;
  font-variant-numeric: tabular-nums;
}
.dtk .dtk-pages a.page-numbers:hover { border-color: var(--dtk-graphite); }
.dtk .dtk-pages .current { background: var(--dtk-graphite); border-color: var(--dtk-graphite); color: var(--dtk-white); }
.dtk .dtk-pages .dots { border-color: transparent; }

/* Tom tilstand */
.dtk-empty {
  padding: 3rem clamp(1.25rem, 4vw, 3rem);
  border: 1px solid var(--dtk-line);
  border-radius: var(--dtk-radius);
  max-width: 44rem;
}
.dtk-empty > * + * { margin-top: .9rem !important; }
.dtk-empty__title { font-family: var(--dtk-display); font-size: 1.7rem; font-weight: 600; line-height: 1.15; }

/* =========================================================
   Produktside
   ========================================================= */
.dtk-product {
  display: grid;
  gap: 2rem;
  padding-top: clamp(1.5rem, 3.5vw, 2.75rem);
}
@media (min-width: 1000px) {
  .dtk-product {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    gap: clamp(3rem, 5vw, 5.5rem);
    align-items: start;
  }
}

/* Galleri */
.dtk-gallery { min-width: 0; }
@media (min-width: 1000px) {
  .dtk-gallery { position: sticky; top: 2rem; }
  .admin-bar .dtk-gallery { top: calc(2rem + 32px); }
}
.dtk-gallery__stage {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: var(--dtk-radius);
  background: var(--dtk-concrete);
  overflow: hidden;
}
.dtk .dtk-gallery__zoom { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.dtk-gallery__img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 8%;
  mix-blend-mode: multiply;
  transition: opacity .2s;
}
.dtk-gallery__img.is-swapping { opacity: 0; }
.dtk-gallery__placeholder {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, transparent 49.8%, var(--dtk-line) 49.8%, var(--dtk-line) 50.2%, transparent 50.2%);
}
.dtk-gallery__thumbs {
  display: flex;
  gap: .6rem;
  margin-top: .75rem;
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 3px;
}
.dtk .dtk-gallery__thumb {
  flex: none;
  width: 76px; height: 76px;
  border-radius: 4px;
  background: var(--dtk-concrete);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px transparent;
  transition: box-shadow .15s;
}
.dtk .dtk-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.dtk .dtk-gallery__thumb:hover { box-shadow: inset 0 0 0 1px var(--dtk-steel); }
.dtk .dtk-gallery__thumb[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--dtk-red); }

/* Info-kolonne */
.dtk-info { min-width: 0; padding-top: .25rem; }
.dtk-info__brand { font-size: 1rem; font-weight: 500; color: var(--dtk-steel); margin-bottom: .6rem !important; }
.dtk-info__brand a { color: var(--dtk-steel); text-decoration: underline; text-decoration-color: var(--dtk-line); text-underline-offset: .25em; }
.dtk-info__brand a:hover { color: var(--dtk-red); text-decoration-color: currentColor; }
.dtk .dtk-info__title {
  font-size: clamp(2.3rem, 4.4vw, 3.9rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.008em;
  text-wrap: balance;
}
.dtk-info__intro { margin-top: 1.25rem; max-width: 56ch; font-size: 1.08rem; color: var(--dtk-graphite); }
.dtk-info__intro p + p { margin-top: .75em; }

.dtk-info__buy {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--dtk-graphite);
}
.dtk-info__priceline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .4rem 1.5rem;
}
.dtk-info__price {
  font-family: var(--dtk-display);
  font-size: clamp(1.9rem, 3vw, 2.4rem);
  font-weight: 600;
  line-height: 1.1;
}
.dtk-info__price .dtk-price__request { font-size: .62em; font-weight: 500; }
.dtk-info__sku { font-size: .98rem; color: var(--dtk-steel); font-variant-numeric: tabular-nums; }
.dtk-info__sku span { color: var(--dtk-graphite); font-weight: 500; }

/* Varianter */
.dtk-variants { margin-top: 1.5rem; }
.dtk .dtk-axis { border: 0; margin: 0 0 1.25rem; padding: 0; min-width: 0; }
.dtk .dtk-axis__label {
  display: block;
  padding: 0;
  margin-bottom: .55rem;
  font-size: .98rem;
  font-weight: 600;
  color: var(--dtk-graphite);
}
.dtk-axis__opts { display: flex; flex-wrap: wrap; gap: .5rem; }
.dtk .dtk-opt { position: relative; cursor: pointer; }
.dtk .dtk-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.dtk .dtk-opt__face {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 3.2rem;
  padding: .35em 1em;
  border: 1px solid var(--dtk-line);
  border-radius: 3px;
  background: var(--dtk-white);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  transition: border-color .15s, color .15s, opacity .15s;
}
.dtk .dtk-opt:hover .dtk-opt__face { border-color: var(--dtk-graphite); }
.dtk .dtk-opt input:checked + .dtk-opt__face { border-color: var(--dtk-red); color: var(--dtk-red); box-shadow: inset 0 0 0 1px var(--dtk-red); }
.dtk .dtk-opt input:focus-visible + .dtk-opt__face { outline: 2px solid var(--dtk-red); outline-offset: 2px; }
.dtk .dtk-opt input:disabled + .dtk-opt__face { color: #9aa0a5; border-style: dashed; cursor: not-allowed; }
.dtk .dtk-opt input:disabled + .dtk-opt__face .dtk-opt__label { text-decoration: line-through; }

/* Værdier med billede: variantbillede til venstre for navnet */
.dtk .dtk-opt--img .dtk-opt__face {
  flex-direction: row;
  justify-content: flex-start;
  gap: .7rem;
  min-height: 56px;
  padding: .3rem 1rem .3rem .3rem;
}
.dtk-opt__img {
  flex: none;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 2px;
  background: var(--dtk-concrete);
  overflow: hidden;
}
.dtk-opt__img img { width: 100%; height: 100%; object-fit: contain; padding: 6%; mix-blend-mode: multiply; }
.dtk-opt--img .dtk-opt__label { font-size: 1rem; line-height: 1.2; text-align: left; white-space: nowrap; }
.dtk .dtk-opt--img input:disabled + .dtk-opt__face .dtk-opt__img { opacity: .4; }
/* Findes ikke sammen med de øvrige valg - kan vælges, så skiftes de andre valg */
.dtk .dtk-opt.is-unavailable .dtk-opt__face { border-style: dashed; color: #8A9096; }
.dtk .dtk-opt.is-unavailable .dtk-opt__img { opacity: .45; }

/* "Klik igen for at fravælge" - vises når aksen har et valg */
.dtk-axis__hint {
  margin-left: .6em;
  font-size: .85rem;
  font-weight: 400;
  color: var(--dtk-steel);
  opacity: 0;
  transition: opacity .2s;
}
.dtk-axis.has-value .dtk-axis__hint { opacity: 1; }
@media (hover: none) { .dtk-axis__hint { display: none; } }

.dtk-variants__msg { font-size: .95rem; color: var(--dtk-steel); }
.dtk-variants__msg.is-warning { color: var(--dtk-red-dark); }
.dtk .dtk-variants__reset { margin-top: .5rem; font-size: .92rem; }

/* Handlinger */
.dtk-info__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.75rem;
}
.dtk-cartform { display: flex; gap: .75rem; flex-wrap: wrap; }
.dtk .dtk-qty input {
  width: 5.5rem;
  min-height: 56px;
  margin: 0;
  padding: .4em .6em;
  border: 1px solid var(--dtk-line);
  border-radius: 3px;
  font-size: 1.1rem;
  text-align: center;
}
/* Genveje til fanerne - samme faneudtryk som fanerne under produktet */
.dtk-info__jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
  margin-top: 2rem;
  border-bottom: 1px solid var(--dtk-line);
}
.dtk .dtk-info__jump a {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: .35em;
  padding: .6rem 0 .7rem;
  font-family: var(--dtk-display);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--dtk-graphite);
  white-space: nowrap;
}
.dtk .dtk-info__jump a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 3px;
  background: var(--dtk-red);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s var(--dtk-ease);
}
.dtk .dtk-info__jump a:hover { color: var(--dtk-red); }
.dtk .dtk-info__jump a:hover::after { transform: scaleX(1); }
.dtk .dtk-info__jump a[aria-current="true"] { color: var(--dtk-red); }
.dtk .dtk-info__jump a[aria-current="true"]::after { transform: scaleX(1); }
@media (max-width: 640px) {
  .dtk-info__jump { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .dtk-info__jump::-webkit-scrollbar { display: none; }
}
.dtk-info__jump-n { font-family: var(--dtk-body); font-size: .8rem; color: var(--dtk-steel); font-variant-numeric: tabular-nums; }

/* Faner under produktet */
.dtk-ptabs { margin-top: clamp(3.5rem, 7vw, 6rem); scroll-margin-top: 1.5rem; }
.dtk-ptabs__bar { display: none; }
.dtk-ptabs.is-ready .dtk-ptabs__bar {
  display: flex;
  gap: 2.5rem;
  border-bottom: 1px solid var(--dtk-graphite);
  overflow-x: auto;
  scrollbar-width: none;
}
.dtk-ptabs__bar::-webkit-scrollbar { display: none; }
.dtk .dtk-ptabs__tab {
  position: relative;
  flex: none;
  display: inline-flex;
  align-items: baseline;
  gap: .4em;
  padding: .9rem 0 1rem;
  font-family: var(--dtk-display);
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 600;
  line-height: 1.1;
  color: var(--dtk-steel);
  white-space: nowrap;
}
.dtk .dtk-ptabs__tab:hover { color: var(--dtk-graphite); }
.dtk .dtk-ptabs__tab[aria-selected="true"] { color: var(--dtk-graphite); }
.dtk .dtk-ptabs__tab[aria-selected="true"]::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 3px;
  background: var(--dtk-red);
}
.dtk .dtk-ptabs__tab:focus-visible { outline-offset: -2px; }
.dtk-ptabs__n { font-family: var(--dtk-body); font-size: .85rem; font-weight: 500; color: var(--dtk-steel); font-variant-numeric: tabular-nums; }

.dtk-ptabs__panel { padding-top: 2.25rem; scroll-margin-top: 6rem; }
.dtk-ptabs__panel:focus-visible { outline-offset: 6px; }
/* Uden JS: panelerne står under hinanden med hairline imellem */
.dtk-ptabs:not(.is-ready) .dtk-ptabs__panel { border-top: 1px solid var(--dtk-graphite); }
.dtk-ptabs:not(.is-ready) .dtk-ptabs__panel + .dtk-ptabs__panel { margin-top: 3rem; }
/* Med JS: fanen bærer navnet - overskriften er kun til skærmlæsere */
.dtk-ptabs.is-ready .dtk-ptabs__title {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.dtk-ptabs .dtk-specs__list { max-width: 52rem; }
@media (min-width: 900px) {
  .dtk-ptabs .dtk-sheets__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 3rem; max-width: 64rem; border-top: 0; }
  .dtk-ptabs .dtk-sheets__list li:nth-child(-n+2) { border-top: 1px solid var(--dtk-line); }
}

/* Varianttabel */
.dtk-vtable__wrap { overflow-x: auto; }
.dtk .dtk-vtable { width: 100%; min-width: 560px; border-collapse: collapse; border: 0; margin: 0; font-size: 1rem; }
/* Temaer (fx Hello Elementor) giver tabeller rammer, stribede rækker og hover-farve - nulstil. */
.dtk .dtk-vtable :is(thead, tbody, tr) { border: 0; background: none; }
.dtk .dtk-vtable tbody tr:nth-child(odd) > td,
.dtk .dtk-vtable tbody tr:hover > td { background: none; }
.dtk .dtk-ptabs .dtk-vtable th {
  padding: .6rem 1rem .6rem 0;
  border: 0;
  border-bottom: 1px solid var(--dtk-graphite);
  background: none;
  text-align: left;
  font-size: .9rem;
  font-weight: 500;
  color: var(--dtk-steel);
}
.dtk .dtk-ptabs .dtk-vtable td {
  padding: .7rem 1rem .7rem 0;
  border: 0;
  border-bottom: 1px solid var(--dtk-line);
  background: none;
  vertical-align: middle;
}
.dtk-vtable tbody tr { transition: background-color .15s; }
.dtk-vtable tr.is-current .dtk-vtable__name { color: var(--dtk-red); }
.dtk-vtable tr.is-current .dtk-vtable__img { box-shadow: inset 0 0 0 2px var(--dtk-red); }
.dtk-vtable__variant { display: flex; align-items: center; gap: 1rem; }
.dtk-vtable__img { flex: none; width: 56px; height: 56px; border-radius: 4px; background: var(--dtk-concrete); overflow: hidden; }
.dtk-vtable__img img { width: 100%; height: 100%; object-fit: contain; padding: 7%; mix-blend-mode: multiply; }
.dtk-vtable__name { font-weight: 600; }
.dtk-vtable__sku { color: var(--dtk-steel); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dtk-vtable__price { font-family: var(--dtk-display); font-size: 1.2rem; font-weight: 600; white-space: nowrap; }
.dtk-vtable__price .dtk-price__request { font-family: var(--dtk-body); font-size: .9rem; }
.dtk .dtk-vtable td.dtk-vtable__act { text-align: right; padding-right: 0; }
.dtk .dtk-btn--sm { min-height: 38px; padding: .35em 1.1em; font-size: 1.05rem; }

.dtk .dtk-h2 { font-size: clamp(1.8rem, 2.6vw, 2.3rem); font-weight: 600; line-height: 1.05; margin-bottom: 1.25rem; }

.dtk-prose { max-width: 68ch; }
.dtk-prose > * + * { margin-top: 1em !important; }
.dtk-prose :is(h2, h3, h4) { font-weight: 600; line-height: 1.15; margin-top: 1.6em !important; }
.dtk-prose h2 { font-size: 1.7rem; }
.dtk-prose h3 { font-size: 1.4rem; }
.dtk .dtk-prose ul { list-style: disc; padding-left: 1.25em; }
.dtk .dtk-prose ol { list-style: decimal; padding-left: 1.25em; }
.dtk-prose li + li { margin-top: .35em; }
.dtk-prose li::marker { color: var(--dtk-red); }
.dtk-prose a { color: var(--dtk-graphite); text-decoration: underline; text-decoration-color: var(--dtk-red); text-underline-offset: .2em; }
.dtk-prose strong { font-weight: 600; }

.dtk-specs__list { margin: 0; border-top: 1px solid var(--dtk-line); }
.dtk-specs__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 1.25rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--dtk-line);
}
.dtk .dtk-specs__row dt { color: var(--dtk-steel); margin: 0; font-weight: 400; }
.dtk .dtk-specs__row dd { margin: 0; font-weight: 500; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

.dtk-sheets__list { border-top: 1px solid var(--dtk-line); }
.dtk-sheets__list li { border-bottom: 1px solid var(--dtk-line); }
.dtk .dtk-sheet {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .85rem 0;
  color: var(--dtk-graphite);
}
.dtk-sheet__type { display: grid; place-items: center; }
.dtk-fileicon { display: block; width: 2.5rem; height: 3rem; overflow: visible; }
.dtk-sheet__text { display: flex; flex-direction: column; min-width: 0; }
.dtk-sheet__label { font-weight: 500; line-height: 1.3; overflow-wrap: anywhere; }
.dtk-sheet__meta { font-size: .86rem; color: var(--dtk-steel); }
.dtk-sheet__icon { color: var(--dtk-steel); }
.dtk-sheet__icon .dtk-icon { width: 22px; height: 22px; }
.dtk .dtk-sheet:hover .dtk-sheet__label { color: var(--dtk-red); }
.dtk .dtk-sheet:hover .dtk-sheet__icon { color: var(--dtk-red); }

/* =========================================================
   Forespørgsel - mørkt bånd
   ========================================================= */
.dtk-inquiry {
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-block: clamp(3rem, 7vw, 6rem);
  background: var(--dtk-graphite);
  color: var(--dtk-white);
  scroll-margin-top: 1rem;
}
.dtk-inquiry:focus { outline: none; }
.dtk-inquiry__grid { display: grid; gap: 2.5rem; }
@media (min-width: 1000px) {
  .dtk-inquiry__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 6vw, 6rem); }
}
.dtk .dtk-inquiry__title {
  color: var(--dtk-white);
  font-size: clamp(2.4rem, 4.6vw, 4rem);
  font-weight: 700;
  line-height: .95;
}
.dtk-inquiry__lead { margin-top: 1.1rem !important; max-width: 42ch; color: #C9CED2; }
.dtk-inquiry__product {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #454B51;
}
.dtk-inquiry__thumb {
  flex: none;
  width: 72px; height: 72px;
  border-radius: 4px;
  background: var(--dtk-concrete);
  overflow: hidden;
}
.dtk-inquiry__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.dtk-inquiry__pname { font-family: var(--dtk-display); font-size: 1.35rem; font-weight: 600; line-height: 1.15; }
.dtk-inquiry__pmeta { color: #C9CED2; font-size: .95rem; margin-top: .2rem !important; }

.dtk-form__grid { display: grid; gap: 1.1rem 1.25rem; }
@media (min-width: 640px) {
  .dtk-form__grid { grid-template-columns: 1fr 1fr; }
  .dtk-field--full { grid-column: 1 / -1; }
}
.dtk .dtk-field label:not(.dtk-check) {
  display: block;
  margin-bottom: .4rem;
  font-size: .95rem;
  font-weight: 500;
  color: #E6E8EA;
}
.dtk-req { color: #FF7A7A; }
.dtk .dtk-field :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea) {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: .7em .9em;
  border: 1px solid #50575E;
  border-radius: 3px;
  background: var(--dtk-graphite-2);
  color: var(--dtk-white);
  font-size: 1.02rem;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color .15s;
}
.dtk .dtk-field textarea { min-height: 9rem; resize: vertical; }
.dtk .dtk-field :is(input, textarea)::placeholder { color: #8E959B; }
.dtk .dtk-field :is(input, textarea):hover { border-color: #737B83; }
.dtk .dtk-field :is(input, textarea):focus { outline: 2px solid var(--dtk-red); outline-offset: 0; border-color: var(--dtk-red); }
.dtk .dtk-field.has-error :is(input, textarea) { border-color: #FF7A7A; }
.dtk-field__error { margin-top: .4rem !important; font-size: .9rem; color: #FFB3B3; }

.dtk-inquiry .dtk-check { color: #E6E8EA; font-size: .95rem; }
.dtk-inquiry .dtk-check a { color: var(--dtk-white); text-decoration: underline; text-underline-offset: .2em; }
.dtk-inquiry .dtk-check__box { background: var(--dtk-graphite-2); border-color: #737B83; }
.dtk-inquiry .dtk-field.has-error .dtk-check__box { border-color: #FF7A7A; }

.dtk-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.75rem; }
.dtk-form__note { font-size: .9rem; color: #A9AFB5; }
.dtk-form__alert {
  margin-bottom: 1.25rem !important;
  padding: .85rem 1rem;
  border-left: 3px solid #FF7A7A;
  background: rgba(255, 122, 122, .1);
  color: #FFD6D6;
}
.dtk .dtk-btn.is-loading { pointer-events: none; opacity: .75; }
.dtk .dtk-btn.is-loading::after {
  content: "";
  width: 1em; height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: dtk-spin .7s linear infinite;
}
@keyframes dtk-spin { to { transform: rotate(360deg); } }

.dtk-inquiry__done {
  padding: 2rem 0;
  border-top: 3px solid var(--dtk-red);
}
.dtk-inquiry__done:focus { outline: none; }
.dtk-inquiry__done-title { font-family: var(--dtk-display); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.1; margin-bottom: .6rem !important; }
.dtk-inquiry__done p:not(.dtk-inquiry__done-title) { color: #C9CED2; max-width: 52ch; }

.dtk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* =========================================================
   Sticky handlingsbar (mobil)
   ========================================================= */
.dtk-sticky {
  position: fixed;
  z-index: 9990;
  left: 0; right: 0; bottom: 0;
  padding: .7rem var(--dtk-gutter) calc(.7rem + env(safe-area-inset-bottom));
  background: var(--dtk-white);
  border-top: 1px solid var(--dtk-line);
  transform: translateY(100%);
  transition: transform .25s var(--dtk-ease);
}
.dtk-sticky.is-visible { transform: none; }
.dtk-sticky[hidden] { display: none; }
.dtk-sticky__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: var(--dtk-wrap); margin-inline: auto; }
.dtk-sticky__text { min-width: 0; }
.dtk-sticky__name { font-weight: 500; font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dtk-sticky__price { font-family: var(--dtk-display); font-size: 1.2rem; font-weight: 600; line-height: 1.1; }
.dtk-sticky__price .dtk-price__request { font-family: var(--dtk-body); font-size: .85rem; }
@media (min-width: 1000px) { .dtk-sticky { display: none !important; } }

/* =========================================================
   Lightbox
   ========================================================= */
.dtk-lightbox {
  /* Centreres selv - uafhængigt af temaets dialog-styling */
  position: fixed;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  max-width: 94vw;
  max-height: 92vh;
  padding: 0;
  border: 0;
  border-radius: var(--dtk-radius);
  background: var(--dtk-white);
  overflow: hidden;
}
.dtk-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.dtk-lightbox::backdrop { background: rgba(36, 40, 44, .88); }
.dtk .dtk-lightbox img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(1100px, calc(94vw - 4rem));
  max-height: calc(92vh - 4rem);
  margin: 2rem;
  padding: 0;
  object-fit: contain;
}
.dtk .dtk-lightbox__close { position: absolute; top: .5rem; right: .5rem; background: var(--dtk-white); }

/* =========================================================
   Bevægelse
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .dtk *, .dtk *::before, .dtk *::after { transition: none !important; animation: none !important; }
  .dtk-index__img { transform: none !important; }
}

/* AJAX-indlæsning af resultater */
.dtk-results__body { transition: opacity .2s; }
.dtk-results__body.is-loading { opacity: .4; pointer-events: none; }

/* Kategorikasser på mobil: to pr. række, underkategorierne vises på kategorisiden */
@media (max-width: 640px) {
  .dtk-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem .9rem; }
  .dtk-catcard__media { aspect-ratio: 1 / 1; }
  .dtk-catcard__body { padding-top: .7rem; }
  .dtk .dtk-catcard__title { font-size: 1.3rem; line-height: 1.08; }
  .dtk-catcard__count { font-size: .85rem; }
  .dtk-catcard__subs { display: none; }
}
