/* Erzeugt von tools/theme_css_erzeugen.py - nicht von Hand aendern.
   Ansicht "hell" (weiss); Standard bleibt dunkel.
   Gesetzt wird sie per <html data-theme="hell"> (Kopf-Skript und ansicht.js). */

:root[data-theme="hell"] {
  --d119-schrift: #151514;
  --d119-schrift-rgb: 21, 21, 20;
  --d119-grund-rgb: 255, 255, 255;
  --d119-flaeche: #f3f2ef;
  --ink: #ffffff;
  --ink-lift: #f3f2ef;
  --ink-lift-2: #e9e7e2;
  --surface: #f3f2ef;
  --surface-2: #e9e7e2;
  --paper: #151514;
  --text: #151514;
  --text-muted: rgba(21, 21, 20, 0.64);
  --text-faint: rgba(21, 21, 20, 0.44);
  --rule: rgba(21, 21, 20, 0.12);
  --rule-strong: rgba(21, 21, 20, 0.26);
  --accent: #6f695d;
  --accent-soft: rgba(111, 105, 93, 0.14);
  --accent-text: #4b463d;
  --focus: #4b463d;
  --mount: #ffffff;
  --mount-text: #151514;
  --mount-rule: rgba(21, 21, 20, 0.12);
  color-scheme: light;
}

/* Produktfotos sind freigestellt: in Weiss auf reinem Weiss. */
:root[data-theme] .gallery__stage, :root[data-theme] .gallery__stage img,
:root[data-theme] .gallery-thumb, :root[data-theme] .related-card__frame { background: var(--mount); }

/* Helle Ansicht: Kacheln reinweiss wie die Seite (kein warmer Fotogrund).
   Die freigestellten Fotos heller und kraeftiger, dazu ein weicher Schatten
   entlang der Silhouette - so heben sich auch weisse Teile vom Weiss ab, und
   die Farben leuchten. Wie stark aufgehellt wird, misst build_site.py je Foto
   (foto_hell -> --d119-hell, 1.0 bis 1.25; ohne Messwert 1.08). Die
   Bilddateien bleiben unveraendert. */
