/* ============================================================
 * Stoll Ärzte-Slider — Homepage "Unser Team" (Handoff Homepage.dc.html
 * Sektion "3 · ÄRZTE-SLIDER"). Ersetzt den alten, auf Dr. Stoll
 * hartcodierten Doctor-Spotlight (tmsec1).
 * ============================================================ */

.pst-aslider__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin: 0 0 48px; }
.pst-aslider__head .stoll-eyebrow { margin: 0 0 16px; }
.pst-aslider__title { font: 800 var(--fs-h2, 32px)/1.15 var(--font-brand); color: var(--ink-800); margin: 0; }
/* 28.07.2026 (Joe: "wie alle normalen Slider"): Pfeile links/rechts auf
 * vertikaler Mitte des Sliders statt separiert im Head — Look bleibt
 * (Quadrat, Ink-Icon), Flaeche halbtransparent + backdrop-blur 10px. */
.pst-aslider__stage { position: relative; }
.pst-aslider__navbtn {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
  width: 48px; height: 48px; border: 2px solid var(--ink-800);
  background: rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  color: var(--ink-800); cursor: pointer;
  display: flex; align-items: center; justify-content: center; padding: 0;
}
.pst-aslider__navbtn--prev { left: 12px; }
.pst-aslider__navbtn--next { right: 12px; }
.pst-aslider__navbtn:hover:not(.is-disabled) { background: var(--ink-800); color: var(--white); }
/* Joe 03.08: am Anschlag verschwinden die Pfeile ganz (nicht ausgrauen) */
.pst-aslider__navbtn.is-disabled { visibility: hidden; }
.pst-aslider__navicon { width: 16px; height: 16px; background: currentColor; }
.pst-aslider__navicon--prev { transform: rotate(180deg); }

.pst-aslider__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; }
/* BACKLOG B-01 (01.08.2026): Filter-Pills auf M21 — Border --border-control
 * (17.2, WCAG 1.4.11), Radius explizit 0 (Kit-Button-Radius wuerde sonst
 * durchschlagen), min 44px Touch-Ziel (13.6), aktiv gold-500-Flaeche +
 * gold-700-Border + ink-900 700 — KEINE schwarze runde Pill mehr. */
/* B-01 (BACKLOG, Joe 02.08.): Flaeche statt Rahmen -- inaktiv sand-100
 * (hover sand-200), aktiv gold-500-Flaeche + ink-900 700, kein Border. */
.pst-aslider__chip { border: 0; border-radius: 0; background: var(--sand-100); color: var(--ink-600); font: 500 var(--fs-meta, 15px)/1 var(--font-brand); padding: 11px 20px; min-height: 44px; cursor: pointer; transition: background .15s ease, color .15s ease; }
.pst-aslider__chip:hover { background: var(--sand-200); color: var(--ink-800); }
.pst-aslider__chip.is-active { background: var(--gold-500); color: var(--ink-900); font-weight: 700; }

/* Task #48 (03.08.2026) — nativer Scroll-Snap-Slider statt translateX.
 * Vorgabe: 11-responsive.md Z.62 + 20-elemente-komplett.md Z.38 ("scroll-snap").
 * Der Browser uebernimmt damit Wischen, Momentum und Rubber-Band; die
 * Scrollleiste wird ausgeblendet, weil Pfeile und Dots die Steuerung sind.
 * --pst-as-card setzt aerzte-slider.js inline aus den Widget-Controls;
 * die Media-Query-Werte unten sind der Fallback ohne JS. */
.pst-aslider { --pst-as-gap: 24px; }
.pst-aslider__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pst-aslider__viewport::-webkit-scrollbar { width: 0; height: 0; display: none; }
.pst-aslider__track { display: flex; gap: var(--pst-as-gap); transition: opacity .22s ease; }
.pst-aslider__card {
  flex: 0 0 var(--pst-as-card, calc((100% - 3 * var(--pst-as-gap)) / 4));
  scroll-snap-align: start;
  background: var(--white);
  box-shadow: var(--shadow-card);
}
.pst-aslider__card.is-hidden { display: none; }
.pst-aslider__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: var(--sand-100); }
/* HAERTUNG 25.07.2026 (A.2, .pst-cb__photo-img-Folge-Audit): war (0,1,1),
 * gleiche Spezifitaet wie Elementors ".elementor img{height:auto}", bisher
 * nur per Ladereihenfolge zufaellig korrekt. Vorfahre ergaenzt -> (0,2,1). */
.pst-aslider__card .pst-aslider__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pst-focal-x, 50%) var(--pst-focal-y, 0%); display: block; }
.pst-aslider__accent { position: absolute; left: 0; bottom: 0; width: 44px; height: 4px; background: var(--gold-500); }
.pst-aslider__body { padding: 20px 22px 24px; }
.pst-aslider__name { font: 700 var(--fs-h3, 22px)/1.3 var(--font-brand); color: var(--ink-800); margin: 0; }
.pst-aslider__role { font: 500 var(--fs-meta, 15px)/1.3 var(--font-brand); letter-spacing: .06em; text-transform: uppercase; color: var(--gold-800); margin: 8px 0 0; }
.pst-aslider__ort { font-size: var(--fs-meta, 15px); color: var(--ink-600); margin: 4px 0 0; }

