:root{
  /* EBIOI Farbwelt — Ebis eigene Regeln:
     Ivory = Hauptfläche · Soft Lilac = Signature-Ton, ganz zart einsetzen
     Dusty Mauve = Tiefe, für ausgewählte Überschriften & feine Details
     Champagne = subtiler Luxus, nur als hauchfeiner Akzent · Deep Cocoa = Text statt Schwarz */
  --cream:#EBE1D4;         /* Perlmutt / Ivory, vertieft — Hauptfläche, spürbar wärmer/dunkler */
  --cream-2:#D7CBC7;       /* Soft Pearl, vertieft — Nebenflächen */
  --blush:#E0D4C5;         /* warmes, vertieftes Ivory-Lilac für Verläufe */
  --ink:#3C3435;           /* Deep Cocoa — Fließtext & Headlines */
  --muted:#6C5E68;         /* Cocoa × Dusty Mauve — weicher Lesetext */
  --gold:#8E733E;          /* Champagne, vertieft — nur als hauchfeiner Akzent (Linien, Mini-Icons) */
  --gold-light:#CDB88C;    /* Champagne, vertieft — Glow/Deko, nie als Textfarbe */
  --mauve-detail:#7D687D;  /* Dusty Mauve, vertieft — feine Details: Labels, Eyebrows, Hover */
  --mauve-heading:#8F798F; /* Dusty Mauve, vertieft — ausgewählte, große Überschriften/Logo */
  --mauve:#82639C;         /* Soft Lilac, vertieft — Signature-Ton für Buttons, klein eingesetzt */
  --mauve-dark:#684F7D;    /* Soft Lilac, weiter vertieft — Hover-Zustand */
  --mauve-deep:#5B456D;    /* Soft Lilac, tiefster Akzent */
  --lilac-soft:#C0B0CD;    /* Soft Lilac, vertieft — zarte, kleine Flächen/Badges */
  --line:#D7CBC7;          /* Soft Pearl, vertieft */
  --footer-bg:#3C3435;     /* Deep Cocoa */
  --cta-bar-bg:#C0B0CD;    /* Soft Lilac, vertieft — zart, nicht flächig */
  --script-color:#75598D;  /* Soft Lilac, vertieft — Schreibschrift-Akzente */
  --font-mono:'JetBrains Mono',monospace;
  --btn-hover:#7D687D;     /* Dusty Mauve, vertieft — exakter Hover-Zustand lt. Ebi (Original #9B879B zu hell für weißen Text) */
  --gold-deep:#6E5527;     /* sattes, dunkles Gold — für Preis-Badges */
  --gold-mid:#96763C;      /* Zwischenton Gold — Icons, Rahmen */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',sans-serif;
  color:var(--ink);
  /* Perlmutt bleibt die Bühne: fast reines Ivory, nur ein ganz leichter, wandernder Schimmer */
  background:
    radial-gradient(ellipse 1100px 800px at 10% -15%, rgba(255,255,255,.42), transparent 60%),
    radial-gradient(ellipse 900px 700px at 92% 6%, rgba(130,99,156,.16), transparent 55%),
    radial-gradient(ellipse 800px 600px at 50% 108%, rgba(142,115,62,.14), transparent 55%),
    var(--cream);
  background-attachment:fixed;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
/* feine Papier-Textur statt flacher Farbfläche — nimmt der Seite das "digitale" Glattbügeln */
body::before{
  content:"";
  position:fixed;inset:0;
  z-index:60;
  pointer-events:none;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:-.01em;}
.script{font-family:'Marck Script',cursive;font-weight:400;color:var(--script-color);}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
ul{list-style:none;}

.wrap{max-width:1280px;margin:0 auto;padding:0 48px;}

/* ---------- Buttons & small bits ---------- */
/* Buttons — exakt nach Ebis Vorgabe: Soft Lilac als Grundfarbe, Dusty Mauve beim Hover */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--lilac-soft);color:var(--ink);border:none;
  padding:15px 32px;border-radius:999px;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  box-shadow:0 14px 28px -18px rgba(104,79,125,.45);
  transition:background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
  cursor:pointer;
}
.btn:hover{background:var(--btn-hover);color:#fff;transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(104,79,125,.5);}
.btn-outline{
  background:transparent;border:1px solid var(--mauve-heading);color:var(--ink);box-shadow:none;
}
.btn-outline:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:#fff;box-shadow:0 14px 28px -18px rgba(104,79,125,.45);}
.btn-sub{
  display:block;text-align:center;margin-top:10px;
  font-size:.68rem;letter-spacing:.1em;color:var(--muted);
  text-transform:uppercase;
}
.cta-block{text-align:center;}

.eyebrow{
  font-family:var(--font-mono);
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--mauve-detail);font-weight:500;
}
.kicker{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-mono);
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);font-weight:500;margin-bottom:18px;
}
.kicker svg{width:14px;height:14px;color:var(--gold);}
.divider{
  display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0;
}
.divider::before,.divider::after{content:"";width:34px;height:1px;background:var(--gold-light);}
.divider svg{width:8px;height:8px;fill:var(--gold);}

