/* =========================================================
   Topline Syndrom – Frontend style.css (ONE FILE)
   Seiten:
   - alle Frontend-Seiten (Header/Nav/Footer)
   - therapeuten.php (Map + Grid)
   - profil.php (Profilansicht)
   - profil_bearbeiten.php (Form aus public/form.php)
========================================================= */

/* ---------- Base ---------- */
* { box-sizing: border-box; }

:root{
  /* Lichtfarben */
  --red:   #c13a2b;
  --green: #2f7d3a;

  /* Warm stable */
  --wood:  #6b4f3a;
  --sand:  #faf8f4;
  --hay:   #f1eadf;

  /* UI */
  --brand: var(--red);
  --text: #1f2428;
  --bg: var(--sand);
  --card: #ffffff;
  --border: #e4ded5;
  --muted: #666;
  --radius: 12px;
}


/* body{
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
} */

/* ========= Hintergrund: dezente Holztextur (unterste Ebene) ========= */
body{
  background: var(--bg);
  position: relative;
    min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}

/* Holzlage + warme Tönung + leichte Vignette */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -2; 
  background-color: #dff0de;
   opacity: .85;

  /* 1) Holzbild (sehr subtil) */
 /*  background-image:
    url("img/wood.webp"),
    radial-gradient(1200px 600px at 20% 0%, rgba(241,234,223,0.85), rgba(250,248,244,0.92)),
    radial-gradient(900px 500px at 90% 20%, rgba(193,58,43,0.06), rgba(47,125,58,0.06));

  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: saturate(0.85) contrast(0.95);
  opacity: .45;
   */
}


/* Extra: feines „Papier/Noise“ für modernen Look (optional) */
body::after{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.012) 0px,
      rgba(0,0,0,0.012) 1px,
      rgba(255,255,255,0.0) 2px,
      rgba(255,255,255,0.0) 6px
    );
  opacity: .35;
}





a{
  color: var(--brand);
  text-decoration: none;
}
a:hover{ text-decoration: underline; }

.container{
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}

main{
  padding: 2rem 0;
  gap: 26px;
  flex: 1;              /* 🔑 main nimmt den freien Platz ein */

}
/* Milchiger Rahmen um den Inhalt */
main > .container{
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0, 0, 0, 0.85);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(20,18,15,0.10);
  backdrop-filter: blur(6px);
  padding: 22px 22px;
  opacity: 0.8;
}

/* =========================================================
   HEADER – Warm Stable + Lichttherapie
========================================================= */
header{
  position: relative;
  color: #fff;
  padding: 0.5rem 0 1rem;
  overflow: hidden;
}

/* Holz + warme Überlagerung */
header::before{
  content:"";
  position: absolute;
  inset: 0;
  z-index: -2;

  background:
    linear-gradient(
      rgba(70,50,35,0.68),
      rgba(70,50,35,0.68)
    ),
    url("img/wood_header.webp");


  background-size: cover;
  background-position: center;
  filter: saturate(0.85) contrast(0.95);
}

/* Lichtakzent Rot → Grün */
header::after{
  content:"";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 15px;
  z-index: -1;
  background: linear-gradient(90deg, var(--red), var(--green));
}

/* Header-Inhalt immer über dem Bild */
header *{
  position: relative;
  z-index: 1;
}

/* Titel */
header h1{
  margin: 0;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.2px;
}

/* Claim */
.header-claim{
  margin-top: 6px;
  font-size: 0.95rem;
  font-weight: 500;
  opacity: 0.9;
  max-width: 680px;
    line-height: 1.5;
}

.header-brand{
  max-width: 720px;
}





/* =========================================================
   NAV – schwebend & ruhig
========================================================= */
nav{
  margin-top: 22px;
}

nav ul{
  list-style: none;
  padding: 6px;
  margin: 0;
  display: inline-flex;
  gap: 6px;
  background: rgba(255,255,255,0.92);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

nav a{
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--wood);
}

