/* ==========================================================================
   Kondolenzbuch (EXT:ve_guestbook) - Optik und Typografie wie die alte Website
   Schrift Open Sans 14px / Zeilenhoehe 22px, Name halbfett (#525050),
   "In Gedenken an" 14px/18px (#525050), Datum 10px schwarz, Text schwarz.
   Layout responsiv: Kerze links, Text rechts, Trennlinien, Seitenleiste rechts.
   ========================================================================== */

.gb {
  --gb-border: var(--c-border, #bbb6ae);
  --gb-grey: #525050;
  --gb-black: #000;
  --gb-accent-dark: var(--c-accent-dark, #8c8369);
  font-family: 'Open Sans', var(--f-sans, Arial), Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  color: var(--gb-black);
  text-align: left;
  overflow-wrap: anywhere; /* ersetzt das alte "wordcut" fuer sehr lange Woerter */
}
.gb * { box-sizing: border-box; }

/* ------------------------------------------------------------------ Liste */
.gb-list { border-top: 1px solid var(--gb-border); }

.gb-entry {
  display: grid;
  grid-template-columns: clamp(84px, 24vw, 160px) minmax(0, 1fr);
  align-items: start;
  padding-block: 0;
  border-bottom: 1px solid var(--gb-border);
}

.gb-entry__candle { line-height: 0; padding-block: 15px; }
.gb-entry__candle img { display: block; width: min(120px, 100%); height: auto; }

.gb-entry__main { min-width: 0; margin-block: 15px; }

/* Name: 14px / 22px, halbfett, grau */
.gb .gb-entry__name {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 0;
  text-transform: none;
  font-style: normal;
  color: var(--gb-grey);
}

/* "In Gedenken an ..." : 14px / 18px, grau */
.gb .gb-entry__deceased {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 18px;
  color: var(--gb-grey);
}
.gb-entry__dates { white-space: nowrap; }

/* Datum: 10px, schwarz, 10px Abstand nach oben */
.gb .gb-entry__date {
  margin: 0;
  padding-top: 10px;
  font-size: 10px;
  line-height: 10px;
  color: var(--gb-black);
}

/* Nachricht: 14px / 22px, schwarz, 15px Abstand oben */
.gb .gb-entry__text {
  margin: 15px 0 0;
  padding: 0;
  font-size: 14px;
  line-height: 22px;
  color: var(--gb-black);
}
.gb .gb-entry__text p { margin: 0; padding: 0; font-size: 14px; line-height: 22px; }
.gb .gb-entry__text p + p { margin-top: 1em; }

.gb .gb-entry__comment { margin-top: 15px; }
.gb .gb-entry__comment-title {
  margin: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  color: var(--gb-grey);
}
.gb .gb-entry__comment p { font-style: italic; }

.gb-empty { padding-block: 1.5rem; }

/* ------------------------------------------------------- Blaettern (rechts) */
.gb-pagination { margin-block: 10px; }
.gb-pagination__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  gap: 2px 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gb-pagination__item { margin: 0; padding: 0; }
.gb-pagination__item::marker { content: none; }
.gb-pagination__item a,
.gb-pagination__item span[aria-current] {
  display: inline-block;
  padding: 4px 1px;             /* etwas mehr Klickflaeche, Optik unveraendert */
  font-size: 14px;
  line-height: 14px;
  color: var(--gb-black);
  text-decoration: none;
}
.gb-pagination__item a { font-weight: 600; }
.gb-pagination__item a:hover,
.gb-pagination__item a:focus-visible { color: var(--gb-accent-dark); text-decoration: underline; }
.gb-pagination__item.is-current span { font-weight: 400; }

@media (max-width: 30em) {
  .gb-pagination__list { justify-content: center; }
  .gb-pagination__item a,
  .gb-pagination__item span[aria-current] { min-width: 26px; text-align: center; padding-block: 8px; }
}

@media print {
  .gb-pagination { display: none; }
  .gb-entry { break-inside: avoid; }
}
