/* =======================
   Hausmeister-Portal – Light Theme (clean)
   ======================= */

/* ---------- Theme tokens ---------- */
:root{
  --bg:#f6f8fb;
  --panel:#fff;
  --fg:#0f1a2b;
  --muted:#5b6b7f;

  --pri:#2563eb;      /* primary */
  --pri-2:#1e40af;    /* primary dark */
  --acc:#22c55e;      /* accent/ok */
  --warn:#f59e0b;
  --err:#dc2626;

  --chip:#eff6ff;
  --pill:#eef2ff;
  --bd:#e6eaf2;
  --shadow:0 10px 30px rgba(15,26,43,.08);
  --radius:16px;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--bg);
  color:var(--fg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit}
a:focus,button:focus,input:focus,textarea:focus,select:focus{
  outline:2px solid rgba(37,99,235,.35); outline-offset:2px;
}

/* ---------- Layout ---------- */
.container{max-width:1100px;margin:0 auto;padding:16px}
.header{padding:28px 0 12px}
h1{margin:.2rem 0 0;font-size:clamp(1.4rem,2.4vw,2rem)}
h2{margin:1rem 0 .5rem;font-size:1.25rem}
.subtitle{color:var(--muted);margin:.4rem 0 1rem}
.footer{margin:36px 0 12px;color:var(--muted);font-size:.9rem;text-align:center}
.footer a{color:var(--muted);text-decoration:none}
.footer a:hover{text-decoration:underline}

/* ---------- Forms ---------- */
.form-row{display:flex;flex-wrap:wrap;gap:8px;margin:.5rem 0}
.input{
  flex:1 1 220px;min-width:200px;padding:12px;border-radius:12px;
  border:1px solid var(--bd);background:#fff;color:var(--fg);
  box-shadow:inset 0 1px 0 rgba(15,26,43,.03);
}
textarea.input{min-height:140px;resize:vertical}
select.input{appearance:none}
label{display:block;margin:.25rem 0}

/* ---------- Buttons & Pills ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  height:40px;padding:0 14px;border-radius:12px;
  border:1px solid var(--bd);background:#fff;color:var(--fg);
  text-decoration:none;cursor:pointer;
  transition:transform .08s ease, box-shadow .12s ease, background .12s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn:active{transform:none}
.btn-cta{background:linear-gradient(180deg,var(--pri),var(--pri-2));border-color:transparent;color:#fff}
.btn-outline{background:#fff;color:var(--pri);border:1px solid #c7d2fe}
.btn-ghost{background:transparent;border-color:transparent}

/* Basis */
.pill.pill--sponsored{
  margin-left:.5rem;
  font-size:12px; line-height:1;
  padding:4px 10px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow:0 2px 8px rgba(15,26,43,.12);
}

