/* Shared by real dealer search and the search-first partner offer. Single source. */
.fh-card{
  background:#fff;border:1px solid #d4dfe3;border-radius:14px;
  padding:20px 22px;cursor:pointer;
  transition:box-shadow .18s,border-color .18s,transform .18s;
}
.fh-card:hover{box-shadow:0 8px 28px rgba(22,62,82,.1);border-color:#b8cad0;transform:translateY(-1px);}
.fh-card:focus-visible{outline:2px solid var(--deep);outline-offset:2px;}
.fh-card-active{border-color:var(--deep) !important;box-shadow:0 0 0 3px rgba(22,62,82,.12) !important;}
.fh-card-hover{box-shadow:0 8px 28px rgba(22,62,82,.12) !important;border-color:#b8cad0 !important;}

.fh-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;}
.fh-card-pin{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:var(--deep);color:#fff;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.fh-card-logo{
  flex-shrink:0;width:44px;height:44px;border-radius:10px;
  background:linear-gradient(135deg,#163e52 0%,#2a5972 100%);
  color:#fff;font-size:18px;font-weight:800;font-family:var(--serif);
  display:flex;align-items:center;justify-content:center;
}
.fh-card-logo-prem{background:linear-gradient(135deg,#1F8A4D 0%,#2d9d5c 100%);}
.fh-card-heading{flex:1;min-width:0;}
.fh-card-heading h3{margin:0 0 2px;font-size:20px;color:var(--text);font-weight:700;line-height:1.2;}
.fh-card-loc{margin:0;font-size:13px;color:var(--text-mid);font-weight:500;}
.fh-match-badge{
  flex-shrink:0;font-size:11px;font-weight:700;padding:5px 12px;
  border-radius:20px;white-space:nowrap;align-self:flex-start;
}
.fh-match-hoch{background:#eaf6ee;color:#1F8A4D;}
.fh-match-gut{background:#eef3f5;color:var(--deep);}
.fh-match-teil{background:#f4f0e9;color:var(--text-mid);}

.fh-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;}
.fh-tag{font-size:11.5px;font-weight:700;color:var(--deep);background:#eef3f5;padding:4px 12px;border-radius:20px;}
.fh-tag-verified{display:inline-flex;align-items:center;gap:4px;color:#1F8A4D;background:#eaf6ee;}

.fh-card-merkmale{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px;}
.fh-merkmal{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--text-mid);font-weight:600;}
.fh-merkmal svg{width:14px;height:14px;stroke:var(--deep);flex-shrink:0;}

/* Bio-/Kurzbeschreibung: hart auf max. 4 Zeilen begrenztes Feld (Auftrag
   Punkt 4) -- verhindert, dass ein langer Freitext die Kartenoptik sprengt. */
.fh-card-desc{
  font-size:13.5px;color:var(--text-mid);margin:0 0 12px;line-height:1.55;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;
}

/* CTA-Zeile: Profil primär, Rest sekundär -- alle CTAs teilen sich Höhe/
   Radius/Padding, damit der Telefon-Button nicht wie ein Fremdkörper wirkt */
.fh-card-ctas{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.fh-card-ctas .btn-primary{
  height:38px;padding:0 18px;background:var(--deep);color:#fff;border-radius:10px;
  font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;
  align-items:center;border:none;cursor:pointer;transition:background .14s;
}
.fh-card-ctas .btn-primary:hover{background:#1a4d63;}
.fh-card-ctas .btn-sec{
  height:38px;padding:0 14px;background:#fff;color:var(--text-mid);
  border:1.5px solid #d4dfe3;border-radius:10px;font-size:13px;font-weight:600;
  text-decoration:none;display:inline-flex;align-items:center;gap:5px;
  cursor:pointer;transition:border-color .14s,color .14s;
}
.fh-card-ctas .btn-sec:hover{border-color:var(--deep);color:var(--deep);}
.fh-card-ctas .btn-call{
  color:#15803d;border-color:#bbf7d0;background:#f0fdf4;font-weight:700;
}
.fh-card-ctas .btn-call svg{flex-shrink:0;}
.fh-card-ctas .btn-call:hover{border-color:#86efac;background:#dcfce7;color:#166534;}

/* 20260813 (Aurelia-Auftrag cc_992c901f, Priorität 1): WhatsApp-CTA war bisher
   ein normaler grauer .btn-sec ohne eigene Markenfarbe -- jetzt wie auf der
   Profilseite (build_einheitliche_fachprofile_20260724.py, .bd-whatsapp-btn)
   klar in WhatsApp-Grün, damit der Kanal auf der Trefferkarte sofort erkennbar ist. */
.fh-card-ctas .fh-whatsapp-btn{
  background:#25D366;color:#fff;border-color:#25D366;font-weight:700;
}
.fh-card-ctas .fh-whatsapp-btn:hover{background:#1ebe57;border-color:#1ebe57;color:#fff;}
.fh-card-ctas .fh-whatsapp-btn svg{flex-shrink:0;}

/* Social-Icons waren bisher unstyled (reine 15x15px-SVGs im Fliesstext) --
   deutlich größere, klar abgegrenzte Klickflächen (36x36px, Mindestmaß für
   Touch-Targets). */
.fh-social-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;}
.fh-social-label{font-size:11.5px;font-weight:700;color:var(--text-mid);}
.fh-social-btns{display:flex;gap:8px;flex-wrap:wrap;}
.fh-social-btn{
  width:36px;height:36px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;background:#fff;
  border:1.5px solid #d4dfe3;cursor:pointer;transition:border-color .14s,transform .14s;
  padding:0;
}
.fh-social-btn svg{width:18px;height:18px;}
.fh-social-btn:hover{border-color:var(--deep);transform:translateY(-1px);}
.fh-social-btn:focus-visible{outline:2px solid var(--deep);outline-offset:2px;}

/* "Ist das Ihr Betrieb?"/"Daten falsch? Melden" waren bisher gleichgewichtige
   Standard-Links -- jetzt klare Hierarchie: Eintrag-übernehmen kompakt/
   sekundär (dezente Pille statt Fliesstext-Link), Korrektur-melden deutlich
   zurückhaltender (kleiner, blasser, kein Pillenhintergrund). */
/* 20260813 (cc_6146852a Punkt 6): noch kompakter -- kleinere Schrift,
   engeres Pill-Padding, damit die Zeile klar als tertiaere Randnotiz
   liest, nicht als dritte CTA-Reihe. */
.fh-card-claim-row{margin:8px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.fh-card-claim-row a{font-size:11px;text-decoration:none;}
.fh-card-claim-row a:first-child{
  color:var(--text-mid);font-weight:600;padding:4px 10px;border-radius:20px;
  background:var(--stone,#f4f0e9);border:1px solid var(--border);
}
.fh-card-claim-row a:first-child:hover{color:var(--deep);border-color:var(--deep);}
/* 20260813 (Gemini-Visual-QA-Folgepunkt, echter Befund): #9aa5aa hatte nur
   ~2.6:1 Kontrast auf Weiss -- verfehlt WCAG AA (4.5:1) fuer Fliesstext.
   #6b7280 ist rechnerisch ~4.9:1, bleibt sichtbar blasser/zurueckhaltender
   als der Claim-Link (var(--text-mid)), erfuellt aber die Mindestlesbarkeit. */
.fh-card-claim-row a:last-child{color:#6b7280;font-weight:500;}
.fh-card-claim-row a:last-child:hover{color:var(--text-mid);text-decoration:underline;}

/* Profil-Badges */
.fh-card-badges{margin:4px 0 6px;display:flex;flex-wrap:wrap;gap:5px;}
.fh-pb{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.fh-pb-premium{background:#fef9ec;color:#b45309;}
.fh-pb-verified{background:#f0fdf4;color:#15803d;}
/* 20260813 (Aurelia-Auftrag cc_6146852a Punkt 2, Text seit 20260814
   cc_1c9e092d "SOLANERO Fachpartner" statt "SOLANERO Partnerprofil"):
   ist der bezahlte Kernstatus, sah bisher aber genauso schlicht aus wie
   ein reiner Info-Chip (heller Fond, gleiche Kontur wie z.B. Produkt-Tags).
   Jetzt eigenstaendig hochwertiger: dunkler Volltonhintergrund statt
   heller Flaeche, dezenter Schatten -- bleibt im bestehenden CI (var(--deep)),
   keine neue Farbe. */
.fh-pb-fachpartner{
  background:#fff0e6;color:#713a22;border:1px solid #f1bd99;
  box-shadow:0 3px 10px rgba(216,121,71,.10);
}
.fh-pb-fachpartner-manuell{background:#fff0e6;color:#713a22;border:1px solid #f1bd99;box-shadow:0 3px 10px rgba(216,121,71,.10);}
.fh-pb-hersteller{background:#f0f4ff;color:#3b49c7;}

/* Herstellerlogos/Partner-Hinweise (Auftrag Punkt 2) -- kompakte Chip-Reihe,
   analog zur bereits verifizierten Darstellung auf den Betriebsprofilseiten
   (bd-hersteller-item), nur dichter für die Trefferkarte. */
/* 20260813 (Aurelia-Auftrag cc_6146852a Punkt 7): Chips hatten volle Kontur
   + fette Schrift + eigenes rundes "Mark"-Icon je Chip -- wirkten dadurch so
   praesent wie ein CTA, obwohl es reine Zusatzinfo ist. Jetzt ruhiger: kein
   Rahmen, normale statt fette Schrift, kein separates Icon-Rondell (nur noch
   ein dezenter Punkt-Trenner), kleinere Schrift. */
.fh-hersteller-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 10px;font-size:11.5px;color:var(--muted);}
.fh-hersteller-chip{
  display:inline-flex;align-items:center;font-weight:500;color:var(--muted);
  background:none;border:none;padding:0;border-radius:0;
}
.fh-hersteller-chip:not(:last-child)::after{content:"·";margin-left:5px;color:var(--border-cool,#d4dfe3);}
.fh-hersteller-mark{display:none;}
.fh-hersteller-label{font-weight:600;color:var(--text-mid);margin-right:1px;}

/* Hersteller-Toggle im Detailpanel (cc_9b364484 Punkt 4): "Alle N Hersteller
   anzeigen" bei mehr als 6 Herstellern, statt einer statischen "+N weitere"-
   Textzeile ohne Aktion. */
.fh-hersteller-expand-btn{
  display:block;margin-top:2px;background:none;border:none;padding:0;
  font-size:11.5px;font-weight:700;color:var(--deep);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;
}
.fh-hersteller-expand-btn:hover{color:var(--sun,#d99a3d);}

/* Medienhinweise Bilder/Video (Auftrag Punkt 2) -- reine Mengenangabe, keine
   erfundenen Bilder (Z-937): zeigt nur, dass das Profil zusätzliches Material
   hinterlegt hat. */
.fh-media-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px;}
.fh-media-chip{
  display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;
  color:var(--text-mid);
}
.fh-media-chip svg{stroke:var(--deep);flex-shrink:0;}

/* Premium-Paket-Hinweis (Architektur Auftrag Punkt 5) -- rein informativ,
   unabhängig vom Bestätigt-/Fachpartner-Status; noch keine Preise. */
.fh-premium-paket{
  font-size:11.5px;font-weight:700;color:#b45309;background:#fef9ec;
  border:1px solid #fbe4b0;border-radius:8px;padding:6px 10px;margin:0 0 10px;
}

/* Premium-Karte deutlich hochwertiger als der Basiseintrag (Auftrag Punkt 2/6,
   20260814 Aurelia-Auftrag cc_1c9e092d: Rahmen von dunkelblau auf dezentes
   Gold umgestellt, damit "Goldrahmen/Goldakzent" auch am Kartenrand selbst
   sichtbar ist, nicht nur im oberen Streifen -- bewusst als schmale, blasse
   Linie statt kraeftiger Farbflaeche, um nicht wie ein Werbebanner zu wirken):
   dezenter Gold-Akzentstreifen oben, kräftigerer Schatten/Rahmen statt nur
   Hintergrund-Verlauf, damit der Unterschied auch ohne Badge sofort auffällt. */
.fh-card-premium{
  border-color:rgba(232,154,106,.48) !important;background:linear-gradient(160deg,#f7fbfa,#fff 68%,#fffaf5);
  box-shadow:0 5px 22px rgba(22,62,82,.07);position:relative;overflow:hidden;
}
.fh-card-premium::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,#E89A6A,#F2C1A1,#E89A6A);
}
.fh-card-premium:hover{box-shadow:0 12px 32px rgba(22,62,82,.12);}
.fh-card-pin-prem{background:#1F8A4D !important;}


/* SOLANERO_DEMO_LOGO_BRAND_PARITY_20260906
   DEMO004 is the shared SOLANERO sales example, not a real dealer.
   Preserve the same gold asset as the detail view; membership must never
   paint a green/blue tile behind this transparent brand mark.
   Scoped to the fixed demo so real dealer logos/initials stay unchanged. */
.fh-card[data-id="DEMO004"] .fh-card-logo-img{
  background:transparent;border:0;border-radius:0;box-shadow:none;
}
.fh-card[data-id="DEMO004"] .fh-card-logo-img img{
  display:block;width:100%;height:100%;object-fit:contain;border-radius:0;
}
.fh-card[data-id="DEMO004"] .fh-card-logo-fallback{
  color:var(--deep,#163e52);
}

/* 20260929: Fachpartner-Verkaufsdemo zeigt Social-Kanaele nicht nur als
   Icon, sondern bewusst mit Namen. Der 39-EUR-Mehrwert muss sofort lesbar sein. */
.fh-social-btn-demo{width:auto!important;min-width:44px;height:36px!important;border-radius:999px!important;padding:0 10px!important;gap:6px!important;font:700 11.5px/1 var(--sans,Arial,sans-serif);color:var(--deep,#163e52);}
.fh-social-btn-demo .fh-social-name{display:inline!important;white-space:nowrap;}
@media(max-width:520px){.fh-social-btn-demo{padding:0 8px!important;font-size:11px;}.fh-social-btns{gap:6px;}}
