/* ===== Anfrage-Seite hell & klar ============================== */
.page-anfrage .section {
  background: transparent;     /* keine getönte Leiste hinter H2/Lead */
}

/* Breadcrumb/Trail dezent */
.page-anfrage .trail,
.page-anfrage .you-are-here,
.page-anfrage .breadcrumb {
  background: transparent;
  color: #7b6453;
  padding: .5rem 0;
  border: 0;
}
.page-anfrage .breadcrumb a { color: #7b6453; text-decoration: none; }
.page-anfrage .breadcrumb a:hover { text-decoration: underline; }

.page-anfrage .card,
.page-anfrage .card * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Falls irgendwo fälschlich eine "Hero-Karten"-Optik greift */
.page-anfrage .hero_card .card {
  background: transparent;
  box-shadow: none;
  border: 0;
}

/* Formular sauber sichtbar */
.page-anfrage .form input,
.page-anfrage .form select,
.page-anfrage .form textarea {
  background: #fff;
  color: #2c2723;
  border: 1px solid rgba(124, 100, 83, .25);
}

/* Optionale Abrundung wie im Screenshot */
.page-anfrage .card { border-radius: 18px; }
/* ===== Anfrage-Seite: helle Karten, keine Tönung ================= */
.page-anfrage .section,
.page-anfrage .section.section--tint,
.page-anfrage .band,
.page-anfrage .tint {
  background: transparent !important;
}

/* Breadcrumb/„Sie sind hier“ dezent und hell */
.page-anfrage .breadcrumb,
.page-anfrage .you-are-here,
.page-anfrage .trail {
  background: transparent !important;
  border: 0 !important;
  color: #7b6453;
  padding: .5rem 0;
}
.page-anfrage .breadcrumb a { color: #7b6453; text-decoration: none; }
.page-anfrage .breadcrumb a:hover { text-decoration: underline; }


/* Formularfelder sauber hell */
.page-anfrage .form input,
.page-anfrage .form select,
.page-anfrage .form textarea {
  background: #fff;
  color: #2c2723;
  border: 1px solid rgba(124,100,83,.25);
}

/* etwas Luft unter dem Ribbon */
.page-anfrage .ribbon { margin-bottom: 8px; }
/* Helle Inhaltskarte wie im Impressum */
.page-card {
  background: linear-gradient(180deg, #f3efe6 0%, #e6ded0 100%);
  border: 1px solid rgba(214,184,110,0.28);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  padding: 28px 32px;
}

/* Innenabstände für größere Screens etwas luftiger */
@media (min-width: 992px) {
  .page-card { padding: 36px 42px; }
}

/* Das braune Band/Overlay unterbinden, damit es hell bleibt */
.page-anfrage .section,
.page-anfrage .section_header,
.page-anfrage .section::before,
.page-anfrage .section::after {
  background: transparent !important;
  box-shadow: none !important;
  content: none !important;
}

/* Überschrift/Lead in der Karte ohne extra Hintergrundleiste */
.page-anfrage .section_header {
  margin: 0 0 18px 0;
  padding: 0;
}

/* Die beiden kleinen Info-Karten innen hell halten */
.page-anfrage .card {
  background: linear-gradient(180deg, #f7f2e9 0%, #ede3d2 100%);
  border: 1px solid rgba(214,184,110,0.28);
  color: #2c2723;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}


/* Große Inhaltskarte (wie im Impressum) */
.page-sheet {
  background: linear-gradient(180deg, #f3efe6 0%, #e6ded0 100%);
  border: 1px solid rgba(214,184,110,0.28);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  padding: 28px 32px;
  margin: 0 auto 32px auto;
}
@media (min-width: 992px) { .page-sheet { padding: 36px 42px; } }



/* Alles, was das braune Band/Glas erzeugt, abschalten */
.page-anfrage .section,
.page-anfrage .section_header,
.page-anfrage .section_header_wrap,
.page-anfrage .tint,
.page-anfrage .band {
  background: transparent !important;
  box-shadow: none !important;
}
.page-anfrage .section::before,
.page-anfrage .section::after,
.page-anfrage .section_header::before,
.page-anfrage .section_header::after {
  content: none !important;   /* Halbkreis/Overlays aus */
}

/* Sicherheit gegen „Frosted Glass“ */
.page-anfrage .page-sheet,
.page-anfrage .page-sheet * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* Header-Leiste in der Karte NICHT tönen */
.page-anfrage .section_header{
  background:transparent !important;
  box-shadow:none !important;
  padding:0;
}
.page-anfrage .section_header::before,
.page-anfrage .section_header::after{ content:none !important; }



/* Eventuelle Section-Tönungen/Overlays sicher abschalten */
.page-anfrage .section,
.page-anfrage .section::before,
.page-anfrage .section::after{
  background:transparent !important;
  box-shadow:none !important;
  content:none !important;
}
/* === Globale Breiten === */
:root{
  --wrap: 1180px;        /* max. Seitenbreite */
  --wrap-narrow: 980px;  /* für Inhaltskarten/Formulare */
}

/* Standard-Container immer mittig */
.container{
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;      /* zentriert */
  padding-inline: 24px;     /* seitlicher Innenabstand */
}

/* Breadcrumb auf gleiche Breite ziehen */
.breadcrumb .container{
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: 24px;
}
/* Die große Karte mit dem Seiteninhalt */
.site-main .page-sheet{
  max-width: var(--wrap-narrow);
  margin: 0 auto;            /* zentriert */
  padding: 28px 28px 24px;
  border-radius: 18px;
  background: #f7f2e9;       /* falls du bereits einen Stil hast, lass ihn stehen */
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
   margin-bottom: 24px;   /* kleiner Abstand zum Footer */
}

/* Erste Trennlinie unter dem Lead-Text etwas einrücken */
.site-main .page-sheet .section_header + *{
  margin-top: 12px;
}
/* 2-Spalten-Bereich */
.grid{ display: grid; gap: 24px; }
.grid--2{ grid-template-columns: 1fr 1fr; }


/* Navigation sicher über allem */
.page-anfrage .site-nav,                       /* ersetze Selektor falls anders */
.page-anfrage #site-nav {
  position: sticky;        /* oder fixed – wenn du fixed nutzt, siehe unten */
  top: 0;
  z-index: 10000;
}

#page-banner, .hero, .section-header {
  position: relative;
  z-index: 1;        /* liegt unter der Navigation */
}

#site-nav, .site-nav {
  position: relative;  /* oder sticky/fixed – je nach deiner Variante */
  z-index: 1000;       /* Menü bleibt oben */
}
.page-anfrage .section_header {
  position: relative;       /* nicht mehr „floating“ */
  z-index: 1;               /* unter dem Menü */
  background: #f5f0e6;      /* gleiche helle Fläche wie dein Seitenhintergrund */
  backdrop-filter: none;
  box-shadow: none;
}
/* === Anfrage-Formular: Layout & Typo === */
#private-request-form {
  max-width: 860px;               /* schön schmal, gut lesbar */
  margin: 0 auto 28px;            /* mittig */
  display: grid;
  grid-template-columns: 1fr;     /* mobil: einspaltig */
  gap: 14px 18px;
}

/* Überschriften/Boxen im Formular */
#private-request-form .rule,
#private-request-form .note {
  grid-column: 1 / -1;            /* immer volle Breite */
}

/* 2 Spalten ab Tablet/Desktop */
@media (min-width: 980px) {
  #private-request-form {
    grid-template-columns: 1fr 1fr;
  }
  /* Felder, die über beide Spalten laufen sollen */
  #private-request-form .span-2 { grid-column: 1 / -1; }
}

