/* Gästebuch — freigegebene Besucher-Einträge als Karten (Page-Builder-Modul `gaestebuch`).
   Karte: Zitat + Fußzeile (Autor/Ort · Datum) + optionale Makler-Antwort. Struktur wie Testimonials,
   aber je Eintrag ein <article> mit <footer> und optionaler .guestbook-reply. */

.guestbook { overflow: hidden; }

.guestbook > div { display: grid; gap: var(--gap-block); grid-template-columns: 1fr; }

@media (min-width: 45rem) {
  /* Flex: letzte Reihe zentriert, volle Reihen füllen (wie Testimonials). */
  .guestbook > div { display: flex; flex-wrap: wrap; justify-content: center; }
  .guestbook > div > article { flex: 1 1 20rem; max-width: var(--section-card-max); }
}

.guestbook article {
  padding: var(--padding-card);
  background: var(--color-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--gap-inline);
  transition: transform var(--transition), box-shadow var(--transition);
}
.guestbook article:hover { transform: translateY(-0.125rem); box-shadow: var(--shadow-lg); }

.guestbook blockquote { margin: 0; }
.guestbook blockquote p { margin: 0; font-style: italic; color: var(--color-text); }

.guestbook footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--gap-inline);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.guestbook cite { font-style: normal; font-weight: 600; }

/* Makler-Antwort: abgesetzt mit linker Akzentkante. */
.guestbook-reply {
  border-inline-start: 0.1875rem solid var(--color-primary);
  padding-inline-start: var(--gap-inline);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.guestbook-reply strong { color: var(--color-text); }

/* Zuklappbares Eintrags-Formular unter den Karten. */
.guestbook-form { margin-top: var(--gap-block); max-width: var(--section-card-max); margin-inline: auto; }
.guestbook-form > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--color-primary);
  padding: var(--gap-inline) 0;
  text-align: center;
  list-style: none;
}
.guestbook-form > summary::-webkit-details-marker { display: none; }
.guestbook-form[open] > summary { margin-bottom: var(--gap-inline); }
.guestbook-form .form-stack { margin-top: 0; }
