/* ==========================================================================
   BOOGIE KATHI — Helles Design (Standard)
   Wird nur aktiv, wenn <html data-theme="light"> gesetzt ist. Das Dunkel-Design
   ist die unveränderte Basis (app.css + shop.css).

   Prinzip: Die Design-Tokens des Inhalts werden umgedreht (Papier statt Maroon,
   Tinte statt Weiß, dunkles Gold statt helles Gold). Bereiche, die bewusst dunkel
   bleiben (Topbar, Header, Hero-Bänder, Ticket-Band, Footer, Newsletter, Ticket-
   Popup …) bekommen die Original-Tokens zurück – siehe Block „Native Zonen“.
   ========================================================================== */

/* ---------- 1. Tokens: Inhalt hell ---------- */
html[data-theme="light"] {
	color-scheme: light;

	/* Flächen (Namen stammen aus dem Dunkel-Design: 900 = Seitenhintergrund) */
	--bk-maroon-900: #fbf7ee;
	--bk-maroon-800: #f3ead9;
	--bk-maroon-700: #ffffff;
	--bk-maroon-600: #eadcc2;
	--bk-maroon-500: #8b2540;

	/* Schrift („white“ = Haupttext → Tinte) */
	--bk-white:    #2a1015;
	--bk-white-80: rgba(42, 16, 21, 0.9);
	--bk-white-70: rgba(42, 16, 21, 0.84);
	--bk-white-60: rgba(42, 16, 21, 0.74);
	--bk-white-50: rgba(42, 16, 21, 0.66);
	--bk-white-30: rgba(42, 16, 21, 0.4);
	--bk-white-20: rgba(42, 16, 21, 0.22);
	--bk-white-10: rgba(42, 16, 21, 0.13);

	/* Akzent: dunkles Gold für Text, Maroon für Überschriften/Namen */
	--bk-gold-500: #85630f;
	--bk-gold-400: #8a5f0e;
	--bk-gold-300: #6b1d2d;
	--bk-gold-200: #6b1d2d;
	--bk-cream:    #2a1015;

	--bk-shadow: 0 4px 22px rgba(74, 40, 14, 0.12);

	/* Hilfsvariablen (Dunkel-Werte stehen im Block „Native Zonen“) */
	--lt-heading:     #6b1d2d;
	--lt-card-shade:  rgba(255, 255, 255, 0.78);
	--lt-glass:       rgba(42, 16, 21, 0.045);
	--lt-glass-hi:    rgba(42, 16, 21, 0.075);
	--lt-line:        rgba(42, 16, 21, 0.16);
	--lt-input-bg:    #ffffff;
	--lt-input-line:  rgba(42, 16, 21, 0.3);
	--lt-input-fg:    #2a1015;
	--lt-outline:     #6b1d2d;
	--lt-outline-fg:  #ffffff;
	--lt-ok-bg:       rgba(46, 140, 70, 0.12);
	--lt-ok-line:     rgba(46, 140, 70, 0.5);
	--lt-ok-fg:       #1c5a2b;
	--lt-err-bg:      rgba(192, 57, 43, 0.1);
	--lt-err-line:    rgba(192, 57, 43, 0.5);
	--lt-err-fg:      #8a1f14;
	--lt-card-glow:   0 2px 14px rgba(74, 40, 14, 0.07);
}

