/* =========================================================
   SAM-PRO – Seminar Styles (Landingpage + Einzelansicht)
   Grün / clean
   ========================================================= */

:root{
  --brand: #16a34a;
  --brand-600: #16a34a;
  --brand-700: #15803d;
  --muted: #536175;
  --chip-bg: #f8fafc;
  --chip-bd: #e6edf3;
  --soft-bd: #e6edf3;
  --soft-bg: #f6f8fa;
  --ok-bg:  #ecfdf5;
  --ok-bd:  #d1fae5;

  /* Breite für das Preis-Badge (gegen Umbruch) */
  --price-badge-min: 12.5rem; /* bei Bedarf 12–13rem */
}

/* =========================
   Kartenraster (Landing + Seite)
   ========================= */
.events-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
}

.events-grid .event{
  position: relative;                 /* für Bottom-Placement + PDF-Icon */
  display:flex;
  flex-direction:column;
  border:1.5px solid var(--ok-bd);
  border-radius:16px;
  padding:16px;
  padding-bottom: 88px;               /* Platz für Preis + Button */
  background:#fff;
  box-shadow:0 8px 18px rgba(22,163,74,.05);
}

/* Standard-Titelschrift für alle Event-Karten (Landingpage & Seiten) */
.events-grid .event h4{
  margin:.1rem 0 .35rem;
  font-size:1.2rem;
  font-weight:700;
  line-height:1.25;

  /* Platz für das PDF-Icon oben rechts */
  padding-right:80px; /* ggf. 70–90 anpassen, falls nötig */
}


.events-grid .event p.muted{
  color:var(--muted);
}

/* PDF-Icon oben rechts in der Karte */
.events-grid .event .ev-dl{
  position:absolute;
  top:12px;
  right:16px;
  display:inline-block;
}
.events-grid .event .ev-dl img{
  display:block;
  width:50px;          /* Vorgabe: 50px */
  height:auto;
}

/* Kopfzeile: nur Titel links (Preis wird unten positioniert) */
.events-grid .event-head{
  display:flex;
  align-items:center;
  justify-content:flex-start;         /* kein Platz für Badge mehr nötig */
  gap:.5rem;
}

/* =========================================================
   Preis-Badge – unten links (gleich Höhe mit Details-Button)
   MwSt. unter dem Betrag (2 Zeilen via Grid)
   ========================================================= */
.events-grid .event .price-badge{
  position: absolute;
  left: 16px;
  bottom: 12px;

  display: grid;
  grid-template-columns: auto 1fr;  /* Icon | Textblock */
  grid-template-rows: auto auto;    /* 1: Preis, 2: MwSt. */
  align-items: center;
  column-gap: 8px;

  min-width: var(--price-badge-min);
  padding: 8px 12px;
  border-radius: 999px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  white-space: nowrap;
}

/* Icon links über beide Zeilen laufen lassen */
.events-grid .event .price-badge svg{
  grid-column: 1;
  grid-row: 1 / span 2;
}

/* Preis-Schrift */
.events-grid .event .price-main{
  grid-column: 2;
  grid-row: 1;
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
  color: var(--brand-600);
}

/* MwSt.-Zeile unter dem Preis */
.events-grid .event .price-badge small{
  grid-column: 2;
  grid-row: 2;
  font-size: .75rem;
  line-height: 1.1;
  opacity: .85;
  margin-top: 2px;
}

/* Chips (inkl. Zielgruppe) */
.events-grid .event .chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:.25rem 0 .6rem;
}
.events-grid .event .chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  background:var(--chip-bg);
  border:1px solid var(--chip-bd);
  color:#0f172a;
}
.events-grid .event .chip--days{
  background:#eef2ff;
  border-color:#e6e8ff;
  color:#253269;
}
.events-grid .event .chip--audience{
  background:var(--ok-bg);
  border-color:var(--ok-bd);
  color:#065f46;
}

/* Zusatz-Tags: Datum / Zeit / Plätze */
.events-grid .event .tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--soft-bg);
  border:1px solid var(--soft-bd);
  font-weight:600;
}
.events-grid .event .tag svg{margin-right:4px}
.ev-time{white-space:nowrap}

/* Buttons */
.events-grid .event .btn{
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
  border:1px solid var(--brand-600);
  color:#fff;
  background:var(--brand-600);
  text-decoration:none;
}
.events-grid .event .btn:hover{
  background:var(--brand-700);
  border-color:var(--brand-700);
}

/* Footer der Event-Karte: Details rechtsbündig – unten rechts */
.events-grid .event-footer{
  position: absolute;
  right: 16px;
  bottom: 10px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:1rem;
  margin-top:0;
}
.events-grid .event .event-details{
  border-radius:999px;
  font-weight:800;
  padding:.55rem 1rem;
}

/* =========================
   Registrierungsbox (Einzelansicht)
   ========================= */