/* Labels & Felder */
#private-request-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

#private-request-form input[type="text"],
#private-request-form input[type="email"],
#private-request-form input[type="tel"],
#private-request-form input[type="date"],
#private-request-form select,
#private-request-form textarea {
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--radius, 12px);
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.03) inset;
  font: inherit;
}

#private-request-form textarea { min-height: 110px; resize: vertical; }

/* Fokus klar, aber dezent */
#private-request-form input:focus,
#private-request-form select:focus,
#private-request-form textarea:focus {
  outline: none;
  border-color: var(--gold, #c6a65a);
  box-shadow: 0 0 0 3px rgba(198,166,90,.18);
}

/* Checkbox-/Optionsbereich hübsch in Grid */
#private-request-form .options,
#private-request-form .checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px 14px;
}

#private-request-form .checks label,
#private-request-form .options label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

#private-request-form input[type="checkbox"],
#private-request-form input[type="radio"] {
  accent-color: var(--gold, #c6a65a);
}

/* Kleingedrucktes */
#private-request-form .hint,
#private-request-form .help {
  color: #6b625b;
  font-size: .92rem;
}

/* Button-Zeile */
#private-request-form .actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;     /* oder center */
  margin-top: 6px;
}

#private-request-form .btn {
  appearance: none;
  padding: 10px 16px;
  border-radius: var(--radius, 12px);
  border: 1px solid rgba(0,0,0,.12);
  background: var(--gold, #c6a65a);
  color: #2c2723;
  font-weight: 700;
  cursor: pointer;
  box-shadow: var(--shadow, 0 8px 24px rgba(0,0,0,.06));
}
#private-request-form .btn:disabled { opacity: .5; cursor: not-allowed; }
#private-request-form .btn--ghost {
  background: #f3efe6;
  border-color: rgba(0,0,0,.12);
}