/* Silber */
.pill--silver{
  color:#263040;
  background:linear-gradient(135deg,#f5f7fa 0%, #e6eaf1 100%);
  border:1px solid #cfd6e3;
}

/* Platin (kühler als Silber, leicht bläulich) */
.pill--platinum{
  color:#1e2a48;
  background:linear-gradient(135deg,#eef3ff 0%, #dbe7ff 100%);
  border:1px solid #9db6ff;
}

/* Gold */
.pill--gold{
  color:#5a3a00;
  background:linear-gradient(135deg,#ffe9a8 0%, #ffd56a 100%);
  border:1px solid #f3b93c;
}

/* Hover (optional) */
.pill--silver:hover   { filter:brightness(0.98); }
.pill--platinum:hover { filter:brightness(1.02); }
.pill--gold:hover     { filter:brightness(1.02); }

/* Dark mode optional */
@media (prefers-color-scheme: dark){
  .pill--silver{
    color:#e6edf3;
    background:linear-gradient(135deg,#2b313a 0%, #3a414c 100%);
    border-color:#4a5568;
  }
  .pill--platinum{
    color:#e6edf3;
    background:linear-gradient(135deg,#252f49 0%, #33405f 100%);
    border-color:#5b78c4;
  }
  .pill--gold{
    color:#1f1300;
    background:linear-gradient(135deg,#ffd56a 0%, #ffca45 100%);
    border-color:#f3b93c;
  }
}



/* ---------- Grid / Cards (generic) ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid{grid-template-columns:1fr}}

.card{
  display:block;text-decoration:none;color:inherit;
  background:var(--panel); border:1px solid var(--bd);
  border-radius:18px; box-shadow:var(--shadow);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,26,43,.12);border-color:#d7e0ea}

/* ---------- Breadcrumbs & Pagination ---------- */
.breadcrumbs{font-size:.92rem;color:var(--muted);margin-bottom:8px}
.breadcrumbs a{color:#3b6ea8;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

.pagination{display:flex;gap:8px;justify-content:center;margin:20px 0}
.page-btn{
  padding:8px 12px;border:1px solid var(--bd);
  border-radius:10px;background:#fff;color:var(--fg);text-decoration:none
}
.page-btn[aria-current="page"]{background:#e6f2fb;color:#0f1a2b;border-color:#cfe6f7}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;border-radius:24px;background:var(--panel);box-shadow:var(--shadow);margin:16px 0 24px}
.hero--image picture, .hero--image img{display:block;width:100%;height:360px;object-fit:cover;filter:saturate(1.05)}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15) 35%,rgba(0,0,0,0));display:flex;flex-direction:column;justify-content:center;gap:14px;padding:28px}
.hero__title{color:#fff;font-size:clamp(22px,3vw,36px);font-weight:800;margin:0}
.hero__sub{color:#e9eefc;margin:0}

.hero__topbar{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:2}
.hero__cta{height:38px;padding:0 14px;border-radius:12px;font-weight:600}
@media (max-width:640px){ .hero__topbar{position:static;justify-content:flex-end;margin-bottom:8px} }

.hero__search{
  background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(6px);
  border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px;width:min(980px,100%)
}
.search__row{display:flex;gap:10px;align-items:center}
.search__row.-minor{opacity:.9}
.search__field{flex:1;display:flex;flex-direction:column;gap:4px}
.search__label{font-size:12px;color:var(--muted)}
.hero__search input{height:44px;border:1px solid var(--bd);border-radius:12px;padding:0 12px;font-size:15px}
.search__submit{height:44px;border-radius:12px}

@media (max-width:760px){
  .hero--image img{height:280px}
  .hero__search{padding:10px}
  .search__row{flex-direction:column;align-items:stretch}
}

/* ---------- A–Z ---------- */
.az{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.az .chip{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  font-size:.80rem;border:1px solid var(--bd);background:#f8fafc;color:#0b2a4a;text-decoration:none;
}
.az .chip:hover{background:#eef2ff}
.az .chip[aria-current="page"]{background:linear-gradient(135deg,var(--pri),var(--pri-2));color:#fff;border-color:transparent}
.az.az--xs{gap:6px}
.az.az--xs .chip{min-width:24px;height:24px;padding:0 6px;font-size:.75rem}
.az.az--xxs{gap:4px}
.az.az--xxs .chip{min-width:20px;height:20px;padding:0 6px;font-size:.70rem}
@media (max-width:480px){ .az.az--xs{gap:4px} .az.az--xs .chip{min-width:22px;height:22px;font-size:.72rem} }

/* ---------- Kategorie-Kacheln ---------- */
.grid.cat-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.grid.cat-grid .card{padding:10px 12px;border-radius:12px}
.grid.cat-grid .card img{width:100%;height:88px;object-fit:cover;border-radius:10px}
.grid.cat-grid .tile-initial{
  height:88px;display:grid;place-items:center;border-radius:10px;
  background:linear-gradient(135deg,#e6f0ff,#dfeaff);font-weight:800;font-size:18px;color:#1e3a8a;
}
.grid.cat-grid .card strong{display:block;margin-top:6px;font-size:.95rem;font-weight:600}
@media (max-width:640px){
  .grid.cat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
  .grid.cat-grid .card img, .grid.cat-grid .tile-initial{height:72px}
  .grid.cat-grid .card strong{font-size:.9rem}
}

/* ---------- Ergebnisliste ---------- */
.result-list{display:grid;gap:10px;margin:10px 0 18px}
.result{
  display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:start;
  padding:12px;border:1px solid var(--bd);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);
  transition:box-shadow .12s ease, transform .12s ease;
}
.result:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,26,43,.10)}

.thumb{display:block;width:72px;height:72px;border-radius:12px;overflow:hidden;background:#f0f4ff}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb__initial{
  width:100%;height:100%;display:grid;place-items:center;font-weight:800;font-size:24px;color:#1e3a8a;
  background:linear-gradient(135deg,#e0eaff,#cfe7ff);
}

.info{display:grid;gap:6px}
.title{margin:0;font-size:16px;line-height:1.2}
.title a{color:var(--fg);text-decoration:none}
.title a:hover{text-decoration:underline}

.meta-line{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:13px}
.meta-line .dot{opacity:.6}
.meta-item{white-space:nowrap}

.snippet{margin:2px 0 0;color:#324256;font-size:14px;line-height:1.35}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.chip{background:var(--chip);border:1px solid #dbeafe;color:#1e3a8a;padding:3px 8px;border-radius:999px;font-size:12px}

.actions{display:grid;align-content:start}
.btn-sm{height:34px;padding:0 12px;border-radius:8px;font-size:14px}

@media (max-width:760px){
  .result{grid-template-columns:56px 1fr;gap:10px}
  .thumb{width:56px;height:56px;border-radius:10px}
  .actions{grid-column:1/-1;justify-content:start;margin-top:6px}
}

/* Hinweis über Liste (Sponsored first) */
.results-hint{margin:6px 0 10px;font-size:13px;color:var(--muted)}

/* ---------- Tables (Admin) ---------- */
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{border:1px solid var(--bd);padding:8px;vertical-align:top}
.table th{background:#f1f5f9;text-align:left;color:#32455a}

/* ---------- Alerts ---------- */
.alert{padding:10px 12px;border-radius:12px;border:1px solid var(--bd);background:#f8fafc;color:#1f2937}
.alert-ok{border-color:rgba(34,197,94,.35);background:#eefcf3}
.alert-warn{border-color:rgba(245,158,11,.35);background:#fff7ea}
.alert-err{border-color:rgba(220,38,38,.35);background:#fff0f0}

/* ---------- Utilities ---------- */
.hidden{display:none!important}
.center{text-align:center}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}
.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}
.round{border-radius:12px}
.shadow{box-shadow:var(--shadow)}

/* ---------- Maps ---------- */
#map, #bizmap{overflow:hidden;border-radius:16px}
.leaflet-container a{color:inherit}

/* ---------- Consent (Banner & Modal) ---------- */
.cns[hidden]{display:none!important}
.cns-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:99998;background:#0b1320;color:#fff;padding:12px 16px
}
.cns-banner .cns-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:12px}
.cns-banner a{color:#93c5fd}
.cns-banner .cns-actions{display:flex;gap:8px;flex-wrap:wrap}

.cns-modal{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:rgba(15,23,42,.55);pointer-events:auto
}
.cns-modal__card{
  width:min(680px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto;
  background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:16px 18px
}
.cns-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.cns-modal__close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer}
.cns-form .cns-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;margin:8px 0}
.cns-fineprint{font-size:.9rem;color:#6b7280}
/* Sichtbare, barrierearme Farben pro Tier */
  .pill { display:inline-flex; align-items:center; gap:6px; padding:3px 10px;
          border-radius:999px; border:1px solid transparent; font-size:12px; font-weight:700; vertical-align:middle }
  .pill--sponsored { margin-left:.35rem }

  .pill--silver   { background:linear-gradient(135deg,#f3f5f8,#e5e9f1); color:#1f2a3b; border-color:#cfd6e3 }
  .pill--platinum { background:linear-gradient(135deg,#eaf1ff,#d5e5ff); color:#14203b; border-color:#9db6ff }
  .pill--gold     { background:linear-gradient(135deg,#ffebad,#ffd56a); color:#5a3a00; border-color:#f3b93c }

  /* Karten-Akzent je Tier — dezent aber spürbar */
  .result { position:relative }
  .result.tier--silver   { border-color:#dfe5ef }
  .result.tier--platinum { border-color:#cfe0ff; box-shadow:0 8px 24px rgba(32,64,160,.10) }
  .result.tier--gold     { border-color:#f3d08a; box-shadow:0 10px 28px rgba(160,120,32,.16) }

  /* schmale Farbkante links (unterstützt Orientierung) */
  .result.tier--silver::before,
  .result.tier--platinum::before,
  .result.tier--gold::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:14px 0 0 14px;
  }
  .result.tier--silver::before   { background:#cfd6e3 }
  .result.tier--platinum::before { background:#9db6ff }
  .result.tier--gold::before     { background:#f3b93c }

  /* Hinweis-Zeile über Ergebnissen */
  .results-hint{
    display:flex; flex-wrap:wrap; align-items:center; gap:10px;
    margin:6px 0 10px; font-size:13px; color:var(--muted,#5b6b7f);
  }
  .legend { display:flex; gap:8px; align-items:center; flex-wrap:wrap }
  .legend .dot{ width:10px; height:10px; border-radius:50%; display:inline-block; vertical-align:-2px }
  .dot.gold{ background:#f3b93c; border:1px solid #e3a726 }
  .dot.platinum{ background:#9db6ff; border:1px solid #7aa0ff }
  .dot.silver{ background:#cfd6e3; border:1px solid #b8c2d1 }

  /* ===== Leistungen (Cards) nur sichtbar bei Gold ===== */
  .svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:10px }
  @media (max-width:980px){ .svc-grid{ grid-template-columns:repeat(2,1fr) } }
  @media (max-width:640px){ .svc-grid{ grid-template-columns:1fr } }

  .svc-card{
    border:1px solid var(--bd,#e6eaf2);
    background:#fff;
    border-radius:14px;
    padding:12px;
    box-shadow:0 10px 26px rgba(2,6,23,.06);
    transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    display:grid; gap:8px;
    min-height: 110px;
  }
  .svc-card:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(2,6,23,.12); border-color:#d7e2f0 }

  .svc-head{ display:flex; align-items:center; gap:10px }
  .svc-ic{
    width:34px; height:34px; border-radius:10px;
    background:#f5f8ff; border:1px solid #dbe6ff;
    display:grid; place-items:center; font-size:16px; color:#1e40af;
    flex:0 0 34px;
  }
  .svc-title{ margin:0; font-size:1rem; line-height:1.25; color:#0f172a }
  .svc-desc{ margin:0; color:#324256; font-size:.95rem; line-height:1.35 }

  /* Gold etwas „wärmer“ akzentuieren */
  body.tier--gold .svc-card{ border-color:#f3d08a; box-shadow:0 12px 28px rgba(160,120,32,.12) }
  body.tier--gold .svc-ic{ background:#fff7e1; border-color:#f3d08a; color:#7a5200 }

.cat-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(220px,1fr));
  gap:14px;
}
@media (max-width:1100px){ .cat-grid{ grid-template-columns:repeat(3,1fr) } }
@media (max-width:720px){  .cat-grid{ grid-template-columns:repeat(2,1fr) } }

.cat-card{
  display:grid; grid-template-rows: 1fr auto; gap:8px;
  padding:10px; border:1px solid #e5e7eb; border-radius:16px; background:#fff;
  box-shadow:0 6px 16px rgba(2,6,23,.06); text-decoration:none; color:inherit;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.cat-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(2,6,23,.10); border-color:#dbeafe; }
.cat-img{ width:100%; height:140px; object-fit:cover; border-radius:12px; border:1px solid #e5e7eb; background:#f8fafc; }
.cat-name{ font-size:0.95rem; color:#0f172a; }

  /* === Ergebnisliste responsiv === */
  #results.result-list{
    display:grid;
    gap:12px;
  }

  /* Karte / Zeile */
  #results .result{
    display:grid;
    grid-template-columns: 96px 1fr 120px; /* Thumb | Info | Actions */
    gap:12px;
    align-items:flex-start;
    border:1px solid var(--bd, #e5e7eb);
    border-radius:14px;
    background:#fff;
    padding:12px;
    box-shadow:var(--shadow, 0 6px 14px rgba(2,6,23,.06));
  }

  /* Thumb */
  #results .thumb{
    width:96px;height:96px; border-radius:12px; overflow:hidden;
    background:#f1f5f9; display:block; border:1px solid var(--bd, #e5e7eb);
  }

  #results .thumb__initial{
    width:100%; height:100%;
    display:grid; place-items:center;
    font-weight:800; font-size:28px; color:#334155; background:#eaf2ff;
  }

  /* Info */
  #results .info{min-width:0;}
  #results .title{margin:0 0 4px; font-size:1.125rem; line-height:1.25;}
  #results .title a{color:#0f172a; text-decoration:none;}
  #results .meta-line{display:flex; flex-wrap:wrap; gap:6px; color:#475569; font-size:.95rem;}
  #results .snippet{margin:.25rem 0 0; color:#334155;}
  #results .chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;}
  #results .chip{background:#eff6ff; border:1px solid #dbeafe; color:#1e3a8a; padding:2px 8px; border-radius:999px; font-size:.8rem;}

  /* Actions */
  #results .actions{display:flex; justify-content:flex-end; align-items:flex-start;}
  #results .btn-sm{height:34px; padding:0 12px; border-radius:8px;}

  /* Sponsoring-Pill */
  .pill.pill--sponsored{margin-left:.35rem; padding:2px 8px; border-radius:999px; font-size:.75rem; font-weight:700; border:1px solid #e5e7eb;}
  .pill--gold{background:linear-gradient(135deg,#ffe9a8,#ffd56a); color:#5a3a00; border-color:#f3b93c}
  .pill--platinum{background:linear-gradient(135deg,#eef3ff,#dbe7ff); color:#1e2a48; border-color:#9db6ff}
  .pill--silver{background:linear-gradient(135deg,#f5f7fa,#e6eaf1); color:#263040; border-color:#cfd6e3}

  /* Hinweiszeile */
  .results-hint{display:flex; gap:8px; align-items:center; font-size:.9rem; color:#475569; margin-bottom:6px;}
  .results-hint .legend{display:inline-flex; gap:10px; align-items:center;}
  .results-hint .dot{width:10px; height:10px; border-radius:999px; display:inline-block; border:1px solid rgba(0,0,0,.08); vertical-align:middle; margin-right:4px}
  .results-hint .dot.gold{background:#f3b93c}
  .results-hint .dot.platinum{background:#9db6ff}
  .results-hint .dot.silver{background:#cfd6e3}

  /* === Breakpoints === */
  /* Tablet & kleine Laptops: Actions unter die Info */
  @media (max-width: 900px){
    #results .result{
      grid-template-columns: 80px 1fr; /* Thumb | Info */
    }
    #results .thumb{width:80px; height:80px;}
    #results .actions{
      grid-column: 1 / -1; /* volle Breite */
      justify-content:flex-start;
      margin-top:6px;
    }
  }
  /* Mobil: kompakter */
  @media (max-width: 560px){
    #results .result{
      grid-template-columns: 72px 1fr;
      padding:10px;
      gap:10px;
    }
    #results .thumb{width:72px; height:72px;}
    #results .title{font-size:1rem;}
    #results .snippet{font-size:.95rem;}
  }

  /* Sicherstellen, dass nichts anderes das Layout kaputtmacht */
  @media (max-width: 560px){
    .container, .result-list{width:100%;}
    .result-list .result *{min-width:0;}
  }
/* Kategorien in der Meta-Zeile sauber kürzen */
#results .meta-line{ min-width:0 }
#results .meta-cat{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}

/* Auf sehr kleinen Screens Kategorien komplett ausblenden */
@media (max-width:560px){
  #results .meta-cat{ display:none }
  #results .meta-line .dot:first-of-type{ display:none }
}
/* Ergebniskarte Grundlayout (falls noch nicht vorhanden) */
.result {
  display: grid;
  grid-template-columns: 96px 1fr auto; /* thumb | info | actions */
  gap: 12px;
  align-items: start;
}

/* Thumb-Container: fixe Box, Zentrum, overflow hidden */
.result .thumb {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  border-radius: 12px;
  background: #fff;              /* neutrale Fläche hinter PNGs mit Transparenz */
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset;
  display: grid;
  place-items: center;
  overflow: hidden;
}

/* Bild passt sich an Box an, behält Seitenverhältnis */
.result .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;           /* WICHTIG: in Box einpassen */
  object-position: center;
 
}

/* Fallback-Buchstabe, wenn kein Logo vorhanden ist */
.result .thumb__initial {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #f6f7fb;
  color: #334155;
  font-weight: 800;
  font-size: 28px;
}

/* Mobile: etwas kleiner */
@media (max-width: 640px) {
  .result { grid-template-columns: 72px 1fr auto; }
  .result .thumb,
  .result .thumb__initial { width: 72px; height: 72px; }
}
    /* ===== Tier-Design: abgestufte Hervorhebung ===== */
    .tier--silver   .hero__overlay::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,#cfd6e3,#e6eaf1)}
    .tier--platinum .hero__overlay::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,#9db6ff,#dbe7ff)}
    .tier--gold     .hero__overlay::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,#f3b93c,#ffd56a)}
    .pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700}
    .pill--none{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
    .pill--silver{background:linear-gradient(135deg,#f5f7fa,#e6eaf1);color:#263040;border-color:#cfd6e3}
    .pill--platinum{background:linear-gradient(135deg,#eef3ff,#dbe7ff);color:#1e2a48;border-color:#9db6ff}
    .pill--gold{background:linear-gradient(135deg,#ffe9a8,#ffd56a);color:#5a3a00;border-color:#f3b93c}
    .hero .meta-line{display:flex;flex-wrap:wrap;gap:8px;color:#e7eefc}
    .card{border:1px solid var(--bd);border-radius:16px;background:#fff;box-shadow:var(--shadow,0 12px 28px rgba(0,0,0,.08));padding:16px 18px}
    .card--tier{position:relative}
    .tier--silver   .card--tier{border-color:#dfe5ef;box-shadow:0 10px 26px rgba(44,62,80,.08)}
    .tier--platinum .card--tier{border-color:#cfe0ff;box-shadow:0 12px 28px rgba(32,64,160,.10)}
    .tier--gold     .card--tier{border-color:#f3d08a;box-shadow:0 14px 34px rgba(160,120,32,.16)}
    .btn{height:40px;padding:0 14px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;text-decoration:none}
    .btn-cta{background:linear-gradient(180deg,var(--pri,#2563eb),var(--pri-2,#1e40af));color:#fff}
    .btn-outline{background:#fff;color:#1e3a8a;border:1px solid #c7d2fe}
    .tier--platinum .btn-cta{box-shadow:0 10px 22px rgba(29,78,216,.20)}
    .tier--gold .btn-cta{background:linear-gradient(180deg,#eab308,#f59e0b);box-shadow:0 12px 26px rgba(234,179,8,.28)}
    .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
    .info-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--bd);background:#fff;border-radius:12px;padding:10px}
    .ic{width:18px;height:18px;flex:0 0 18px;color:#3b6ea8}
    .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
    .chip{background:#eff6ff;border:1px solid #dbeafe;color:#1e3a8a;padding:4px 8px;border-radius:999px;font-size:12px}
    .direct-card { display:grid; gap:10px }
    .copy-btn { height:34px; padding:0 10px; border-radius:8px; border:1px solid #dbeafe; background:#f8fbff; cursor:pointer }
    .copy-btn:hover { background:#eef6ff }
    @media (max-width:760px){ .sticky-cta{ position:sticky; bottom:8px; z-index:50; display:flex; gap:8px; justify-content:space-between; background:rgba(255,255,255,.9); backdrop-filter:blur(6px); padding:8px; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 8px 22px rgba(0,0,0,.10) } }
    @media (max-width:720px){.info-grid{grid-template-columns:1fr}}
    .svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:10px }
    @media (max-width:980px){ .svc-grid{ grid-template-columns:repeat(2,1fr) } }
    @media (max-width:640px){ .svc-grid{ grid-template-columns:1fr } }
    .svc-card{ border:1px solid var(--bd,#e6eaf2); background:#fff; border-radius:14px; padding:12px; box-shadow:0 10px 26px rgba(2,6,23,.06); transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; display:grid; gap:8px; min-height:110px; }
    .svc-card:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(2,6,23,.12); border-color:#d7e2f0 }
    .svc-head{ display:flex; align-items:center; gap:10px }
    .svc-ic{ width:34px; height:34px; border-radius:10px; background:#f5f8ff; border:1px solid #dbe6ff; display:grid; place-items:center; font-size:16px; color:#1e40af; flex:0 0 34px; }
    .svc-title{ margin:0; font-size:1rem; line-height:1.25; color:#0f172a }
    .svc-desc{ margin:0; color:#324256; font-size:.95rem; line-height:1.35 }
    body.tier--gold .svc-card{ border-color:#f3d08a; box-shadow:0 12px 28px rgba(160,120,32,.12) }
    body.tier--gold .svc-ic{ background:#fff7e1; border-color:#f3d08a; color:#7a5200 }
    .subtitle{color:#324256}
	/* Einheitliche Logo-Box für die Header-Card */
.biz-logo{
  width:112px; height:112px;
  border-radius:16px;
  background:#fff;                 /* neutrale Fläche hinter transparenten PNGs */
  border:1px solid var(--bd,#e5e7eb);
  display:grid; place-items:center;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.04) inset;
}
.biz-logo img{
  width:100%; height:100%;
  object-fit:contain;               
  object-position:center;
}
.biz-logo--initial{
  font-weight:900; font-size:32px; color:#334155;
  background:linear-gradient(135deg,#eaf2ff,#dfeaff);
}

/* Wer’s etwas kompakter mag:
@media (max-width:640px){
  .biz-logo{ width:96px; height:96px; border-radius:14px; }
}
*/