/* ---------- 2. Native Zonen: bleiben dunkel bzw. waren schon hell ---------- */
html[data-theme="light"] :is(
	.bk-topbar,
	.bk-header,
	.bk-mobile-menu,
	.bk-footer,
	.bk-hero,
	.bk-page-hero,
	.bk-newsletter,
	.bk-stats,
	.bk-fl-hero,
	.bk-fl-final,
	.bk-fl-tickets,
	.bk-fl-facts,
	.bk-tk-modal,
	.bk-events-section,
	.bk-fl-sec--cream,
	.page-ticketshop__main
) {
	--bk-maroon-900: #1a0508;
	--bk-maroon-800: #2d0a10;
	--bk-maroon-700: #4a1520;
	--bk-maroon-600: #6b1d2d;
	--bk-maroon-500: #8b2540;
	--bk-gold-500: #c5a55a;
	--bk-gold-400: #d4a853;
	--bk-gold-300: #e2c47a;
	--bk-gold-200: #ecd596;
	--bk-cream: #f5efe3;
	--bk-white: #ffffff;
	--bk-white-80: rgba(255, 255, 255, 0.8);
	--bk-white-70: rgba(255, 255, 255, 0.7);
	--bk-white-60: rgba(255, 255, 255, 0.6);
	--bk-white-50: rgba(255, 255, 255, 0.5);
	--bk-white-30: rgba(255, 255, 255, 0.3);
	--bk-white-20: rgba(255, 255, 255, 0.2);
	--bk-white-10: rgba(255, 255, 255, 0.1);
	--bk-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);

	--lt-heading:     #d4a853;
	--lt-card-shade:  rgba(0, 0, 0, 0.22);
	--lt-glass:       rgba(255, 255, 255, 0.04);
	--lt-glass-hi:    rgba(255, 255, 255, 0.08);
	--lt-line:        rgba(255, 255, 255, 0.12);
	--lt-input-bg:    rgba(255, 255, 255, 0.08);
	--lt-input-line:  rgba(255, 255, 255, 0.3);
	--lt-input-fg:    #ffffff;
	--lt-outline:     #d4a853;
	--lt-outline-fg:  #1a0508;
	--lt-ok-bg:       rgba(70, 160, 80, 0.18);
	--lt-ok-line:     rgba(120, 200, 120, 0.45);
	--lt-ok-fg:       #d4efd0;
	--lt-err-bg:      rgba(200, 60, 60, 0.18);
	--lt-err-line:    rgba(220, 120, 120, 0.45);
	--lt-err-fg:      #f3cccc;
	--lt-card-glow:   none;
	color-scheme: dark;
}

/* Bereiche, die in beiden Designs hell sind, brauchen helle Formularelemente */
html[data-theme="light"] :is(.bk-events-section, .bk-fl-sec--cream, .page-ticketshop__main) {
	color-scheme: light;
	--lt-card-shade:  rgba(255, 255, 255, 0.78);
	--lt-glass:       rgba(42, 16, 21, 0.045);
	--lt-glass-hi:    rgba(42, 16, 21, 0.075);
	--lt-line:        rgba(42, 16, 21, 0.16);
	--lt-input-bg:    #ffffff;
	--lt-input-line:  rgba(42, 16, 21, 0.3);
	--lt-input-fg:    #2a1015;
	--lt-outline:     #6b1d2d;
	--lt-outline-fg:  #ffffff;
	--lt-heading:     #6b1d2d;
	--lt-ok-bg:       rgba(46, 140, 70, 0.12);
	--lt-ok-line:     rgba(46, 140, 70, 0.5);
	--lt-ok-fg:       #1c5a2b;
	--lt-err-bg:      rgba(192, 57, 43, 0.1);
	--lt-err-line:    rgba(192, 57, 43, 0.5);
	--lt-err-fg:      #8a1f14;
}

