/* ============================================================
   plate_ces — band (CType atomicplan_band)

   Vertrag (harte Regeln):
   - KEIN Sektions-Hintergrund, KEIN Sektions-Padding, KEINE eigene
     Container-/Sektionsbreite. Die Bandflaeche kommt aus
     `background_color_class` / `background_image`, die Breite aus dem
     generischen `.frame-container` (Feld „Rahmen-Layout"), die vertikalen
     Abstaende aus space_* / frame_layout_inner_*.
     Erlaubt (und hier genutzt) ist allein die ZEILENLAENGE der Textblöcke
     (`max-width` in rem/ch am Text, nicht am Sektions-Wrapper).
   - Keine font-family / font-size an Ueberschriften.
   - Farben nur ueber --bs-*-Variablen bzw. eigene Slots mit Fallback.
   - Gescoped auf .frame-type-atomicplan_band.
   ============================================================ */

.frame-type-atomicplan_band {
  --plces-band-accent: var(--bs-primary, #0d6efd);
  --plces-band-ink-soft: var(--bs-secondary-color, rgba(33, 37, 41, 0.75));
  --plces-band-line: var(--bs-border-color, rgba(0, 0, 0, 0.15));
  --plces-band-ghost-border: var(--bs-border-color, rgba(0, 0, 0, 0.15));
  --plces-band-ghost-hover-bg: var(--bs-secondary-bg, rgba(0, 0, 0, 0.06));
  --plces-band-radius: 999px;
  /* Zeilenlaenge des Textkoerpers — KEINE Sektionsbreite. */
  --plces-band-measure: 52rem;
}

/* Auf gefaerbten (invertierenden) Flaechen bzw. ueber einem Frame-Hintergrundbild
   duerfen die gedaempften Toene nicht auf einer festen Grau-Variable haengen —
   sie folgen der Textfarbe des Frames. So bleibt der Block auf hellen UND dunklen
   Flaechen lesbar, ohne dass ein Theme Regeln ueberschreiben muss. */
.frame-type-atomicplan_band.frame-has-backgroundimage,
.frame-type-atomicplan_band.-colorized {
  --plces-band-ink-soft: color-mix(in srgb, currentColor 78%, transparent);
  --plces-band-line: color-mix(in srgb, currentColor 32%, transparent);
  --plces-band-ghost-border: color-mix(in srgb, currentColor 45%, transparent);
  --plces-band-ghost-hover-bg: color-mix(in srgb, currentColor 14%, transparent);
}

.frame-type-atomicplan_band .plces-band__text {
  max-width: var(--plces-band-measure);
  margin-inline: auto;
  text-align: center;
}

/* ---- Dachzeile ---------------------------------------------------------- */
.frame-type-atomicplan_band .plces-band__eyebrow {
  display: inline-flex;
  align-items: baseline;
  gap: 0.7em;
  margin-bottom: 1.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--plces-band-ink-soft);
}
.frame-type-atomicplan_band .plces-band__eyebrow .idx { color: var(--plces-band-accent); }

/* ---- Zitat -------------------------------------------------------------- */
.frame-type-atomicplan_band .plces-band__quote {
  margin: 0;
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.9rem);
  line-height: 1.35;
}
.frame-type-atomicplan_band .plces-band__quote > :last-child { margin-bottom: 0; }
.frame-type-atomicplan_band .plces-band__quote::before { content: "\201C"; color: var(--plces-band-accent); }
.frame-type-atomicplan_band .plces-band__quote::after { content: "\201D"; color: var(--plces-band-accent); }

.frame-type-atomicplan_band .plces-band__cite {
  display: block;
  margin-top: 1.4rem;
  font-style: normal;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: var(--plces-band-ink-soft);
}
.frame-type-atomicplan_band .plces-band__cite-detail::before { content: " · "; }

/* ---- Aufruf / Aussage ---------------------------------------------------- */
.frame-type-atomicplan_band .plces-band__title { margin-bottom: 0; }
.frame-type-atomicplan_band .plces-band__body { margin-top: 1.1rem; }
.frame-type-atomicplan_band .plces-band__body > :last-child { margin-bottom: 0; }
.frame-type-atomicplan_band .plces-band--statement .plces-band__body {
  font-size: clamp(1.15rem, 1rem + 0.8vw, 1.6rem);
  line-height: 1.4;
}

.frame-type-atomicplan_band .plces-band__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.9rem 1.6rem;
  margin-top: 1.8rem;
}
/* Querverweis-/Ghost-Button: Rahmen statt Flaeche, damit er neben dem
   Primaer-Button zurueckhaltend bleibt. */
.frame-type-atomicplan_band .plces-band__ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.55em 1.4em;
  border: 1px solid var(--plces-band-ghost-border);
  border-radius: var(--plces-band-radius);
  color: inherit;
  text-decoration: none;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.frame-type-atomicplan_band .plces-band__ghost:hover {
  background: var(--plces-band-ghost-hover-bg);
  border-color: currentColor;
}
.frame-type-atomicplan_band .plces-band__arrow-glyph { transition: transform 0.25s ease; }
.frame-type-atomicplan_band .plces-band__ghost:hover .plces-band__arrow-glyph { transform: translateX(0.25em); }

/* ---- Schlagwort-Leiste --------------------------------------------------- */
.frame-type-atomicplan_band .plces-band__strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem 1.4rem;
  margin-top: 2rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--plces-band-line);
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--plces-band-ink-soft);
}
.frame-type-atomicplan_band .plces-band__strip span + span::before {
  content: "·";
  margin-right: 1.4rem;
  opacity: 0.6;
}

@media (prefers-reduced-motion: reduce) {
  .frame-type-atomicplan_band .plces-band__ghost,
  .frame-type-atomicplan_band .plces-band__arrow-glyph { transition: none; }
}