nav a:hover{
  background: rgba(0,0,0,0.05);
  text-decoration: none;
}

nav a.is-active{
  background: rgba(47,125,58,0.15);
  color: var(--green);
}



.header-inner{ padding: 18px 0 14px; }
.header-brand h1{ margin:0; }
.header-claim{ margin:6px 0 0; opacity:.9; }

.header-navrow{
  margin-top: 10px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.main-nav ul{
  list-style:none;
  margin:0;
  padding:6px;
  display:inline-flex;
  gap:6px;
  flex-wrap: wrap;
  background: rgba(255,255,255,0.92);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

.main-nav a{
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 800;
  color: var(--wood);
  text-decoration: none;
}
.main-nav a:hover{ background: rgba(0,0,0,0.05); }

/* .account-nav{
  display:flex;
  flex-direction: row;

  gap:5px;
  flex-wrap: wrap;
  align-items: center;
  padding: 6px;
  border-radius: 999px;
  backdrop-filter: blur(6px);

} */

.account-nav {
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 800;
  color: var(--wood);
 
}
.account-nav ul{
  list-style:none;
  margin:0;
  padding:6px;
  display:inline-flex;
  gap:6px;
  flex-wrap: wrap;
  background: rgba(255,255,255,0.92);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

.account-nav a{
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 800;
  color: var(--wood);
  text-decoration: none;
}
.account-nav a:hover{ background: rgba(0,0,0,0.05); }

.nav-toggle{
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px;
}

.nav-toggle span{
  display: block;
  width: 26px;
  height: 3px;
  background: #fff;
  margin: 5px 0;
  border-radius: 3px;
}



.nav-mobile-wrap{
  display: flex;
      flex-direction: column;

  gap: 12px;
  align-items: center;
}

/* Pills */
.pill{
  display:inline-flex;
  align-items:center;
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,0.30);
  background: rgba(255,255,255,0.18);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(6px);
  font-size: 0.85rem;
  letter-spacing: 0.2px;
}
.pill:hover{ background: rgba(255,255,255,0.26); }

.pill--user{
  background: rgba(0,0,0,0.18);
  border-color: rgba(255,255,255,0.20);
    font-weight: 700;
  opacity: 0.95;
}

.pill--green{ background: rgba(47,125,58,0.55); border-color: rgba(47,125,58,0.35); }
.pill--red{ background: rgba(193,58,43,0.55); border-color: rgba(193,58,43,0.35); }
.pill--backend{ background: rgba(255,255,255,0.22); border-color: rgba(255,255,255,0.35); }

/* Mobile: Nav & Account untereinander */
@media (max-width: 860px){
  .header-navrow{ align-items: flex-start; }
  .main-nav ul{ width: 100%; justify-content: flex-start; }
  .account-nav{ width: 100%; }

  
  .nav-toggle{
    display: block;
  }

  .nav-mobile-wrap{
    display: none;
    width: 100%;
    flex-direction: column;
    margin-top: 14px;
    padding: 14px;
    background: rgba(255,255,255,0.92);
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  }

  .nav-mobile-wrap.is-open{
    display: flex;
  }

  /* ZONE 1: Öffentliche Links */
  .main-nav ul{
    width: 100%;
    flex-direction: column;
    gap: 6px;
    padding: 0;
    background: none;
    box-shadow: none;
  }

  .main-nav a{
    display: block;
    padding: 5px 7px;
    border-radius: 12px;
    background: rgba(0,0,0,0.04);
  }

  /* ZONE 2: Account */
    .account-nav ul{
    width: 100%;
    flex-direction: column;
    gap: 6px;
    padding: 0;
    background: none;
    box-shadow: none;
  }
  .account-nav{
    width: 100%;
    margin-top: 5px;
    padding-top: 5px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
    .account-nav a{
    display: block;
    padding: 5px 7px;
    border-radius: 12px;
    background: rgba(0,0,0,0.04);
  }

  .account-nav .pill{
    justify-content: center;
  }

  .pill{
 
  font-weight: 900;
  border: 1px;
  background: transparent;

  backdrop-filter: blur(6px);
  font-size: 0.85rem;
  letter-spacing: 0.2px;
}
.pill:hover{ background: rgba(255,255,255,0.26); }

.pill--user{
  background: rgba(0,0,0,0.18);
  border-color: rgba(255,255,255,0.20);
    font-weight: 700;
  opacity: 0.95;
}
}


/* ---------- Footer ---------- */
footer{
/*   background: #333;
 */    background: linear-gradient(90deg, var(--red), var(--green));

  color: #fff;
  text-align: center;
  padding: 2rem 1rem;

}

/* ---------- Generic blocks ---------- */
section{ margin: 3rem 0; }

.hero{
  background: #f09292;
  padding: 4rem 2rem;
  text-align: center;
  border-radius: var(--radius);
}

.buttons a{
  margin: 1rem;
  display: inline-block;
  padding: 1rem 2rem;
  background: var(--brand);
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
}

/* Cards */
.card-grid{
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.card{
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
}

.card h3{ margin-top: 0; }

/* =========================================================
   therapeuten.php – Map + Filter + Ergebnisliste
   (ersetzt Inline-Styles in der Datei)
========================================================= */

.therapeuten-page h1{
  margin: 0 0 1rem 0;
 
}


.therapeuten-layout{
  display: flex;
  gap: 18px;
  align-items: stretch;
}

.filter-sidebar{
  flex: 0 0 320px;
  border: 1px solid var(--border);
  background: #f7f7f7;
  border-radius: var(--radius);
  padding: 14px;
}

.filter-sidebar h3{
  margin-top: 0;
  margin-bottom: 10px;
}

.checkbox-group,
.radio-group{
  margin-bottom: 14px;
}

.checkbox-group label,
.radio-group label{
  display: block;
  margin: 6px 0;
  font-size: .95rem;
}

#reset-filter{
  border: 0;
  background: #222;
  color: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
  width: 100%;
  font-weight: 700;
}

.therapeuten-mapwrap{
  flex: 1;
  min-width: 0;
  max-width: 85%;
  margin: 0 auto;
}

#map{
  height: 520px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #fff;
}

.therapeuten-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.therapeut-card{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  padding: 12px;
}

.therapeut-card h3{
  margin: 0 0 6px 0;
  font-size: 1.05rem;
}

.therapeut-card p{
  margin: 4px 0;
  color: #444;
}

@media (max-width: 900px){
  .therapeuten-layout{
    flex-direction: column;
  }
  .filter-sidebar{
    flex: 1;
  }
  #map{ height: 420px; }
}

/* =========================================================
   profil.php – Profilansicht
========================================================= */

.profil-wrapper{
  max-width: 980px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
}

.profil-bild{
  flex: 0 0 250px;
}

.profil-bild img{
  width: 250px;
  height: 250px;
  object-fit: cover;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #fff;
}

.profil-details{
  flex: 1;
  min-width: 260px;
}

.profil-details h1{
  margin: 0 0 8px 0;
  font-size: 1.6rem;
}

.profil-details p{
  margin: 6px 0;
  color: #444;
}

.social-links{
  margin-top: 10px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.social-links a{
  display: inline-block;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fafafa;
  font-weight: 700;
  font-size: .9rem;
  color: #222;
}

.profil-section{
  max-width: 980px;
  margin: 18px auto 0 auto;
  padding: 18px 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
}

.profil-section h2{
  margin: 0 0 10px 0;
  font-size: 1.2rem;
  border-bottom: 2px solid #eee;
  padding-bottom: 8px;
}

.back-link{
  margin-top: 10px;
  display: inline-block;
  font-weight: 700;
}

/* Markdown Output */
.markdown-content{
  color: #222;
  line-height: 1.55;
}
.markdown-content p{ margin: 0 0 10px 0; }
.markdown-content ul{ margin: 0 0 10px 18px; }
.markdown-content h3{ margin: 14px 0 8px 0; }

/* Angebots-Accordion (falls du es wieder aktivierst) */
.angebot-kategorien-wrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 10px;
}

.angebot-kategorie-box{
  flex: 1;
  min-width: 300px;
}

.angebot-kategorie-box h3{
  border-bottom: 2px solid #eee;
  margin-bottom: 10px;
  padding-bottom: 6px;
}

.angebot-toggle{
  background: #f4f4f4;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
  font-weight: 800;
  cursor: pointer;
  margin-bottom: 8px;
  width: 100%;
  text-align: left;
}

.angebot-details{
  padding: 10px 12px;
  background: #fafafa;
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 14px;
}

.eintrag-block hr{
  border: 0;
  border-top: 1px dashed #ccc;
  margin: 10px 0;
}

@media (max-width: 700px){
  .profil-wrapper{
    padding: 16px;
  }
  .profil-bild{
    flex: 1 1 100%;
    display: flex;
    justify-content: center;
  }
}

/* =========================================================
   profil_bearbeiten.php – Form (public/form.php)
   Ziel: kompakt, modern, wie “Profil bearbeiten”
========================================================= */

#genericForm{
  max-width: 980px;
  margin: 0 auto;
  padding: 18px 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
}

/* Titel / Untertitel */
#genericForm h2{
  margin: 0 0 6px 0;
  font-size: 1.25rem;
}
#genericForm h2 + *{
  margin-top: 0;
}

