/* ==========================================================================
   Steakhouse Well Done – Custom Styles (HELLES Design)
   Ergänzt Tailwind (CDN). Warmes, helles Steakhouse-Ambiente:
   Creme-/Sandtöne, dunkler Text, Rostrot & Gold als Akzente.
   Die Farb-Token (cream = Text, steak-950/900/800 = helle Flächen) werden in
   der tailwind.config jeder Seite gesetzt – siehe <head> der HTML-Dateien.
   ========================================================================== */

:root {
  --paper:   #f7f1e7;  /* Seiten-Hintergrund (warmes Creme) */
  --paper2:  #efe6d6;  /* leicht dunklere Fläche */
  --card:    #ffffff;  /* Karten */
  --line:    #e4d8c4;  /* Rahmen */
  --ink:     #2c2018;  /* Haupttext (dunkles Espressobraun) */
  --ink-mute:#6f6152;  /* Sekundärtext */
  --ember:   #b23a1e;  /* Akzent Rostrot */
  --gold:    #9a6b12;  /* Akzent Gold (dunkel genug für hellen Grund) */
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* --- Helle „Holz“-/Papier-Textur (dezent) -------------------------------- */
.texture-wood {
  background-color: var(--paper);
  background-image:
    repeating-linear-gradient(90deg,
      rgba(120,85,55,0.045) 0px, rgba(120,85,55,0.045) 2px,
      rgba(0,0,0,0) 2px, rgba(0,0,0,0) 6px),
    linear-gradient(180deg, #f9f4ea, var(--paper));
}
.texture-leather {
  background-color: var(--paper2);
  background-image:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,0.6), transparent 45%),
    radial-gradient(circle at 85% 0%, rgba(212,164,55,0.10), transparent 50%),
    linear-gradient(160deg, #f4ecdd, var(--paper2));
}
/* warmer, heller Akzentschimmer */
.ember-glow {
  background:
    radial-gradient(ellipse at 50% 120%, rgba(178,58,30,0.10), transparent 60%),
    radial-gradient(ellipse at 50% -20%, rgba(212,164,55,0.10), transparent 55%);
}
.hr-ember {
  height: 3px; border: 0;
  background: linear-gradient(90deg, transparent, var(--ember), var(--gold), var(--ember), transparent);
  opacity: 0.85;
}

/* --- Buttons -------------------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; gap: .55rem;
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase; letter-spacing: .06em; font-weight: 600;
  padding: .85rem 1.6rem; border-radius: .5rem;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  will-change: transform;
}
.btn-primary {
  background: var(--ember); color: #fff;
  box-shadow: 0 8px 20px -8px rgba(178,58,30,0.55);
}
.btn-primary:hover { background: #c9421f; transform: translateY(-2px); box-shadow: 0 12px 26px -8px rgba(178,58,30,0.6); }
.btn-outline { border: 2px solid var(--gold); color: var(--gold); background: transparent; }
.btn-outline:hover { background: var(--gold); color: #fff; transform: translateY(-2px); }

/* --- Sticky Header -------------------------------------------------------- */
#siteHeader { transition: background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
#siteHeader.scrolled {
  background-color: rgba(247,241,231,0.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 20px -10px rgba(70,50,30,0.45);
}

/* --- Navigation ----------------------------------------------------------- */
.nav-link {
  position: relative;
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase; letter-spacing: .05em; font-weight: 500;
}
.nav-link::after {
  content: ''; position: absolute; left: 0; bottom: -6px; height: 2px; width: 0;
  background: var(--gold); transition: width .25s ease;
}
.nav-link:hover::after, .nav-link[aria-current="page"]::after { width: 100%; }
.nav-link[aria-current="page"] { color: var(--gold); }

#mobileMenu { transition: opacity .25s ease, transform .25s ease; }
#mobileMenu.hidden-menu { opacity: 0; transform: translateY(-8px); pointer-events: none; }

/* --- Scroll-Reveal (nur mit JS aktiv) ------------------------------------- */
html.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
html.js .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none; }
  .btn { transition: none; }
}

/* --- Speisekarte: gepunktete Preislinie ----------------------------------- */
.menu-item { display: flex; align-items: baseline; gap: .75rem; }
.menu-item .dots {
  flex: 1 1 auto; border-bottom: 1px dotted rgba(44,32,24,0.28);
  transform: translateY(-4px);
}
.menu-price { white-space: nowrap; font-family: 'Oswald', sans-serif; font-weight: 600; color: var(--gold); }

/* Fokus-Sichtbarkeit (a11y) */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 3px;
}
