/**
 * TAXI MOERS - THEME FIX
 * ======================
 * Diese Datei repariert das Dark/Light Mode System.
 * Einbinden: <link rel="stylesheet" href="/assets/css/theme-fix.css">
 * MUSS nach allen anderen Styles geladen werden!
 */

/* ============================================
   CSS CUSTOM PROPERTIES - SINGLE SOURCE OF TRUTH
   ============================================ */

:root {
  /* Layout */
  --max: 1280px;
  --hdr: 78px;
  --hdrH: 78px;
  --radius: 14px;
  
  /* ===== DARK THEME (Default) ===== */
  --bg: #0f1116;
  --bg2: #0d1018;
  --fg: #e6e8ee;
  --fg-muted: #9ca3af;
  --panel: #101623;
  --card: #161b28;
  --line: rgba(255,255,255,.10);
  --text: #e6e8ee;
  --muted: #9ca3af;
  
  /* Brand */
  --gold: #ffd000;
  --gold-glow: rgba(255,208,0,.45);
  --neon: #ffd700;
  
  /* Header */
  --frame-bg: rgba(255,255,255,.04);
  --frame-bd: 1px solid rgba(255,255,255,.12);
  --frame-shadow: inset 0 0 8px rgba(255,255,255,.08);
  --hdr-txt: #fff7c2;
  --hdr-shadow: 0 0 2px rgba(255,240,150,.75), 0 0 8px rgba(255,220,70,.45), 0 0 18px rgba(255,208,0,.32);
}

/* ===== LIGHT THEME ===== */
html.light {
  --bg: #f6f7fb;
  --bg2: #ffffff;
  --fg: #0f1624;
  --fg-muted: #4b5563;
  --panel: #f0f1f5;
  --card: rgba(255,255,255,.95);
  --line: rgba(15,22,36,.12);
  --text: #0f1624;
  --muted: #4b5563;
  
  --frame-bg: rgba(15,22,36,.04);
  --frame-bd: 1px solid rgba(15,22,36,.12);
  --frame-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
  --hdr-txt: #0f1624;
  --hdr-shadow: none;
}


/* ============================================
   BODY & GLOBAL
   ============================================ */

body {
  background: var(--bg);
  color: var(--fg);
}


/* ============================================
   HEADER - LIGHT MODE FIX
   ============================================ */

html.light header.site {
  background: rgba(255,255,255,.95) !important;
  border-bottom: 1px solid rgba(15,22,36,.12) !important;
  border-bottom-color: rgba(15,22,36,.12) !important;
}

/* Brand Text */
html.light .brand .txt b {
  color: #0f1624 !important;
}
html.light .brand .txt .subline {
  color: rgba(15,22,36,.70) !important;
}

/* Digital Clock/Phone */
html.light .digit,
html.light #dtTime.digit,
html.light #dtDate.digit,
html.light .callbtn .digit,
html.light .callbtn.callbtn--digital .digits,
html.light .callbtn.callbtn--digital .lbl {
  color: #0f1624 !important;
  text-shadow: none !important;
}

/* Callbtn Digital */
html.light .callbtn.callbtn--digital {
  background: rgba(15,22,36,.04) !important;
  border: 1px solid rgba(15,22,36,.12) !important;
}

html.light .callbtn.callbtn--digital:hover {
  background: rgba(255,208,0,.12) !important;
  border-color: rgba(184,134,11,.35) !important;
}

/* Navigation Links */
html.light .mainnav .top-level > li > a,
html.light .mainnav .more > .more-btn {
  color: #0f1624 !important;
  text-shadow: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

html.light .mainnav .top-level > li > a:hover,
html.light .mainnav .more > .more-btn:hover {
  background: rgba(255,208,0,.15) !important;
  color: #0f1624 !important;
}

/* Dropdown */
html.light .dropdown,
html.light #more-panel.dropdown,
html.light .mainnav .dropdown {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(15,22,36,.14) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.12) !important;
}

html.light .dropdown a,
html.light #more-panel.dropdown a,
html.light .mainnav .dropdown a {
  color: #0f1624 !important;
  text-shadow: none !important;
}

html.light .dropdown a:hover,
html.light #more-panel.dropdown a:hover,
html.light .mainnav .dropdown a:hover {
  background: rgba(255,208,0,.18) !important;
}