/* Fehlermeldungen */
.form-errors{
  border-radius: 10px;
}

/* WICHTIG: form-row als “stacked label” (Label oben klein) */
#genericForm .form-row{
  margin: 0 0 12px 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}

#genericForm .form-row label{
  margin: 0;
  font-weight: 800;
  font-size: .85rem;
  color: #222;
  letter-spacing: .2px;
}

/* Inputs kompakt */
#genericForm input[type="text"],
#genericForm input[type="email"],
#genericForm input[type="tel"],
#genericForm input[type="number"],
#genericForm input[type="date"],
#genericForm input[type="datetime-local"],
#genericForm select,
#genericForm textarea{
  width: 100%;
  max-width: none;
  padding: 9px 11px;
  border: 1px solid #d7d7d7;
  border-radius: 10px;
  font-size: .95rem;
  background: #fff;
}

#genericForm textarea{
  min-height: 120px;
  resize: vertical;
}

/* 2-Spalten Feldlayout ab Desktop (ohne “große Lücken”) */
@media (min-width: 920px){
  #genericForm{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    align-items: start;
  }

  /* Überschrift + Map + Buttons + File + TinyMCE full width */
  #genericForm h2,
  #genericForm .form-errors,
  #genericForm h3,
  #genericForm #map,
  #genericForm button[type="submit"],
  #genericForm .btn-back,
  #genericForm .form-row:has(textarea),
  #genericForm .form-row:has(input[type="file"]){
    grid-column: 1 / -1;
  }
}