:root[data-theme="hell"] .plate__frame,
:root[data-theme="hell"] .cart-line__frame,
:root[data-theme="hell"] .kasse-stueck__bild { background: #ffffff; box-shadow: none; }
:root[data-theme="hell"] .plate__frame img,
:root[data-theme="hell"] .gallery__stage img,
:root[data-theme="hell"] .gallery-thumb img,
:root[data-theme="hell"] .related-card__frame img,
:root[data-theme="hell"] .cart-line__frame img,
:root[data-theme="hell"] .kasse-stueck__bild img {
  background: transparent;
  filter: brightness(var(--d119-hell, 1.08)) contrast(1.06) saturate(1.22) drop-shadow(0 12px 16px rgba(21, 21, 20, 0.16));
  transition: filter .35s ease;
}
@media (prefers-reduced-motion: reduce) {
  :root[data-theme="hell"] .plate__frame img { transition: none; }
}

/* Kontrast in hell (WCAG AA 4.5:1 auf Weiss): Die aus app.css erzeugte
   Regel weiter unten setzt --text-muted auf 0.58 Deckkraft (#777, 4.47:1) -
   html:root schlaegt sie. Der aktive Sprachknopf hatte helle Schrift auf
   Taupe (2.2:1). */
html:root[data-theme="hell"] { --text-muted: rgba(21, 21, 20, 0.64); }
html:root[data-theme="hell"] .lang-switch__btn[aria-current="true"] { background: #151514; border-color: #151514; color: #ffffff; }

/* Warenkorb und Kasse in hell: reinweiss statt warmer Flaeche, mit weichem
   Schatten; die Hinweiskaesten darin neutral hellgrau. */
:root[data-theme="hell"] .cart-drawer,
:root[data-theme="hell"] .cart-drawer__head,
:root[data-theme="hell"] .cart-drawer__kasse { background: #ffffff; }
:root[data-theme="hell"] .cart-drawer { border-left-color: rgba(21, 21, 20, 0.1); box-shadow: -24px 0 64px rgba(21, 21, 20, 0.12); }
:root[data-theme="hell"] .kasse-meldung,
:root[data-theme="hell"] .kasse-konto { background: #f5f5f5; }

/* Mieten-Datumsfelder: Kalender in hell */
:root[data-theme] #d119RentalStart, :root[data-theme] #d119RentalEnd { color-scheme: light; }

/* Runder Umschalter unten links auf jeder Seite (ansicht.js) */
.d119-ansicht {
  position: fixed; left: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 60;
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; padding: 0;
  border: 1px solid rgba(242, 239, 231, 0.34); background: rgba(10, 10, 9, 0.78); color: #f2efe7;
  cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: transform .15s ease, border-color .15s ease;
}
.d119-ansicht:hover { border-color: #f2efe7; transform: scale(1.05); }
.d119-ansicht:focus-visible { outline: 2px solid #8f897c; outline-offset: 3px; }
.d119-ansicht svg { width: 20px; height: 20px; }
:root[data-theme="hell"] .d119-ansicht { border-color: rgba(21, 21, 20, 0.28); background: rgba(255, 255, 255, 0.86); color: #151514; }
:root[data-theme="hell"] .d119-ansicht:hover { border-color: #151514; }
@media print { .d119-ansicht { display: none; } }

/* ---- Feste Farben aus den Stylesheets, fuer die helle Ansicht nachgebaut ---- */

/* aus app.css */
:root[data-theme] {
  --paper: var(--d119-schrift);
  --rule: rgba(var(--d119-schrift-rgb), 0.14);
  --rule-strong: rgba(var(--d119-schrift-rgb), 0.28);
  --text: var(--d119-schrift);
  --text-muted: rgba(var(--d119-schrift-rgb), 0.58);
  --text-faint: rgba(var(--d119-schrift-rgb), 0.36);
  --mount-text: var(--d119-schrift);
  --mount-rule: rgba(var(--d119-schrift-rgb), 0.16);
}
:root[data-theme] .eyebrow {
  color: rgba(var(--d119-schrift-rgb), 0.6);
}
:root[data-theme] .masthead__index {
  color: rgba(var(--d119-schrift-rgb), 0.5);
}
:root[data-theme] .wordmark-kicker {
  color: rgba(var(--d119-schrift-rgb), 0.5);
}
:root[data-theme] .masthead__bottom {
  border-top: 1px solid rgba(var(--d119-schrift-rgb), 0.18);
}
:root[data-theme] .meta-figure__label {
  color: rgba(var(--d119-schrift-rgb), 0.5);
}
:root[data-theme] .theme-toggle {
  border: 1px solid rgba(var(--d119-schrift-rgb), 0.3);
  color: rgba(var(--d119-schrift-rgb), 0.85);
}
:root[data-theme] .theme-toggle:hover {
  border-color: rgba(var(--d119-schrift-rgb), 0.6);
}
:root[data-theme] .lang-switch {
  border: 1px solid rgba(var(--d119-schrift-rgb), 0.3);
}
:root[data-theme] .lang-switch__btn {
  color: rgba(var(--d119-schrift-rgb), 0.6);
}
:root[data-theme] .modal-backdrop {
  background: rgba(var(--d119-grund-rgb), 0.72);
}
:root[data-theme] .cart-backdrop {
  background: rgba(var(--d119-grund-rgb), 0.72);
}
:root[data-theme] .legal-backdrop {
  background: rgba(var(--d119-grund-rgb), 0.78);
}
:root[data-theme] .swipe-view__progress {
  color: rgba(var(--d119-schrift-rgb), 0.5);
}
:root[data-theme] .swipe-btn {
  border: 1px solid rgba(var(--d119-schrift-rgb), 0.3);
}
:root[data-theme] .swipe-view__hint {
  color: rgba(var(--d119-schrift-rgb), 0.4);
}
:root[data-theme] .view-enter-btn {
  border: 1px solid rgba(var(--d119-schrift-rgb), 0.3);
}
:root[data-theme] .chaos-view__actions {
  background: linear-gradient(rgba(var(--d119-grund-rgb), 0), var(--ink) 42%);
}
:root[data-theme] .chaos-focus {
  background: var(--ink-lift, var(--d119-flaeche));
}
:root[data-theme] .chaos-game__stat {
  background: rgba(var(--d119-grund-rgb), 0.72);
}
:root[data-theme] .chaos-game__result {
  background: var(--ink-lift, var(--d119-flaeche));
}
:root[data-theme] .outfit-view__eyebrow {
  color: rgba(var(--d119-schrift-rgb), 0.5);
}
:root[data-theme] .outfit-picker {
  background: rgba(var(--d119-grund-rgb), 0.94);
}
:root[data-theme] .outfit-picker__search::placeholder {
  color: rgba(var(--d119-schrift-rgb), 0.4);
}
:root[data-theme] .outfit-picker__filters input::placeholder {
  color: rgba(var(--d119-schrift-rgb), 0.4);
}
:root[data-theme] .rental-modal-backdrop {
  background: rgba(var(--d119-grund-rgb), 0.86);
}
@media (max-width: 720px) {
:root[data-theme] .outfit-slot__remove {
  background: rgba(var(--d119-grund-rgb), 0.72);
}
}
:root[data-theme] .mode-rail {
  border-bottom-color: rgba(var(--d119-schrift-rgb), 0.2);
}
:root[data-theme] .menu-backdrop {
  background: rgba(var(--d119-grund-rgb), 0.74);
}
:root[data-theme] .rail__search input {
  border-bottom-color: rgba(var(--d119-schrift-rgb), 0.42);
}
:root[data-theme] #appShell .eyebrow, :root[data-theme] #appShell .wordmark-kicker, :root[data-theme] #appShell .meta-figure__label, :root[data-theme] #appShell .catalog-heading .rail__count, :root[data-theme] #appShell .filter-field label, :root[data-theme] #appShell .footer__stamp, :root[data-theme] #appShell .footer__legal a, :root[data-theme] #appShell .plate__title {
  color: rgba(var(--d119-schrift-rgb), 0.72);
}
:root[data-theme] #d119RentalV2Title, :root[data-theme] .d119-rental-set-copy strong, :root[data-theme] .d119-rental-set-copy span, :root[data-theme] .d119-rental-set-add__label, :root[data-theme] .d119-rental-process-details > summary, :root[data-theme] .d119-rental-v2__section h3, :root[data-theme] .d119-rental-item__meta strong, :root[data-theme] .d119-rental-item__meta span, :root[data-theme] .d119-rental-item__remove, :root[data-theme] .d119-rental-add-inline__copy > strong, :root[data-theme] .d119-rental-add-inline__copy > span, :root[data-theme] .d119-rental-note, :root[data-theme] label[for="d119RentalStart"], :root[data-theme] label[for="d119RentalEnd"], :root[data-theme] #d119RentalStart, :root[data-theme] #d119RentalEnd {
  color: var(--d119-schrift) !important;
}
:root[data-theme] #d119RentalStart, :root[data-theme] #d119RentalEnd {
  background-color: var(--d119-flaeche) !important;
  border-color: rgba(var(--d119-schrift-rgb), .45) !important;
}
:root[data-theme] .paypal-soon {
  border: 1px solid var(--rule-strong,rgba(var(--d119-schrift-rgb), .28));
  color: var(--paper,var(--d119-schrift));
}
:root[data-theme] .paypal-soon__mark i:first-child {
  color: var(--d119-schrift);
}
:root[data-theme] .paypal-soon__tag {
  color: var(--text-muted,rgba(var(--d119-schrift-rgb), .58));
  border: 1px solid var(--rule-strong,rgba(var(--d119-schrift-rgb), .28));
}

/* aus article.css */
:root[data-theme] {
  --paper: var(--d119-schrift);
  --rule: rgba(var(--d119-schrift-rgb), 0.14);
  --rule-strong: rgba(var(--d119-schrift-rgb), 0.28);
  --text-muted: rgba(var(--d119-schrift-rgb), 0.58);
  --text-faint: rgba(var(--d119-schrift-rgb), 0.36);
}
:root[data-theme] .lang-switch__btn {
  color: rgba(var(--d119-schrift-rgb), 0.6);
}
:root[data-theme] .gallery__nav {
  background: rgba(var(--d119-grund-rgb), 0.55);
}
:root[data-theme] .gallery__nav:hover {
  background: rgba(var(--d119-grund-rgb), 0.8);
}
:root[data-theme] .gallery__counter {
  background: rgba(var(--d119-grund-rgb), 0.55);
}
:root[data-theme] .info__desc {
  color: rgba(var(--d119-schrift-rgb), 0.85);
}
:root[data-theme] .checkout-summary dt {
  color: rgba(var(--d119-schrift-rgb), 0.85);
}
:root[data-theme] .lightbox {
  background: rgba(var(--d119-grund-rgb), 0.94);
}
:root[data-theme] .fact__label, :root[data-theme] .info__note {
  color: rgba(var(--d119-schrift-rgb), 0.68);
}
:root[data-theme] p[data-i18n="footerNote"] {
  color: rgba(var(--d119-schrift-rgb), 0.82) !important;
}
:root[data-theme] .paypal-soon {
  border: 1px solid var(--rule-strong,rgba(var(--d119-schrift-rgb), .28));
  color: var(--paper,var(--d119-schrift));
}
:root[data-theme] .paypal-soon__mark i:first-child {
  color: var(--d119-schrift);
}
:root[data-theme] .paypal-soon__tag {
  color: var(--text-muted,rgba(var(--d119-schrift-rgb), .58));
  border: 1px solid var(--rule-strong,rgba(var(--d119-schrift-rgb), .28));
}

/* aus product-page-v4.css */
:root[data-theme] .article-sequence-nav__link {
  color: rgba(var(--d119-schrift-rgb), .72);
}
:root[data-theme] .article-sequence-nav__link:hover, :root[data-theme] .article-sequence-nav__link:focus-visible {
  color: var(--d119-schrift);
}
@media (max-width: 860px) {
:root[data-theme] .page-head {
  border-bottom: 1px solid rgba(var(--d119-schrift-rgb), .18);
}
:root[data-theme] .page-head__menu {
  color: var(--d119-schrift);
}
:root[data-theme] .lang-switch {
  border: 1px solid rgba(var(--d119-schrift-rgb), .28);
}
:root[data-theme] .lang-switch__btn[aria-current="true"] {
  color: var(--d119-flaeche);
}
:root[data-theme] .page-head__cart {
  color: var(--d119-schrift);
}
:root[data-theme] .page-head__cart:hover {
  color: var(--d119-schrift);
}
:root[data-theme] .page-head__cart-count {
  color: var(--d119-flaeche);
}
:root[data-theme] .article-sequence-nav {
  border-bottom: 1px solid rgba(var(--d119-schrift-rgb), .18);
}
:root[data-theme] .article-sequence-nav__link {
  color: rgba(var(--d119-schrift-rgb), .62);
}
:root[data-theme] .article-sequence-nav__link--archive {
  border-left: 1px solid rgba(var(--d119-schrift-rgb), .16);
  border-right: 1px solid rgba(var(--d119-schrift-rgb), .16);
}
:root[data-theme] .gallery__nav {
  background: rgba(var(--d119-grund-rgb), .5);
  border-color: rgba(var(--d119-schrift-rgb), .28);
}
}

/* aus newsletter.css */
:root[data-theme] .d119-nl {
  --nl-text: var(--text, var(--paper, var(--d119-schrift)));
  --nl-muted: var(--text-muted, rgba(var(--d119-schrift-rgb), 0.58));
  --nl-faint: var(--text-faint, rgba(var(--d119-schrift-rgb), 0.36));
  --nl-rule: var(--rule-strong, rgba(var(--d119-schrift-rgb), 0.28));
}

/* aus product-lightbox-v2.css */
:root[data-theme] .lightbox__photo-nav {
  border: 1px solid rgba(var(--d119-schrift-rgb), .38);
  background: rgba(var(--d119-grund-rgb), .52);
  color: var(--d119-schrift);
}
:root[data-theme] .lightbox__photo-nav:hover, :root[data-theme] .lightbox__photo-nav:focus-visible {
  background: rgba(var(--d119-grund-rgb), .82);
  border-color: var(--d119-schrift);
}
:root[data-theme] .lightbox__photo-counter {
  border: 1px solid rgba(var(--d119-schrift-rgb), .24);
  background: rgba(var(--d119-grund-rgb), .62);
  color: var(--d119-schrift);
}
@media (max-width: 600px) {
:root[data-theme] .lightbox__photo-nav {
  background: rgba(var(--d119-grund-rgb), .48);
}
}