html.light .dropdown hr,
html.light #more-panel.dropdown hr {
  border-top-color: rgba(15,22,36,.12) !important;
}

/* NavWrap & DtBox */
html.light .navwrap {
  background: transparent !important;
}

html.light .navwrap .dtbox {
  color: #0f1624 !important;
}

/* Burger */
html.light .burger {
  background: rgba(15,22,36,.06) !important;
  border: 1px solid rgba(15,22,36,.16) !important;
}
html.light .burger span {
  background: #0f1624 !important;
  box-shadow: none !important;
}


/* ============================================
   HERO - LIGHT MODE FIX
   ============================================ */

html.light .hero,
html.light #heroEasyPreis {
  background: linear-gradient(180deg, #f0f1f5 0%, #e8eaf0 100%) !important;
}

html.light .hero h1 {
  color: #0f1624 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

html.light .hero__sub,
html.light .hero p {
  color: #4b5563 !important;
}


/* ============================================
   SECTIONS - LIGHT MODE FIX
   ============================================ */

html.light .section,
html.light section {
  background: var(--bg) !important;
}

html.light .section[style*="background:var(--panel)"],
html.light section[style*="background:var(--panel)"],
html.light #leistungen,
html.light #krankenfahrten,
html.light #faq {
  background: var(--panel) !important;
}

html.light #preise {
  background: var(--bg) !important;
}


/* ============================================
   CARDS - LIGHT MODE FIX
   ============================================ */

html.light .card {
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.06) !important;
}

html.light .card h3 {
  color: #0f1624 !important;
  text-shadow: 0 0 8px rgba(255,208,0,.5) !important;
}

html.light .card p,
html.light .card li {
  color: var(--fg) !important;
}

/* Neo Cards */
html.light .neo {
  background: var(--card) !important;
  border-color: var(--line) !important;
}

html.light .neo h3,
html.light .neo__header h3 {
  color: var(--fg) !important;
}


/* ============================================
   FAQ - LIGHT MODE FIX
   ============================================ */

html.light #faq h2,
html.light #faq .faq-headline {
  color: #0f1624 !important;
  text-shadow: none !important;
}

html.light #faq details summary {
  color: var(--fg) !important;
  border-bottom-color: var(--line) !important;
}

html.light #faq details p {
  color: var(--fg) !important;
}


/* ============================================
   BEWERTUNGEN - LIGHT MODE FIX
   ============================================ */

html.light #bewertungen {
  background: var(--panel) !important;
}

html.light #bewertungen h2,
html.light #bewertungen .rev-title {
  color: #0f1624 !important;
}

html.light #bewertungen .rev-card,
html.light #bewertungen .rev-item {
  background: var(--card) !important;
  border-color: var(--line) !important;
}

html.light #bewertungen .rev-card *,
html.light #bewertungen .rev-item * {
  color: var(--fg) !important;
}

html.light #bewertungen .rev-google-box {
  background: var(--card) !important;
  border-color: rgba(255,208,0,.35) !important;
}

html.light #bewertungen .rev-google-title {
  color: #b8860b !important;
}

html.light #bewertungen .rev-google-text {
  color: var(--fg) !important;
}


/* ============================================
   PARTNER CARE - LIGHT MODE FIX
   ============================================ */

html.light #partner-care,
html.light .pc-section {
  background: var(--panel) !important;
}

html.light #partner-care h2,
html.light .pc-title {
  color: #0f1624 !important;
}

html.light .pc-card,
html.light .pc-item {
  background: var(--card) !important;
  border-color: var(--line) !important;
}

html.light .pc-card *,
html.light .pc-pill {
  color: var(--fg) !important;
}

html.light .pc-pill.is-active {
  background: var(--gold) !important;
  color: #000 !important;
}


/* ============================================
   ÖFFNUNGSZEITEN - LIGHT MODE FIX
   ============================================ */

html.light #kontakt-oeffnung,
html.light .k-section {
  background: var(--panel) !important;
}

html.light .k-headline {
  color: #0f1624 !important;
}

html.light .k-hours li {
  background: rgba(15,22,36,.03) !important;
  border-color: rgba(15,22,36,.12) !important;
}

