/* ===== Harmonic Dogs – dunkler Modus (erzeugt) ===== */
/* Dunkel: immer */
/* Grundfläche */
.hdb.hdb-theme-dark { --hdb-border: #33373c; --hdb-muted: #a9a49b; --hdb-accent: #6fbf8a; --hdb-accent-dark: #8fd3a6; background: #15171a; color: #e8e6e1; padding: 1.25rem; border-radius: 18px; }
.hdb.hdb-theme-dark a { color: #9fd3b0; }
.hdb.hdb-theme-dark h2, .hdb.hdb-theme-dark h3, .hdb.hdb-theme-dark h4, .hdb.hdb-theme-dark legend, .hdb.hdb-theme-dark label { color: #f2f0eb; }
.hdb.hdb-theme-dark .hdb-small, .hdb.hdb-theme-dark .hdb-info, .hdb.hdb-theme-dark .hdb-free, .hdb.hdb-theme-dark .hdb-facts { color: #a9a49b; }

/* Gruppenfarben: dunkle Variante */
.hdb.hdb-theme-dark [style*="--hdb-l-accent"] { --hdb-accent: var(--hdb-d-accent); --hdb-bg1: var(--hdb-d-bg1); --hdb-bg2: var(--hdb-d-bg2); --hdb-edge: var(--hdb-d-edge); --hdb-tile-ink: var(--hdb-d-ink); --hdb-shadow: #000; }

/* Karten, Formular, Hinweise */
.hdb.hdb-theme-dark .hdb-offer, .hdb.hdb-theme-dark .hdb-summary { background: #1d2024; border-color: #33373c; }
.hdb.hdb-theme-dark .hdb-badge { background: #22322a; color: #b8e6c6; }
.hdb.hdb-theme-dark .hdb-form fieldset { border-color: #33373c; }
.hdb.hdb-theme-dark .hdb-form input[type=text], .hdb.hdb-theme-dark .hdb-form input[type=email], .hdb.hdb-theme-dark .hdb-form input[type=tel], .hdb.hdb-theme-dark .hdb-form textarea { background: #101214; color: #f2f0eb; border-color: #474c52; }
.hdb.hdb-theme-dark .hdb-notice.hdb-success { background: #16301f; border-color: #2c5a3a; color: #d7f2df; }
.hdb.hdb-theme-dark .hdb-notice.hdb-error { background: #3a1714; border-color: #6b2a24; color: #f6d4cf; }
.hdb.hdb-theme-dark .hdb-request { background: #1d2024; border-color: #3a3f45; }
.hdb.hdb-theme-dark .hdb .hdb-button, .hdb.hdb-theme-dark .hdb-button { background: #3f8a5a; color: #fff !important; }
.hdb.hdb-theme-dark .hdb-button:hover, .hdb.hdb-theme-dark .hdb-button:focus { background: #4fa36d; }
.hdb.hdb-theme-dark .hdb-button-alt { background: transparent; color: #9fd3b0 !important; box-shadow: inset 0 0 0 2px #4fa36d; }
.hdb.hdb-theme-dark .hdb-pay, .hdb.hdb-theme-dark .hdb-pay-choice .hdb-radio { background: #1d2024; border-color: #33373c; }
.hdb.hdb-theme-dark .hdb-pay-choice .hdb-radio:has(input:checked) { background: #1b2a20; }
.hdb.hdb-theme-dark .hdb-bank { background: #101214; border-color: #3a4a3f; }
.hdb.hdb-theme-dark .hdb-dates li { border-top-color: #2c3035; }

/* Verfügbarkeit */
.hdb.hdb-theme-dark .hdb-avail.is-ok { background: #173d24; color: #b8f0c8; box-shadow: inset 0 0 0 1px #2c6a40; }
.hdb.hdb-theme-dark .hdb-avail.is-no { background: #4a1a15; color: #ffcfc8; box-shadow: inset 0 0 0 1px #7d2c24; }
.hdb.hdb-theme-dark .hdb-avail.is-soon { background: #3a2a0a; color: #f6d58e; box-shadow: inset 0 0 0 1px #6b4f16; }
.hdb.hdb-theme-dark .hdb-soon-note { background: #2e2209; color: #f6d58e; box-shadow: inset 3px 0 0 #d39a2a; }
.hdb.hdb-theme-dark .hdb-late-note { background: #2e2209; color: #f6d58e; box-shadow: inset 3px 0 0 #d39a2a; }
.hdb.hdb-theme-dark .hdb-soon-note .hdb-small { color: #e6c47a; }
.hdb.hdb-theme-dark .hdb-button-soon { background: #b07a12 !important; color: #1a1306 !important; }
.hdb.hdb-theme-dark .hdb-closed-note { background: #4a1a15; color: #ffcfc8; }

/* Wochenplan */
.hdb.hdb-theme-dark .hdb-cal { --hdb-ink: #e8e6e1; --hdb-muted: #a9a49b; --hdb-line: #2c3035; --hdb-bg: #1d2024; }
.hdb.hdb-theme-dark .hdb-cal-grid { background: #181a1d; border-color: #2c3035; box-shadow: none; }
.hdb.hdb-theme-dark .hdb-cal-day.is-weekend .hdb-cal-col { background-color: #1a1c20; }
.hdb.hdb-theme-dark .hdb-cal-day.is-today .hdb-cal-dayhead { background: #1b2a20; }
.hdb.hdb-theme-dark .hdb-cal-day.is-today .hdb-cal-date { background: #3f8a5a; }
.hdb.hdb-theme-dark .hdb-cal-btn { background: #23262b; color: #e8e6e1 !important; border-color: #33373c; box-shadow: none; }
.hdb.hdb-theme-dark .hdb-cal-kw { background: #3f8a5a; }
.hdb.hdb-theme-dark .hdb-cal-empty { background: #1d2024; }
.hdb.hdb-theme-dark .hdb-tile::before { background: linear-gradient(to bottom, rgba(255,255,255,.08), rgba(255,255,255,0)); }
.hdb.hdb-theme-dark .hdb-tile { box-shadow: inset 4px 0 0 var(--hdb-accent), 0 6px 14px -10px #000; }
.hdb.hdb-theme-dark a.hdb-tile:hover { box-shadow: inset 4px 0 0 var(--hdb-accent), 0 10px 20px -10px #000; }
.hdb.hdb-theme-dark .hdb-tile.is-full, .hdb.hdb-theme-dark .hdb-tile.is-past { filter: saturate(.5) brightness(.9); }
.hdb.hdb-theme-dark .hdb-tile.is-cancelled { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 8px, transparent 8px 16px), linear-gradient(170deg, var(--hdb-bg1), var(--hdb-bg2)); }
.hdb.hdb-theme-dark .hdb-slot { background: repeating-linear-gradient(135deg, #1b1d21 0 10px, #202328 10px 20px); border-color: #3a3f45; color: #c9c4bb !important; }
.hdb.hdb-theme-dark .hdb-slot-time { color: #a9a49b; }
.hdb.hdb-theme-dark .hdb-slot-cta { background: #15171a; color: #9fd3b0; border-color: #2c5a3a; }
.hdb.hdb-theme-dark a.hdb-slot:hover, .hdb.hdb-theme-dark a.hdb-slot:focus-visible { background: #1b2a20; border-color: #4fa36d; }
.hdb.hdb-theme-dark a.hdb-slot:hover .hdb-slot-cta { background: #3f8a5a; color: #fff; }
.hdb.hdb-theme-dark .hdb-cal-fbtn { background: #1b1d21; border-color: #3a3f45; color: #d6d1c8; }
.hdb.hdb-theme-dark .hdb-cal-fbtn.is-active { background: #3f8a5a; border-color: #3f8a5a; color: #fff; }
.hdb.hdb-theme-dark .hdb-free-chips { background: repeating-linear-gradient(135deg, #1b1d21 0 10px, #202328 10px 20px); border-color: #3a3f45; }
.hdb.hdb-theme-dark .hdb-free-chips-label { color: #c9c4bb; }
.hdb.hdb-theme-dark .hdb-free-chip { background: #15171a; border-color: #2c5a3a; color: #9fd3b0 !important; }
.hdb.hdb-theme-dark .hdb-cal-legend { color: #a9a49b; }
.hdb.hdb-theme-dark .hdb-cal-dot-free { background: repeating-linear-gradient(135deg, #1b1d21 0 3px, #33373c 3px 6px) !important; border-color: #4a4f55; }

/* Angebotsübersicht + Detailfenster */
.hdb.hdb-theme-dark .hdb-path { --hdb-ink: #e8e6e1; --hdb-muted: #a9a49b; --hdb-line: #2c3035; }
.hdb.hdb-theme-dark .hdb-step { background: linear-gradient(175deg, var(--hdb-bg1), #181a1d 65%); box-shadow: inset 0 4px 0 var(--hdb-accent); }
.hdb.hdb-theme-dark .hdb-step-num { background: var(--hdb-accent); color: #121417; }
.hdb.hdb-theme-dark .hdb-step-text { color: #b5b0a7; }
.hdb.hdb-theme-dark .hdb-step-toggle { background: #181a1d; border-color: var(--hdb-accent); }
.hdb.hdb-theme-dark .hdb-step-toggle::before, .hdb.hdb-theme-dark .hdb-step-toggle::after { background: var(--hdb-accent); }
.hdb.hdb-theme-dark details.hdb-step > summary:hover .hdb-step-toggle, .hdb.hdb-theme-dark details.hdb-step[open] .hdb-step-toggle { background: var(--hdb-accent); }
.hdb.hdb-theme-dark details.hdb-step > summary:hover .hdb-step-toggle::before, .hdb.hdb-theme-dark details.hdb-step > summary:hover .hdb-step-toggle::after, .hdb.hdb-theme-dark details.hdb-step[open] .hdb-step-toggle::before, .hdb.hdb-theme-dark details.hdb-step[open] .hdb-step-toggle::after { background: #121417; }
.hdb.hdb-theme-dark .hdb-step-count { color: var(--hdb-accent); }
.hdb.hdb-theme-dark .hdb-chip { background: linear-gradient(170deg, #1f2226, var(--hdb-bg1)); box-shadow: inset 4px 0 0 var(--hdb-accent), 0 6px 12px -10px #000; }
.hdb.hdb-theme-dark .hdb-chip:hover { box-shadow: inset 4px 0 0 var(--hdb-accent), 0 12px 20px -12px #000; }
.hdb.hdb-theme-dark .hdb-chip-meta { color: #c3beb5; }
.hdb.hdb-theme-dark .hdb-dialog { background: #181a1d; color: #e8e6e1; }
.hdb.hdb-theme-dark .hdb-dialog-close { background: #23262b; }
.hdb.hdb-theme-dark .hdb-dialog-close:hover { background: var(--hdb-accent); color: #121417; }
.hdb.hdb-theme-dark .hdb-facts-grid { background: #1f2226; }
.hdb.hdb-theme-dark .hdb-facts-grid dt, .hdb.hdb-theme-dark .hdb-detail-h { color: #a9a49b; }
.hdb.hdb-theme-dark .hdb-dialog .hdb-button, .hdb.hdb-theme-dark .hdb-offer-page .hdb-button, .hdb.hdb-theme-dark .hdb-choice .hdb-button { background: var(--hdb-accent); color: #121417 !important; }
.hdb.hdb-theme-dark .hdb-dialog .hdb-button-alt, .hdb.hdb-theme-dark .hdb-offer-page .hdb-button-alt { background: transparent; color: var(--hdb-tile-ink) !important; box-shadow: inset 0 0 0 2px var(--hdb-accent); }

/* Automatisch: folgt der Geräte-Einstellung */
@media (prefers-color-scheme: dark) {
/* Grundfläche */
.hdb.hdb-theme-auto { --hdb-border: #33373c; --hdb-muted: #a9a49b; --hdb-accent: #6fbf8a; --hdb-accent-dark: #8fd3a6; background: #15171a; color: #e8e6e1; padding: 1.25rem; border-radius: 18px; }
.hdb.hdb-theme-auto a { color: #9fd3b0; }
.hdb.hdb-theme-auto h2, .hdb.hdb-theme-auto h3, .hdb.hdb-theme-auto h4, .hdb.hdb-theme-auto legend, .hdb.hdb-theme-auto label { color: #f2f0eb; }
.hdb.hdb-theme-auto .hdb-small, .hdb.hdb-theme-auto .hdb-info, .hdb.hdb-theme-auto .hdb-free, .hdb.hdb-theme-auto .hdb-facts { color: #a9a49b; }

/* Gruppenfarben: dunkle Variante */
.hdb.hdb-theme-auto [style*="--hdb-l-accent"] { --hdb-accent: var(--hdb-d-accent); --hdb-bg1: var(--hdb-d-bg1); --hdb-bg2: var(--hdb-d-bg2); --hdb-edge: var(--hdb-d-edge); --hdb-tile-ink: var(--hdb-d-ink); --hdb-shadow: #000; }

/* Karten, Formular, Hinweise */
.hdb.hdb-theme-auto .hdb-offer, .hdb.hdb-theme-auto .hdb-summary { background: #1d2024; border-color: #33373c; }
.hdb.hdb-theme-auto .hdb-badge { background: #22322a; color: #b8e6c6; }
.hdb.hdb-theme-auto .hdb-form fieldset { border-color: #33373c; }
.hdb.hdb-theme-auto .hdb-form input[type=text], .hdb.hdb-theme-auto .hdb-form input[type=email], .hdb.hdb-theme-auto .hdb-form input[type=tel], .hdb.hdb-theme-auto .hdb-form textarea { background: #101214; color: #f2f0eb; border-color: #474c52; }
.hdb.hdb-theme-auto .hdb-notice.hdb-success { background: #16301f; border-color: #2c5a3a; color: #d7f2df; }
.hdb.hdb-theme-auto .hdb-notice.hdb-error { background: #3a1714; border-color: #6b2a24; color: #f6d4cf; }
.hdb.hdb-theme-auto .hdb-request { background: #1d2024; border-color: #3a3f45; }
.hdb.hdb-theme-auto .hdb .hdb-button, .hdb.hdb-theme-auto .hdb-button { background: #3f8a5a; color: #fff !important; }
.hdb.hdb-theme-auto .hdb-button:hover, .hdb.hdb-theme-auto .hdb-button:focus { background: #4fa36d; }
.hdb.hdb-theme-auto .hdb-button-alt { background: transparent; color: #9fd3b0 !important; box-shadow: inset 0 0 0 2px #4fa36d; }
.hdb.hdb-theme-auto .hdb-pay, .hdb.hdb-theme-auto .hdb-pay-choice .hdb-radio { background: #1d2024; border-color: #33373c; }
.hdb.hdb-theme-auto .hdb-pay-choice .hdb-radio:has(input:checked) { background: #1b2a20; }
.hdb.hdb-theme-auto .hdb-bank { background: #101214; border-color: #3a4a3f; }
.hdb.hdb-theme-auto .hdb-dates li { border-top-color: #2c3035; }

/* Verfügbarkeit */
.hdb.hdb-theme-auto .hdb-avail.is-ok { background: #173d24; color: #b8f0c8; box-shadow: inset 0 0 0 1px #2c6a40; }
.hdb.hdb-theme-auto .hdb-avail.is-no { background: #4a1a15; color: #ffcfc8; box-shadow: inset 0 0 0 1px #7d2c24; }
.hdb.hdb-theme-auto .hdb-avail.is-soon { background: #3a2a0a; color: #f6d58e; box-shadow: inset 0 0 0 1px #6b4f16; }
.hdb.hdb-theme-auto .hdb-soon-note { background: #2e2209; color: #f6d58e; box-shadow: inset 3px 0 0 #d39a2a; }
.hdb.hdb-theme-auto .hdb-late-note { background: #2e2209; color: #f6d58e; box-shadow: inset 3px 0 0 #d39a2a; }
.hdb.hdb-theme-auto .hdb-soon-note .hdb-small { color: #e6c47a; }
.hdb.hdb-theme-auto .hdb-button-soon { background: #b07a12 !important; color: #1a1306 !important; }
.hdb.hdb-theme-auto .hdb-closed-note { background: #4a1a15; color: #ffcfc8; }

/* Wochenplan */
.hdb.hdb-theme-auto .hdb-cal { --hdb-ink: #e8e6e1; --hdb-muted: #a9a49b; --hdb-line: #2c3035; --hdb-bg: #1d2024; }
.hdb.hdb-theme-auto .hdb-cal-grid { background: #181a1d; border-color: #2c3035; box-shadow: none; }
.hdb.hdb-theme-auto .hdb-cal-day.is-weekend .hdb-cal-col { background-color: #1a1c20; }
.hdb.hdb-theme-auto .hdb-cal-day.is-today .hdb-cal-dayhead { background: #1b2a20; }
.hdb.hdb-theme-auto .hdb-cal-day.is-today .hdb-cal-date { background: #3f8a5a; }
.hdb.hdb-theme-auto .hdb-cal-btn { background: #23262b; color: #e8e6e1 !important; border-color: #33373c; box-shadow: none; }
.hdb.hdb-theme-auto .hdb-cal-kw { background: #3f8a5a; }
.hdb.hdb-theme-auto .hdb-cal-empty { background: #1d2024; }
.hdb.hdb-theme-auto .hdb-tile::before { background: linear-gradient(to bottom, rgba(255,255,255,.08), rgba(255,255,255,0)); }
.hdb.hdb-theme-auto .hdb-tile { box-shadow: inset 4px 0 0 var(--hdb-accent), 0 6px 14px -10px #000; }
.hdb.hdb-theme-auto a.hdb-tile:hover { box-shadow: inset 4px 0 0 var(--hdb-accent), 0 10px 20px -10px #000; }
.hdb.hdb-theme-auto .hdb-tile.is-full, .hdb.hdb-theme-auto .hdb-tile.is-past { filter: saturate(.5) brightness(.9); }
.hdb.hdb-theme-auto .hdb-tile.is-cancelled { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 8px, transparent 8px 16px), linear-gradient(170deg, var(--hdb-bg1), var(--hdb-bg2)); }
.hdb.hdb-theme-auto .hdb-slot { background: repeating-linear-gradient(135deg, #1b1d21 0 10px, #202328 10px 20px); border-color: #3a3f45; color: #c9c4bb !important; }
.hdb.hdb-theme-auto .hdb-slot-time { color: #a9a49b; }
.hdb.hdb-theme-auto .hdb-slot-cta { background: #15171a; color: #9fd3b0; border-color: #2c5a3a; }
.hdb.hdb-theme-auto a.hdb-slot:hover, .hdb.hdb-theme-auto a.hdb-slot:focus-visible { background: #1b2a20; border-color: #4fa36d; }
.hdb.hdb-theme-auto a.hdb-slot:hover .hdb-slot-cta { background: #3f8a5a; color: #fff; }
.hdb.hdb-theme-auto .hdb-cal-fbtn { background: #1b1d21; border-color: #3a3f45; color: #d6d1c8; }
.hdb.hdb-theme-auto .hdb-cal-fbtn.is-active { background: #3f8a5a; border-color: #3f8a5a; color: #fff; }
.hdb.hdb-theme-auto .hdb-free-chips { background: repeating-linear-gradient(135deg, #1b1d21 0 10px, #202328 10px 20px); border-color: #3a3f45; }
.hdb.hdb-theme-auto .hdb-free-chips-label { color: #c9c4bb; }
.hdb.hdb-theme-auto .hdb-free-chip { background: #15171a; border-color: #2c5a3a; color: #9fd3b0 !important; }
.hdb.hdb-theme-auto .hdb-cal-legend { color: #a9a49b; }
.hdb.hdb-theme-auto .hdb-cal-dot-free { background: repeating-linear-gradient(135deg, #1b1d21 0 3px, #33373c 3px 6px) !important; border-color: #4a4f55; }

/* Angebotsübersicht + Detailfenster */
.hdb.hdb-theme-auto .hdb-path { --hdb-ink: #e8e6e1; --hdb-muted: #a9a49b; --hdb-line: #2c3035; }
.hdb.hdb-theme-auto .hdb-step { background: linear-gradient(175deg, var(--hdb-bg1), #181a1d 65%); box-shadow: inset 0 4px 0 var(--hdb-accent); }
.hdb.hdb-theme-auto .hdb-step-num { background: var(--hdb-accent); color: #121417; }
.hdb.hdb-theme-auto .hdb-step-text { color: #b5b0a7; }
.hdb.hdb-theme-auto .hdb-step-toggle { background: #181a1d; border-color: var(--hdb-accent); }
.hdb.hdb-theme-auto .hdb-step-toggle::before, .hdb.hdb-theme-auto .hdb-step-toggle::after { background: var(--hdb-accent); }
.hdb.hdb-theme-auto details.hdb-step > summary:hover .hdb-step-toggle, .hdb.hdb-theme-auto details.hdb-step[open] .hdb-step-toggle { background: var(--hdb-accent); }
.hdb.hdb-theme-auto details.hdb-step > summary:hover .hdb-step-toggle::before, .hdb.hdb-theme-auto details.hdb-step > summary:hover .hdb-step-toggle::after, .hdb.hdb-theme-auto details.hdb-step[open] .hdb-step-toggle::before, .hdb.hdb-theme-auto details.hdb-step[open] .hdb-step-toggle::after { background: #121417; }
.hdb.hdb-theme-auto .hdb-step-count { color: var(--hdb-accent); }
.hdb.hdb-theme-auto .hdb-chip { background: linear-gradient(170deg, #1f2226, var(--hdb-bg1)); box-shadow: inset 4px 0 0 var(--hdb-accent), 0 6px 12px -10px #000; }
.hdb.hdb-theme-auto .hdb-chip:hover { box-shadow: inset 4px 0 0 var(--hdb-accent), 0 12px 20px -12px #000; }
.hdb.hdb-theme-auto .hdb-chip-meta { color: #c3beb5; }
.hdb.hdb-theme-auto .hdb-dialog { background: #181a1d; color: #e8e6e1; }
.hdb.hdb-theme-auto .hdb-dialog-close { background: #23262b; }
.hdb.hdb-theme-auto .hdb-dialog-close:hover { background: var(--hdb-accent); color: #121417; }
.hdb.hdb-theme-auto .hdb-facts-grid { background: #1f2226; }
.hdb.hdb-theme-auto .hdb-facts-grid dt, .hdb.hdb-theme-auto .hdb-detail-h { color: #a9a49b; }
.hdb.hdb-theme-auto .hdb-dialog .hdb-button, .hdb.hdb-theme-auto .hdb-offer-page .hdb-button, .hdb.hdb-theme-auto .hdb-choice .hdb-button { background: var(--hdb-accent); color: #121417 !important; }
.hdb.hdb-theme-auto .hdb-dialog .hdb-button-alt, .hdb.hdb-theme-auto .hdb-offer-page .hdb-button-alt { background: transparent; color: var(--hdb-tile-ink) !important; box-shadow: inset 0 0 0 2px var(--hdb-accent); }
}
