

/* ── Breadcrumb ── */
.bc{font-size:.75rem;color:var(--muted);margin-bottom:1rem;padding:.35rem 0}
.bc ol{display:flex;flex-wrap:wrap;gap:.2rem;list-style:none}
.bc li+li::before{content:"›";margin-right:.2rem}
.bc a{color:var(--muted)}
.bc a:hover{color:var(--accent)}

/* ── Page title ── */
.pg-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}
@media(min-width:480px){.pg-title{font-size:1.35rem}}
.pg-sub{font-size:.875rem;color:var(--ink2);margin-bottom:1rem;max-width:58ch}

/* ── Stats bar ── */
.stats{
  display:flex;flex-wrap:wrap;gap:.25rem .75rem;
  font-size:.775rem;color:var(--muted);
  padding:.6rem 0;margin-bottom:.75rem;
}
.stats strong{color:var(--ink)}

/* ── Suchbox — prominent ── */
.search-hero{
  position:relative;margin:0 0 .85rem 0;
}
.search-hero .srch-icon{
  position:absolute;left:.85rem;top:50%;transform:translateY(-50%);
  width:18px;height:18px;color:var(--faint);pointer-events:none;
}
#search{
  width:100%;font:inherit;font-size:1rem;
  min-height:52px;padding:.85rem 3rem .85rem 2.6rem;
  border:1.5px solid var(--rule);border-radius:10px;
  background:var(--bg);color:var(--ink);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:border-color .12s,box-shadow .12s;
}
#search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,78,216,.12)}
#search::placeholder{color:var(--faint)}
.srch-submit{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.srch-submit:focus-visible{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible;
  font:inherit;font-size:.8rem;font-weight:700;padding:.35rem .7rem;border-radius:8px;
  background:var(--accent);color:#fff;cursor:pointer;outline:2px solid var(--accent2);outline-offset:2px}
.srch-clear{
  position:absolute;right:2.3rem;top:50%;transform:translateY(-50%);
  display:none;background:none;border:0;cursor:pointer;
  color:var(--faint);font-size:1.4rem;line-height:1;
  width:32px;height:32px;border-radius:50%;
}
.srch-clear:hover{background:var(--rule2);color:var(--ink)}
.srch-spin{
  position:absolute;right:.8rem;top:50%;transform:translateY(-50%);
  width:18px;height:18px;display:none;
}
.srch-spin.on{display:block;animation:spin .8s linear infinite}
.srch-spin circle{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:38;stroke-linecap:round}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}

/* ── Did-you-mean ── */
.dym{
  background:var(--accent-bg);border:1px solid var(--rule);
  border-radius:8px;padding:.6rem .85rem;font-size:.85rem;
  margin-bottom:.85rem;color:var(--ink2);
}
.dym a{font-weight:700}

/* ── Aktive Filter-Chips ── */
.active-filters{
  display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;
  margin-bottom:.65rem;padding:.5rem .75rem;
  background:var(--bg2);border-radius:8px;
  border:1px solid var(--rule);
}
.af-label{font-size:.7rem;font-weight:700;color:var(--muted);
          text-transform:uppercase;letter-spacing:.05em;margin-right:.15rem}
.filter-chip{
  display:inline-flex;align-items:center;gap:.25rem;
  font-size:.75rem;font-weight:600;
  padding:.3em .65em;border-radius:14px;
  background:var(--bg2);color:var(--accent);
  border:1px solid var(--rule);text-decoration:none;
  transition:background .1s,border-color .1s;
  touch-action:manipulation;
}
.filter-chip:hover{background:var(--accent-bg);border-color:#93c5fd;text-decoration:none;color:var(--accent)}
.filter-chip:visited{color:var(--accent)}
.filter-chip--clear{
  background:transparent;color:var(--muted);
  border-color:var(--rule);font-weight:500;
}
.filter-chip--clear:hover{background:var(--rule);color:var(--ink2)}
.filter-chip--clear:visited{color:var(--muted)}

/* ── Filter-Sektion (klappbar) ── */
.filters{
  margin-bottom:.85rem;
  border:1px solid var(--rule);border-radius:10px;
  background:var(--bg);
  overflow:hidden;
}
.filters > summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 1rem;font-size:.85rem;font-weight:600;color:var(--ink2);
  min-height:44px;
  user-select:none;
}
.filters > summary::-webkit-details-marker{display:none}
.filters > summary::after{
  content:"";width:10px;height:10px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:rotate(45deg);transition:transform .15s;
}
.filters[open] > summary::after{transform:rotate(-135deg);margin-bottom:-3px}
.filters > summary:hover{background:var(--bg2)}
.filters-body{padding:.5rem 1rem 1rem}
.filter-group{margin-bottom:.85rem}
.filter-group:last-child{margin-bottom:0}
.filter-group-title{
  font-size:.7rem;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;
}

.pills{display:flex;flex-wrap:wrap;gap:.3rem}
.pill{
  display:inline-flex;align-items:center;
  min-height:36px;padding:.2em .75em;
  font-size:.72rem;font-weight:600;letter-spacing:.02em;
  border-radius:18px;border:1px solid var(--rule);
  color:var(--ink2);background:var(--bg);
  cursor:pointer;font-family:inherit;line-height:1.4;
  transition:background .1s,border-color .1s,color .1s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.pill[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ── Such-Bereich-Tabs: Verzeichnis-Einträge vs. ganze Website (Google CSE) ── */
.search-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.1rem 0 1rem}
.search-tab{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.4rem .9rem;
  font-size:.82rem;font-weight:600;border-radius:9px;border:1px solid var(--rule);
  color:var(--ink2);background:var(--bg2);cursor:pointer;font-family:inherit;
  transition:background .12s,border-color .12s,color .12s;-webkit-tap-highlight-color:transparent}
.search-tab:hover{border-color:var(--accent);color:var(--accent)}
.search-tab[aria-selected="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.search-tab .st-cnt{font-weight:500;opacity:.75}
/* Google-CSE ans dunkle Website-Theme angepasst: Glas-Karte + Override der gsc-/gs-Klassen */
.cse-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:14px;
  padding:1.1rem 1.1rem 1.3rem;margin:.2rem 0 0;box-shadow:0 14px 40px rgba(0,0,0,.45);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cse-card .gsc-control-cse{background:transparent!important;border:0!important;padding:0!important}
.cse-card .gsc-control-cse,.cse-card .gsc-control-cse *{font-family:inherit!important;color:var(--ink)}
/* Suchfeld */
.cse-card form.gsc-search-box,.cse-card table.gsc-search-box,.cse-card table.gsc-search-box td{margin:0!important;border:0!important;background:transparent!important}
.cse-card .gsc-input-box{background:rgba(255,255,255,.06)!important;border:1.5px solid rgba(255,255,255,.16)!important;border-radius:10px!important;box-shadow:none!important}
.cse-card .gsc-input-box-focus,.cse-card .gsc-input-box-hover{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(255,122,60,.18)!important}
.cse-card .gsc-input .gsc-input-box .gsib_a{padding:7px 9px 7px 11px!important}
.cse-card input.gsc-input{background:transparent!important;color:var(--ink)!important;text-indent:0!important;box-shadow:none!important}
.cse-card input.gsc-input::placeholder{color:var(--muted)!important}
/* Such-/Clear-Buttons (v2 = moderne SVG-Lupe; ältere Bild-Variante als Fallback) */
.cse-card .gsc-search-button-v2{background:var(--accent)!important;border:1px solid var(--accent)!important;border-radius:10px!important;padding:11px 18px!important}
.cse-card .gsc-search-button-v2:hover{background:#ff8a4c!important;border-color:#ff8a4c!important}
.cse-card .gsc-search-button-v2 svg{fill:#fff!important}
.cse-card input.gsc-search-button{background:var(--accent)!important;border-color:var(--accent)!important;border-radius:10px!important}
.cse-card .gsc-clear-button{background:transparent!important;color:var(--muted)!important}
/* Ergebnisbereich */
.cse-card .gsc-results-wrapper-overlay,.cse-card .gsc-results-wrapper-nooverlay,.cse-card .gsc-results,.cse-card .gsc-result{background:transparent!important;border:0!important;box-shadow:none!important}
.cse-card .gsc-above-wrapper-area{border-bottom:1px solid rgba(255,255,255,.1)!important}
.cse-card .gsc-result-info{color:var(--muted)!important}
.cse-card .gsc-webResult.gsc-result{border-bottom:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;padding:.85rem .2rem!important}
.cse-card .gsc-webResult.gsc-result:hover{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.1)!important}
.cse-card .gs-title,.cse-card a.gs-title,.cse-card a.gs-title b,.cse-card .gs-title *{color:var(--accent)!important;text-decoration:none!important}
.cse-card a.gs-title:hover,.cse-card a.gs-title:hover b{text-decoration:underline!important}
.cse-card .gs-snippet,.cse-card .gsc-table-result,.cse-card .gs-bidi-start-align{color:var(--ink2,#b9bed4)!important}
.cse-card .gs-visibleUrl,.cse-card .gs-visibleUrl-long,.cse-card .gs-visibleUrl-short,.cse-card .gsc-url-top{color:var(--accent2,#2dd4bf)!important}
/* Sortierung (Relevanz/Datum) — Label + Auslöser */
.cse-card .gsc-orderby-label,.cse-card .gsc-orderby-container,.cse-card .gsc-selected-option-container,.cse-card .gsc-selected-option{color:var(--muted)!important;background:transparent!important;border-color:rgba(255,255,255,.16)!important}
/* Sortier-Dropdown-POPUP („Sortieren nach" → Relevance/Datum); CSE-eigene Klassen → global, alle Zustände */
.gsc-option-menu-invisible,.gsc-option-menu-visible,.gsc-option-menu{background:#16171a!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:8px!important;box-shadow:0 16px 44px rgba(0,0,0,.55)!important;padding:.25rem 0!important}
.gsc-option-menu-item{background:#16171a!important;border:0!important;padding:.4rem .8rem!important}
.gsc-option-menu-item:hover,.gsc-option-menu-item-highlighted{background:rgba(255,122,60,.2)!important}
.gsc-option-menu-item .gsc-option,.gsc-option-selector{color:#eef0f8!important}
/* Seitenzahlen */
.cse-card .gsc-cursor-box{border-top:1px solid rgba(255,255,255,.1)!important;padding-top:.6rem!important}
.cse-card .gsc-cursor-page{color:var(--muted)!important}
.cse-card .gsc-cursor-current-page{color:var(--accent)!important;font-weight:700!important}
/* „Find more on Google" + Branding lesbar lassen */
.cse-card .gcsc-find-more-on-google{color:var(--muted)!important}
.cse-card .gcsc-find-more-on-google-magnifier{fill:var(--muted)!important}
.cse-card .gsc-branding-text,.cse-card .gsc-branding-clickable{color:var(--faint,#6f7593)!important}
/* Autocomplete-Vorschläge (an <body> gehängt → global, nicht .cse-card-scoped) */
.gsc-completion-container{background:#16171a!important;border:1px solid rgba(255,255,255,.16)!important;color:#eef0f8!important;box-shadow:0 14px 40px rgba(0,0,0,.5)!important}
.gsc-completion-container td,.gsc-completion-container .gsc-completion-snippet{color:#eef0f8!important}
.gsc-completion-selected,.gsc-completion-container tr:hover{background:rgba(255,122,60,.2)!important}
.cse-hint{color:var(--muted);font-size:.84rem;margin:.2rem 0 .8rem}
/* Einwilligungs-Schranke vor dem Laden der Google-Suche */
.cse-consent{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.1rem 1.2rem 1.2rem;margin:.2rem 0 0;max-width:760px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cse-consent-txt{color:var(--ink2,#b9bed4);font-size:.86rem;line-height:1.6;margin:0 0 .95rem}
.cse-consent-txt a{color:var(--accent2,#2dd4bf);text-decoration:underline}
.cse-consent-row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.1rem}
.cse-consent-btn{font:inherit;font-size:.9rem;font-weight:700;color:#fff;background:var(--accent);border:0;border-radius:10px;padding:.7rem 1.35rem;cursor:pointer;min-height:44px;transition:background .15s,transform .15s}
.cse-consent-btn:hover{background:#ff8a4c}
.cse-consent-remember{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted);cursor:pointer}

/* ── Controls (Sortierung + Counter) ── */
.controls{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  margin-bottom:1rem;
}
/* Das Sortier-Formular ist nur eine Hülle um das Auswahlfeld — es soll die Leiste
   nicht in eine zusätzliche Ebene zerlegen. */
.sortform{display:inline-flex;align-items:center;gap:.4rem;margin:0}
#sort{
  font:inherit;font-size:.8rem;
  /* gleiche Höhe und Rundung wie das Sprungfeld daneben — sonst steht die Leiste schief */
  min-height:36px;padding:.4rem 1.6rem .4rem .7rem;
  border:1px solid var(--rule);border-radius:9px;
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7280' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right .4rem center;
  -webkit-appearance:none;appearance:none;color:var(--ink2);cursor:pointer;
}
#sort:focus{outline:2px solid rgba(255,255,255,.45);outline-offset:0}
/* ── Sprung zu einer Seitenzahl ──
   Gleiche Chip-Formensprache wie die Aktionen auf den Karten. Steht in beiden Leisten:
   oben neben der Sortierung, unten neben den Seitenknöpfen. */
.pag-jump{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}
.pj-lbl{white-space:nowrap}
.pj-in{
  font:inherit;font-size:.8rem;font-variant-numeric:tabular-nums;text-align:center;
  width:3.4rem;height:36px;padding:.2rem .3rem;
  color:var(--ink);background:rgba(255,255,255,.04);
  border:1px solid var(--rule);border-radius:9px;
  -moz-appearance:textfield;appearance:textfield;
}
.pj-in::-webkit-outer-spin-button,.pj-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pj-in:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.pj-of{white-space:nowrap}
.pj-go{
  font:inherit;font-size:.75rem;font-weight:700;line-height:1;
  height:36px;padding:0 .8rem;cursor:pointer;
  color:var(--accent);background:transparent;
  border:1px solid var(--rule);border-radius:9px;
  transition:border-color .18s,background .18s,color .18s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.pj-go:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--ink)}
@media(pointer:coarse){.pj-in,.pj-go{height:44px}#sort{min-height:44px}}
/* In der unteren Leiste sind die Seitenknöpfe 2,75 rem hoch — das Sprungfeld zieht mit. */
.pag .pj-in,.pag .pj-go{height:2.75rem}
/* Auf schmalen Geräten wandert der Sprung in eine eigene Zeile, statt die Leiste zu sprengen. */
@media(max-width:520px){.pag-jump{width:100%;order:3}}

.cnt{font-size:.78rem;color:var(--muted);margin-left:auto}
.cnt strong{color:var(--ink)}

/* ── Entry list — Karten-Grid ── */
.elist{
  list-style:none;
  display:flex;flex-direction:column;
  gap:16px;
  padding:0;margin:0;
}
@media(min-width:600px){.elist{gap:20px}}
@media(min-width:1024px){.elist{gap:24px}}
.elist.is-loading{opacity:.55;pointer-events:none;transition:opacity .12s}

/* ══ Entry-Karte — Mobile-First ══════════════════════════════════════════════
   Aufbau: zweispaltiges Raster aus fester Schiene (Münze bzw. Platte) und Textkörper.
   Die feste Schienenbreite ist der Punkt: dadurch fluchten die Namen über alle 100
   Karten einer Seite hinweg, und die Liste bleibt auch bei vielen Einträgen lesbar.
   Der Textkörper stapelt in fester Reihenfolge — Kopf, Meta, (Kontext), Aktionen, Fuß.
   Jede Karte hat eine gedeckelte Höhe: der Kontext ist auf vier Zeilen begrenzt und
   nur auf Wunsch ganz zu sehen. */
.entry{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  column-gap:.85rem;row-gap:.55rem;
  align-items:start;
  padding:1rem;
  background:var(--bg2);
  border:1px solid var(--rule);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  content-visibility:auto;
  contain-intrinsic-size:auto 190px;
}
/* Hervorgehobene Einträge zeigen die Platte. Bis 1100 px läuft sie als flaches Band über
   die volle Kartenbreite: eine Seitenschiene lohnt sich erst, wenn der Textkörper daneben
   breit genug ist, sonst steht die Platte in einer halbleeren Spalte. */
.entry[data-feat]{grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){
  .entry{grid-template-columns:76px minmax(0,1fr);column-gap:1.15rem;padding:1.15rem 1.25rem}
}
@media(min-width:1024px){
  .entry{grid-template-columns:88px minmax(0,1fr);padding:1.2rem 1.4rem;
         transition:border-color .2s,background .2s,box-shadow .2s}
}
@media(min-width:1100px){
  .entry[data-feat]{grid-template-columns:224px minmax(0,1fr)}
}

.entry-rail{display:flex;align-items:flex-start;justify-content:center;min-width:0}
@media(min-width:1100px){
  .entry[data-feat] .entry-rail{align-self:stretch;align-items:center}
  /* Aufgeklappter Text macht die Karte sehr hoch — dann steht die Platte oben,
     statt in der Mitte einer langen Spalte zu schweben. */
  .entry[data-feat]:has(.ctx-tog:checked) .entry-rail{align-items:flex-start}
}
.entry-body{display:flex;flex-direction:column;gap:.5rem;min-width:0}

/* ── Kopfzeile: Name und Abzeichen links, Datum fest rechts ──
   Zwei Ebenen, damit das Datum am rechten Rand der ERSTEN Zeile stehen bleibt: bei einer
   einzigen Flex-Reihe rutscht es umgebrochen unter die Abzeichen. */
.entry-head{display:flex;align-items:flex-start;gap:.35rem 1rem;min-width:0}
.entry-title{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;min-width:0;flex:1 1 auto}
.entry-name{
  font-weight:700;font-size:1rem;letter-spacing:-.012em;color:var(--ink);
  line-height:1.35;min-width:0;overflow-wrap:anywhere;
}
.entry-date{
  flex-shrink:0;margin-top:.18rem;
  font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;
}

/* ── Meta-Zeile: Domain · Kategorie · Kat.-Wunsch · Land ── */
.entry-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .45rem;
  font-size:.78rem;color:var(--muted);min-width:0;
}
.entry-meta .em-host{color:var(--ink2);font-weight:600;overflow-wrap:anywhere}
.entry-meta .em-sep{color:var(--rule);user-select:none}

/* ── Kontext: vier Zeilen, per CSS aufklappbar (kein JavaScript) ── */
.entry-ctx{position:relative;max-width:74ch}
.ctx-text{
  margin:0;font-size:.83rem;line-height:1.62;color:var(--ink2);
  overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:4;line-clamp:4;
}
.ctx-tog{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}
.ctx-tog:checked ~ .ctx-text{display:block;overflow:visible;-webkit-line-clamp:none;line-clamp:none}
.ctx-more{
  display:inline-flex;align-items:center;min-height:32px;margin-top:.15rem;
  font-size:.76rem;font-weight:600;color:var(--accent);cursor:pointer;
  border-bottom:1px solid transparent;
}
.ctx-more:hover{border-bottom-color:currentColor}
.ctx-tog:focus-visible ~ .ctx-more{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.cm-b{display:none}
.ctx-tog:checked ~ .ctx-more .cm-a{display:none}
.ctx-tog:checked ~ .ctx-more .cm-b{display:inline}

/* ── Aktionszeile: gleichrangige Chips, ein hervorgehobener Weg ── */
.entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.ea{
  display:inline-flex;align-items:center;gap:.4rem;
  min-height:36px;padding:.35rem .7rem;
  font-size:.755rem;font-weight:600;line-height:1;
  color:var(--ink2);text-decoration:none;
  border:1px solid var(--rule);border-radius:9px;background:transparent;
  transition:border-color .18s,background .18s,color .18s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.ea:hover{color:var(--ink);border-color:var(--accent);text-decoration:none}
.ea svg{flex-shrink:0;opacity:.65}
.ea:hover svg{opacity:1}
.ea--primary{color:var(--accent);border-color:var(--accent);font-weight:700}
.ea--primary:hover{background:var(--accent-bg)}
@media(pointer:coarse){.ea{min-height:44px;padding:.5rem .85rem}}
@media(max-width:479px){.ea--primary{width:100%;justify-content:center}}

/* ── Fuß: Meldeweg. Rechtlich nötig, aber kein Haupt-Handlungsangebot —
      deshalb rahmenlos, gedämpft und durch eine Haarlinie abgesetzt. ── */
.entry-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .6rem;
  padding-top:.6rem;border-top:1px solid var(--rule);
}

.badge{
  display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;letter-spacing:.01em;
  padding:.16em .55em;border-radius:6px;
  background:var(--badge-bg);color:var(--badge-fg);
  white-space:nowrap;max-width:14rem;overflow:hidden;text-overflow:ellipsis;
}

/* Tier-Karten tragen KEINE farbigen Rahmen/Streifen mehr (Design-Entscheid 2026-07-03):
   einheitliche Karte mit dezentem hellem Rahmen; die Tier-Kennzeichnung übernimmt das Badge. */

.badge-featured{
  display:inline-flex;align-items:center;font-size:.63rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:.2em .55em;border-radius:6px;
  background:var(--amber-bg);color:var(--amber);white-space:nowrap;
}
.badge-tier{
  display:inline-flex;align-items:center;gap:.28em;font-size:.63rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:.2em .55em;border-radius:6px;white-space:nowrap;
}
/* distinktes Tier-Emblem inline (Medaille/Schild/Krone/Rosette/Brillant) */
.tier-emb{display:inline-flex;width:1.2em;height:1.2em;vertical-align:-.22em;flex-shrink:0}
.tier-emb svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 2px currentColor)}
.tier-pill .tier-emb{margin-right:.1em}

.btn-report{
  display:inline-flex;align-items:center;gap:.35rem;
  font-family:inherit;font-size:.72rem;font-weight:500;
  min-height:44px;padding:.3rem .5rem .3rem 0;
  border:0;border-radius:6px;background:none;color:var(--muted);
  cursor:pointer;transition:color .15s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.btn-report:hover{color:var(--ink2);text-decoration:underline}
.btn-report svg{flex-shrink:0;opacity:.7}
.entry-report-legal{font-size:.7rem;color:var(--muted)}

.no-results{
  padding:2rem 1rem;background:var(--bg2);border:1px dashed var(--rule);
  border-radius:var(--radius);
  color:var(--muted);font-size:.9rem;text-align:center;margin-bottom:1rem;
}
.no-results strong{color:var(--ink2);display:block;margin-bottom:.5rem;font-size:.95rem}
.no-results a{color:var(--accent);font-weight:600}
.no-results-hints{
  margin-top:.85rem;font-size:.8rem;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center;
}
.no-results-hints .filter-chip{background:var(--bg2)}

/* ── Report-Modal ── */
.rmodal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);
           z-index:500;align-items:center;justify-content:center;padding:.875rem}
.rmodal-bg.open{display:flex}
.rmodal{
  background:var(--bg2);border-radius:var(--radius);padding:1.5rem;
  max-width:420px;width:100%;
  box-shadow:0 16px 48px rgba(0,0,0,.2);max-height:90vh;overflow-y:auto;
}
.rmodal h2{font-size:.95rem;font-weight:700;margin-bottom:1rem;color:var(--ink)}
.rmodal .rf{margin-bottom:.8rem}
.rmodal .rf-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;
                  text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.rmodal input[type=email],.rmodal textarea{
  display:block;width:100%;font-family:inherit;
  font-size:.85rem;padding:.5rem;
  border:1px solid var(--rule);border-radius:6px;
  background:var(--bg2);color:var(--ink);
}
.rmodal input[type=email]:focus,.rmodal textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.rmodal textarea{resize:vertical;min-height:75px}
.rmodal .radio-group{display:flex;flex-direction:column;gap:.45rem}
.rmodal .radio-opt{display:flex;align-items:flex-start;gap:.45rem;cursor:pointer;
                   font-size:.84rem;color:var(--ink2);line-height:1.4;min-height:44px;padding:.2rem 0}
.rmodal .radio-opt input{margin-top:.22rem;flex-shrink:0;accent-color:var(--accent)}
.rmodal-footer{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}
.rmodal-submit{
  font-family:inherit;font-size:.82rem;font-weight:700;
  min-height:44px;padding:.4rem .85rem;
  border:0;border-radius:4px;cursor:pointer;background:#111827;color:#fff;
}
.rmodal-submit:hover{background:var(--accent)}
.rmodal-submit:disabled{opacity:.45;cursor:not-allowed}
.rmodal-cancel{
  font-family:inherit;font-size:.82rem;
  min-height:44px;padding:.4rem .85rem;
  border:1px solid var(--rule);border-radius:4px;
  cursor:pointer;background:var(--bg2);color:var(--muted);
}
.rmodal-success{text-align:center;padding:1.25rem .5rem}
.rmodal-success svg{color:var(--green);margin-bottom:.5rem}
.rmodal-success p{font-size:.875rem;color:var(--ink2)}

/* ── CTA ── */
.cta{
  margin:1.5rem 0;padding:1rem;
  border:1px solid var(--rule);border-radius:var(--radius);
  background:var(--bg2);font-size:.875rem;
}
.cta strong{display:block;margin-bottom:.2rem;font-size:.9rem}
.cta a{text-decoration:underline}  /* Fließtext-Link nicht nur per Farbe erkennbar (WCAG 1.4.1) */

/* ── SEO-Text ── */
.seo{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--rule)}
.seo h2{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
        color:var(--muted);margin-bottom:.5rem}
.seo p{font-size:.82rem;color:var(--ink2);max-width:62ch}
.seo p a{text-decoration:underline}  /* Fließtext-Link nicht nur per Farbe erkennbar (WCAG 1.4.1) */

.skip:focus{position:static;display:block;padding:.4rem;background:var(--accent);color:#fff}

/* ── Pagination ── */
.pag{margin:1.25rem 0;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;font-size:.82rem}
.pag-info{color:var(--muted);flex:1;min-width:max-content;font-size:.75rem}
.pag-links{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.pag-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:2.75rem;height:2.75rem;
  padding:0 .35rem;
  border:1px solid var(--rule);border-radius:6px;
  background:var(--bg2);color:var(--ink2);text-decoration:none;
  font:inherit;font-size:.82rem;cursor:pointer;line-height:1;
  transition:border-color .12s,color .12s;
  touch-action:manipulation;
}
@media(min-width:480px){.pag-btn{min-width:2rem;height:2rem}}
.pag-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.pag-cur{background:var(--accent);color:#fff!important;border-color:var(--accent);font-weight:700}
.pag-disabled{color:var(--faint);cursor:default;background:var(--bg2);pointer-events:none}
.pag-ellipsis{color:var(--faint);padding:0 .1rem}

/* Die früheren farbigen Tier-Tints der Karte sind entfallen (23.08.2026). Sie waren
   ohnehin wirkungslos — `.dir-2026 .entry` überschreibt sie — und eine je Tarif
   eingefärbte Karte macht eine lange Liste unruhig. Der Tarif steht im Abzeichen,
   bezahlte Plätze zeigt zusätzlich der Akzentfaden am linken Kartenrand. */

/* ════ index-Stil (glassflow) auf das Verzeichnis übertragen ════ */
/* Gradient-Headline + Glow hinterm Suchfeld */
.dir-2026 .pg-title{background:linear-gradient(110deg,#fff 35%,#ffd9b0 75%,#5eead4);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dir-2026 .search-hero::before{content:"";position:absolute;left:50%;top:-1.4rem;transform:translateX(-50%);
  width:min(82%,520px);height:120px;z-index:0;pointer-events:none;filter:blur(46px);
  background:radial-gradient(closest-side,rgba(255,122,60,.26),transparent 72%)}
/* Premium-Glas-Suchfeld mit Gradient-Rand (wie der AI-Check) */
.dir-2026 #search{position:relative;z-index:1;border:1.5px solid transparent;
  background:linear-gradient(rgba(18,19,29,.85),rgba(18,19,29,.85)) padding-box,
            linear-gradient(120deg,rgba(255,122,60,.6),rgba(45,212,191,.5)) border-box;
  box-shadow:0 14px 40px rgba(0,0,0,.45)}
.dir-2026 #search:focus{box-shadow:0 0 0 3px rgba(255,122,60,.22),0 14px 40px rgba(0,0,0,.5)}
.dir-2026 .srch-icon{color:var(--accent);z-index:2}
/* ══ Einträge im Dark-Theme ══════════════════════════════════════════════════
   Zurückgenommen gegenüber dem Glassflow-Stand: eine ruhige Fläche mit klarer Kante
   statt starkem Glas und großem Hover-Sprung. Ein Verzeichnis wird gelesen, nicht
   bestaunt — die Bewegung beim Überfahren bleibt so klein, dass sie beim Scrollen
   durch 100 Karten nicht stört. */
.dir-2026 .entry{
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  background:linear-gradient(168deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
  box-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -14px rgba(0,0,0,.7);
  position:relative;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
/* Der Akzentfaden links macht bezahlte Plätze erkennbar, ohne die Karte einzufärben.
   Der weiche Schein ringsum ist bewusst klein gehalten — er soll die Kante andeuten,
   nicht die Karte anstrahlen. */
.dir-2026 .entry[data-feat]::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;
  z-index:1;
  background:linear-gradient(180deg,var(--accent),rgba(255,122,60,0));
  box-shadow:0 0 10px rgba(255,122,60,.30);
}

/* ── Schimmer-Rand ────────────────────────────────────────────────────────────
   Ein Haarrand aus einem Verlauf statt einer einfarbigen Linie: oben links und unten
   rechts fängt die Kante Licht, dazwischen läuft sie aus. Technisch ein 1 px breiter
   Rahmen, aus dem die Fläche per Maske herausgerechnet ist (mask-composite) — die
   Karte selbst bleibt unberührt, der Rand liegt nur darüber.
   Beim Überfahren wandert der Reflex EINMAL langsam über die Kante. Bewusst kein
   Dauerlauf: 100 laufende Animationen je Seite kosten auf schwachen Geräten spürbar
   Rechenzeit und machen eine Liste unruhig, die gelesen werden soll. */
.dir-2026 .entry::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;
  padding:1px;
  /* Der Verlauf ist gut doppelt so breit wie die Karte. Im Ruhezustand (Position 0) ist nur
     seine linke Hälfte zu sehen — der warme Reflex oben links, der nach der Mitte ausläuft.
     Die rechte Hälfte mit dem hellen Band bei 68 % zeigt sich ausschließlich während des
     Überfahrens: die Bewegung läuft von Position 100 % zurück auf 0 und endet damit exakt
     im Ruhebild, ohne Sprung am Ende. */
  background:linear-gradient(118deg,
    rgba(255,205,166,.30) 0%,
    rgba(255,255,255,.11) 17%,
    rgba(255,255,255,0)   42%,
    rgba(255,247,235,.40) 68%,
    rgba(160,240,226,.22) 100%);
  background-size:210% 100%;background-position:0 0;background-repeat:no-repeat;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.9;transition:opacity .25s ease;
}
@keyframes entrySheen{from{background-position:100% 0}to{background-position:0 0}}
@media(hover:hover){
  .dir-2026 .entry:hover::after{opacity:1;animation:entrySheen 1.5s cubic-bezier(.35,0,.2,1) 1}
}
@media(prefers-reduced-motion:reduce){
  .dir-2026 .entry:hover::after{animation:none}
}
@media(min-width:1100px){.dir-2026 .entry-thumb{height:auto;aspect-ratio:16/10}}
@media(hover:hover){
  .dir-2026 .entry:hover{
    border-color:rgba(255,255,255,.2)!important;
    background:linear-gradient(168deg,rgba(255,255,255,.08),rgba(255,255,255,.032))!important;
    box-shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px -16px rgba(0,0,0,.8);
  }
}
.dir-2026 .entry-meta .em-sep{color:rgba(255,255,255,.22)}
.dir-2026 .entry-foot{border-top-color:rgba(255,255,255,.07)}
.dir-2026 .ea{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.035)}
.dir-2026 .ea:hover{border-color:rgba(255,122,60,.55);background:rgba(255,122,60,.10)}
.dir-2026 .ea--primary{border-color:rgba(255,122,60,.5);background:rgba(255,122,60,.11);color:#ffb083}
.dir-2026 .ea--primary:hover{border-color:var(--accent);background:rgba(255,122,60,.18);color:#ffc9a8}
.dir-2026 .badge{background:rgba(255,255,255,.07)!important;color:#dfe2ea!important;
  border:1px solid rgba(255,255,255,.1);font-weight:600}
.dir-2026 .ctx-more{color:#ffb083}

/* ── Schiene: Platte für hervorgehobene Einträge ── */
.dir-2026 .entry-thumb{
  /* Als Band gedeckelte Höhe statt festem Seitenverhältnis — sonst wächst die Platte auf
     mittleren Breiten auf fast 300 px und schiebt den Text unter die Falz. */
  width:100%;height:clamp(104px,17vw,148px);position:relative;display:block;
  border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 22px -12px rgba(0,0,0,.9);text-decoration:none;
  transition:border-color .2s ease;
}
.dir-2026 .entry:hover .entry-thumb{border-color:rgba(255,255,255,.22)}
/* Gestaltete Platte statt Screenshot (23.08.2026) — Domain und Tarif-Emblem auf dem
   Tarif-Verlauf. Keinen Screenshot-Dienst wieder einbauen. */
.dir-2026 .entry-thumb-plate{
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:.75rem .8rem;
  background:radial-gradient(120% 130% at 78% -12%,var(--plate,#2a2d33),transparent 62%),
             linear-gradient(135deg,#15171b,#0b0c0e);
}
.dir-2026 .entry-thumb-plate::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}
/* Emblem nach rechts oben — links oben sitzt bei Diamond die „Top-Platzierung“-Nadel.
   Es ist nur noch der Rückfall, wenn kein Münzbild für den Tarif vorliegt. */
.dir-2026 .entry-thumb-plate .thumb-emb{position:absolute;top:9px;right:9px;width:28px;height:28px;opacity:.85}
/* Tarif-Münze als Prägung auf der Platte — oben rechts, dort wo vorher das kleine Emblem saß.
   Bewusst NICHT mittig an der rechten Kante: dafür müsste die Platte rechts Platz freihalten,
   und schon „www.curryzoom.de“ brach dann auf zwei Zeilen um. Oben rechts steht die Münze über
   der Domain statt neben ihr — die Zeile behält die volle Breite. Der Tarif-Verlauf der Platte
   leuchtet aus derselben Ecke: die Münze steht damit im Licht, nicht im Schatten.
   Links oben bleibt für die „Top-Platzierung“-Nadel frei. */
.dir-2026 .entry-thumb-plate .thumb-coin{
  position:absolute;top:clamp(.4rem,1.2vw,.6rem);right:clamp(.4rem,1.2vw,.65rem);
  width:clamp(44px,7.5vw,64px);height:auto;z-index:2;pointer-events:none;
  /* zwei Schatten: der weite trägt die Münze, der enge legt einen dunklen Saum um ihren Rand —
     ohne ihn verschwimmt eine helle Münze im hellen Ende des Tarif-Verlaufs. */
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.6)) drop-shadow(0 0 2px rgba(0,0,0,.55));
}
.dir-2026 .entry-thumb-plate .thumb-dom{position:relative;font-size:.82rem;font-weight:700;letter-spacing:-.01em;
  color:#fff;line-height:1.25;overflow-wrap:anywhere;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.dir-2026 .entry-thumb::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.dir-2026 .thumb-pin{position:absolute;left:.5rem;top:.5rem;z-index:3;font-size:.54rem;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;color:#fff;padding:.2rem .45rem;border-radius:6px;
  box-shadow:0 3px 10px rgba(0,0,0,.45)}

/* ── Schiene: Tarif-Münze für alle übrigen Einträge ── */
.entry-coin{position:relative;display:flex;align-items:center;justify-content:center;width:100%}
.entry-coin img{width:44px;height:44px;object-fit:contain;display:block;position:relative;z-index:1}
@media(min-width:640px){.entry-coin img{width:64px;height:64px}}
@media(min-width:1024px){.entry-coin img{width:74px;height:74px}}
.dir-2026 .entry-coin img{filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}
.dir-2026 .entry-coin::before{content:"";position:absolute;width:58px;height:58px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,60,.18),transparent 68%);z-index:0}
@media(min-width:1024px){.dir-2026 .entry-coin::before{width:94px;height:94px}}

/* Compact, server-backed directory controls. */
[hidden]{display:none!important}
.directory-start{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1rem;margin:1rem 0 1.2rem;font-size:.84rem}
.directory-start .directory-submit,.directory-start .directory-submit:visited{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1rem;background:#ff7a3c;color:#17100c;border-radius:10px;font-weight:750}
.directory-help{font-size:.78rem;color:#bcc0c9;line-height:1.55;margin:.5rem 0 .9rem}
.dir-2026 .pg-sub{margin-bottom:0}
.dir-2026 .search-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:0;background:none;border:0;box-shadow:none}
.dir-2026 .search-hero::before,.dir-2026 .search-hero::after,.dir-2026 .srch-icon{display:none}
.dir-2026 #search{grid-column:1;grid-row:1;width:100%;min-width:0;height:50px;padding:.7rem 2.6rem .7rem .8rem;border:1px solid #59606b;border-radius:10px;font-size:.9rem;background:#16171a;z-index:0}
.dir-2026 #search::-webkit-search-cancel-button{display:none}
.dir-2026 .srch-submit{position:static;grid-column:2;grid-row:1;clip:auto;clip-path:none;width:auto;height:50px;margin:0;overflow:visible;padding:.6rem .9rem;border:1px solid #ff7a3c;border-radius:10px;background:#ff7a3c;color:#17100c;font:inherit;font-weight:750;cursor:pointer}
.dir-2026 .srch-clear{display:flex;align-items:center;justify-content:center;position:static;grid-column:1;grid-row:1;justify-self:end;z-index:2;width:44px;height:44px;transform:none;margin-right:2px;color:#e5e7ed;font-size:1.5rem;text-decoration:none;border-radius:8px}
.dir-2026 .search-tabs{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin-top:.75rem}
.dir-2026 .search-tab{flex:0 1 auto;font-size:.78rem;padding:.55rem 0;min-height:44px}
.dir-2026 .stats{margin:.7rem 0;gap:.35rem .8rem;font-size:.74rem}
.dir-2026 .filters{margin:.65rem 0}
.compact-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem;padding:.8rem}
.compact-filters label{display:block;min-width:0;font-size:.8rem;font-weight:600;color:#dfe2ea}
.compact-filters select{display:block;width:100%;min-width:0;min-height:44px;margin-top:.25rem;padding:.5rem;color:#f7f8f8;background:#16171a;border:1px solid #59606b;border-radius:8px;font:inherit}
.dir-2026 .plan-filter summary{padding:.3rem 0;min-height:44px;display:list-item;font-size:.78rem;color:#bcc0c9}
.filter-apply{min-height:44px;padding:.55rem 1rem;border:1px solid #59606b;border-radius:8px;background:#25282e;color:#fff;font:inherit;cursor:pointer}
.dir-2026 .controls{gap:.65rem;margin:.9rem 0 .5rem;flex-wrap:wrap}
.dir-2026 .controls .cnt{margin-left:0}
.dir-2026 .placement-note{font-size:.73rem;margin:.4rem 0 .9rem}
.directory-categories{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.7rem}
.directory-categories a{padding:.25rem 0}
.directory-error,#r-error{border:1px solid #fca5a5;background:#321b21;color:#ffd9d9;padding:1rem;border-radius:10px;margin:1rem 0}
.directory-error h2{font-size:1rem}
.dir-2026 :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid #67e8d1;outline-offset:3px}
.dir-2026 .rmodal-bg{overflow-y:auto;padding:1rem}
.dir-2026 .rmodal{max-height:calc(100dvh - 2rem);overflow:auto}
@media(min-width:600px){.compact-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plan-filter{grid-column:1}.filter-apply{align-self:end;justify-self:end}}
@media(max-width:359px){.dir-2026 .search-hero{grid-template-columns:minmax(0,1fr)}.dir-2026 .srch-submit{grid-column:1;grid-row:2;width:100%}}
.dir-2026 .search-tab[aria-selected="true"]{background:transparent;border-color:#ff7a3c;color:#ffb083}
.dir-2026 .search-tab .st-cnt{opacity:1}
.dir-2026 .search-tab{background:transparent;border-radius:0;border:0;border-bottom:2px solid transparent}
.dir-2026 .directory-help a,.dir-2026 .seo p a,.directory-error a{text-decoration:underline;text-underline-offset:3px}
.dir-2026 .search-tabs{gap:1rem;margin-bottom:.7rem}
.dir-2026 .directory-start{margin:.8rem 0 1rem}
.dir-2026 .placement-note summary{min-height:32px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.dir-2026 .placement-note p{margin:.5rem 0}
@media(min-width:380px){.compact-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plan-filter{grid-column:1 / -1}.filter-apply{grid-column:1 / -1}}
@media(min-width:600px){.plan-filter{grid-column:1}.filter-apply{grid-column:2}}
