/* =============================================================
   Brandluckner Nesterl — gemeinsames Design
   Wird von allen Seiten geladen (Startseite, Buchung, Verwaltung,
   Impressum, Datenschutz, 404). Seitenspezifisches steht jeweils
   im <style>-Block der Seite.
   Schriften liegen lokal in assets/fonts (kein Google-Fonts-Abruf,
   DSGVO-freundlich). Lizenz: SIL Open Font License, siehe OFL-*.txt
   ============================================================= */

@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/source-serif-4-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;
  src:url(fonts/source-serif-4-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/source-sans-3-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;
  src:url(fonts/source-sans-3-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;
  src:url(fonts/source-sans-3-latin-700-normal.woff2) format('woff2');}

:root{
  --ink:#1b261e;          /* dunkles Tannengrün: Header, Footer, dunkle Flächen */
  --ink-2:#233128;
  --paper:#f7f3ea;        /* Grundfläche */
  --paper-2:#efe8d8;      /* abgesetzte Flächen */
  --white:#fffdf8;
  --line:#e1d8c3;         /* Linien auf hellem Grund */
  --text:#25302a;
  --muted:#5d665a;
  --moss:#77946b;
  --moss-deep:#4e6b47;
  --accent:#a8651f;       /* Holz/Bernstein: Haupt-Buttons */
  --accent-hover:#8f5418;
  --accent-soft:#e9c99c;  /* Akzent auf dunklem Grund */
  --fog:#c9d0c4;
  --red:#b2513b;
  --radius:4px;
  --radius-lg:6px;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Source Sans 3', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --mono:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --ease:cubic-bezier(.2,.7,.3,1);

  /* Alte Variablennamen weiterhin gültig (werden in Seiten noch verwendet) */
  --ember:var(--accent);
  --ember-soft:var(--accent-soft);
  --text-dark:var(--text);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--sans);
  font-size:17px;
  background:var(--paper);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent-soft);color:var(--ink);}
a{color:inherit;}
img{display:block;max-width:100%;}
button,input,select,textarea{font-family:inherit;}

h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.005em;line-height:1.2;color:inherit;}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;
}

/* ---------- kleine Überzeile ---------- */
.eyebrow{
  font-family:var(--sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--moss-deep);
  margin-bottom:12px;
}
.dark-section .eyebrow, .dark .eyebrow{color:var(--accent-soft);}

/* ---------- Header (hell, damit beide Logos gut lesbar sind) ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:8px 5%;
  background:var(--white);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);
}
.site-header.scrolled{box-shadow:0 2px 12px rgba(27,38,30,.08);}

.brand-group{display:flex;align-items:center;gap:16px;min-width:0;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;min-width:0;}
.brand-logo{height:58px;width:auto;flex-shrink:0;}      /* Nesterl-Logo, transparent */
.brand-sep{width:1px;height:36px;background:var(--line);flex-shrink:0;}
.partner-logo{display:block;flex-shrink:0;}
.partner-logo img{height:34px;width:auto;}               /* Naturpark Almenland */
.brand-text{display:flex;flex-direction:column;}
.brand-name{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);}
.brand-alt{font-size:13px;color:var(--muted);margin-top:1px;}

.site-nav{display:flex;align-items:center;gap:28px;}
.site-nav a{
  font-size:15px;font-weight:600;text-decoration:none;color:var(--text);
  padding:6px 0;border-bottom:1px solid transparent;transition:color .2s, border-color .2s;
}
.site-nav a:hover{color:var(--accent);border-bottom-color:var(--accent-soft);}
.site-nav .nav-cta, .site-nav .nav-current{
  color:#fff;background:var(--accent);border:0;
  padding:9px 16px;border-radius:var(--radius);
}
.site-nav .nav-cta:hover{background:var(--accent-hover);color:#fff;border:0;}
.site-nav .nav-current{cursor:default;font-size:15px;font-weight:600;}
.site-nav a, .site-nav .nav-current{white-space:nowrap;}
.lang-toggle{
  font-size:13px;font-weight:600;letter-spacing:.04em;
  background:none;color:var(--text);
  border:1px solid #cfc5ad;border-radius:var(--radius);
  padding:6px 10px;cursor:pointer;transition:.2s;
}
.lang-toggle:hover{border-color:var(--text);}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);font-size:26px;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;
  border-radius:var(--radius);
  border:1px solid transparent;
  font-size:15.5px;font-weight:600;line-height:1.2;
  text-decoration:none;cursor:pointer;
  transition:background .2s, border-color .2s, color .2s;
}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.btn-primary, .btn-ember{background:var(--accent);color:#fff;}
.btn-primary:hover:not(:disabled), .btn-ember:hover:not(:disabled){background:var(--accent-hover);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover:not(:disabled){background:var(--moss-deep);}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-outline{background:transparent;border-color:#cfc5ad;color:var(--text);}
.btn-outline:hover{border-color:var(--text);}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--ink);color:var(--fog);
  padding:28px 5%;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 24px;
  font-size:14px;
}
.site-footer a{color:var(--fog);text-decoration:underline;text-underline-offset:2px;}
.site-footer a:hover{color:#fff;}

/* ---------- Instagram / WhatsApp ---------- */
.instagram-fab, .whatsapp-fab{
  position:fixed;right:20px;z-index:900;
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  text-decoration:none;transition:filter .2s;
}
.instagram-fab:hover, .whatsapp-fab:hover{filter:brightness(1.1);}
.whatsapp-fab{bottom:20px;background:#25D366;}
.instagram-fab{bottom:80px;background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}
.whatsapp-fab svg{width:26px;height:26px;}
.instagram-fab svg{width:24px;height:24px;}
@media (max-width:600px){
  .instagram-fab, .whatsapp-fab{width:46px;height:46px;right:14px;}
  .whatsapp-fab{bottom:14px;}
  .instagram-fab{bottom:68px;}
}

/* ---------- dezentes Einblenden ---------- */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .5s ease, transform .5s ease;}
.reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Mobil ---------- */
@media (max-width:900px){
  .site-header{padding:6px 5%;}
  .brand-logo{height:48px;}
  .partner-logo img{height:28px;}
  .brand-group{gap:12px;}
  .brand-sep{height:30px;}
  .brand-alt{display:none;}
}
@media (max-width:420px){
  .brand-name{font-size:16px;}
  .brand{gap:10px;}
}
