.d4y-kb {
  --d4y-radius: 14px;
  --d4y-gap: 14px;

  background: var(--d4y-bg);
  color: var(--d4y-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.d4y-kb__header {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.d4y-kb__title {
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.2;
  margin: 0;
  color: var(--d4y-primary);
}

.d4y-kb__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-start; /* ✅ ikke space-between */
}

/* SØGEFELT – themesikkert, ikon som background */
.d4y-kb__search {
  position: relative !important;
  flex: 1 1 260px !important;
  max-width: 100% !important;
  width: 100% !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.d4y-kb__search-input {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;

  width: 100% !important;
  height: 44px !important;
  padding: 10px 44px 10px 12px !important;
  margin: 0 !important; /* ✅ fjerner evt. mobil theme-margin */

  border-radius: var(--d4y-radius) !important;
  border: 1px solid var(--d4y-border) !important;
  background-color: #fff !important;

  font-size: 15px !important;
  line-height: 1.2 !important;
  color: var(--d4y-text) !important;
  outline: none !important;

  transition: border 120ms ease, box-shadow 120ms ease, background 120ms ease;

  /* ✅ ikon som baggrund (kan ikke flyttes af temaet) */
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
  <circle cx='11' cy='11' r='8'/>\
  <line x1='21' y1='21' x2='16.65' y2='16.65'/>\
  </svg>");
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
}

.d4y-kb__search-input:focus {
  border-color: var(--d4y-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--d4y-accent) 18%, transparent) !important;
}

/* Undgå at temaers globale mobil-regler ændrer search input */
.d4y-kb__search-input::-webkit-search-decoration,
.d4y-kb__search-input::-webkit-search-cancel-button,
.d4y-kb__search-input::-webkit-search-results-button,
.d4y-kb__search-input::-webkit-search-results-decoration {
  -webkit-appearance: none !important;
}


.d4y-kb__search-icon {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  /* Reset alt temaet kan finde på */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
  line-height: 1 !important;
  font-size: 16px !important;

  color: var(--d4y-muted) !important;
  pointer-events: none !important;
  background: transparent !important;
  border: 0 !important;
}

.d4y-kb__view-toggle {
  display: inline-flex;
  background: var(--d4y-card-bg);
  border: 1px solid var(--d4y-border);
  border-radius: 999px;
  padding: 3px;
  gap: 4px;
  margin-left: auto;  /* ✅ skubber toggle til højre */
  flex: 0 0 auto;     /* ✅ ingen mærkelig udstrækning */
  margin-left: 0 !important;   /* ✅ drop desktop auto-margin */
  align-self: flex-start;      /* ✅ lige under søgning */
}

.d4y-view-btn {
  border: 0;
  background: transparent;
  padding: 7px 12px;
  font-size: 14px;
  border-radius: 999px;
  cursor: pointer;
  color: var(--d4y-muted);
  transition: background 120ms ease, color 120ms ease;
}

.d4y-view-btn.active {
  background: #fff;
  color: var(--d4y-primary);
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* Help Center kategori-overblik */
.d4y-kb__cats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: var(--d4y-gap);
  margin: 8px 0 16px;
}

.d4y-kb__cat {
  text-align: left;
  background: var(--d4y-card-bg);
  border: 1px solid var(--d4y-border);
  border-radius: calc(var(--d4y-radius) + 2px);
  padding: 14px;
  display: grid;
  gap: 8px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

.d4y-kb__cat:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--d4y-accent) 38%, var(--d4y-border));
  background: color-mix(in srgb, var(--d4y-card-bg) 85%, #fff);
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

.d4y-kb__cat.active {
  border-color: var(--d4y-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--d4y-accent) 16%, transparent);
  background: #fff;
}

.d4y-kb__cat-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--d4y-border);
  color: var(--d4y-primary);
  font-size: 20px;
}

.d4y-kb__cat-icon .dashicons {
  font-size: 22px;
  width: 22px;
  height: 22px;
}

.d4y-kb__cat-name {
  font-weight: 700;
  font-size: 15px;
  color: var(--d4y-primary);
}

.d4y-kb__cat-name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.d4y-kb__cat-count {
  font-size: 12px;
  font-weight: 700;
  color: var(--d4y-muted);
  background: #fff;
  border: 1px solid var(--d4y-border);
  padding: 2px 8px;
  border-radius: 999px;
  line-height: 1.6;
}

.d4y-kb__cat-desc {
  font-size: 13px;
  color: var(--d4y-muted);
  line-height: 1.4;
}