/* Abstand oberhalb Formular (unter der Einleitung) */
.page-anfrage .section_lead + #private-request-form { margin-top: 10px; }


/* Formular über die gesamte Inhaltsbreite */
#private-request-form {
  max-width: none;              /* volle Breite erlauben */
  width: 100%;
  margin: 0 auto 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
}

/* Einspaltig auf kleineren Screens */
@media (max-width: 820px) {
  #private-request-form {
    grid-template-columns: 1fr;
  }
}

/* Felder, die über beide Spalten laufen sollen */
#private-request-form .span-2 {
  grid-column: 1 / -1;
}

/* Buttons-Zeile am Ende */
#private-request-form .actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;     /* rechtsbündig */
  gap: 10px;
  margin-top: 16px;
}
/* ===== Anfrage: Header unter der Navi + Abstand ===== */
.page-anfrage header.section_header{
  position: relative;
  z-index: 1;
  background: #f5f0e6;
  margin-bottom: 32px;           /* Luft zu den Karten/Formular */
  box-shadow: none;
  backdrop-filter: none;
}

/* Navi über allem (falls nötig) */
.page-anfrage #site-nav,
.page-anfrage .site-nav{
  position: sticky;
  top: 0;
  z-index: 10000;
}

/* ===== Formular: volle Breite, 2 Spalten, Buttons unten ===== */
.page-anfrage #private-request-form{
  max-width: none;
  width: 100%;
  margin: 0 auto 40px;
  display: grid;
  grid-template-columns: 1fr 1fr; /* Desktop: 2 Spalten */
  gap: 18px 20px;
}

@media (max-width: 820px){
  .page-anfrage #private-request-form{ grid-template-columns: 1fr; }
}

/* Elemente über beide Spalten */
.page-anfrage #private-request-form .span-2{ grid-column: 1 / -1; }

/* Button-Zeile ganz am Ende */
.page-anfrage #private-request-form .actions{
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;     /* oder center */
  gap: 10px;
  margin-top: 16px;
}
/* A) Form vom Karten-Grid trennen und Abstand schaffen */
.page-anfrage .grid + #private-request-form {
  margin-top: 32px !important;
}

/* B) Form wirklich auf volle Breite – alle Max-Widths überstimmen */
.page-anfrage #private-request-form,
.page-anfrage #private-request-form.form,
.page-anfrage #private-request-form.form--elevated {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;   /* 2 Spalten innen */
  gap: 18px 20px;
}

@media (max-width: 820px) {
  .page-anfrage #private-request-form { grid-template-columns: 1fr !important; }
}

/* C) Große Blöcke & Buttons über beide Spalten + ganz ans Ende */
.page-anfrage #private-request-form .span-2 { grid-column: 1 / -1 !important; }
.page-anfrage #private-request-form .actions {
  grid-column: 1 / -1 !important;
  grid-row: 999 !important;        /* falls Reihenfolge im DOM ungünstig ist */
  display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px;
}
/* 1) Abstand zwischen Karten (grid--2) und Formular */
.page-anfrage .page-sheet .grid + #private-request-form {
  margin-top: 32px !important;
}

/* 2) Formular: volle Breite, EINSPALTIG, alle Max-Widths killen */
.page-anfrage #private-request-form,
.page-anfrage #private-request-form.form,
.page-anfrage #private-request-form.form--elevated {
  max-width: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;   /* <- EIN SPALTE */
  gap: 16px 20px;
}

