/* Wahlers Heilpraktiker — shared styles (extracted from index.html) */

:root{
  --paper:#F1EDE2;
  --paper-alt:#E7E0CC;
  --ink:#2B3327;
  --ink-soft:#5B6357;
  --moss:#5B6B4F;
  --moss-deep:#3F4A37;
  --ochre:#B8894A;
  --ochre-deep:#96703A;
  --line:#D6CCB2;
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--moss);text-decoration:none;}
a:hover{color:var(--moss-deep);text-decoration:underline;}
a:focus-visible, button:focus-visible{outline:2px solid var(--ochre-deep);outline-offset:3px;}
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem;}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .6em;color:var(--ink);}
p{margin:0 0 1em;max-width:65ch;}

header.site{padding:1.6rem 0;}
header.site .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.wordmark{font-family:var(--serif);font-size:1.25rem;color:var(--ink);}
.wordmark span{display:block;font-family:var(--sans);font-size:.72rem;color:var(--ink-soft);letter-spacing:.02em;}
nav.main ul{list-style:none;display:flex;gap:1.6rem;margin:0;padding:0;flex-wrap:wrap;}
nav.main a{color:var(--ink);font-size:.95rem;padding-bottom:2px;border-bottom:1px solid transparent;}
nav.main a:hover{border-bottom-color:var(--moss);text-decoration:none;}

.btn{display:inline-block;background:var(--ochre);color:var(--paper);padding:.85em 1.6em;border-radius:4px;font-family:var(--sans);font-weight:600;font-size:.95rem;border:none;cursor:pointer;}
.btn:hover{background:var(--ochre-deep);color:var(--paper);text-decoration:none;}
.btn.secondary{background:transparent;border:1.5px solid var(--moss);color:var(--moss);}
.btn.secondary:hover{background:var(--moss);color:var(--paper);}

section{padding:4.5rem 0;}
section.alt{background:var(--paper-alt);}
.section-head{max-width:620px;margin-bottom:2.5rem;}
.section-head p{color:var(--ink-soft);}

.hero{padding:3rem 0 5rem;}
.hero .container{display:flex;gap:3rem;align-items:center;flex-wrap:wrap;}
.hero-text{flex:1 1 420px;}
.hero-text h1{font-size:clamp(2rem,4vw,2.8rem);}
.hero-text p.lead{font-size:1.1rem;color:var(--ink-soft);}
.hero-visual{flex:1 1 320px;display:flex;flex-direction:column;gap:1rem;align-items:center;}
.photo-placeholder{width:100%;aspect-ratio:4/5;border:1.5px dashed var(--line);background:var(--paper-alt);display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;color:var(--ink-soft);font-size:.85rem;border-radius:4px;}
.sprig{width:70px;height:auto;color:var(--moss);}

.leistungen-list{list-style:none;margin:0;padding:0;}
.leistungen-list li{padding:1.6rem 0;border-top:1px solid var(--line);}
.leistungen-list li:last-child{border-bottom:1px solid var(--line);}
.leistungen-list h3{font-size:1.15rem;margin-bottom:.3em;}
.leistungen-list p{margin:0;color:var(--ink-soft);}

.about{display:flex;gap:3rem;align-items:flex-start;flex-wrap:wrap;}
.about .photo-placeholder{aspect-ratio:1/1;max-width:280px;}
.about-text{flex:1 1 380px;}

.kontakt-grid{display:flex;gap:3rem;flex-wrap:wrap;}
.kontakt-block{flex:1 1 260px;}
.kontakt-list{list-style:none;margin:0;padding:0;}
.kontakt-list li{padding:.5rem 0;}
.kontakt-list a{font-size:1.05rem;}

footer.site{padding:3rem 0 2.5rem;border-top:1px solid var(--line);margin-top:1rem;}
footer.site .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:var(--ink-soft);}
footer.site nav ul{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0;}
footer.site nav a{color:var(--ink-soft);}
footer.site nav a:hover{color:var(--ink);}

@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
@media(max-width:640px){.hero .container{flex-direction:column;}nav.main ul{gap:1rem;}}

/* Legal pages (Impressum / Datenschutz) */
.legal-content{padding:3rem 0 4.5rem;max-width:72ch;}
.legal-content h1{font-size:clamp(1.8rem,3.5vw,2.3rem);}
.legal-content h2{font-size:1.15rem;margin-top:2rem;}
.legal-content ul{margin:0 0 1em 1.2em;padding:0;}
.legal-content li{margin-bottom:.4em;}
