/* Fuchs und Has – Themes (ADR-015).

   Jedes Theme ist ausschließlich ein Satz Design Tokens (CSS Custom Properties) unter
   [data-theme="<name>"]. Layout und Komponenten stehen nur in main.css und sind für alle
   Themes identisch; HTML, Inhalte und Funktionen ändern sich nicht.

   Das aktive Theme setzt der Build als data-theme auf <html> (content/site.json "theme",
   überschreibbar per THEME bzw. --theme). Ohne Attribut gilt "warm" als Rückfall.

   Neues Theme (z. B. später saisonal): einen weiteren Block mit ALLEN Tokens anlegen; der
   Build erkennt es automatisch, test/themes.test.js prüft Vollständigkeit und Kontraste.
   Werte sind Entwürfe zur Auswahl durch die Auftraggeberin, keine finale Gestaltung.
   Keine Inhalte, Farben oder Motive der Design Reference. Nur Systemschriften (NFR-12). */

/* ------------------------------------------------------------------------------------------
   warm – wohnlich, warm, naturverbunden; Holz und Tiny-House-Atmosphäre
   ------------------------------------------------------------------------------------------ */
:root, :root[data-theme="warm"] {
  /* Farbwelt */
  --color-bg: #f6efe4;
  --color-surface: #fffaf2;
  --color-tint: #ede2d1;
  --color-text: #2f2620;
  --color-heading: #3b2a1d;
  --color-muted: #66574a;
  --color-border: #d6c5ad;
  --color-accent: #84532a;
  --color-accent-strong: #63391a;
  --color-on-accent: #fffaf2;
  --color-link: #7a4a22;
  --color-link-hover: #2f2620;
  --color-error: #a3271c;
  --color-placeholder: #e9dcc8;
  --color-placeholder-alt: #e1d1ba;
  --focus-color: #84532a;
  --focus-width: 3px;

  /* Typografie */
  --font-body: "Seravek", "Gill Sans Nova", "Gill Sans", Ubuntu, Calibri, "DejaVu Sans", system-ui, sans-serif;
  --font-heading: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --heading-weight: 400;
  --heading-letter-spacing: 0;
  --line-height-body: 1.7;
  --line-height-heading: 1.2;
  --step-0: 1.0625rem;
  --step-1: 1.3rem;
  --step-2: clamp(1.55rem, 1.2rem + 1.3vw, 2.1rem);
  --step-3: clamp(2.1rem, 1.4rem + 2.8vw, 3.4rem);
  --small-size: 0.9rem;
  --nav-size: 0.98rem;
  --nav-letter-spacing: 0;
  --nav-transform: none;
  --nav-gap: 1.5rem;
  --brand-font: var(--font-heading);
  --brand-size: 1.4rem;
  --brand-weight: 400;
  --brand-letter-spacing: 0;
  --brand-transform: none;

  /* Abstände, Breiten, Dichte */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --section-space: clamp(3rem, 2rem + 4vw, 5.5rem);
  --width-text: 40rem;
  --width-narrow: 48rem;
  --width-wide: 72rem;

  /* Formen und Flächen */
  --radius: 8px;
  --radius-pill: 999px;
  --surface-shadow: none;
  --input-border: #8a7660;
  --input-radius: 8px;
  --tag-bg: #ede2d1;
  --tag-border: transparent;

  /* Kopf- und Fußbereich */
  --header-height: 4.5rem;
  --header-bg: color-mix(in srgb, #f6efe4 94%, transparent);
  --header-text: #2f2620;
  --header-muted: #66574a;
  --header-link: #7a4a22;
  --header-border: #d6c5ad;
  --header-shadow: none;
  --header-focus: #84532a;
  --header-cta-bg: #84532a;
  --header-cta-text: #fffaf2;
  --header-cta-hover: #63391a;
  --footer-bg: #ede2d1;
  --footer-text: #4d3f33;
  --footer-link: #63391a;
  --footer-border: #d6c5ad;
  --footer-focus: #84532a;

  /* Hero und Bildrahmung */
  --hero-height: min(78vh, 46rem);
  --hero-height-compact: min(55vh, 32rem);
  --hero-image-radius: 0;
  --hero-text-bg: #f6efe4;
  --hero-text-radius: 14px 14px 0 0;
  --hero-text-shadow: none;
  --hero-text-overlap: clamp(3rem, 2rem + 4vw, 5.5rem);
  --image-radius: 12px;
  --image-shadow: none;
  --image-border: 0;
  --image-gap: 1rem;

  /* Buttons */
  --button-radius: 999px;
  --button-pad-y: 0.7rem;
  --button-pad-x: 1.5rem;
  --button-size: 0.98rem;
  --button-weight: 500;
  --button-letter-spacing: 0;
  --button-transform: none;
  --button-shadow: none;

  /* Kalenderzustände */
  --cal-available-bg: #fffaf2;
  --cal-available-text: #2f2620;
  --cal-unavailable-bg: #e3d5c1;
  --cal-unavailable-stripe: #d6c4aa;
  --cal-unavailable-text: #5a4a3c;
  --cal-selected-bg: #84532a;
  --cal-selected-text: #fffaf2;
  --cal-range-bg: #efd9bd;
  --cal-range-text: #2f2620;
  --cal-hover-outline: #84532a;
  --cal-past-text: #a39484;
  --cal-disabled-opacity: 0.35;
  --cal-day-radius: 6px;
  --cal-gap: 3px;
}

/* ------------------------------------------------------------------------------------------
   clear – hell, klar, reduziert, modern, großzügig, wenig rustikal
   ------------------------------------------------------------------------------------------ */
:root[data-theme="clear"] {
  --color-bg: #ffffff;
  --color-surface: #ffffff;
  --color-tint: #f3f4f2;
  --color-text: #1c1e1d;
  --color-heading: #111312;
  --color-muted: #5a605d;
  --color-border: #dfe2df;
  --color-accent: #1f2a25;
  --color-accent-strong: #3a4842;
  --color-on-accent: #ffffff;
  --color-link: #1f2a25;
  --color-link-hover: #4a5852;
  --color-error: #b3261e;
  --color-placeholder: #f1f2f0;
  --color-placeholder-alt: #e9ebe8;
  --focus-color: #1d6b57;
  --focus-width: 2px;

  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-heading: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --heading-weight: 300;
  --heading-letter-spacing: -0.015em;
  --line-height-body: 1.75;
  --line-height-heading: 1.15;
  --step-0: 1.0625rem;
  --step-1: 1.25rem;
  --step-2: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
  --step-3: clamp(2.3rem, 1.4rem + 3.6vw, 4.2rem);
  --small-size: 0.875rem;
  --nav-size: 0.8rem;
  --nav-letter-spacing: 0.05em;
  --nav-transform: uppercase;
  --nav-gap: 1rem;
  --brand-font: var(--font-body);
  --brand-size: 1rem;
  --brand-weight: 600;
  --brand-letter-spacing: 0.16em;
  --brand-transform: uppercase;

  --space-1: 0.5rem;
  --space-2: 1.125rem;
  --space-3: 1.75rem;
  --space-4: 3rem;
  --section-space: clamp(4rem, 2.5rem + 6vw, 8rem);
  --width-text: 38rem;
  --width-narrow: 46rem;
  --width-wide: 76rem;

  --radius: 2px;
  --radius-pill: 2px;
  --surface-shadow: none;
  --input-border: #858c88;
  --input-radius: 0;
  --tag-bg: transparent;
  --tag-border: #dfe2df;

  --header-height: 5rem;
  --header-bg: color-mix(in srgb, #ffffff 96%, transparent);
  --header-text: #1c1e1d;
  --header-muted: #5a605d;
  --header-link: #1f2a25;
  --header-border: #eceeec;
  --header-shadow: none;
  --header-focus: #1d6b57;
  --header-cta-bg: #1f2a25;
  --header-cta-text: #ffffff;
  --header-cta-hover: #3a4842;
  --footer-bg: #ffffff;
  --footer-text: #5a605d;
  --footer-link: #1f2a25;
  --footer-border: #eceeec;
  --footer-focus: #1d6b57;

  --hero-height: min(86vh, 54rem);
  --hero-height-compact: min(60vh, 36rem);
  --hero-image-radius: 0;
  --hero-text-bg: transparent;
  --hero-text-radius: 0;
  --hero-text-shadow: none;
  --hero-text-overlap: 0px;
  --image-radius: 0;
  --image-shadow: none;
  --image-border: 0;
  --image-gap: 0.5rem;

  --button-radius: 0;
  --button-pad-y: 0.85rem;
  --button-pad-x: 1.5rem;
  --button-size: 0.8rem;
  --button-weight: 600;
  --button-letter-spacing: 0.1em;
  --button-transform: uppercase;
  --button-shadow: none;

  --cal-available-bg: #ffffff;
  --cal-available-text: #1c1e1d;
  --cal-unavailable-bg: #eff0ee;
  --cal-unavailable-stripe: #e2e5e1;
  --cal-unavailable-text: #545a57;
  --cal-selected-bg: #1f2a25;
  --cal-selected-text: #ffffff;
  --cal-range-bg: #e2ebe7;
  --cal-range-text: #1c1e1d;
  --cal-hover-outline: #1f2a25;
  --cal-past-text: #a6aba8;
  --cal-disabled-opacity: 0.3;
  --cal-day-radius: 0;
  --cal-gap: 1px;
}

/* ------------------------------------------------------------------------------------------
   forest – ruhig, waldig, atmosphärisch; stärkere Tiefenwirkung, hochwertig
   ------------------------------------------------------------------------------------------ */
:root[data-theme="forest"] {
  --color-bg: #eef0ea;
  --color-surface: #fbfcf8;
  --color-tint: #dde5d8;
  --color-text: #1c2620;
  --color-heading: #17301f;
  --color-muted: #4b5850;
  --color-border: #c3cdbf;
  --color-accent: #2d5a40;
  --color-accent-strong: #1d4230;
  --color-on-accent: #f4f6ef;
  --color-link: #2a5a3d;
  --color-link-hover: #1c2620;
  --color-error: #9e2a22;
  --color-placeholder: #d9e0d4;
  --color-placeholder-alt: #cfd8ca;
  --focus-color: #2d5a40;
  --focus-width: 3px;

  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-heading: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --heading-weight: 600;
  --heading-letter-spacing: 0.005em;
  --line-height-body: 1.65;
  --line-height-heading: 1.2;
  --step-0: 1.0625rem;
  --step-1: 1.3rem;
  --step-2: clamp(1.55rem, 1.2rem + 1.3vw, 2.15rem);
  --step-3: clamp(2.1rem, 1.4rem + 2.9vw, 3.5rem);
  --small-size: 0.9rem;
  --nav-size: 0.95rem;
  --nav-letter-spacing: 0.01em;
  --nav-transform: none;
  --nav-gap: 1.25rem;
  --brand-font: var(--font-heading);
  --brand-size: 1.35rem;
  --brand-weight: 600;
  --brand-letter-spacing: 0.01em;
  --brand-transform: none;

  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --section-space: clamp(3.25rem, 2rem + 4.5vw, 6rem);
  --width-text: 40rem;
  --width-narrow: 48rem;
  --width-wide: 72rem;

  --radius: 4px;
  --radius-pill: 999px;
  --surface-shadow: 0 18px 40px -24px rgba(18, 38, 26, 0.45);
  --input-border: #6f7f69;
  --input-radius: 4px;
  --tag-bg: #fbfcf8;
  --tag-border: #c3cdbf;

  --header-height: 4.5rem;
  --header-bg: #1b2c22;
  --header-text: #eef0ea;
  --header-muted: #b7c4b9;
  --header-link: #d2e1c6;
  --header-border: #2f4638;
  --header-shadow: 0 6px 24px -12px rgba(10, 22, 15, 0.6);
  --header-focus: #d2e1c6;
  --header-cta-bg: #c7d9ae;
  --header-cta-text: #1b2c22;
  --header-cta-hover: #dbe8c6;
  --footer-bg: #1b2c22;
  --footer-text: #c6d1c8;
  --footer-link: #e0ebd5;
  --footer-border: #2f4638;
  --footer-focus: #d2e1c6;

  --hero-height: min(82vh, 48rem);
  --hero-height-compact: min(58vh, 34rem);
  --hero-image-radius: 0;
  --hero-text-bg: #fbfcf8;
  --hero-text-radius: 4px;
  --hero-text-shadow: 0 24px 48px -24px rgba(18, 38, 26, 0.5);
  --hero-text-overlap: clamp(3.5rem, 2rem + 5vw, 6.5rem);
  --image-radius: 4px;
  --image-shadow: 0 22px 44px -26px rgba(18, 38, 26, 0.55);
  --image-border: 0;
  --image-gap: 1.25rem;

  --button-radius: 4px;
  --button-pad-y: 0.75rem;
  --button-pad-x: 1.5rem;
  --button-size: 0.95rem;
  --button-weight: 600;
  --button-letter-spacing: 0.02em;
  --button-transform: none;
  --button-shadow: 0 8px 18px -10px rgba(18, 38, 26, 0.55);

  --cal-available-bg: #fbfcf8;
  --cal-available-text: #1c2620;
  --cal-unavailable-bg: #d3dbcf;
  --cal-unavailable-stripe: #c5cfc0;
  --cal-unavailable-text: #3b4740;
  --cal-selected-bg: #2d5a40;
  --cal-selected-text: #f4f6ef;
  --cal-range-bg: #d4e3cf;
  --cal-range-text: #1c2620;
  --cal-hover-outline: #2d5a40;
  --cal-past-text: #95a097;
  --cal-disabled-opacity: 0.35;
  --cal-day-radius: 4px;
  --cal-gap: 3px;
}
