/*
Theme Name: Longevitycoaching-Haffner
Theme URI: https://longevitycoaching-haffner.de
Author: Dr. med. Christian Haffner & Kathrin Haffner
Description: Admin-editierbares Longevity Coaching Theme (Landingpage + Coaching-Seiten + Newsletter + AGB/Datenschutz/Impressum).
Version: 1.0.1
License: GPLv2 or later
Text Domain: longevitycoaching-haffner
*/
:root {
  --bg: #071019;
  --card: rgba(255,255,255,.06);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.75);
  --accent: #19c37d;
  --accent2: #4f9cff;
  --accent3: #ff4fd8;
  --border: rgba(255,255,255,.14);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:radial-gradient(1000px 600px at 15% 10%, rgba(79,156,255,.35), transparent 60%),
             radial-gradient(900px 600px at 75% 15%, rgba(255,79,216,.28), transparent 55%),
             radial-gradient(800px 600px at 55% 85%, rgba(25,195,125,.22), transparent 55%),
             var(--bg);
  color:var(--text);
}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(7,16,25,.72);border-bottom:1px solid var(--border)}
.header-inner{max-width:1100px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;gap:16px}
.brand{display:flex;flex-direction:column;line-height:1.05}
.brand strong{font-size:16px;letter-spacing:.2px}
.brand span{font-size:12px;color:var(--muted)}
.nav-wrap{margin-left:auto}
.nav-primary ul{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.nav-primary li{position:relative}
.nav-primary a{display:inline-block;padding:8px 10px;border-radius:10px;color:var(--text)}
.nav-primary a:hover{background:rgba(255,255,255,.08);text-decoration:none}
.nav-primary .menu-item-has-children>a::after{content:" ▾";opacity:.8}
.nav-primary .sub-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:240px;padding:8px;background:rgba(7,16,25,.92);border:1px solid var(--border);border-radius:12px}
.nav-primary li:hover>.sub-menu{display:block}
.nav-primary .sub-menu a{display:block;padding:9px 10px;border-radius:10px}
.container{max-width:1100px;margin:0 auto;padding:26px 18px 56px}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:center;padding:22px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04))}
.hero h1{margin:0 0 8px;font-size:34px}
.hero p{margin:0 0 14px;color:var(--muted);font-size:16px;line-height:1.5}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.badge{padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.05);font-size:12px}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(25,195,125,.18);color:var(--text);font-weight:650}
.button.secondary{background:rgba(79,156,255,.16)}
.button.pink{background:rgba(255,79,216,.14)}
.button:hover{filter:brightness(1.08);text-decoration:none}
.hero-photo{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}
.hero-photo img{display:block;width:100%;height:auto}
.grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{border:1px solid var(--border);border-radius:16px;padding:16px;background:rgba(255,255,255,.05)}
.card h3{margin:0 0 8px;font-size:18px}
.card p{margin:0;color:var(--muted);line-height:1.5}
.content{margin-top:20px;border:1px solid var(--border);border-radius:16px;padding:18px;background:rgba(255,255,255,.04)}
.content h1,.content h2,.content h3{margin-top:0}
.docx-table{width:100%;border-collapse:collapse;margin:14px 0}
.docx-table th,.docx-table td{border:1px solid rgba(255,255,255,.18);padding:8px 10px;vertical-align:top}
.newsletter-form{display:grid;gap:10px;max-width:520px}
.newsletter-form input[type="email"]{padding:12px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.18);color:var(--text)}
.newsletter-form label{font-size:13px;color:var(--muted)}
.notice{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(79,156,255,.12)}
.notice.error{background:rgba(255,80,80,.12)}
.notice.success{background:rgba(25,195,125,.14)}
.site-footer{border-top:1px solid var(--border);padding:18px 0 28px;background:rgba(7,16,25,.68)}
.footer-inner{max-width:1100px;margin:0 auto;padding:0 18px;color:var(--muted);font-size:13px;line-height:1.55}
.footer-inner strong{color:var(--text)}
@media (max-width:900px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr}}