html.light .k-hours li span {
  color: var(--fg) !important;
}

html.light .k-hours li b {
  color: #b8860b !important;
}

html.light .k-status .chip {
  background: rgba(15,22,36,.08) !important;
  color: var(--fg) !important;
  border-color: rgba(15,22,36,.15) !important;
}

html.light .k-status .chip.is-open {
  background: linear-gradient(180deg, #2ecc71, #1eaa5d) !important;
  color: #fff !important;
}

html.light .k-status .chip.is-closed {
  background: linear-gradient(180deg, #ff4b4b, #c62828) !important;
  color: #fff !important;
}

html.light .k-hint {
  background: rgba(15,22,36,.06) !important;
  color: var(--fg-muted) !important;
}


/* ============================================
   DRAWER - LIGHT MODE FIX
   ============================================ */

html.light .drawer,
html.light #drawer {
  background: #ffffff !important;
  border-left-color: rgba(15,22,36,.12) !important;
}

html.light .drawer a,
html.light #drawer a {
  color: #0f1624 !important;
}

html.light .drawer a:hover,
html.light #drawer a:hover {
  background: rgba(255,208,0,.15) !important;
}

html.light .drawer .acchead,
html.light #drawer .acchead {
  color: #0f1624 !important;
}

html.light .drawer .back,
html.light #drawer .back {
  background: rgba(15,22,36,.08) !important;
  color: #0f1624 !important;
}


/* ============================================
   QUICKBAR - LIGHT MODE FIX
   ============================================ */

html.light .quickbar {
  background: #ffffff !important;
  border: 1px solid rgba(15,22,36,.12) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.12) !important;
}

html.light .quickbtn {
  background: rgba(15,22,36,.04) !important;
  border-color: rgba(15,22,36,.12) !important;
  color: #b8860b !important;
}

html.light .quickbtn:hover {
  background: rgba(255,208,0,.15) !important;
}

html.light .quick-counter {
  color: var(--fg) !important;
}


/* ============================================
   FOOTER - LIGHT MODE FIX
   ============================================ */

html.light .neo-footer,
html.light footer {
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%) !important;
  border-top-color: var(--line) !important;
}

html.light .ft-logo {
  color: #0f1624 !important;
}

html.light .ft-tag,
html.light .ft-contact {
  color: var(--fg-muted) !important;
}

html.light .ft-contact a {
  color: #b8860b !important;
}

html.light .ft-links a {
  color: var(--fg) !important;
}

html.light .ft-links a:hover {
  background: rgba(255,208,0,.15) !important;
}

html.light .ft-areas .chip {
  background: rgba(15,22,36,.04) !important;
  border-color: rgba(15,22,36,.12) !important;
  color: var(--fg) !important;
}

html.light .ft-areas .chip:hover {
  background: rgba(255,208,0,.15) !important;
  border-color: rgba(255,208,0,.35) !important;
}

html.light .ft-top {
  background: rgba(15,22,36,.06) !important;
  color: var(--fg) !important;
}

html.light .ft-bottom small {
  color: var(--fg-muted) !important;
}


/* ============================================
   MODALS - LIGHT MODE FIX
   ============================================ */

html.light .calc-modal,
html.light .doc-modal,
html.light .handy-modal,
html.light .order-modal,
html.light #calcModal,
html.light #docModal,
html.light #handyModal,
html.light #orderModal {
  background: #ffffff !important;
  border-color: rgba(15,22,36,.12) !important;
}

html.light .calc-head,
html.light .doc-head,
html.light .handy-head {
  border-bottom-color: rgba(15,22,36,.12) !important;
}

html.light .calc-head h2,
html.light .doc-head h2,
html.light .handy-head h2 {
  color: #b8860b !important;
}

html.light .doc-body {
  color: var(--fg) !important;
}

html.light .doc-body * {
  color: inherit !important;
}

html.light .btnp.ghost {
  background: rgba(15,22,36,.06) !important;
  color: var(--fg) !important;
}


/* ============================================
   REVIEW POPUP - LIGHT MODE FIX
   ============================================ */

html.light #reviewPopup {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(255,208,0,.5) !important;
  color: var(--fg) !important;
}

html.light #reviewPopup h3 {
  color: #b8860b !important;
}