/* Upload Vorschau */
#genericForm img{
  border-radius: 10px;
}

/* TinyMCE Container optisch passend */
.tox-tinymce{
  border-radius: 10px !important;
  border-color: #d7d7d7 !important;
}

/* Map im Formular */
#genericForm #map{
  width: 100%;
  height: 340px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fff;
}

/* Buttons */
#genericForm button[type="submit"]{
  background: var(--brand);
  color: #fff;
  border: 0;
  padding: 11px 16px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 900;
}

#genericForm button[type="submit"]:hover{
  opacity: .92;
}

#genericForm .btn-back{
  display: inline-block;
  margin-left: 12px;
  font-weight: 800;
}

/* Mobile: bisschen weniger Padding */
@media (max-width: 600px){
  #genericForm{
    padding: 14px;
  }
}



/* =========================================
   Profil bearbeiten – EXTRA KOMPAKT
   (überschreibt generische Form-Regeln)
========================================= */



/* Card-Optik fürs Formular */
#genericForm{
  max-width: var(--form-max);
  margin: 0 auto;
  padding: 18px 18px 14px;
  border: 1px solid #eee;
  border-radius: 14px;
  background: var(--bg-soft);
}

/* Titel kompakter */
#genericForm h2{
  margin: 0 0 10px 0;
  font-size: 1.05rem;
  font-weight: 700;
}

