/* ====== Design-Variablen ====== */
:root{
  --fb-bg:#ffffff;
  --fb-border:#e5e7eb;
  --fb-text:#111827;
  --fb-muted:#6b7280;
  --fb-accent:#2570BC; /* Linkfarbe */
  --fb-radius:12px;
  --fb-shadow:0 4px 12px rgba(0,0,0,.06);
}

/* ====== LISTENANSICHT (Kachel) ====== */
.fb-list{ display:grid; grid-template-columns:1fr; gap:16px; }

.fb-card{
  background:var(--fb-bg);
  border:1px solid var(--fb-border);
  border-radius:var(--fb-radius);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.fb-card:hover{ box-shadow:var(--fb-shadow); border-color:#d1d5db; transform:translateY(-2px); }

.fb-card-inner{
  display:grid;
  grid-template-columns:250px 1fr; /* Logo | Inhalte */
  gap:24px;
  padding:20px 22px;
  align-items:start;
}

/* Logo (Liste) */
.fb-logo{
  width:250px;height:250px;
  border:1px solid var(--fb-border);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;overflow:hidden;padding:8px;
}
.fb-logo a{ display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.fb-logo img{ width:100%; height:100%; object-fit:contain; }

/* Rechte Spalte (Liste) */
.fb-right{ min-width:0; }

/* Titel (Liste) */
.fb-title{
  margin:6px 0 8px 0;
  font-size:1.7rem; font-weight:800; color:var(--fb-text); line-height:1.15;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.fb-title a{ color:var(--fb-text); text-decoration:none; }
.fb-title a:hover{ text-decoration:underline; }

/* Zeilen */
.fb-row{ display:flex; align-items:center; gap:10px; font-size:1.12rem; color:var(--fb-text); min-width:0; margin:2px 0; }
.fb-key{ color:var(--fb-muted); width:140px; flex:0 0 auto; }
.fb-val{ min-width:0; display:flex; align-items:center; gap:8px; }
.fb-val a{ color:var(--fb-accent); text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fb-val a:hover{ text-decoration:underline; }
.fb-ico{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; color:var(--fb-muted); }

.fb-sep{ height:10px; }

/* Responsive (Liste) */
@media (max-width:820px){
  .fb-card-inner{ grid-template-columns:200px 1fr; gap:20px; }
  .fb-logo{ width:200px;height:200px; }
}
@media (max-width:640px){
  .fb-card-inner{ grid-template-columns:1fr; gap:16px; }
  .fb-logo{ width:180px;height:180px;margin:0 auto; }
  .fb-title{ white-space:normal; text-align:center; }
  .fb-right{ text-align:left; }
  .fb-row{ justify-content:flex-start; }
}

/* ====== EINZELANSICHT ====== */
.fb-single{
  background:#fff;
  border:1px solid var(--fb-border);
  border-radius:var(--fb-radius);
  padding:22px;
  margin-bottom:22px;
  box-shadow:0 2px 6px rgba(0,0,0,.03);
}

/* Hero-Bereich */
.fb-hero{
  display:grid;
  grid-template-columns:280px 1fr; /* Logo größer im Detail */
  gap:24px;
  align-items:center;
}
.fb-hero-logo{
  width:280px;height:280px;
  border:1px solid var(--fb-border);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:10px;
}
.fb-hero-logo img{ width:100%; height:100%; object-fit:contain; }
.fb-hero-main{ min-width:0; }
.fb-hero-title{
  font-size:2rem; line-height:1.15; margin:0 0 10px 0; font-weight:800; color:var(--fb-text);
  word-break:break-word;
}

/* Chips (Kategorien/Tags) */
.fb-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.fb-chip{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--fb-border);
  padding:6px 10px; border-radius:999px; font-weight:600; color:#374151; background:#f9fafb;
}

/* Kurzbeschreibung */
.fb-desc{
  margin-top:16px;
  border-left:3px solid var(--fb-accent);
  background:#f8fbff;
  padding:12px 14px;
  border-radius:8px;
  color:#1f2937;
}

/* Info-Grids */
.fb-info-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; margin-top:22px;
}
.fb-info-card{
  border:1px solid var(--fb-border);
  border-radius:10px;
  padding:16px;
  background:#fff;
}
.fb-info-card h3{
  margin:0 0 10px 0; font-size:1.1rem; color:#222; font-weight:800;
}
.fb-info-card .fb-row{ margin:6px 0; }
.fb-info-card .fb-key{ width:150px; }

/* Inhaltsblock (Block-Editor) */
.fb-content-card{
  border:1px solid var(--fb-border);
  border-radius:10px;
  padding:16px;
  background:#fff;
  margin-top:22px;
}
.fb-content-card img{ max-width:100%; height:auto; border-radius:8px; }

/* Unterer Taxonomie-Block */
.fb-taxblock{ margin-top:22px; }
.fb-taxrow{ margin-top:12px; }
.fb-taxrow h3{ margin:0 0 8px 0; font-size:1.05rem; font-weight:800; color:#222; }

/* Links im Single */
.fb-info-card a,
.fb-content-card a{ color:var(--fb-accent); text-decoration:none; }
.fb-info-card a:hover,
.fb-content-card a:hover{ text-decoration:underline; }

/* Responsive Single */
@media (max-width:980px){
  .fb-hero{ grid-template-columns:220px 1fr; }
  .fb-hero-logo{ width:220px;height:220px; }
}
@media (max-width:700px){
  .fb-hero{ grid-template-columns:1fr; text-align:center; }
  .fb-hero-logo{ width:200px;height:200px; margin:0 auto; }
  .fb-hero-title{ font-size:1.7rem; }
  .fb-info-grid{ grid-template-columns:1fr; }
}

/* Map-Karte (Single) */
.fb-map-card{
  border:1px solid var(--fb-border);
  border-radius:10px;
  background:#fff;
  padding:16px;
  margin-top:22px;
}
.fb-map-card h3{
  margin:0 0 10px 0; font-size:1.1rem; font-weight:800; color:#222;
}
.fb-map-consent{
  border:1px dashed var(--fb-border);
  border-radius:10px;
  padding:14px;
  background:#f9fafb;
  margin-bottom:12px;
}
.fb-map-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:9px 12px;
  border:1px solid var(--fb-accent);
  border-radius:10px;
  background:#fff;
  color:var(--fb-accent);
  font-weight:700;
  cursor:pointer;
}
.fb-map-btn:hover{ background:rgba(37,112,188,.06); }
.fb-map-wrap{ position:relative; }
.fb-map{
  width:100%;
  height:360px;
  border:1px solid var(--fb-border);
  border-radius:10px;
  opacity:.25; transition:opacity .25s ease;
}
.fb-map.is-ready{ opacity:1; }

@media (max-width:700px){
  .fb-map{ height:260px; }
}