/* ---------- 3. Grundlagen ---------- */
html[data-theme="light"] body.bk-body {
	background: var(--bk-maroon-900);
	color: var(--bk-white);
}
html[data-theme="light"] ::selection { background: #e7c978; color: #1a0508; }

/* Überschriften im hellen Inhalt: Maroon statt Gold */
html[data-theme="light"] :is(
	.bk-section-title,
	.bk-prose h1,
	.bk-prose h2,
	.bk-about-heading,
	.bk-about-subheading,
	.bk-musicians__heading,
	.bk-fl-sec-title,
	.bk-about__quote,
	.bk-band-card__name,
	.bk-fl-final h2
) {
	color: var(--lt-heading);
}
html[data-theme="light"] .bk-prose h3 { color: var(--bk-white); }
html[data-theme="light"] .bk-prose a { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: rgba(138, 95, 14, 0.4); }
html[data-theme="light"] .bk-prose a.bk-btn { text-decoration: none; }

/* ---------- 4. Buttons ---------- */
html[data-theme="light"] .bk-btn--gold,
html[data-theme="light"] .bk-prose a.bk-btn--gold,
html[data-theme="light"] .woocommerce .product .button,
html[data-theme="light"] .woocommerce .product .add_to_cart_button,
html[data-theme="light"] .bk-shop-cart .button-primary,
html[data-theme="light"] .bk-shop-form .button-primary {
	background: #c5a55a;
	border-color: #c5a55a;
	color: #1a0508;
}
html[data-theme="light"] .bk-btn--gold:hover,
html[data-theme="light"] .bk-prose a.bk-btn--gold:hover,
html[data-theme="light"] .bk-shop-cart .button-primary:hover,
html[data-theme="light"] .bk-shop-form .button-primary:hover {
	background: #d6b86c;
	border-color: #d6b86c;
	color: #1a0508;
}
html[data-theme="light"] .bk-btn--outline,
html[data-theme="light"] .bk-prose a.bk-btn--outline {
	color: var(--lt-outline);
	border-color: var(--lt-outline);
	background: transparent;
}
html[data-theme="light"] .bk-btn--outline:hover,
html[data-theme="light"] .bk-prose a.bk-btn--outline:hover {
	background: var(--lt-outline);
	border-color: var(--lt-outline);
	color: var(--lt-outline-fg);
}
html[data-theme="light"] .bk-btn--soldout {
	background: #e2d8c6;
	color: rgba(42, 16, 21, 0.8);
	border: 1px solid rgba(42, 16, 21, 0.14);
}
/* Native dunkle Zonen: Gold-Button/Outline wie im Dunkel-Design */
html[data-theme="light"] :is(.bk-header, .bk-mobile-menu, .bk-topbar, .bk-footer, .bk-hero, .bk-page-hero, .bk-fl-hero, .bk-fl-final, .bk-fl-tickets, .bk-newsletter, .bk-tk-modal) .bk-btn--outline:hover {
	background: #d4a853;
	border-color: #d4a853;
	color: #1a0508;
}
html[data-theme="light"] :is(.bk-header, .bk-mobile-menu, .bk-topbar, .bk-footer, .bk-hero, .bk-page-hero, .bk-fl-hero, .bk-fl-final, .bk-fl-tickets, .bk-newsletter, .bk-tk-modal) .bk-btn--soldout {
	background: #3d2024;
	color: rgba(255, 255, 255, 0.78);
	border-color: rgba(255, 255, 255, 0.12);
}

/* ---------- 5. Karten & Flächen mit fest codierten Dunkel-Overlays ---------- */
html[data-theme="light"] :is(.bk-fl-charity, .bk-fl-day, .bk-fl-hl__card, .bk-fl-course, .bk-fl-tk) {
	background: var(--lt-card-shade);
}
html[data-theme="light"] .bk-fl-charity { box-shadow: var(--lt-card-glow); }
html[data-theme="light"] .bk-fl-day { box-shadow: var(--lt-card-glow); }
html[data-theme="light"] .bk-fl-day__head {
	background: linear-gradient(135deg, #6b1d2d, #4a1520);
}
html[data-theme="light"] .bk-fl-day__name { color: #e2c47a; }
html[data-theme="light"] .bk-fl-day__date { color: #f5efe3; }
html[data-theme="light"] .bk-fl-slot { border-bottom-color: var(--bk-white-10); }
html[data-theme="light"] .bk-fl-slot--hl { background: rgba(197, 165, 90, 0.2); }
html[data-theme="light"] .bk-fl-slot--hl .bk-fl-slot__what b { color: #6b1d2d; }
html[data-theme="light"] .bk-fl-partner,
html[data-theme="light"] .bk-musicians--legacy {
	background: var(--lt-glass);
	border-color: var(--lt-line);
}
html[data-theme="light"] .bk-fl-hl__card { box-shadow: var(--lt-card-glow); }

/* Karten: weiß auf Papier mit weichem Schatten */
html[data-theme="light"] :is(
	.bk-fl-star,
	.bk-fl-info-card,
	.bk-fl-bio,
	.bk-fl-local,
	.bk-fl-faq details,
	.bk-musician-card,
	.bk-combo-card,
	.bk-merch__card,
	.bk-blog-card,
	.bk-band-card,
	.bk-product-card--lg,
	.bk-about-playlist__card,
	.bk-about-stats__item,
	.bk-band-stat,
	.bk-fest-formats__item,
	.bk-ref-legends__item,
	.bk-ref-columns .bk-about-block,
	.bk-ref-photos__item,
	.bk-legal-toc
) {
	box-shadow: var(--lt-card-glow);
}
html[data-theme="light"] .bk-fl-faq details[open] { border-color: #b8943e; }
html[data-theme="light"] .bk-fl-faq summary { color: #2a1015; }
html[data-theme="light"] .bk-fl-bio--noimg { border-left-color: #b8943e; }

/* Bild-Beschriftungen liegen immer auf dunklem Bildverlauf */
html[data-theme="light"] .bk-fl-feature-visual figcaption { color: #e2c47a; }
html[data-theme="light"] .bk-fl-flyers figcaption { color: var(--bk-white-60); }

/* Zitat-Kasten „Über mich“ */
html[data-theme="light"] .bk-prose .bk-about-pullquote {
	background: linear-gradient(145deg, #fff8e8, #f6ead0);
	color: #6b1d2d;
	border-color: rgba(184, 148, 62, 0.45);
}
html[data-theme="light"] .bk-prose .bk-about-pullquote__cite,
html[data-theme="light"] .bk-about-pullquote__cite { color: rgba(42, 16, 21, 0.75); }

/* Platzhalter für fehlende Bilder */
html[data-theme="light"] .bk-product-card__placeholder,
html[data-theme="light"] .bk-product-single__placeholder {
	background: linear-gradient(135deg, #eadcc2, #f6ecd8);
	color: #85630f;
}
html[data-theme="light"] :is(.bk-merch__image, .bk-musician-card__media, .bk-combo-card__media, .bk-musician-single__media, .bk-product-single__media) {
	background: #efe4cf;
}

/* ---------- 6. Formulare ---------- */
html[data-theme="light"] :is(
	.bk-res__field input[type="text"],
	.bk-res__field input[type="email"],
	.bk-res__field input[type="tel"],
	.bk-res__field input[type="number"],
	.bk-res__field input[type="date"],
	.bk-res__field select,
	.bk-res__field textarea,
	.bk-shop-form input[type="text"],
	.bk-shop-form input[type="email"],
	.bk-shop-form input[type="number"],
	.bk-shop-form input[type="tel"],
	.bk-shop-form input[type="password"],
	.bk-shop-form select,
	.bk-shop-form textarea,
	.bk-shop-qty,
	.bk-fl .bk-shop-newsletter input[type="text"],
	.bk-fl .bk-shop-newsletter input[type="email"],
	.bk-newsletter__input,
	.bk-shop-reserve__form input,
	.bk-shop-reserve__form textarea,
	.bk-shop-reserve__form--grid input,
	.bk-shop-account__form input,
	.bk-shop-waitlist__form input,
	.bk-event-reservation__form input,
	.bk-event-reservation__form select,
	.bk-event-reservation__form textarea
) {
	background: var(--lt-input-bg);
	border-color: var(--lt-input-line);
	color: var(--lt-input-fg);
}
html[data-theme="light"] :is(
	.bk-res__field input,
	.bk-res__field textarea,
	.bk-shop-form input,
	.bk-shop-form textarea,
	.bk-newsletter__input,
	.bk-shop-reserve__form input,
	.bk-shop-waitlist__form input,
	.bk-shop-account__form input
)::placeholder {
	color: var(--bk-white-50);
}
html[data-theme="light"] :is(.bk-res__field, .bk-shop-form) :is(input, select, textarea):focus {
	border-color: #b8943e;
	background: var(--lt-input-bg);
	outline: 2px solid rgba(184, 148, 62, 0.35);
	outline-offset: 1px;
}
html[data-theme="light"] .bk-res__field select option { background: #fff; color: #2a1015; }
html[data-theme="light"] .bk-shop-form fieldset { background: var(--lt-glass); border-color: var(--lt-line); }
html[data-theme="light"] .bk-shop-form legend { color: #6b1d2d; }
html[data-theme="light"] .bk-res__field label { color: #6b1d2d; }
html[data-theme="light"] .bk-fl .bk-shop-newsletter label { color: #6b1d2d; }

/* Rückmeldungen */
html[data-theme="light"] :is(.bk-res__ok, .bk-fl .bk-shop-newsletter__notice--success, .bk-shop-reserve__ok, .bk-shop-account__notice--success, .bk-shop-waitlist__ok, .bk-event-reservation__ok) {
	background: var(--lt-ok-bg);
	border-color: var(--lt-ok-line);
	color: var(--lt-ok-fg);
}
html[data-theme="light"] .bk-res__ok-title { color: var(--lt-ok-fg); }
html[data-theme="light"] :is(.bk-res__error, .bk-fl .bk-shop-newsletter__notice--error, .bk-shop-account__notice--error, .bk-shop-errors, .bk-paypal-error) {
	background: var(--lt-err-bg);
	border-color: var(--lt-err-line);
	color: var(--lt-err-fg);
}
html[data-theme="light"] .bk-res__note { background: rgba(197, 165, 90, 0.16); color: var(--bk-white); }
html[data-theme="light"] .bk-res__note b { color: #6b1d2d; }

/* ---------- 7. Shop / Warenkorb / Kasse (shop.css nutzt feste Weiß-Overlays) ---------- */
html[data-theme="light"] :is(.bk-shop-msg, .bk-shop-cart, .bk-cart-contact, .bk-shop-summary, .bk-contact-fallback, .bk-event-reservation, .bk-shop-account__order) {
	background: #ffffff;
	border-color: var(--lt-line);
	box-shadow: var(--lt-card-glow);
}
html[data-theme="light"] .bk-shop-msg--info { background: #fff6dd; border-color: rgba(184, 148, 62, 0.5); }
html[data-theme="light"] .bk-cart-contact { border-left-color: #b8943e; }
html[data-theme="light"] .bk-shop-table th { border-bottom-color: var(--lt-line); }
html[data-theme="light"] .bk-shop-table td,
html[data-theme="light"] .bk-shop-summary tfoot td,
html[data-theme="light"] .bk-shop-account__order-foot { border-color: var(--bk-white-10); }
html[data-theme="light"] .bk-shop-cart .button:not(.button-primary),
html[data-theme="light"] .bk-shop-form .button:not(.button-primary) {
	background: #ffffff;
	border-color: var(--lt-input-line);
	color: #2a1015;
}
html[data-theme="light"] .bk-shop-cart .button:not(.button-primary):hover,
html[data-theme="light"] .bk-shop-form .button:not(.button-primary):hover {
	background: #fff3d2;
	border-color: #b8943e;
	color: #6b1d2d;
}
html[data-theme="light"] .bk-shop-form fieldset { background: #fffdf8; }
html[data-theme="light"] .bk-pay-option { border-color: var(--lt-input-line); background: #ffffff; }
html[data-theme="light"] .bk-pay-option:hover { border-color: #b8943e; }
html[data-theme="light"] .bk-shop-thankyou { background: #fff6dd; border-color: rgba(184, 148, 62, 0.5); color: #2a1015; }
html[data-theme="light"] .bk-product-meta__badge { background: rgba(42, 16, 21, 0.07); }
html[data-theme="light"] .bk-product-meta__badge--digital { background: rgba(197, 165, 90, 0.25); color: #6b4a07; }
html[data-theme="light"] .bk-product-single__desc-title { border-bottom-color: var(--lt-line); }
html[data-theme="light"] .bk-legacy-events .bk-event-row { background: #ffffff; box-shadow: var(--lt-card-glow); }
html[data-theme="light"] .bk-legacy-gallery img { box-shadow: 0 4px 16px rgba(74, 40, 14, 0.18); }
html[data-theme="light"] .bk-shop-account__order-status { background: rgba(42, 16, 21, 0.08); }
html[data-theme="light"] .bk-shop-account__order-status--processing { background: rgba(197, 165, 90, 0.3); }
html[data-theme="light"] .bk-shop-account__order-status--completed { background: rgba(70, 160, 80, 0.2); }
html[data-theme="light"] .bk-shop-account__order-status--cancelled,
html[data-theme="light"] .bk-shop-account__order-status--refunded { background: rgba(200, 70, 70, 0.18); }
html[data-theme="light"] .bk-shop-reserve__form input,
html[data-theme="light"] .bk-shop-reserve__form textarea,
html[data-theme="light"] .bk-event-reservation__form :is(input, select, textarea) { border-color: var(--lt-input-line); }
html[data-theme="light"] .bk-event-reservation__legal { background: rgba(197, 165, 90, 0.14); }

/* ---------- 8. Header-Umschalter ---------- */
.bk-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border-radius: 999px;
	border: 1px solid rgba(212, 168, 83, 0.45);
	background: transparent;
	color: #d4a853;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	flex-shrink: 0;
}
.bk-theme-toggle:hover { background: #d4a853; color: #1a0508; border-color: #d4a853; }
.bk-theme-toggle:focus-visible { outline: 2px solid #e2c47a; outline-offset: 2px; }
.bk-theme-toggle svg { display: block; }
/* Zeigt das Ziel: im hellen Design der Mond (→ dunkel), im dunklen die Sonne (→ hell) */
.bk-theme-toggle .bk-theme-toggle__moon { display: none; }
.bk-theme-toggle .bk-theme-toggle__sun { display: block; }
html[data-theme="light"] .bk-theme-toggle .bk-theme-toggle__sun { display: none; }
html[data-theme="light"] .bk-theme-toggle .bk-theme-toggle__moon { display: block; }
@media (max-width: 679px) {
	.bk-theme-toggle { width: 36px; height: 36px; }
}

/* Weicher Übergang beim Umschalten (nur wenn der Nutzer Bewegung zulässt) */
@media (prefers-reduced-motion: no-preference) {
	html.bk-theme-anim, html.bk-theme-anim *, html.bk-theme-anim *::before, html.bk-theme-anim *::after {
		transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
	}
}

/* ---------- 9. Feinschliff aus dem Kontrast-Audit ---------- */
html[data-theme="light"] .bk-badge--soldout { color: #fff; }
html[data-theme="light"] .bk-fl-flyers figcaption { color: rgba(255, 255, 255, 0.75); }
html[data-theme="light"] .bk-recaptcha-note { color: var(--bk-white-60) !important; opacity: 1 !important; }
html[data-theme="light"] .bk-recaptcha-note a { color: var(--lt-heading) !important; text-decoration: underline; }
html[data-theme="light"] .bk-shop-reserve__hint-grid { color: #6e4f0a; opacity: 1; }
html[data-theme="light"] a.bk-event-venue-link,
html[data-theme="light"] .bk-event-detail__meta-item a.bk-event-venue-link { color: var(--lt-heading); }
html[data-theme="light"] a.bk-event-venue-link:hover { color: #8a5f0e; }
html[data-theme="light"] :is(.bk-header, .bk-mobile-menu, .bk-topbar, .bk-footer, .bk-hero, .bk-page-hero, .bk-fl-hero, .bk-fl-final, .bk-fl-tickets, .bk-newsletter, .bk-tk-modal) a.bk-event-venue-link { color: #e2c47a; }

/* „Ausverkauft“ / „Verkauf ab …“: kein zusätzliches Ausblenden, damit der Text lesbar bleibt */
html[data-theme="light"] .bk-btn--soldout { opacity: 1; }

/* Dunkle Zonen erben sonst die dunkle Schriftfarbe des hellen Body (z. B. Newsletter-Hinweis) */
html[data-theme="light"] :is(.bk-topbar, .bk-header, .bk-mobile-menu, .bk-footer, .bk-hero, .bk-page-hero, .bk-newsletter, .bk-stats, .bk-fl-hero, .bk-fl-final, .bk-fl-tickets, .bk-fl-facts, .bk-tk-modal) {
	color: #ffffff;
}