/* Grid: 2 Spalten */
#genericForm{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;  /* row gap / column gap */
}

/* Header/Buttons/Map sollen über volle Breite gehen */
#genericForm > h2,
#genericForm > h3,
#genericForm > #map,
#genericForm > button[type="submit"],
#genericForm > .btn-back{
  grid-column: 1 / -1;
}

/* Jede form-row: Label oben, Feld darunter (kompakt) */
#genericForm .form-row{
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin: 0;       /* wichtig: keine extra Abstände */
  padding: 0;
}

/* Labels: kleiner, weniger “wuchtig” */
#genericForm .form-row label{
  font-size: var(--label-size);
  font-weight: 600;
  margin: 0;
  line-height: 1.1;
  color: #222;
}

/* Inputs: kleiner & kompakter */
#genericForm input[type="text"],
#genericForm input[type="number"],
#genericForm input[type="date"],
#genericForm input[type="datetime-local"],
#genericForm input[type="email"],
#genericForm input[type="tel"],
#genericForm select,
#genericForm textarea{
  width: 100%;
  max-width: none;
  padding: 7px 10px;              /* kompakt */
  font-size: var(--input-size);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  line-height: 1.25;
}

/* Fokus etwas schöner */
#genericForm input:focus,
#genericForm select:focus,
#genericForm textarea:focus{
  outline: none;
  border-color: darkorange;
  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.18);
}

/* Textarea: nicht so hoch (TinyMCE macht eh UI) */
#genericForm textarea{
  min-height: 90px;
  resize: vertical;
}

/* Datei-Upload Block kompakter */
#genericForm input[type="file"]{
  font-size: 13px;
}

/* Aktuelles Bild: kleiner + in Reihe */
#genericForm img{
  max-width: 120px;
  border-radius: 10px;
}

/* Required Stern kleiner */
#genericForm .required{
  font-size: 12px;
  color: #b00020;
  margin-left: 4px;
}

/* Buttons: nebeneinander + kompakt */
#genericForm button[type="submit"]{
  justify-self: start;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
}

#genericForm .btn-back{
  justify-self: start;
  margin-left: 10px;
  font-size: 14px;
  font-weight: 600;
}

/* Map kompakter */
#genericForm #map{
  height: 260px !important;
  border-radius: 12px;
  border: 1px solid #eee;
}

/* Responsive: 1 Spalte */
@media (max-width: 780px){
  #genericForm{
    grid-template-columns: 1fr;
    padding: 14px;
  }
}


/* =========================
   Auth (Login / Passwort)
   ========================= */

.auth-card {
  max-width: 420px;
  margin: 30px auto;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 18px 18px 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

.auth-title {
  margin: 0 0 4px 0;
  font-size: 1.35rem;
  line-height: 1.2;
}

.auth-subtitle {
  margin: 0 0 14px 0;
  color: #666;
  font-size: 0.95rem;
}

.auth-form {
  display: grid;
  gap: 10px;
}

.auth-field label {
  display: block;
  margin: 0 0 4px 0;
  font-weight: 600;
  font-size: 0.92rem;
}

.auth-field input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  font-size: 0.95rem;
  background: #fff;
}