.pst-aslider__empty { text-align: center; padding: 8px 24px 0; color: var(--text-muted); font-size: var(--fs-meta, 15px); max-width: 34em; margin: 0 auto; }

.pst-aslider__dots { display: flex; justify-content: center; gap: 8px; margin: 32px 0 0; }
.pst-aslider__dot { width: 8px; height: 8px; padding: 0; border: none; background: var(--sand-200); cursor: pointer; }
.pst-aslider__dot.is-active { background: var(--gold-500); }

.pst-aslider__foot { text-align: center; margin: 28px 0 0; }
.pst-aslider a.pst-aslider__all { display: inline-flex; align-items: center; gap: 7px; color: var(--gold-800); font: 700 var(--fs-body, 17px)/1 var(--font-brand); text-decoration: none; }
.pst-aslider a.pst-aslider__all:hover { color: var(--gold-900); }
.pst-aslider__allicon { width: 13px; height: 13px; background: currentColor; transform: rotate(-90deg); }

@media (max-width: 1023px) {
  .pst-aslider { --pst-as-card: calc((100% - 1.5 * var(--pst-as-gap)) / 2.5); }
}
@media (max-width: 639px) {
  .pst-aslider { --pst-as-card: calc((100% - .15 * var(--pst-as-gap)) / 1.15); }
  .pst-aslider__head { flex-direction: column; align-items: flex-start; gap: 20px; }
  /* Doc 20 Z.19: Filter-Pills mobil scroll-x statt Umbruch — sonst
   * schiebt eine dritte Chip-Zeile den Slider aus dem ersten Screen.
   * Rand-Ausgleich, damit die Pills buendig zur Sektion starten und
   * am Rand sichtbar "weiterlaufen". */
  .pst-aslider__chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x proximity;
    padding-bottom: 2px;
  }
  .pst-aslider__chips::-webkit-scrollbar { width: 0; height: 0; display: none; }
  .pst-aslider__chip { flex: 0 0 auto; scroll-snap-align: start; }
}
/* Doc 11 Z.62: "Pfeil-Buttons Tablet+, auf Mobile nur Swipe + Dots".
 * Bewusst an (pointer: coarse) gekoppelt: ein schmales Desktop-Fenster
 * behaelt die Pfeile, sonst bliebe es ohne sichtbare Scrollleiste
 * steuerlos. Auf dem Smartphone bleiben Wisch + Dots. */
@media (max-width: 767px) and (pointer: coarse) {
  .pst-aslider__navbtn { display: none; }
}

/* ── Dunkle Band-Variante (Joe 01.08.2026: "Slider-Design auch auf dunklem
 * Grund, nicht so viele weisse schwebende Sections") — aktiviert allein durch
 * die Sektions-Klasse .stoll-band-ink am Elementor-Container (kein eigenes
 * Widget, kein Setting). Farbwerte folgen den etablierten Dark-Kontexten:
 * Eyebrow gold-400 (.stoll-eyebrow--on-dark-Wert), Chips wie
 * .stoll-btn--on-dark (Hairline rgba-weiss), aktiver Chip gold-500-Flaeche
 * + ink-900-Text (M9d-Button-Regel: Weiss auf Gold scheitert an 3:1),
 * Dots inaktiv rgba(246,243,236,.55) (M13 "ueber Foto/dunkel"). Die weissen
 * Karten selbst bleiben unveraendert — der Kontrast Karte/Ink ist der Sinn
 * der Uebung. Link "Das gesamte Team..." erbt gold-400 aus der globalen
 * .stoll-band-ink-Link-Regel (components.css). */
.stoll-band-ink .pst-aslider__head .stoll-eyebrow { color: var(--gold-400); }
.stoll-band-ink .pst-aslider__title { color: var(--text-on-inverse); }
.stoll-band-ink .pst-aslider__chip { background: transparent; border-color: rgba(246,243,236,.45); color: var(--text-on-inverse); }
.stoll-band-ink .pst-aslider__chip:hover { border-color: var(--gold-400); color: var(--gold-400); }
.stoll-band-ink .pst-aslider__chip.is-active { background: var(--gold-500); border-color: var(--gold-700); color: var(--ink-900); font-weight: 700; }
.stoll-band-ink .pst-aslider__navbtn { border-color: rgba(246,243,236,.6); background: rgba(38,38,38,.45); color: var(--text-on-inverse); }
.stoll-band-ink .pst-aslider__navbtn:hover:not(.is-disabled) { background: var(--gold-500); border-color: var(--gold-500); color: var(--ink-900); }
.stoll-band-ink .pst-aslider__dot { background: rgba(246,243,236,.55); }
.stoll-band-ink .pst-aslider__dot.is-active { background: var(--gold-500); }
.stoll-band-ink .pst-aslider a.pst-aslider__all { color: var(--gold-400); }
.stoll-band-ink .pst-aslider a.pst-aslider__all:hover { color: var(--gold-300); }