/* ---------- HEADER ---------- */
header{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 48px;
  background:rgba(235,225,212,.72);
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid rgba(130,99,156,.28);
  transition:padding .3s ease, box-shadow .3s ease, background .3s ease;
}
header.is-scrolled{
  padding-top:16px;padding-bottom:16px;
  background:rgba(235,225,212,.9);
  box-shadow:0 20px 40px -28px rgba(60,40,50,.4);
}
.logo-sm{display:flex;flex-direction:column;line-height:1.1;transition:opacity .25s ease;}
.logo-sm:hover{opacity:.75;}
.logo-sm .word{
  font-family:'Cormorant Garamond',serif;font-size:1.5rem;letter-spacing:.22em;
  color:var(--mauve-heading);font-weight:600;
}
.logo-sm .sub{font-family:var(--font-mono);font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:2px;}

nav.primary-nav{display:flex;align-items:center;gap:38px;}
nav.primary-nav a{
  position:relative;
  font-family:var(--font-mono);
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  padding:10px 0 4px;transition:color .25s ease;
}
nav.primary-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--mauve-detail);
  transform:scaleX(0);transform-origin:right;
  transition:transform .35s ease;
}
nav.primary-nav a:hover{color:var(--mauve-detail);}
nav.primary-nav a:hover::after,
nav.primary-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left;}
nav.primary-nav a[aria-current="page"]{color:var(--mauve-detail);}

.header-cta{text-align:center;}
.header-cta .btn{padding:12px 26px;font-size:.62rem;min-height:44px;}
.header-cta .btn-sub{font-size:.56rem;margin-top:6px;}

.menu-icon{display:none;flex-direction:column;gap:6px;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:6px;min-width:44px;min-height:44px;}
.menu-icon span{width:24px;height:1.5px;background:var(--ink);display:block;transition:transform .3s ease,opacity .3s ease;}
.menu-icon.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.menu-icon.is-open span:nth-child(2){opacity:0;}
.menu-icon.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

.nav-overlay{
  position:fixed;inset:0;z-index:50;background:var(--cream);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  transform:translateX(-100%);transition:transform .45s ease;
}
.nav-overlay.is-open{transform:translateX(0);}
.nav-overlay a{font-family:'Cormorant Garamond',serif;font-size:1.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.nav-overlay a:hover{color:var(--mauve-detail);}
.nav-close{
  position:absolute;top:20px;right:20px;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;color:var(--ink);cursor:pointer;
}
.nav-close svg{width:20px;height:20px;}

/* ---------- SUBPAGE HERO ---------- */
.page-hero{
  padding:110px 48px 80px;text-align:center;
  background:radial-gradient(ellipse 800px 450px at 50% 0%, #fff 0%, var(--cream-2) 60%);
}
.page-hero h1{font-size:clamp(2.8rem,6vw,4.6rem);letter-spacing:-.015em;color:var(--ink);}
.page-hero .lead{max-width:600px;margin:22px auto 0;color:var(--muted);font-size:1.3rem;font-family:'Cormorant Garamond',serif;}

.content-section{padding:20px 48px 100px;}
.content-narrow{max-width:760px;margin:0 auto;}
.content-narrow p{color:var(--muted);font-size:1rem;margin-bottom:20px;}
.content-narrow p.script{color:var(--mauve);font-size:1.25rem;text-align:center;margin:34px 0;}
.content-narrow .signature{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--ink);margin-top:34px;}

.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:900px;margin:50px auto 0;text-align:center;}
.info-grid .item h3{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;color:var(--mauve-detail);}
.info-grid .item p{color:var(--muted);font-size:.9rem;}

