/* ===========================================================
   Vira-Reisen Rebrand v3 — überall weicher, keine harten
   Schwarz/Weiß-Kontraste mehr. Warme Beige-Cream-Welt
   mit dezentem Marineblau-Akzent.
   =========================================================== */

:root {
  /* Akzent (Logo-Marineblau, weich) */
  --champagne:    #1f3552;
  --champagne-d:  #142545;
  --gold:         #1f3552;
  --sand:         #b8a482;

  /* Dunkle Töne: kein hartes Schwarz mehr — warmes Dunkelgrau */
  --black:        #3a3530;
  --dark:         #4a4540;
  --dark-2:       #5a5550;
  --gray-warm:    #6b6258;
  --gray-soft:    #a39c92;

  /* Helle Töne: leicht wärmer, mehr Beige als Weiß */
  --cream:        #FAF6EE;
  --cream-2:      #F5EFE3;
  --warm-white:   #F0E8D8;

  --line-on-dark:  rgba(250,246,238,0.16);
  --line-on-light: rgba(58,53,48,0.10);
}

/* ---------- BODY: warmes Cream-Beige als Basis ------------ */
body {
  background: #F5EFE3;
  color: #3a3530;
}

/* ---------- HEADER: hell, dunkler Text -------------------- */
.site-header {
  background: #F5EFE3;
  color: #3a3530;
  border-bottom: 1px solid rgba(58,53,48,0.10);
}
.brand,
.brand:hover { color: #3a3530; }
.site-nav a {
  color: rgba(58,53,48,0.65);
  border-bottom-color: transparent;
}
.site-nav a:hover,
.site-nav a.active {
  color: #3a3530;
  border-bottom-color: var(--champagne);
}
.nav-toggle { color: #3a3530; }
.lang-switch a { color: rgba(58,53,48,0.55); }
.lang-switch a.lang-active { color: var(--champagne); }
.lang-sep { color: rgba(58,53,48,0.30); }

/* Plural-Seiten Hero (Fahrzeuge, Mietobjekte) heller als Header → Kontrast */
.fahrzeuge-hero { background: #FFFEFA; border-top: 1px solid rgba(58,53,48,0.06); }

.brand-logo-img {
  height: 50px;
  width: auto;
  background: transparent;
  padding: 0;
  border-radius: 0;
  display: block;
}

/* ---------- HERO: weiches Foto + sanftes Blau-Overlay ----- */
.hero-slider {
  background: #3a3530;
  color: #FAF6EE;
}
.hero-bg {
  background:
    linear-gradient(105deg, rgba(40,52,80,0.55) 0%, rgba(40,52,80,0.28) 55%, rgba(40,52,80,0.05) 100%),
    url('/public/fotos/hero-wohnmobil-wide.jpg?v=1') center 20%/cover no-repeat;
}
.hero-title, .hero-lead { color: #FAF6EE; }

/* ---------- FEATURE-STRIP (mittlerer Balken): weiches Beige ----- */
.feature-strip {
  background: #EBE1CC;
  color: #3a3530;
  border-top: 1px solid rgba(58,53,48,0.06);
  border-bottom: 1px solid rgba(58,53,48,0.06);
}
.feature-strip .feature-icon { color: var(--champagne); }
.feature-strip .feature-title { color: #3a3530; }
.feature-strip .feature-sub { color: rgba(58,53,48,0.65); }
.feature-strip .feature-item { border-color: rgba(58,53,48,0.08); }

/* ---------- LUXUS / KATEGORIE-Sections: helles Cream ------ */
.luxus-section { background: #FAF6EE; }
.luxus-title { color: #3a3530; }
.luxus-lead  { color: #6b6258; }
.luxus-eyebrow { color: var(--champagne); }

.kategorie-card { background: #FAF6EE; }
.kategorie-card .label { color: #FAF6EE; }
.kategorie-card .overlay { background: linear-gradient(180deg, rgba(40,52,80,0) 0%, rgba(40,52,80,0.55) 100%); }
.kategorie-card:hover .arrow { background: var(--champagne); border-color: var(--champagne); color: #FAF6EE; }

/* ---------- FAHRZEUG-Section ----------------------------- */
.fahrzeug-section { background: #F5EFE3; padding: 90px 0; }
.section-title { color: #3a3530; }
.section-sub   { color: #6b6258; }

.fahrzeug-card {
  background: #FAF6EE;
  border: 1px solid rgba(58,53,48,0.08);
  color: #3a3530;
}
.fahrzeug-card:hover {
  box-shadow: 0 20px 50px rgba(58,53,48,0.10);
  color: #3a3530;
}
.fahrzeug-cover .typ-tag {
  background: rgba(58,53,48,0.85);
  color: #FAF6EE;
}
.fahrzeug-cover { background: var(--sand); }

.fahrzeug-card h3 { color: #3a3530; }
.muted { color: #6b6258; }
.preis { color: var(--champagne); }

/* ---------- TYP-Filter Pills ----------------------------- */
.typ-filter {
  background: #FAF6EE;
  color: #6b6258;
  border-color: rgba(58,53,48,0.12);
}
.typ-filter:hover { color: #3a3530; border-color: rgba(58,53,48,0.30); }
.typ-filter.active {
  background: var(--champagne);
  color: #FAF6EE;
  border-color: var(--champagne);
}
.typ-filter-count {
  background: rgba(58,53,48,0.08);
  color: #6b6258;
}
.typ-filter.active .typ-filter-count {
  background: rgba(250,246,238,0.18);
  color: #FAF6EE;
}

/* ---------- Über-uns / Kontakt-Page ----------------------- */
.kontakt-info { background: #3a3530; color: #d8d3cb; }
.kontakt-form-card { background: #FAF6EE; color: #3a3530; }
.kontakt-line { background: rgba(250,246,238,0.20); }
.kontakt-line-light { background: rgba(58,53,48,0.12); }

/* ---------- FOOTER: warmes Dunkel statt hartem Schwarz --- */
.site-footer {
  background: #3a3530;
  color: #d8d3cb;
}
.site-footer a { color: #e8d8b8; }
.site-footer a:hover { color: #FAF6EE; }
.site-footer strong { color: #FAF6EE; }
.site-footer p,
.site-footer .muted {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(216,211,203,0.70);
}
.site-footer .footer-bottom { border-top-color: rgba(250,246,238,0.10); }

/* ---------- Buttons --------------------------------------- */
.btn-primary {
  background: var(--champagne);
  color: #FAF6EE;
  border-color: var(--champagne);
}
.btn-primary:hover {
  background: var(--champagne-d);
  color: #FAF6EE;
  border-color: var(--champagne-d);
}
.btn-outline { color: #FAF6EE; border-color: rgba(250,246,238,0.70); }
.btn-outline:hover { background: rgba(250,246,238,0.92); color: #3a3530; border-color: #FAF6EE; }
.btn-outline-dark { color: #3a3530; border-color: rgba(58,53,48,0.55); }
.btn-outline-dark:hover { background: #3a3530; color: #FAF6EE; border-color: #3a3530; }
.btn-konfig { background: var(--champagne); color: #FAF6EE; }
.btn-konfig:hover { background: var(--champagne-d); color: #FAF6EE; }

/* ---------- Hero-Buttons & Pfeile ------------------------- */
.hero-arrow { background: rgba(250,246,238,0.10); border-color: rgba(250,246,238,0.40); color: #FAF6EE; }
.hero-arrow:hover { background: rgba(250,246,238,0.85); color: #3a3530; border-color: #FAF6EE; }

/* ---------- Step-Nums (Buchung etc.) ---------------------- */
.step-num { background: var(--champagne); color: #FAF6EE; }
.preis-summary { background: #3a3530; color: #FAF6EE; }

/* ---------- Generelle Links ------------------------------- */
a { color: var(--champagne); }

/* ===== Sterne-Picker + Reviews =========================== */
.star-picker { display: inline-flex; gap: 2px; align-items: center; }
.star-picker .star {
  background: none; border: 0; cursor: pointer; padding: 4px 2px;
  font-size: 34px; line-height: 1; color: rgba(58,53,48,0.22);
  transition: color 0.12s, transform 0.12s;
}
.star-picker .star:hover { transform: scale(1.10); }
.star-picker .star.on { color: #d4a017; }
.star-picker .star-value { font-size: 14px; color: #6b6258; }

.reviews-section { background: #FAF6EE; padding: 90px 0; }
.reviews-summary { text-align: center; margin-bottom: 50px; }
.reviews-summary .reviews-stars { font-size: 30px; color: #d4a017; letter-spacing: 3px; line-height: 1; }
.reviews-summary .avg { font-size: 26px; font-weight: 700; color: #3a3530; margin-top: 10px; font-family: 'Playfair Display', serif; }
.reviews-summary .count { color: #6b6258; font-size: 14px; margin-top: 4px; letter-spacing: 0.5px; }

.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.review-card {
  background: #FFFEFA;
  border: 1px solid rgba(58,53,48,0.08);
  border-radius: 12px;
  padding: 28px;
  display: flex; flex-direction: column;
}
.review-card .review-stars { color: #d4a017; font-size: 18px; letter-spacing: 2px; margin-bottom: 12px; }
.review-card .review-title {
  font-family: 'Playfair Display', serif; font-weight: 700;
  font-size: 18px; color: #3a3530; margin: 0 0 12px; line-height: 1.3;
}
.review-card .review-text {
  font-size: 14.5px; color: #4a4540; line-height: 1.65;
  flex: 1; font-style: italic; margin: 0 0 16px;
}
.review-card .review-meta { font-size: 13px; color: #3a3530; }
.review-card .review-when { color: #6b6258; font-size: 12px; }

@media (max-width: 860px) { .reviews-grid { grid-template-columns: 1fr; } }

/* ===== Voll-Automation Demo-Leiste (nexcraft-labs.com) ===== */
.vr-demobar {
  background: #142545; color: #FAF6EE; font-size: 13px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px;
  padding: 9px 24px;
}
.vr-demobar-label {
  font-weight: 700; color: #b8c6dc;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.vr-demobar a {
  color: #FAF6EE; text-decoration: none; font-weight: 600;
  padding: 3px 0; border-bottom: 2px solid transparent;
}
.vr-demobar a:hover { border-bottom-color: #d4a017; text-decoration: none; }

/* ===== Dezenter Admin-Login-Button im Header ===== */
.admin-discrete {
  display: inline-flex; align-items: center; justify-content: center;
  color: #3a3530; opacity: 0.18;
  margin: 0 12px 0 14px; padding: 4px;
  transition: opacity 0.2s, color 0.2s; text-decoration: none;
  vertical-align: middle; line-height: 1; font-size: 13px;
}
.admin-discrete:hover { opacity: 0.85; color: #1f3552; text-decoration: none; }
.admin-discrete svg { display: block; }

/* ===== Verfügbarkeits-Kalender: Range-Selection ===== */
.cal-day.cal-range {
  background: #e7eef7;
  color: #1f3552;
  font-weight: 600;
  position: relative;
}
.cal-day.cal-range-start,
.cal-day.cal-range-end {
  background: #1f3552;
  color: #FAF6EE;
  font-weight: 700;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(31,53,82,0.30);
}
.cal-day.cal-range-blocked {
  background: repeating-linear-gradient(45deg,
    #fdecea 0, #fdecea 5px, #f9dad4 5px, #f9dad4 10px);
  color: #8c2c22;
  cursor: not-allowed;
}
.cal-day.cal-free:hover {
  background: #d8e3f1;
  color: #1f3552;
}

.cal-sw-range { background: #1f3552; }

.cal-hint {
  margin-top: 14px;
  padding: 11px 16px;
  background: #FAF6EE;
  border: 1px solid rgba(58,53,48,0.10);
  border-left: 3px solid #1f3552;
  border-radius: 6px;
  font-size: 13.5px;
  color: #3a3530;
  line-height: 1.5;
}
.cal-hint.cal-hint-done {
  border-left-color: #1e9e6a;
  background: #ecf6f1;
}

/* ===== Preis-Summary auf fahrzeug.php — Kontrast-Fix =====
   Der dunkle Block braucht hellen Text und hellen Button-Hintergrund,
   sonst kollidiert er mit dem dunklen Akzent-Blau. */
.preis-summary { background: #3a3530; color: #FAF6EE; }
.preis-summary .summary-label  { color: rgba(250,246,238,0.70); }
.preis-summary .summary-total  { color: #FAF6EE; }
.preis-summary .summary-detail { color: rgba(250,246,238,0.65); }
.preis-summary .btn,
.preis-summary .btn-primary {
  background: #FAF6EE;
  color: #1f3552;
  border-color: #FAF6EE;
  font-weight: 700;
}
.preis-summary .btn:hover,
.preis-summary .btn-primary:hover {
  background: #ffffff;
  color: #142545;
  border-color: #ffffff;
}

/* ===== Dezenter Probe-Hinweis im Footer ===== */
.footer-probe {
  font-size: 12px;
  color: rgba(216,211,203,0.62);
  padding: 14px 0 0;
  border-top: 1px solid rgba(250,246,238,0.06);
  margin-top: 18px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.55;
}
.footer-probe .probe-icon { color: rgba(216,211,203,0.80); font-weight: 700; }
