/* ---------- NAVIGATION (verschoben aus core.css, universell für alle 14 Seiten) ---------- */
nav { transition: box-shadow 0.3s, background 0.3s; }
/* NAVIGATION */
  nav {
    position: fixed; top: 38px; left: 0; right: 0; z-index: 1000;
    background: rgba(249,246,241,0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
    padding: 0 2rem;
    height: 70px;
    display: flex; align-items: center; justify-content: space-between;
    transition: box-shadow 0.3s;
  }
nav.scrolled { box-shadow: 0 2px 20px var(--shadow); }
.nav-logo {
    display: flex; align-items: center; gap: .65rem;
    text-decoration: none; cursor: pointer; line-height: 1;
  }
.nav-logo-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.22rem; font-weight: 600;
    letter-spacing: 0.18em; color: var(--text);
    line-height: 1;
  }
.nav-logo-text em { color: var(--accent); font-style: normal; }
.nav-logo-sub {
    display: block; font-family: 'Inter', sans-serif;
    font-size: 0.6rem; letter-spacing: 0.22em;
    color: var(--text-light); text-transform: uppercase; margin-top: .18rem;
  }
.nav-links { display: flex; align-items: center; gap: 0.25rem; list-style: none; }
.nav-links a, .nav-links button {
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-mid);
    text-decoration: none;
    background: none; border: none;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: color 0.2s;
    position: relative;
  }
.nav-links a:hover, .nav-links button:hover { color: var(--accent-dark); }
.nav-links a.active { color: var(--accent-dark); }
.nav-dropdown-menu {
    display: none;
    position: absolute; top: 100%; left: 50%;
    transform: translateX(-50%);
    background: var(--bg-white);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0.5rem 0;
    min-width: 200px;
    box-shadow: 0 8px 32px var(--shadow);
    z-index: 100;
  }
.nav-dropdown:hover .nav-dropdown-menu { display: block; }
.nav-dropdown-menu a {
    display: block; padding: 0.6rem 1.2rem;
    font-size: 0.78rem; letter-spacing: 0.06em;
    color: var(--text-mid); text-transform: uppercase;
    transition: background 0.15s, color 0.15s;
  }
.nav-dropdown-menu a:hover { background: var(--accent-xlight); color: var(--accent-dark); }
.btn-nav {
    background: var(--accent) !important;
    color: white !important;
    padding: 0.55rem 1.2rem !important;
    border-radius: 4px !important;
    font-size: 0.76rem !important;
    letter-spacing: 0.1em !important;
    transition: background 0.2s !important;
  }
.btn-nav:hover { background: var(--accent-dark) !important; }
/* HAMBURGER */
  .nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.nav-burger span { display: block; width: 24px; height: 2px; background: var(--text); border-radius: 2px; transition: 0.3s; }

/* ============================================================
   VICARI – gemeinsame Basis-Styles (Komponenten & Feinschliff)
   Wird von allen Seiten geladen und vom Browser gecacht.
   Seiten-spezifische Regeln stehen weiterhin inline in der
   jeweiligen HTML-Datei.
   ============================================================ */

/* ── Feinschliff: Motion, States, Details ── */
  :root { --ease-snap: cubic-bezier(0.23, 1, 0.32, 1); }

  /* Buttons: taktiles Press-Feedback */
  .btn-primary, .btn-secondary, .btn-nav, .btn-doctolib, .btn-ghost, .finder-tile {
    transition-property: transform, background-color, color, border-color, box-shadow;
    transition-duration: .18s;
    transition-timing-function: var(--ease-snap);
  }
  .btn-primary:active, .btn-secondary:active, .btn-nav:active, .btn-doctolib:active, .finder-tile:active { transform: scale(0.97); }

  /* Tastatur-Fokus sichtbar */
  a:focus-visible, button:focus-visible { outline: 2px solid var(--accent-dark); outline-offset: 2px; border-radius: 4px; }

  /* Dropdown: sanft statt hart */
  .nav-links .dropdown, .has-dropdown .dropdown, .nav-dropdown .nav-dropdown-menu {
    display: block; visibility: hidden; opacity: 0; transform: translateY(6px);
    transition: opacity .18s var(--ease-snap), transform .18s var(--ease-snap), visibility 0s linear .18s;
  }
  .has-dropdown:hover .dropdown, .nav-dropdown:hover .nav-dropdown-menu {
    visibility: visible; opacity: 1; transform: translateY(0); transition-delay: 0s;
  }
  @media (max-width: 768px) {
    .nav-links .dropdown, .has-dropdown .dropdown, .nav-dropdown .nav-dropdown-menu,
    .nav-links.open .dropdown, .nav-links.open .nav-dropdown-menu {
      visibility: visible; opacity: 1; transform: none;
    }
  }

  /* Hover-Lift nur fuer echte Pointer */
  @media (hover: none) {
    .card:hover { transform: none; box-shadow: 0 0 0 rgba(0,0,0,0); }
  }

  /* Reduzierte Bewegung respektieren */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  }

/* ══ FINAL MOBILE NAV OVERRIDE (höchste Priorität, ID-Selektor) ══ */
@media (max-width: 900px) {
  #navLinks { display: none !important; }
  #navLinks.open {
    display: flex !important; flex-direction: column !important;
    position: fixed !important; top: 108px !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: var(--bg, #F9F6F1) !important;
    overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; overscroll-behavior: contain !important;
    z-index: 999 !important; padding: 1.5rem !important; gap: .5rem !important; margin: 0 !important;
  }
  #navLinks.open > li { width: 100% !important; list-style: none !important; }
  #navLinks.open a, #navLinks.open button {
    font-size: 1.05rem !important; padding: 1rem !important; min-height: 46px !important;
    display: flex !important; align-items: center !important; width: 100% !important; box-sizing: border-box !important;
  }
  #navLinks .dropdown {
    position: static !important; display: none !important; box-shadow: none !important; border: none !important;
    background: var(--accent-xlight, #F4F7F2) !important; border-radius: 4px !important;
    padding-left: 1rem !important; margin: .25rem 0 !important; min-width: 0 !important;
  }
  #navLinks .has-dropdown.open .dropdown { display: block !important; }
  #navLinks .dropdown li a { font-size: .95rem !important; padding: .75rem 1rem !important; min-height: 42px !important; }
  .nav-burger { display: flex !important; }
}
@media (min-width: 901px) {
  #navLinks { display: flex !important; position: static !important; }
}
/* Safari-Bug: backdrop-filter auf nav erzeugt einen "containing block" fuer
   position:fixed-Kindelemente -> das mobile Menü wird faelschlich auf die
   70px-hohe Nav-Leiste beschraenkt statt auf den ganzen Bildschirm. Auf Mobil
   daher deaktivieren. */
@media (max-width: 900px) {
  nav { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: var(--bg, #F9F6F1) !important; }
}

.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:#fff;color:#111;padding:.75rem 1.25rem;border-radius:0 0 6px 0;font:500 .95rem/1 'Inter',sans-serif;}.skip-link:focus{left:0;}