/* ---------- FOOTER ---------- */
footer.site-footer{
  position:relative;
  background:linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  border-top:1px solid rgba(192,176,205,.4);
  padding:80px 48px 0;
}
.footer-top{
  display:grid;grid-template-columns:repeat(12,1fr);gap:40px;
  align-items:start;max-width:1280px;margin:0 auto;padding-bottom:44px;
}
.footer-logo{grid-column:span 5;}
.footer-contact{grid-column:span 5;display:flex;gap:34px;flex-wrap:wrap;}
.footer-social{grid-column:span 2;display:flex;gap:12px;justify-content:flex-end;}
.footer-logo .word{font-family:'Cormorant Garamond',serif;font-size:1.7rem;letter-spacing:.2em;color:var(--mauve-heading);font-weight:600;}
.footer-logo .sub{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin:4px 0 14px;}
.footer-logo .script{color:var(--mauve);font-size:1.05rem;max-width:280px;}
.footer-contact .col{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:var(--ink);}
.footer-contact svg{width:16px;height:16px;color:var(--mauve-detail);margin-top:2px;}
.footer-social a{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--mauve);
  display:flex;align-items:center;justify-content:center;transition:background .25s ease;
}
.footer-social a:hover{background:var(--mauve);}
.footer-social svg{width:15px;height:15px;color:var(--mauve-dark);}
.footer-social a:hover svg{color:#fff;}

.footer-bottom{
  background:var(--footer-bg);color:var(--cream);
  padding:16px 24px;display:flex;flex-wrap:wrap;gap:10px 24px;
  align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.02em;
}
.footer-bottom .legal-links{display:flex;gap:18px;}
.footer-bottom a:hover{text-decoration:underline;}

/* floating back-to-top control, injected by script.js on every page */
.back-to-top{
  position:fixed;right:22px;bottom:22px;z-index:30;
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1.5px solid rgba(192,176,205,.9);
  display:flex;align-items:center;justify-content:center;
  color:var(--mauve-dark);cursor:pointer;
  box-shadow:0 10px 26px -8px rgba(60,40,50,.32),0 2px 8px -2px rgba(60,40,50,.18);
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .3s ease;
}
.back-to-top svg{width:16px;height:16px;}
.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.back-to-top:hover{background:var(--lilac-soft);}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- ACCESSIBILITY: focus & motion ---------- */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.menu-icon:focus-visible,
.nav-close:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--mauve-dark);
  outline-offset:3px;
  border-radius:4px;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{opacity:1 !important;transform:none !important;}
}

/* bottom warm CTA bar — Lilac ganz zart eingesetzt, nicht flächig — auf Startseite & Angebote */
.cta-bar-warm{
  position:relative;overflow:hidden;
  background:linear-gradient(115deg, var(--cream) 0%, var(--cream-2) 100%);
  border-top:1px solid var(--lilac-soft);
  border-bottom:1px solid var(--lilac-soft);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  padding:30px 60px;
}
.cta-bar-warm::before{
  content:"";position:absolute;top:50%;right:-60px;transform:translateY(-50%);
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(192,176,205,.55) 0%, transparent 70%);
  pointer-events:none;
}
.cta-bar-warm .left{display:flex;align-items:center;gap:16px;position:relative;}
.cta-bar-warm .left .cal{
  width:44px;height:44px;border-radius:50%;background:rgba(192,176,205,.45);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.cta-bar-warm .left .cal svg{width:20px;height:20px;color:var(--mauve-dark);}
.cta-bar-warm .left p{font-size:.9rem;color:var(--ink);line-height:1.4;}
.cta-bar-warm .left p strong{display:block;font-weight:600;}
.cta-bar-warm .btn{position:relative;}

/* ---------- RESPONSIVE (gemeinsam für alle Seiten) ---------- */
@media (max-width:980px){
  nav.primary-nav,.header-cta{display:none;}
  .menu-icon{display:flex;}
  header{padding:22px 24px;}
  .wrap{padding:0 24px;}
  .info-grid{grid-template-columns:1fr;}
  .footer-bottom{justify-content:center;text-align:center;}
  .footer-top{grid-template-columns:1fr;gap:32px;}
  .footer-logo,.footer-contact,.footer-social{grid-column:1 / -1;}
  .footer-social{justify-content:flex-start;}
  .back-to-top{right:16px;bottom:16px;width:44px;height:44px;}
  .cta-bar-warm{padding:26px 24px;flex-direction:column;text-align:center;}
  .cta-bar-warm .left{flex-direction:column;text-align:center;}
}
