/* =========================================================================
   Energy for People — Partner-Vorlage DBF (Direktbuchung) · Seiten-Layout
   Nur was LWF002 (styles.css daneben) nicht kennt. Farben/Fonts/Masse kommen
   ausschliesslich aus assets/kit/ (Kopie aus efp-router/assets, nie hier aendern).
   Lastenheft #599.
   ========================================================================= */

body{ margin:0; display:flex; flex-direction:column; min-height:100vh; }

/* ---------- Hero: Text links, Bild als 4:3-Feld rechts (alle Personen bei jeder Breite sichtbar) ---------- */
.dbf-hero.lp-hero{ display:block; min-height:0; }
.dbf-hero.lp-hero::after{ display:none; }
.dbf-hero .lp-hero__inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,4vw,4rem); align-items:center; }
.dbf-hero .display{ font-size:clamp(2.2rem,3.6vw,3.3rem); }
.dbf-hero__bild{ margin:0; }
.dbf-hero__bild img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:45% 40%;
  border-radius:var(--r-card); box-shadow:0 20px 50px rgba(0,0,0,.35); }
@media (max-width:900px){ .dbf-hero .lp-hero__inner{ grid-template-columns:1fr; } .dbf-hero__bild{ order:2; } }

/* ---------- Buchung: Fakten als Zeile, darunter der Button zum Brevo-Buchungslink der Partnerin (Testphase, Berni 2026-10-16) ---------- */
.dbf-buchung{ padding-block:clamp(3.5rem,7vw,5.5rem); }
.dbf-buchung__head{ max-width:640px; }
.dbf-kalender{ max-width:1024px; margin:var(--sp-6) auto 0; }
.dbf-brevo{ text-align:center; }
.dbf-kalender__fehlt{ padding:var(--sp-7) var(--sp-5); text-align:center; color:var(--c-text-muted); }
.dbf-rechtshinweis{ max-width:1024px; margin:var(--sp-5) auto 0; padding:var(--sp-4) var(--sp-5); border-left:3px solid var(--c-primary);
  background:#fff; border-radius:0 var(--r-card) var(--r-card) 0; color:var(--c-heading); }

/* ---------- Deine Begleiterin: die EINZIGE Sektion, die je Partnerin wechselt ---------- */
.dbf-person{ display:grid; grid-template-columns:5fr 7fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.dbf-person__foto{ margin:0; }
.dbf-person__foto img{ display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:var(--r-card); box-shadow:var(--sh-lift); }
.dbf-person__rolle{ color:var(--c-text-subtle); font-size:var(--fs-small); margin:0 0 var(--sp-4); }
@media (max-width:767px){ .dbf-person{ grid-template-columns:1fr; } .dbf-person__foto{ max-width:260px; } }

/* ---------- Danke (Buchungsbestaetigung) ---------- */
.dbf-danke{ padding-block:clamp(3rem,7vw,5.5rem); }
.dbf-danke .lp-danke__title{ max-width:20ch; }
.dbf-danke .lead{ color:var(--c-on-dark-text); }   /* .lead ist im Kit fuer helle Flaechen gefaerbt — auf section--dark sonst #5a5a5a auf Gruen (gemessen 2026-10-15) */

.dbf-bedingungen, .dbf-zustimmung{ text-align:left; }
.dbf-bedingungen{ margin:var(--sp-5) 0; display:grid; gap:var(--sp-3); max-width:52ch; }
.dbf-bedingungen div{ display:grid; grid-template-columns:7rem 1fr; gap:var(--sp-3); padding-bottom:var(--sp-3); border-bottom:1px solid var(--c-on-dark-border); }
.dbf-bedingungen dt{ color:var(--c-accent); font-weight:var(--fw-bold); }
.dbf-bedingungen dd{ margin:0; color:#fff; }
.dbf-zustimmung{ display:flex; gap:var(--sp-3); align-items:flex-start; margin:var(--sp-4) 0; color:#fff; max-width:52ch; }
#zustimmung-knopf[disabled]{ opacity:.5; cursor:not-allowed; }
@media (max-width:480px){ .dbf-bedingungen div{ grid-template-columns:1fr; gap:var(--sp-1); } }

/* ---------- Rechtsseiten ---------- */
.dbf-recht{ padding-block:clamp(2.5rem,6vw,4rem); }
.dbf-recht .container{ max-width:760px; }
.dbf-recht h1{ font:var(--fw-bold) var(--fs-h1)/1.15 var(--font-head); color:var(--c-heading); margin:0 0 var(--sp-5); }
.dbf-recht h2{ font:var(--fw-bold) var(--fs-h3)/1.25 var(--font-head); color:var(--c-heading); margin:var(--sp-6) 0 var(--sp-2); }

/* Datenschutz: Teil A (EfP, woertlich) + Teil B */
.dbf-recht p, .dbf-recht li{ line-height:1.65; }
.dbf-recht ol, .dbf-recht ul{ padding-left:1.4em; }
.dbf-recht a{ color:var(--c-primary); text-decoration:underline; }
.dbf-recht__intro{ color:var(--c-text-muted); }
.dbf-recht h2.teil, .dbf-recht h2.dbf-recht__teil{ border-top:1px solid var(--c-border); padding-top:var(--sp-5); margin-top:var(--sp-7); }
.dbf-recht{ overflow-wrap:anywhere; }