html.light #reviewPopup p {
  color: var(--fg) !important;
}

html.light #reviewPopup .closeReview,
html.light #reviewPopup .dontShowReview {
  color: var(--fg-muted) !important;
}


/* ============================================
   EASYTERMIN BOX - LIGHT MODE FIX
   ============================================ */

html.light .section[style*="background:var(--panel)"] > .container > div[style*="background:rgba(0,0,0"] {
  background: rgba(255,208,0,.08) !important;
  border-color: rgba(255,208,0,.25) !important;
}


/* ============================================
   BUTTONS - ENSURE VISIBILITY
   ============================================ */

.glowBtn,
.vo-check-btn-animated,
.tf-cta,
.btn-review,
.rev-google-btn {
  color: #000 !important;
}


/* ============================================
   GENERAL TEXT FIXES
   ============================================ */

html.light h1, html.light h2, html.light h3, html.light h4 {
  color: var(--fg);
}

html.light p, html.light li, html.light span, html.light div {
  color: inherit;
}

html.light a {
  color: #b8860b;
}

html.light a:hover {
  color: #8b6914;
}


/* ============================================
   Q-PANEL (Gemerkte Festpreise) - LIGHT MODE
   ============================================ */

html.light .q-panel,
html.light #qPanel {
  background: #ffffff !important;
  border-color: rgba(15,22,36,.12) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.12) !important;
}

html.light .q-panel h4,
html.light #qPanel h4 {
  color: var(--fg) !important;
}

html.light .qlist {
  color: var(--fg) !important;
}


/* ============================================
   EA-RECHNER & PARTNER-CARE - LIGHT MODE FIX
   ============================================ */

/* Partner-Care Section */
html.light #partner-care,
html.light .pc-section {
  background: var(--panel) !important;
}

html.light #partner-care.pc-light {
  --pc-bg: #f6f7fb;
  --pc-card: #ffffff;
  --pc-text: #0f1624;
  --pc-muted: #4b5563;
  --pc-border: rgba(15,22,36,.12);
}

/* PC Cards */
html.light .pc-card,
html.light #partner-care .pc-card {
  background: #ffffff !important;
  border-color: rgba(15,22,36,.12) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.08) !important;
}

html.light .pc-card.glass {
  background: #ffffff !important;
}

/* Titles */
html.light .pc-r-title,
html.light #partner-care .pc-r-title {
  color: #0f1624 !important;
}

html.light .pc-r-sub,
html.light #partner-care .pc-r-sub {
  color: #4b5563 !important;
}

/* Field Labels */
html.light .pc-field span,
html.light #partner-care .pc-field span {
  color: #0f1624 !important;
}

/* INPUT FIELDS - Das wichtigste! */
html.light .pc-field input,
html.light #partner-care .pc-field input,
html.light #partner-care input[type="number"],
html.light #partner-care input[type="text"],
html.light #eaForm input {
  background: #ffffff !important;
  border: 1px solid rgba(15,22,36,.20) !important;
  color: #0f1624 !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.06) !important;
}

html.light .pc-field input:focus,
html.light #partner-care .pc-field input:focus,
html.light #eaForm input:focus {
  border-color: #ffd000 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255,208,0,.25) !important;
}

html.light .pc-field input::placeholder,
html.light #partner-care input::placeholder {
  color: #9ca3af !important;
}

/* Segmented Controls (Einzelfahrt / Hin & Rück) */
html.light .pc-seg label,
html.light #partner-care .pc-seg label {
  background: #f0f1f5 !important;
  border-color: rgba(15,22,36,.15) !important;
  color: #0f1624 !important;
}

html.light .pc-seg input:checked + label,
html.light #partner-care .pc-seg input:checked + label {
  background: rgba(255,208,0,.20) !important;
  border-color: #ffd000 !important;
  color: #0f1624 !important;
}

/* Mini Info Boxes (Mindestens / Oder / Maximal) */
html.light .pc-mini div,
html.light #partner-care .pc-mini div {
  background: #f8f9fb !important;
  border-color: rgba(15,22,36,.12) !important;
  color: #0f1624 !important;
}

/* Result Output */
html.light .pc-r-out,
html.light #partner-care .pc-r-out,
html.light #eaResult {
  background: #f8f9fb !important;
  border-color: rgba(15,22,36,.12) !important;
  color: #0f1624 !important;
}

