/*
Theme Name: Vienna Clinical Hypnosis
Theme URI: https://viennaclinicalhypnosis.com
Author: Mag. Roland König / Claude
Description: Wiener-Moderne-Theme für Vienna Clinical Hypnosis — WordPress als Motor (Shop/Abo/Recht), Inhalte per File-Pages-Technik (Plugin VCH File Pages).
Version: 1.0.0
License: proprietary
Text Domain: vch
*/

:root {
  --paper: #f4f5f1;
  --ink: #16241f;
  --ink-soft: #3d4a44;
  --gold: #b08d3f;
  --gold-deep: #8f7027;
  --sage: #7a8c7d;
  --chalk: #e7e3d8;
  --card: #fbfbf8;
  --line: #d8d6cc;
  --ok: #4a7a5a;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #131c18; --ink: #e9e7dd; --ink-soft: #b3b7ab; --gold: #c9a35c;
    --gold-deep: #d8b878; --sage: #8ba18e; --chalk: #22302a; --card: #1a2621;
    --line: #2e3c35; --ok: #7fb08f;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font: 17px/1.65 -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
}
.serif, h1, h2, h3 { font-family: "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, serif; }
h1, h2, h3 { text-wrap: balance; font-weight: 400; }
img { max-width: 100%; height: auto; }

.vch-wrap { max-width: 1060px; margin: 0 auto; padding: 0 22px; }
.vch-label {
  font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-deep); font-weight: 600;
  font-family: -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* Vorschau-/Prelaunch-Band (nur solange VCH_PRELAUNCH aktiv ist) */
.vch-prelaunch {
  background: var(--ink); color: var(--paper); text-align: center;
  font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 8px 14px;
}
.vch-prelaunch b { color: var(--gold); }

/* Kopf */
header.vch-site {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 26px 0 22px; border-bottom: 1px solid var(--line); flex-wrap: wrap;
}
.vch-lockup { line-height: 1.25; text-decoration: none; color: inherit; display: block; }
.vch-lockup .vch-brand { font-size: 19px; letter-spacing: 0.18em; font-weight: 400; }
.vch-lockup .vch-by { font-size: 12.5px; color: var(--ink-soft); letter-spacing: 0.04em; font-family: -apple-system, "Segoe UI", Roboto, sans-serif; }
nav.vch-nav { display: flex; gap: 22px; flex-wrap: wrap; align-items: center; }
nav.vch-nav a {
  text-decoration: none; color: var(--ink-soft); font-size: 14.5px; font-weight: 600;
  letter-spacing: 0.04em;
}
nav.vch-nav a:hover { color: var(--gold-deep); }

/* Buttons */
.vch-btn {
  display: inline-block; padding: 12px 22px; border-radius: 3px;
  text-decoration: none; font-size: 15px; font-weight: 600;
  border: 1px solid var(--gold-deep); transition: background 0.25s, color 0.25s;
  font-family: -apple-system, "Segoe UI", Roboto, sans-serif;
}
.vch-btn:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 3px;
}
.vch-btn--solid { background: var(--gold); border-color: var(--gold); color: #14100a; }
.vch-btn--solid:hover { background: var(--gold-deep); border-color: var(--gold-deep); color: #fff; }
.vch-btn--ghost { color: var(--gold-deep); }
.vch-btn--ghost:hover { background: var(--chalk); }

/* Secession-Doppellinie */
hr.vch-rule {
  border: 0; border-top: 1px solid var(--line); position: relative;
  margin: 72px auto; max-width: 1060px;
}
hr.vch-rule::after {
  content: ""; position: absolute; left: 0; right: 0; top: 3px;
  border-top: 1px solid var(--line);
}
hr.vch-rule::before {
  content: ""; position: absolute; left: 50%; top: -4px; width: 9px; height: 9px;
  transform: translateX(-50%) rotate(45deg); background: var(--gold);
}

/* Reveal-Animationen (vch.js) */
.rv { opacity: 0; transform: translateY(18px); transition: opacity 0.7s ease, transform 0.7s ease; }
.rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rv { transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* Fuß */
footer.vch-site {
  margin-top: 80px; border-top: 1px solid var(--line); padding: 40px 0 50px;
  font-size: 13.5px; color: var(--ink-soft);
}
footer.vch-site .vch-cols { display: flex; flex-wrap: wrap; gap: 20px 60px; justify-content: space-between; }
footer.vch-site .vch-brand { letter-spacing: 0.16em; font-size: 15px; color: var(--ink); }
footer.vch-site a { color: var(--gold-deep); }

/* WordPress-Standardinhalte (Rechtsseiten, Abo-Systemseiten) lesbar halten */
.vch-content { max-width: 760px; margin: 40px auto; padding: 0 22px; }
.vch-content h1 { font-size: clamp(28px, 4vw, 40px); }
.vch-content a { color: var(--gold-deep); }

@media (max-width: 700px) {
  header.vch-site { justify-content: center; text-align: center; }
}