/* 3) Nur die kleine Doppelzeile (Datum | Zeitfenster) zweispaltig ab Tablet */
.page-anfrage #private-request-form .form_row {
  display: grid;
  grid-template-columns: 1fr;               /* mobil: 1 */
  gap: 16px 20px;
}
@media (min-width: 720px) {
  .page-anfrage #private-request-form .form_row {
    grid-template-columns: 1fr 1fr;         /* ab Tablet: 2 */
  }
}

/* 4) Checkboxgruppe hübsch umbrechen */
.page-anfrage #private-request-form .choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px 14px;
}

/* 5) Buttons NUR am Form-Ende, über volle Breite-Reihe */
.page-anfrage #private-request-form .form_actions {
  grid-column: 1 / -1 !important;
  display: flex;
  justify-content: flex-end;    /* oder center */
  gap: 10px;
  margin-top: 12px;
}

/* (Optional) etwas mehr Luft unter der Überschrift/Lead */
.page-anfrage header.section_header { margin-bottom: 28px !important; }
/* 1) Gruppiere die ersten vier Felder in ein Grid */
.page-anfrage #private-request-form fieldset.form_fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 2 Spalten */
  gap: 16px 20px;
}

/* 2) Kleine Bildschirme: automatisch wieder einspaltig */
@media (max-width: 720px) {
  .page-anfrage #private-request-form fieldset.form_fieldset {
    grid-template-columns: 1fr;
  }
}

/* 3) Große Blöcke (Textarea, Checkboxen usw.) sollen über ganze Breite gehen */
.page-anfrage #private-request-form textarea,
.page-anfrage #private-request-form .choices,
.page-anfrage #private-request-form .form_row,
.page-anfrage #private-request-form .form_group--consent,
.page-anfrage #private-request-form .form_actions {
  grid-column: 1 / -1;   /* nimmt beide Spalten ein */
}
h4 i {
  font-style: normal;        /* kursiv ausschalten, wenn gewünscht */
  font-weight: 400;
  color: #7b6453;
  font-size: 0.95em;         /* etwas kleiner */
  margin-left: 6px;          /* kleiner Abstand nach dem Titel */
}
.page-anfrage #private-request-form .form_row {
  margin-top: 24px;     /* oder 32px – je nach gewünschtem Abstand */
}
#page-banner::before,
#page-banner::after {
  content: "";
}
#page-banner {
  position: relative;
  z-index: 1;
  overflow: visible;
}
.closing-line {
  font-family: "Parisienne", "Playfair Display", cursive;
  font-size: 2rem;
  text-align: center;
  color: var(--accent-2);
  margin: 80px auto 100px;
  font-weight: 400;
  opacity: 0.9;
}
.page-anfrage .closing-line {
  margin: 16px auto 20px;
}

/* Mehr Abstand zur Fußzeile auf der Honorar-Seite */
.page-honorar .page-sheet {
  margin-bottom: 4rem;   /* Abstand zwischen Karte und Footer */
}

/* Grid-Items voll strecken */
.offer-cards { align-items: stretch; }
.offer-cards > .card { height: 100%; }

/* Karte baut von oben nach unten, Button klebt unten */
.card--offer { display:flex; flex-direction:column; }
.card--offer .actions { margin-top:auto; }

.note--foot {
  font-size: 0.9rem;
  color: #5a5046;
  margin-top: 2rem;
  text-align: center;
  opacity: 0.9;
  font-style: italic;
}

.note--foot::before {
  content: " ";
  color: #b09a6f;
  font-weight: bold;
}

.page-anfrage .grid.grid--2 > * {
  grid-column: auto; /* keine erzwungene Spannweite */
}

/* Anfrage: Zweispaltiges Grid erzwingen */
.page-anfrage .grid.grid--2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 2 gleich breite Spalten */
  column-gap: var(--gap-lg, 24px);
  row-gap: var(--gap-lg, 24px);
}

/* Mobil: 1 Spalte */
@media (max-width: 820px) {
  .page-anfrage .grid.grid--2 {
    grid-template-columns: 1fr !important;
  }
}
.page-anfrage .page-sheet {
  margin-bottom: 16px !important;   /* schlanker Abschluss zur Fußzeile */
}