html.light .ea-out,
html.light #partner-care .ea-out {
  background: rgba(255,208,0,.08) !important;
  border-color: rgba(255,208,0,.25) !important;
  color: #0f1624 !important;
}

html.light .ea-sum,
html.light #partner-care .ea-sum {
  border-top-color: rgba(15,22,36,.15) !important;
  color: #0f1624 !important;
}

/* Alternative Rule Bar */
html.light .ea-altbar,
html.light #partner-care .ea-altbar {
  background: rgba(15,22,36,.04) !important;
  border-color: rgba(15,22,36,.10) !important;
}

html.light .ea-altchip b,
html.light #partner-care .ea-altchip b {
  color: #0f1624 !important;
}

html.light .ea-altchip small,
html.light #partner-care .ea-altchip small,
html.light #eaAltLabel {
  color: #4b5563 !important;
}

/* Buttons */
html.light .pc-actions .btn.primary,
html.light #partner-care .btn.primary,
html.light #eaCalc {
  background: linear-gradient(180deg, #ffd000, #ffdc40) !important;
  color: #000 !important;
}

html.light .pc-actions .btn.ghost,
html.light #partner-care .btn.ghost,
html.light #eaDemo {
  background: transparent !important;
  border: 2px solid #b8860b !important;
  color: #b8860b !important;
}

/* Note */
html.light .pc-note,
html.light #partner-care .pc-note {
  color: #4b5563 !important;
}

html.light .pc-note a {
  color: #b8860b !important;
}

/* Pills/Tabs */
html.light .pc-pill,
html.light #partner-care .pc-pill {
  background: #f0f1f5 !important;
  border-color: rgba(15,22,36,.12) !important;
  color: #0f1624 !important;
}

html.light .pc-pill.is-active,
html.light #partner-care .pc-pill.is-active {
  background: var(--gold) !important;
  color: #000 !important;
  border-color: var(--gold) !important;
}

/* Partner Cards (Dialyse, Onkologie etc.) */
html.light .pc-grid .pc-card,
html.light #partner-care .pc-grid .pc-card {
  background: #ffffff !important;
}

html.light .pc-grid .pc-card .pc-name,
html.light #partner-care .pc-name {
  color: #0f1624 !important;
}

html.light .pc-grid .pc-card .pc-meta,
html.light #partner-care .pc-meta {
  color: #4b5563 !important;
}

/* Switch Toggle */
html.light .pc-switch .pc-slider,
html.light #partner-care .pc-switch .pc-slider {
  background: #d1d5db !important;
}

html.light .pc-switch input:checked + .pc-slider {
  background: #ffd000 !important;
}


/* ============================================
   ORDER MODAL - LIGHT MODE FIX
   ============================================ */

html.light .order-modal,
html.light #orderModal {
  background: #ffffff !important;
}

html.light .order-head {
  border-bottom-color: rgba(15,22,36,.12) !important;
}

html.light .order-head strong {
  color: #0f1624 !important;
}

html.light .order-body {
  color: #0f1624 !important;
}

html.light .order-body label {
  color: #0f1624 !important;
}

html.light .order-body input,
html.light #orderForm input {
  background: #ffffff !important;
  border: 1px solid rgba(15,22,36,.20) !important;
  color: #0f1624 !important;
}

html.light .order-body input:focus,
html.light #orderForm input:focus {
  border-color: #ffd000 !important;
  box-shadow: 0 0 0 3px rgba(255,208,0,.25) !important;
}

html.light #orderSummary {
  background: rgba(255,208,0,.10) !important;
  color: #0f1624 !important;
}

html.light #orderMsg {
  color: #0f1624 !important;
}

html.light #orderMsg.ok {
  background: rgba(46,204,113,.15) !important;
  color: #166534 !important;
}

html.light #orderMsg.err {
  background: rgba(239,68,68,.15) !important;
  color: #991b1b !important;
}


/* ============================================
   TRANSITIONS FOR SMOOTH THEME SWITCH
   ============================================ */

body,
header.site,
.hero,
.section,
section,
.card,
.neo,
.drawer,
.quickbar,
.neo-footer,
footer {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}