.d4y-kb__cat--all .d4y-kb__cat-icon {
  background: color-mix(in srgb, var(--d4y-accent) 10%, #fff);
  color: var(--d4y-accent);
}

/* Resultater */
.d4y-kb__results {
  display: block;
  gap: var(--d4y-gap);
}

.d4y-kb[data-view="grid"] .d4y-kb__results {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}

.d4y-kb[data-view="grid"] .d4y-kb__results {
  grid-template-columns: repeat(var(--d4y-grid-desktop), minmax(0, 1fr));
}

@media (max-width: 900px) {
  .d4y-kb[data-view="grid"] .d4y-kb__results {
    grid-template-columns: repeat(var(--d4y-grid-tablet), minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .d4y-kb[data-view="grid"] .d4y-kb__results {
    grid-template-columns: repeat(var(--d4y-grid-mobile), minmax(0, 1fr));
  }
}

.d4y-kb[data-view="list"] .d4y-kb__results {
  grid-template-columns: 1fr;
}

.d4y-kb__card {
  background: var(--d4y-card-bg);
  border: 1px solid var(--d4y-border);
  border-radius: var(--d4y-radius);
  padding: 14px;
  display: grid;
  gap: 8px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  animation: d4yFadeUp 220ms ease both;
}

@keyframes d4yFadeUp {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.d4y-kb__card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--d4y-accent) 40%, var(--d4y-border));
  background: color-mix(in srgb, var(--d4y-card-bg) 85%, #fff);
}

.d4y-kb__card-title {
  font-size: 16px;
  margin: 0;
  line-height: 1.3;
}

.d4y-kb__card-title a {
  color: var(--d4y-primary);
  text-decoration: none;
}

.d4y-kb__card-title a:hover {
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--d4y-accent) 70%, transparent);
}

.d4y-kb__back[hidden] { display: none !important; }

.d4y-kb__cat[hidden] { display: none !important; }

/* Tilbage-knap */
.d4y-kb__back {
  margin: 0 0 12px;
  border: 1px solid var(--d4y-border);
  background: #fff;
  color: var(--d4y-primary);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  width: fit-content;
  transition: border-color 120ms ease, transform 120ms ease, background 120ms ease;
  display: inline-flex;
  align-items: center;
}

.d4y-kb__back:hover {
  border-color: var(--d4y-accent);
  transform: translateY(-1px);
  background: color-mix(in srgb, var(--d4y-accent) 6%, #fff);
}

.d4y-kb__meta {
  font-size: 12px;
  color: var(--d4y-muted);
}

.d4y-kb__excerpt {
  font-size: 14px;
  color: var(--d4y-text);
  margin: 0;
}

.d4y-kb__hl {
  background: color-mix(in srgb, var(--d4y-accent) 18%, transparent);
  color: inherit;
  padding: 0 2px;
  border-radius: 4px;
}


.d4y-kb__readmore {
  font-size: 14px;
  color: var(--d4y-accent);
  text-decoration: none;
  font-weight: 600;
  align-self: start;
}

.d4y-kb__readmore:hover { text-decoration: underline; }

.d4y-kb__empty {
  padding: 18px;
  border: 1px dashed var(--d4y-border);
  border-radius: var(--d4y-radius);
  color: var(--d4y-muted);
  margin: 0;
}

.d4y-kb__empty--select {
  background: color-mix(in srgb, var(--d4y-card-bg) 70%, #fff);
  text-align: center;
  font-size: 14px;
}

/* Loading */
.d4y-kb__results.loading {
  opacity: 0.35;
  transform: translateY(2px);
  transition: opacity 160ms ease, transform 160ms ease;
  pointer-events: none;
}

/* Små skærme */
@media (max-width: 560px) {
  .d4y-kb__controls {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px; /* ✅ mindre og ensartet afstand */
  }

  .d4y-kb__cats { 
    grid-template-columns: 1fr;
  }
  .d4y-kb__cat { padding: 12px; }
}

@media (max-width: 560px) {
  .d4y-kb__search {
    height: auto !important;
    min-height: 0 !important;
  }

  .d4y-kb__search-input {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* === HARD MOBILE RESET for tema-overrides === */
@media (max-width: 560px) {

  /* 1) Forældre må ikke tvinge rækkehøjder */
  .d4y-kb__header,
  .d4y-kb__controls {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  /* 2) Søge-wrapper må aldrig være høj */
  .d4y-kb__search {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 60px !important; /* ✅ hårdt loft */
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 3) Input låses hårdt */
  .d4y-kb .d4y-kb__search-input[type="search"] {
    box-sizing: border-box !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 10px 44px 10px 12px !important;
  }

  /* 4) View-toggle må ikke skubbes ud */
  .d4y-kb__view-toggle {
    margin: 0 !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 560px) {
  .d4y-kb__view-toggle {
    display: none !important;
  }
}

/* Card height mode */
.d4y-kb__card {
  height: auto;
}

.d4y-kb[style*="--d4y-card-height-mode:fixed"] .d4y-kb__card {
  height: var(--d4y-card-height);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.d4y-kb[style*="--d4y-card-height-mode:fixed"] .d4y-kb__excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* Icon circle default */
.d4y-kb__cat-icon {
  background: color-mix(in srgb, var(--d4y-accent) 8%, #fff);
}

/* Gradient mode */
.d4y-kb[data-icon-gradient="1"] .d4y-kb__cat-icon {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--d4y-accent) 18%, #fff),
    color-mix(in srgb, var(--d4y-accent) 4%, #fff)
  );
}
