/* ============================================================
   Fußpflege Uplengen - Corporate Design "Bordeaux Élégance"
   Basis: Flyer-Branding (Creme / Bordeaux / Gold)
   Doku: siehe Obsidian-Notiz "04 Corporate Design"
   ============================================================ */

:root{
  /* Farben (CD) */
  --creme:      #F5EFE4;  /* Grundfläche */
  --paper:      #EAE0CE;  /* Sektions-Wechsel, Papier-Ton */
  --card:       #FBF7EE;  /* Karten */
  --bordeaux:   #6E1E2B;  /* Primärfarbe, CTAs */
  --wine:       #4A121C;  /* Headlines, dunkle Flächen */
  --wine-deep:  #380E16;  /* Footer */
  --gold:       #B8935A;  /* Akzente, Linien */
  --gold-light: #D9C08F;  /* helle Gold-Akzente */
  --text:       #3A2528;  /* Fließtext */
  --muted:      #6B5A50;  /* Nebentexte */

  /* Typografie (CD) */
  --font-head:  'Cormorant Garamond', Georgia, serif;
  --font-script:'Great Vibes', cursive;
  --font-body:  'Source Sans 3', 'Segoe UI', Arial, sans-serif;
}

/* --- Dark Mode: Overrides über data-theme auf <html> --- */
[data-theme="dark"]{
  --creme:#1F1014; --paper:#291419; --card:#2E181E;
  --text:#EDE2D6; --muted:#C2ACA2;
}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] .brand b,[data-theme="dark"] .trust-item b{color:#EBD8BC}
[data-theme="dark"] .script,[data-theme="dark"] .hero h1{color:#E2A9B5}
[data-theme="dark"] .hero{background:
  radial-gradient(ellipse at 80% 15%, rgba(184,147,90,.14), transparent 55%),
  radial-gradient(ellipse at 12% 90%, rgba(110,30,43,.25), transparent 50%),
  linear-gradient(160deg,#251218 0%,#1F1014 100%)}
[data-theme="dark"] .nav-links a{color:var(--text)}
[data-theme="dark"] .nav-links a:hover{background:var(--card)}
[data-theme="dark"] .nav-links a.nav-call{color:#fff}
[data-theme="dark"] .badge{background:rgba(255,255,255,.06)}
[data-theme="dark"] .sec-alt{background:linear-gradient(180deg,#291419,#241117)}
[data-theme="dark"] .price-row b,[data-theme="dark"] .product .price{color:#E2A9B5}
[data-theme="dark"] .product .ph{background:linear-gradient(160deg,#291419,#241117)}
[data-theme="dark"] .social-btn{color:var(--text)}
[data-theme="dark"] .btn-gold{color:#EBD8BC}
[data-theme="dark"] mark.todo{background:#6E5300;color:#FFE9A8}
[data-theme="dark"] .gallery img{opacity:.92}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  font-size:18px; line-height:1.65;
  color:var(--text); background:var(--creme);
  transition:background .25s, color .25s;
}
h1,h2,h3{font-family:var(--font-head);color:var(--wine);font-weight:600;line-height:1.2}
.script{font-family:var(--font-script);color:var(--bordeaux);font-weight:400}
img{max-width:100%;display:block}
a{color:var(--bordeaux)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}

/* --- TODO-Markierungen (vor Livegang entfernen) --- */
mark.todo{background:#FFE9A8;color:#6b4d00;padding:0 4px;border-radius:3px}

/* ============ Header ============ */
header.site{
  background:var(--creme);border-bottom:1px solid var(--gold-light);
  position:sticky;top:0;z-index:50;
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 20px;max-width:1100px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:40px;height:40px}
.brand b{font-family:var(--font-head);font-weight:700;font-size:1.25rem;color:var(--wine);letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav-links a{color:var(--wine);text-decoration:none;font-weight:600;font-size:.98rem;padding:8px 10px;border-radius:6px}
.nav-links a:hover{background:var(--paper)}
.lang-switch{border:1px solid var(--gold);border-radius:20px;padding:5px 13px;font-size:.9rem;
  text-decoration:none;color:var(--wine);white-space:nowrap}
.lang-switch b{color:var(--bordeaux)}
.nav-call{background:var(--bordeaux);color:#fff !important;border-radius:22px;padding:9px 16px !important;white-space:nowrap}
.nav-call:hover{background:var(--wine) !important}
.theme-toggle,.nav-burger{background:transparent;border:1px solid var(--gold);color:var(--wine);
  border-radius:50%;width:38px;height:38px;font-size:1.05rem;cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-body)}
.theme-toggle:hover,.nav-burger:hover{background:rgba(184,147,90,.15)}
[data-theme="dark"] .theme-toggle,[data-theme="dark"] .nav-burger{color:#EBD8BC}
.nav-burger{display:none}

/* ============ Hero ============ */
.hero{
  background:
    radial-gradient(ellipse at 80% 15%, rgba(217,192,143,.4), transparent 55%),
    radial-gradient(ellipse at 12% 90%, rgba(110,30,43,.09), transparent 50%),
    linear-gradient(160deg,#F8F3E9 0%,var(--paper) 100%);
  text-align:center;padding:88px 20px 66px;position:relative;overflow:hidden;
}
.hero::before{content:"";position:absolute;inset:14px;border:1px solid var(--gold-light);
  border-radius:4px;pointer-events:none}
.hero .overline{font-size:1.05rem;letter-spacing:.35em;text-transform:uppercase}
.hero h1{font-size:clamp(2.6rem,7vw,4.4rem);letter-spacing:.06em;margin:6px 0 2px;color:var(--bordeaux)}
.hero .sub{font-size:clamp(1.6rem,3.5vw,2.15rem)}
.hero .loc{margin-top:16px;font-size:1.05rem}
.badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.badge{background:rgba(255,255,255,.75);border:1px solid var(--gold-light);border-radius:20px;
  padding:6px 15px;font-size:.92rem;font-weight:600;color:var(--muted)}
.badge em{font-style:normal;color:var(--gold)}
.cta-row{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ Buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border-radius:40px;font-weight:700;font-size:1.1rem;
  text-decoration:none;min-height:52px;border:0;cursor:pointer;font-family:var(--font-body)}
.btn-primary{background:var(--bordeaux);color:#fff;box-shadow:0 6px 18px rgba(110,30,43,.28)}
.btn-primary:hover{background:var(--wine)}
.btn-gold{background:transparent;border:2px solid var(--gold);color:var(--wine)}
.btn-gold:hover{background:rgba(184,147,90,.12)}
.btn-small{padding:10px 20px;font-size:.98rem;min-height:44px}

/* ============ Sektionen ============ */
section{padding:70px 0}
.sec-title{text-align:center;font-size:2.4rem;margin-bottom:6px}
.sec-script{text-align:center;font-size:1.9rem;margin-bottom:38px}
.sec-alt{background:linear-gradient(180deg,var(--paper),#F1E8D6)}
.divider{display:flex;align-items:center;gap:12px;justify-content:center;padding:6px 0}
.divider::before,.divider::after{content:"";height:1px;width:70px;background:var(--gold)}
.divider span{color:var(--gold);font-size:1.15rem}

/* Leistungen */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--gold-light);border-radius:6px;padding:28px}
.card .ic{width:54px;height:54px;border-radius:50%;background:var(--bordeaux);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px}
.card h3{font-size:1.45rem;margin-bottom:8px}
.card p{font-size:1rem}

/* Über mich */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.portrait{background:var(--card);border:1px solid var(--gold-light);border-radius:50%;
  width:260px;height:260px;margin:0 auto;display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--muted);font-size:.95rem;padding:20px;
  box-shadow:0 10px 26px rgba(74,18,28,.12)}
.about-grid h2{font-size:2.2rem;margin-bottom:12px}
.about-grid p{margin-bottom:12px}
.pl-note{background:var(--card);border-left:3px solid var(--gold);padding:12px 16px;border-radius:0 6px 6px 0}

/* Praxis-Galerie */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.gallery figure{background:var(--card);border:1px solid var(--gold-light);border-radius:6px;overflow:hidden}
.gallery img{width:100%;height:340px;object-fit:cover}
.gallery figcaption{padding:12px 16px;font-size:.95rem;color:var(--muted);text-align:center}
.trust-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:36px}
.trust-item{text-align:center}
.trust-item .ic{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;
  border:1.5px solid var(--gold);color:var(--bordeaux);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.trust-item b{display:block;font-family:var(--font-head);font-size:1.25rem;color:var(--wine);margin-bottom:4px}
.trust-item p{font-size:.95rem;color:var(--muted)}

/* Preise */
.price-table{max-width:640px;margin:0 auto;background:var(--card);
  border:1px solid var(--gold-light);border-radius:6px;padding:36px}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:13px 0;border-bottom:1px dashed var(--gold-light)}
.price-row:last-child{border-bottom:none}
.price-row b{font-size:1.35rem;color:var(--bordeaux);white-space:nowrap}
.hint{text-align:center;font-size:.95rem;margin-top:14px;color:var(--muted)}

/* Produkte (Schaufenster) */
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:18px}
.product{background:var(--card);border:1px solid var(--gold-light);border-radius:6px;
  padding:20px;text-align:center;display:flex;flex-direction:column;gap:8px}
.product .ph{height:150px;border-radius:6px;background:
  linear-gradient(160deg,#F1E8D6,var(--paper));border:1px dashed var(--gold-light);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem;padding:10px}
.product h3{font-size:1.3rem}
.product .desc{font-size:.95rem;color:var(--muted);flex-grow:1}
.product .price{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--bordeaux)}
.shop-note{max-width:640px;margin:34px auto 0;text-align:center;background:var(--card);
  border:1px solid var(--gold-light);border-radius:6px;padding:18px 22px}

/* Social */
.social-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.social-buttons{display:flex;flex-direction:column;gap:14px}
.social-btn{display:flex;align-items:center;gap:14px;background:var(--card);
  border:1px solid var(--gold-light);border-radius:6px;padding:16px 20px;
  text-decoration:none;color:var(--wine);font-weight:600;font-size:1.05rem}
.social-btn:hover{border-color:var(--gold)}
.social-btn .ic{width:44px;height:44px;border-radius:50%;background:var(--bordeaux);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}
.embed-consent{background:var(--card);border:1px dashed var(--gold);border-radius:6px;
  padding:34px 24px;text-align:center;color:var(--muted)}
.embed-consent p{margin-bottom:16px;font-size:.98rem}
.embed-holder iframe{width:100%;border:0;border-radius:6px;min-height:480px}

/* Kontakt */
.contact{background:var(--wine);color:var(--creme)}
.contact .sec-title{color:var(--gold-light)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:30px}
.contact h3{color:var(--gold-light);font-size:1.3rem;margin-bottom:6px}
.phone-big{font-family:var(--font-head);font-size:clamp(1.9rem,5vw,2.7rem);font-weight:700;
  color:#fff;text-decoration:none;letter-spacing:.03em}
.contact-meta{display:grid;gap:18px;margin-top:20px}
.contact .btn-gold{border-color:var(--gold-light);color:var(--creme)}
.map-consent{background:rgba(255,255,255,.07);border:1px dashed var(--gold);border-radius:6px;
  padding:40px 20px;text-align:center;color:var(--gold-light)}
.map-consent p{margin-bottom:16px;font-size:.95rem}
.map-holder iframe{width:100%;height:360px;border:0;border-radius:6px}
.map-canvas{width:100%;height:360px;border-radius:6px;z-index:1}

/* Footer */
footer.site{background:var(--wine-deep);color:#C9B3B8;padding:28px 0;text-align:center;font-size:.92rem}
footer.site .script{color:var(--gold-light);font-size:1.5rem;display:block;margin-bottom:10px}
footer.site a{color:var(--gold-light);text-decoration:none;margin:0 10px}
footer.site a:hover{text-decoration:underline}

/* Sticky Call-Leiste (mobil) */
.sticky-call{display:none}

/* Rechtsseiten */
.legal{max-width:760px;margin:0 auto;padding:60px 20px}
.legal h1{font-size:2.4rem;margin-bottom:24px}
.legal h2{font-size:1.5rem;margin:30px 0 10px}
.legal p,.legal li{margin-bottom:10px}
.legal ul{padding-left:22px}
.back-link{display:inline-block;margin-bottom:30px;text-decoration:none;font-weight:600}

/* ============ Responsive ============ */
@media(max-width:860px){
  .about-grid,.social-grid,.contact-grid{grid-template-columns:1fr}
  .portrait{width:220px;height:220px}
}
@media(max-width:720px){
  /* Burger-Menü */
  .nav{position:relative}
  .nav-burger{display:flex}
  .nav-links a:not(.nav-call){display:none}
  .nav.open .nav-links{position:absolute;top:100%;left:0;right:0;z-index:70;
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    background:var(--creme);border-bottom:1px solid var(--gold-light);
    box-shadow:0 10px 24px rgba(0,0,0,.14);padding:8px 0}
  .nav.open .nav-links a{display:block;padding:14px 24px;border-radius:0;font-size:1.1rem}
  .nav.open .nav-links a.nav-call{margin:10px 20px;border-radius:22px;text-align:center}

  /* Kompaktere Abstände */
  body{padding-bottom:64px}
  section{padding:46px 0}
  .hero{padding:60px 16px 46px}
  .hero .overline{font-size:.92rem;letter-spacing:.28em}
  .sec-title{font-size:1.9rem}
  .sec-script{font-size:1.5rem;margin-bottom:26px}
  .cards{gap:16px}
  .card{padding:22px}
  .price-table{padding:24px 18px}
  .price-row b{font-size:1.2rem}
  .gallery img{height:260px}
  .portrait{width:185px;height:185px}
  .map-canvas{height:300px}
  .cta-row .btn{width:100%;max-width:340px}

  .sticky-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;
    background:var(--bordeaux);color:#fff;justify-content:center;align-items:center;gap:10px;
    padding:15px;font-weight:700;font-size:1.15rem;text-decoration:none;
    box-shadow:0 -4px 14px rgba(0,0,0,.18)}
}