.auth-btn {
  margin-top: 4px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: darkorange;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.auth-btn:hover {
  opacity: 0.92;
}

.auth-alert {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 0.92rem;
  margin: 8px 0 10px;
}

.auth-alert--error {
  background: #ffe8e8;
  border: 1px solid #ffb3b3;
  color: #8a0000;
}

.auth-hint {
  margin-top: 6px;
  font-size: 0.88rem;
  color: #666;
}




/* Profilseite - Angebote */


  /* --- Vergleich: Angebote --- */
  .angebote-grid { display: flex; gap: 14px; flex-direction: row; flex-wrap: wrap;}
  .angebote-kategorie { background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; padding: 5px; }
  .angebote-kategorie h3 { margin: 0 0 10px; font-size: 1.05rem; }

  /* Vorschlag 2: Chips */
  .angebot-card { border: 1px solid #eee; border-radius: 12px; padding: 5px; margin: 5px 0; background: #fafafa; }
  .angebot-card h4 { margin: 0 0 5px; font-size: 1rem; }
  .chips { display: flex; flex-wrap: wrap; gap: 5px; }
  .chip { display: inline-flex; align-items: center; padding: 3px 5px; border-radius: 12px; border: 1px solid #ddd; background: #fff; font-size: .9rem; }
  .muted { opacity: .7; font-size: .9rem; margin-top: 4px; }

  
  /* =========================================================
   FAQ – Topline Selbsttest
   (verwendet <details> / <summary>, konfliktfrei gekapselt)
   ========================================================= */

.faq-item {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #ffffff;
  padding: 12px 14px;
}

.faq-item + .faq-item {
  margin-top: 10px;
}

.faq-item summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--wood);
  list-style: none;
  position: relative;
  padding-right: 26px;
}

/* Standard Marker entfernen */
.faq-item summary::-webkit-details-marker {
  display: none;
}

/* Pfeil / Plus-Minus Indikator */
.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1;
  color: var(--green);
}

.faq-item[open] summary::after {
  content: "–";
  color: var(--red);
}

.faq-item .faq-body {
  margin-top: 8px;
  color: #333;
  line-height: 1.6;
  max-width: 900px;
}

/* Sanfte Öffnungsanimation (optional, subtil) */
.faq-item[open] .faq-body {
  animation: faqFadeIn 0.25s ease-out;
}

@keyframes faqFadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* =========================================
   Navigation – Submenu (Für Menschen)
   ========================================= */

.main-nav ul {
  position: relative;
}

/* Elternpunkt */
.main-nav li.has-submenu {
  position: relative;
}

/* Submenu Grundzustand */
.main-nav .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;

  min-width: 220px;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  padding: 6px 0;
  z-index: 2000;
}

/* Einträge im Submenu */
.main-nav .submenu li a {
  display: block;
  padding: 10px 14px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}

.main-nav .submenu li a:hover {
  background: rgba(0,0,0,0.04);
  text-decoration: none;
}

/* Desktop: Hover öffnet Submenu */
@media (min-width: 900px) {
  .main-nav li.has-submenu:hover > .submenu {
    display: block;
  }
}

/* Mobile: Submenu inline anzeigen */
@media (max-width: 899px) {
  .main-nav .submenu {
    position: static;
    box-shadow: none;
    border: none;
    padding-left: 12px;
  }

  .main-nav li.has-submenu.open > .submenu {
    display: block;
  }
}


/* =========================================
   Website im Aufbau – Hinweisbanner
   ========================================= */

.site-preview-banner {
  background: rgba(255, 248, 230, 0.95); /* sehr helles Gelb */
  border-bottom: 1px solid #f1e0b5;
  font-size: 0.95rem;
  z-index: 999;
}

.site-preview-banner .banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
}

.site-preview-banner .banner-text {
  color: #6b5500;
  line-height: 1.4;
}

.site-preview-banner .banner-text strong {
  font-weight: 800;
}

.site-preview-banner .banner-close {
  background: transparent;
  border: none;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
  color: #6b5500;
  padding: 0 6px;
}

.site-preview-banner .banner-close:hover {
  color: #000;
}