.seminar-single .seminar-aside { width:100%; }
@media (min-width: 980px){
  .seminar-single .container.grid2{
    display:grid;
    grid-template-columns: minmax(0,1fr) 420px;
    gap:28px;
    align-items:start;
  }
}
.reg-card{
  border:1.5px solid #e6edf3;
  background:#fff;
  border-radius:16px;
  padding:18px;
  box-shadow:0 8px 18px rgba(22,163,74,.05);
}
.reg-title{margin:0 0 4px 0; font-size:14px}
.reg-sub{margin:0 0 12px 0; color:#6b7280}
.reg-price{
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-radius:12px;
  padding:12px;
  margin-bottom:12px;
}
.reg-price-net{display:flex; align-items:baseline; gap:10px}
.reg-price-net strong{font-size:14px; line-height:1; color:#16a34a}
.reg-price-net span{color:#374151}
.reg-price-gross{margin-top:6px; color:#374151; font-size:12px}
.reg-label{display:block; margin:10px 0 6px; font-weight:600}
.reg-control{
  width:100%;
  border:1px solid #e6edf3;
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  outline:none;
}
.reg-control:focus{
  border-color:#34d399;
  box-shadow:0 0 0 3px rgba(16,185,129,.15);
}
.reg-grid2{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (max-width:680px){
  .reg-grid2{grid-template-columns:1fr}
}
.reg-consent{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0;
  color:#111827;
}
.reg-consent a{
  color:#0ea5a4;
  text-decoration:underline;
}
.reg-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:6px;
}
.btn{
  border-radius:999px;
  padding:10px 16px;
  font-weight:800;
  border:1px solid #16a34a;
}
.btn.btn-primary{background:#16a34a; color:#fff}
.btn.btn-ghost{background:transparent; color:#16a34a}

/* =========================
   Seite „Seminare“: Zwei-Spalten-Layout
   ========================= */
.seminar-two-col{
  display:grid;
  grid-template-columns:minmax(0,1fr) 520px;
  gap:32px;
  align-items:start;
}
@media (max-width:1100px){
  .seminar-two-col{ grid-template-columns:1fr; }
}
.seminar-page .entry-content > *:first-child{
  margin-top:0;
}

/* Schriftgrößen nur für die Seminar-Übersichtsseite (/seminare/) */

/* Haupttitel: "Seminare im Überblick" */
.seminar-page .entry-title{
  font-size: clamp(1.9rem, 1.4rem + 1vw, 2.4rem);
  line-height: 1.2;
  margin-bottom: .75rem;
  font-weight: 800;
}

/* Abschnittsüberschriften links: z. B. "Seminare & Coachings" */
.seminar-page .entry-content h2{
  font-size: 1.6rem;
  line-height: 1.25;
  font-weight: 700;
  margin: 1.2rem 0 .45rem;
}

/* Unterüberschriften (falls genutzt) etwas kleiner */
.seminar-page .entry-content h3{
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 700;
  margin: 1rem 0 .35rem;
}

/* Seminartitel NUR in der rechten Spalte der 2-Spalten-Seminarseite
   jetzt moderat kleiner (vorher sehr groß über clamp) */
.seminar-two-col .seminar-side .events-grid .event h4{
  font-size: 1.4rem;   /* ca. 22–23px, gern bei Bedarf auf 1.3rem/1.2rem anpassen */
  font-weight: 800;
  line-height: 1.25;
}

/* Fallback (falls Footer-Klasse außerhalb des Grids genutzt wird) */
.event-footer{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:1rem;
  margin-top:.6rem;
}

/* Responsive Tweaks */
@media (max-width: 420px){
  :root{ --price-badge-min: 11.25rem; }
}

/* Block "Individuelle Anfrage" in der Registrierungsbox */
.sampro-reg-individual{
  border-top: 1px solid #059669;   /* SAM-Grün */
  border-bottom: 1px solid #059669;
  padding-top: 14px;
  padding-bottom: 14px;
  margin-top: 18px;
}

/* =========================
   Sitzplatz-Badge in der Terminzeile
   ========================= */

/* Grundzustand: freie Plätze, leicht grün */
.events-grid .event .tag--seats{
  background:#ecfdf5;
  border-color:#bbf7d0;
  color:#065f46;
}

/* Wenige Plätze frei (<=2) – gelb markiert */
.events-grid .event .tag--seats-low{
  border-color:#facc15;
  background:#fefce8;
  color:#92400e;
}

/* Ausgebucht – rot markiert */
.events-grid .event .tag--seats-full{
  border-color:#fecaca;
  background:#fee2e2;
  color:#b91c1c;
}

/* =========================
   Seminartitel – Detailseite (single-sampro_event)
   ========================= */

/* Titel oben auf der Detailseite bewusst größer setzen */
.seminar-single .entry-title{
  font-size: clamp(1.9rem, 1.6rem + 1vw, 2.4rem);
  line-height: 1.2;
  margin: 0 0 .75rem;
  font-weight: 800;
}
