.home-refined .header nav>.theme-toggle{margin-left:auto}.home-refined .header nav>.login-open{margin-left:0}.theme-toggle{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid #e6e0d2;border-radius:50%;background:#fffaf0;color:#785a25;font-size:21px;cursor:pointer}
html[data-theme=dark]{color-scheme:dark;background:#191d19}html[data-theme=dark] .home-refined{--home-ink:var(--ink);--home-muted:var(--muted);--home-line:var(--line);background:#191d19;color:var(--ink)}
[data-theme=dark] .home-refined .header{background:#20251ff5;color:var(--ink)}[data-theme=dark] .theme-toggle{background:#35392c;border-color:#53553a;color:#f3cb70}
[data-theme=dark] .home-refined .hero{background:radial-gradient(ellipse at right,#4b4025,#24291f 70%);color:var(--ink)}[data-theme=dark] .home-refined .hero h1{color:var(--ink)}[data-theme=dark] .home-refined .hero p{color:var(--muted)}
[data-theme=dark] .home-refined .product-card,[data-theme=dark] .home-refined .reference-pair .customer-card,[data-theme=dark] .home-refined .booking-light{background:var(--surface);border-color:var(--line);color:var(--ink)}[data-theme=dark] .home-refined .customer-host{background:var(--sand);border-color:var(--line)}[data-theme=dark] .home-refined .customer-host strong,[data-theme=dark] .home-refined .customer-body p strong{color:var(--ink)}[data-theme=dark] .home-refined .customer-host span,[data-theme=dark] .home-refined .booking-copy p{color:var(--muted)}[data-theme=dark] .home-refined .booking-copy h2{color:var(--ink)}[data-theme=dark] .home-refined .booking-copy h2 em{color:#eec064}
[data-theme=dark] .home-refined .eyebrow,[data-theme=dark] .home-refined .customer-quote-label,[data-theme=dark] .home-refined .pc-label{color:#c7b887}[data-theme=dark] .home-refined .pc-copy h3,[data-theme=dark] .home-refined .structure-about h2,[data-theme=dark] .home-refined .faq h2{color:var(--ink)}[data-theme=dark] .home-refined .platform-festival{background:#fff3d5}[data-theme=dark] .home-refined .button{color:#25251c}[data-theme=dark] .home-refined .demo-form .button{color:white}
[data-theme=dark] .home-refined .contact-panel{background:linear-gradient(120deg,#d6b763,#e9bf61);color:#24291e}[data-theme=dark] .home-refined .demo-form{background:#272e24;color:var(--ink);border-color:var(--line)}[data-theme=dark] .home-refined .demo-form input,[data-theme=dark] .home-refined .demo-form textarea,[data-theme=dark] .home-refined .demo-form select{background:#1e251c;color:var(--ink);border-color:#556048}[data-theme=dark] .home-refined .demo-form .demo-hint{color:var(--muted)!important}
[data-theme=dark] .home-refined .mega-panel,[data-theme=dark] .home-refined .nav-dropdown-panel,[data-theme=dark] .login-dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-theme=dark] .home-refined .mega-grid strong{color:var(--ink)}[data-theme=dark] .home-refined .mega-grid span{color:var(--muted)}[data-theme=dark] .home-refined .mega-grid>a:hover{background:#363e2e}[data-theme=dark] .home-refined .munich-footer{background:#262d23}[data-theme=dark] .home-refined .site-footer-grid a:not(:has(img)),[data-theme=dark] .home-refined .site-footer-grid p,[data-theme=dark] .home-refined .footer-bottom{color:var(--muted)}[data-theme=dark] .home-refined .login-choice{color:#282d23}
@media(max-width:760px){.home-refined .header nav>.theme-toggle{margin-left:0}[data-theme=dark] .home-refined .header nav.open{background:var(--surface)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-refined .header nav>.language-control{margin-left:auto}.home-refined .header nav>.theme-toggle{margin-left:0}.language-control select{font:600 12px/1.4 var(--font);border:1px solid #e6e0d2;background:#fffaf0;border-radius:8px;padding:8px 6px;color:#785a25;cursor:pointer}[data-theme=dark] .language-control select{background:#35392c;color:#f3cb70;border-color:#53553a}
[data-theme=dark] .home-refined .pc-window,[data-theme=dark] .home-refined .booking-portal{color:#252920;color-scheme:light}[data-theme=dark] .home-refined .booking-logos{background:#fff8e8;border-radius:12px;padding:12px}[data-theme=dark] .home-refined .booking-official{background:#383d2c;color:#e1cb8c;border-color:#626146}[data-theme=dark] .home-refined .booking-actions>a:last-child{color:#e9ca86}[data-theme=dark] .home-refined .pc-cta{color:var(--ink)}[data-theme=dark] .home-refined .contact-person{color:#252920}[data-theme=dark] .home-refined .contact-person a{color:#252920}[data-theme=dark] .home-refined .footer-place{color:#252920}@media(max-width:760px){.home-refined .header nav>.language-control{margin-left:0}}
[data-theme=dark] .home-refined .header>a:first-child,[data-theme=dark] .home-refined .site-footer-grid>div:first-child>a{background:#fff8e8;border-radius:10px;padding:5px;display:inline-block}[data-theme=dark] .home-refined .pc-benefits,[data-theme=dark] .home-refined .section-top>p{color:var(--muted)}[data-theme=dark] .home-refined .hero .journey-scene{color:#252920}[data-theme=dark] .home-refined .hero .journey-scene p{color:#747a68}


/* ====================================================================
   Dunkle Darstellung für die Unterseiten
   --------------------------------------------------------------------
   Bisher stand hier nur die Startseite (.home-refined). Auf allen
   anderen Seiten wurde der Grund dunkel, Inhalt und Flächen blieben
   hell: dunkle Kopfzeile, dunkle Fußzeile, weiße Seite dazwischen.

   Der Farbvorrat ist derselbe wie auf der Startseite. Er steht jetzt
   als Token da, damit nicht jede Datei ihre eigene Nuance erfindet —
   es waren 49 verschiedene Dunkeltöne im Bestand.
   ==================================================================== */

html[data-theme=dark]{
  --ink:#eeeee5;
  --muted:#bcc3b1;
  --line:#434a39;
  --surface:#252b23;
  --canvas:#191d19;
  --sand:#2e3429;
  --accent-text:#e9ca86;
  --focus:#f3cb70;
  --success-text:#9ccfae;  --success-bg:#25352a;
  --warning-text:#e5c078;  --warning-bg:#332c1b;
  --error-text:#f0a49c;    --error-bg:#3a2320;
  /* Schrift in den nachgebauten Programmfenstern, die hell bleiben */
  --schirm-ink:#25291f;
}

/* ---- Der Seitengrund ----
   Die Überschriften und Absätze erben von hier; eigene Regeln je
   Element braucht es nur dort, wo eine Datei eine feste Farbe setzt. */
[data-theme=dark] body.shared-navigation{
  background:var(--canvas);
  color:var(--ink);
}

/* ====================================================================
   Nachgebaute Programmfenster bleiben hell
   --------------------------------------------------------------------
   Diese Blöcke zeigen die Software selbst — Tischpläne, Rechnungen,
   Mails, das Gästeportal. Ein Bildschirmfoto wird nicht dunkel, nur
   weil die Seite es wird; die Startseite hält das mit .pc-window
   schon so. Sie behalten ihren hellen Grund und bekommen die dunkle
   Schrift zurück, die sie im hellen Modus von der Seite geerbt haben.
   ==================================================================== */
[data-theme=dark] .real-screen,
[data-theme=dark] .reservation-journey,
[data-theme=dark] .scene-window,
[data-theme=dark] .product-window,
[data-theme=dark] .guest-demo,
[data-theme=dark] .mail-demo,
[data-theme=dark] .ui-paper,
[data-theme=dark] .ui-printout,
[data-theme=dark] .ui-phone,
[data-theme=dark] .floorplan,
[data-theme=dark] .allocation,
[data-theme=dark] .pc-window,
[data-theme=dark] .booking-portal,
[data-theme=dark] .booking-ticket,
[data-theme=dark] .portal-address,
[data-theme=dark] .portal-card-address,
[data-theme=dark] .intake-demo,
[data-theme=dark] .intake-stage,
[data-theme=dark] .intake-receipt,
[data-theme=dark] .intake-summary,
[data-theme=dark] .pm-stage,
[data-theme=dark] .pm-tablet,
[data-theme=dark] .pm-tour,
[data-theme=dark] .pm-letter,
[data-theme=dark] .pm-printpaper,
[data-theme=dark] .pm-datahub,
[data-theme=dark] .pm-chart,
[data-theme=dark] .pm-table-wrap,
[data-theme=dark] .pm-appbar,
[data-theme=dark] .pm-appcard,
[data-theme=dark] #app .af-content,
[data-theme=dark] #app .af-card,
[data-theme=dark] #app .af-nav,
[data-theme=dark] .af-panels,
[data-theme=dark] .seat-demo,
[data-theme=dark] .seat-map,
[data-theme=dark] .seat-panels,
[data-theme=dark] .ss-stage,
[data-theme=dark] .ss-device,
[data-theme=dark] .ss-screen,
[data-theme=dark] .ss-chat,
[data-theme=dark] .ss-plan,
[data-theme=dark] .ss-ticket,
[data-theme=dark] .rm-stage,
[data-theme=dark] .rm-phone,
[data-theme=dark] .rm-print,
[data-theme=dark] .rm-chart,
[data-theme=dark] .rm-chat,
[data-theme=dark] .rm-doc,
[data-theme=dark] .rm-mail,
[data-theme=dark] .rm-ticket,
[data-theme=dark] .oi-stage,
[data-theme=dark] .oi-screens,
[data-theme=dark] .oi-summary,
[data-theme=dark] .oi-list,
[data-theme=dark] .bg-demo,
[data-theme=dark] .bg-scenes,
[data-theme=dark] .bg-booking,
[data-theme=dark] .bg-ticket,
[data-theme=dark] .bg-document,
[data-theme=dark] .flow-editor,
[data-theme=dark] .flow-portal,
[data-theme=dark] .flow-upload,
[data-theme=dark] .flow-capacity,
[data-theme=dark] .flow-match,
[data-theme=dark] #emails .guest-mail,
[data-theme=dark] .gm-envelope,
[data-theme=dark] .gm-reservation,
[data-theme=dark] .st-visual,
[data-theme=dark] .st-window,
[data-theme=dark] .st-paper,
[data-theme=dark] .st-season,
[data-theme=dark] .st-mail,
[data-theme=dark] .st-invite,
[data-theme=dark] .st-ready,
[data-theme=dark] .st-template,
[data-theme=dark] .st-portal-banner,
[data-theme=dark] .st-person,
[data-theme=dark] .ob-browser,
[data-theme=dark] .ob-screenshot,
[data-theme=dark] .ob-ticket,
[data-theme=dark] .kiosk,
/* Das Münchner Panorama und die goldene Kontaktfläche sind gezeichnete
   Bilder, keine Oberfläche — sie behalten ihren hellen Grund. */
[data-theme=dark] .shared-navigation .footer-panorama,
[data-theme=dark] .shared-navigation .contact-panel{
  color:var(--schirm-ink);
  color-scheme:light;
}


/* ====================================================================
   Echte Flächen der Unterseiten
   ==================================================================== */

/* ---- Preisseite ---- */
[data-theme=dark] .price-card{
  background:var(--surface)!important;
  border-color:var(--line)!important;
}
[data-theme=dark] .setup-grid article{
  background:var(--surface);
  border-color:var(--line);
}
[data-theme=dark] .setup-grid ul{color:var(--muted)}
[data-theme=dark] .table-scroll{border-color:var(--line)}
[data-theme=dark] .table-scroll thead{background:var(--sand)}
[data-theme=dark] .table-scroll th,
[data-theme=dark] .table-scroll td{border-bottom-color:#343b2c}
[data-theme=dark] .table-scroll td{color:var(--muted)}

/* ---- Reservierungsportal: die abgesetzten Modulabschnitte ---- */
[data-theme=dark] .premium-product .feature-hero{background:var(--canvas)}
[data-theme=dark] .premium-product #emails,
[data-theme=dark] .premium-product #reports{background:#1e231d}
[data-theme=dark] .premium-product #rechnungen{background:#212620}

/* ---- Listen und Karten, die im hellen Modus weiß sind ---- */
[data-theme=dark] .shared-navigation .feature-nav a,
[data-theme=dark] .shared-navigation .module-nav a{
  background:var(--surface);
  border-color:var(--line);
  color:var(--ink);
}

/* ---- Fußzeile: Spaltenüberschriften und die Links mit Produktsymbol ----
   Die bestehende Regel nimmt a:not(:has(img)) — die Produktlinks tragen
   ein Symbol und fielen damit heraus, die h2 waren nie erfasst. */
[data-theme=dark] .munich-footer .site-footer-grid h2,
[data-theme=dark] .munich-footer .site-footer-grid a.product-icon-link{
  color:var(--muted);
}

/* ---- Vergleichstabelle: die Zeile selbst, nicht nur ihre Zellen ---- */
[data-theme=dark] .table-scroll tbody tr:nth-child(2n){background:#20261b}
[data-theme=dark] .table-scroll .category th{
  background:var(--sand);
  color:var(--ink);
}

/* ---- Goldene Textlinks: auf dunklem Grund eine Stufe heller ---- */
[data-theme=dark] .fc-hero nav a,
[data-theme=dark] .fc-group header a,
[data-theme=dark] .fc-time a,
[data-theme=dark] .fc-item>a,
[data-theme=dark] .ob-textlink,
[data-theme=dark] .setup-grid a,
[data-theme=dark] .shared-navigation .text-link,
[data-theme=dark] .shared-navigation .hero-secondary{
  color:var(--accent-text);
}
[data-theme=dark] .fc-hero nav a{border-color:#4f4a34}

/* ---- Fließtext, der im hellen Modus ein gedecktes Grau trägt ---- */
[data-theme=dark] .shared-navigation :is(
  .detail-grid p, .detail-grid ul, .feature-hero p, .section-top>p,
  .faq details p, .breadcrumbs, .real-screen figcaption, .wide-copy,
  .portal-cta p, .price-period, .price-card ul, .price-comparison>p,
  .price-notes, .legal-copy p, .legal-copy .legal-source, .sitemap-links a,
  .staff-flow p, .company-story p, .team-grid p, .product-proof>span
){color:var(--muted)}
[data-theme=dark] .trust-caption strong{color:var(--ink)}

/* ---- Kontaktformular ----
   Die Startseite setzt das Formular dunkel; auf den Unterseiten blieb
   ein weißer Block in der dunklen Seite stehen. */
[data-theme=dark] .shared-navigation .demo-form{
  background:var(--surface);
  color:var(--ink);
  border-color:var(--line);
}
[data-theme=dark] .shared-navigation .demo-form input,
[data-theme=dark] .shared-navigation .demo-form select,
[data-theme=dark] .shared-navigation .demo-form textarea{
  background:#1e251c;
  color:var(--ink);
  border-color:#556048;
}
[data-theme=dark] .shared-navigation .demo-form .demo-hint,
[data-theme=dark] .shared-navigation .demo-form .demo-status{color:var(--muted)!important}

/* ---- Der erste Modulabschnitt des Reservierungsportals ---- */
[data-theme=dark] .premium-product #gaesteportal{background:#212620}

/* ---- Rückmeldung des Kontaktformulars ----
   Die Sammelregel für .demo-hint und .demo-status setzt im dunklen Modus
   --muted mit !important; die Zustandsfarben brauchen deshalb eine Stufe
   mehr, sonst gehen Erfolg und Fehler im Grau unter. */
[data-theme=dark] .shared-navigation .demo-form .demo-status[data-art="ok"],
[data-theme=dark] .home-refined .demo-form .demo-status[data-art="ok"]{
  color:var(--success-text)!important;
  background:var(--success-bg);
}
[data-theme=dark] .shared-navigation .demo-form .demo-status[data-art="fehler"],
[data-theme=dark] .home-refined .demo-form .demo-status[data-art="fehler"]{
  color:var(--error-text)!important;
  background:var(--error-bg);
}
