/* ============================================================
 * servermacher.de · Site-CSS · CD V3.4 (Tannenwald-Refresh)
 * Basis: Prototyp-Startseite V0.2 (docs/) · Stand 02.08.2026
 * ============================================================ */
@font-face{font-family:'Inter';src:url('/assets/fonts/inter/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --sm-forest:#2e4838; --sm-sun:#efc325;
  --sm-forest-50:#f4f7f5; --sm-forest-100:#e1ebe5; --sm-forest-200:#c4d5ca;
  --sm-forest-300:#94b8a2; --sm-forest-400:#659c77; --sm-forest-500:#467754;
  --sm-forest-700:#24382c; --sm-forest-800:#1c2b22; --sm-forest-900:#141f18;
  --sm-coral-dark:#d3421d; --sm-ok:#5cb88c; --sm-ok-dark:#398460; --sm-sun-dark:#8f720b;
  --sm-paper:#f9fafa; --sm-mist:#f1f2f4; --sm-fog:#dde0e3; --sm-silver:#9da4af;
  --sm-slate:#737d8c; --sm-graphite:#535a65; --sm-ink:#171c23; --sm-muted-dark:#6a7582;
  --font:'Inter',system-ui,'Helvetica Neue',Arial,sans-serif;
  --r-md:6px; --r-lg:10px; --r-pill:9999px;
  --sh-md:0 4px 12px -2px rgba(23,28,35,.08); --sh-lg:0 12px 32px -8px rgba(23,28,35,.15);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--sm-ink);background:var(--sm-paper);line-height:1.55;font-feature-settings:"cv05","cv11"}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:76px 0}
.mist{background:var(--sm-mist)}
.kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sm-sun-dark);margin-bottom:10px}
.kicker.block{display:block}
.dark .kicker{color:var(--sm-sun)}
h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.02em;color:var(--sm-forest);margin-bottom:10px}
.h2small{font-size:24px}
.dark h2{color:#fff}
.sub{color:var(--sm-graphite);max-width:660px;font-size:16.5px}
.dark .sub{color:var(--sm-forest-200)}
.mt20{margin-top:20px}
/* Icons */
.ico{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:12px 22px;border-radius:var(--r-md);border:none;cursor:pointer;transition:all .15s ease}
.btn .ico{width:18px;height:18px}
.btn-sun{background:var(--sm-sun);color:var(--sm-ink)}
.btn-sun:hover{background:#d4a916}
.btn-forest{background:var(--sm-forest);color:#fff}
.btn-forest:hover{background:var(--sm-forest-700)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost:hover{border-color:var(--sm-sun);color:var(--sm-sun)}
/* Topbar */
.topbar{background:var(--sm-forest-800);color:var(--sm-forest-200);font-size:12.5px;padding:7px 0}
.topbar .wrap{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.topbar b{color:#fff;font-weight:600}
.topbar .spacer{flex:1}
.topbar a{color:var(--sm-sun);font-weight:600}
/* Nav */
.mainnav{position:sticky;top:0;z-index:50;background:rgba(249,250,250,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--sm-fog)}
.mainnav .wrap{display:flex;align-items:center;gap:28px;height:74px}
.logo svg{height:47px;width:auto;display:block}
.navlinks{display:flex;gap:24px;align-items:center;flex:1;justify-content:center}
.navlinks>a,.navlinks>.dd>a{font-weight:600;font-size:15px;color:var(--sm-graphite);padding:8px 2px;border-bottom:2px solid transparent;white-space:nowrap}
.navlinks>a:hover{color:var(--sm-forest);border-bottom-color:var(--sm-sun)}
.dd{position:relative;display:flex;align-items:center;height:100%}
.dd>a{cursor:pointer}
.dd>a::after{content:" ▾";font-size:11px;color:var(--sm-silver);white-space:nowrap}
.ddmenu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--sm-fog);border-radius:var(--r-lg);box-shadow:var(--sh-lg);min-width:320px;padding:10px;margin-top:6px}
.dd:hover .ddmenu{display:block}
.ddmenu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md)}
.ddmenu a:hover{background:var(--sm-forest-50)}
.ddmenu .t{flex:1;font-size:14.5px;font-weight:700;color:var(--sm-ink)}
.portalbtn{display:inline-flex;align-items:center;gap:8px;background:var(--sm-sun);color:var(--sm-ink);font-weight:800;font-size:14.5px;padding:10px 18px;border-radius:var(--r-md)}
.portalbtn:hover{background:#d4a916}
.portalbtn .ico{width:17px;height:17px}
/* Hexfield-Container */
.hexhost{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hexhost svg{position:absolute;inset:0}
/* Hero (Startseite) */
.hero{background:linear-gradient(160deg,var(--sm-forest-800),var(--sm-forest) 72%);color:#fff;position:relative;overflow:hidden}
.herogrid{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding-top:92px;padding-bottom:92px}
.hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:900;letter-spacing:-.025em;line-height:1.07}
.hero h1 em{font-style:normal;color:var(--sm-sun)}
.hero p{margin:18px 0 26px;color:var(--sm-forest-100);font-size:18px;max-width:560px}
.hero .kicker{color:var(--sm-sun)}
.heropills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.heropills span{border:1px solid rgba(255,255,255,.3);border-radius:var(--r-pill);padding:6px 14px;font-size:13px;font-weight:600;color:var(--sm-forest-100)}
.heropills b{color:var(--sm-sun)}
.herocta{display:flex;gap:14px;flex-wrap:wrap}
/* Unterseiten-Hero */
.pagehero{background:linear-gradient(160deg,var(--sm-forest-800),var(--sm-forest) 72%);color:#fff;position:relative;overflow:hidden;padding:64px 0}
.pagehero .wrap{position:relative}
.pagehero h1{font-size:clamp(30px,4vw,44px);font-weight:900;letter-spacing:-.02em}
.pagehero h1 em{font-style:normal;color:var(--sm-sun)}
.prose{max-width:820px;font-size:16.5px;color:var(--sm-graphite)}
.prose h2,.prose h3{margin:26px 0 8px}
.prose p{margin-bottom:14px}
.prose strong{color:var(--sm-forest)}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.subcard{border:1px solid var(--sm-fog);border-radius:var(--r-lg);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--sm-forest);background:#fff;transition:all .15s ease}
.subcard:hover{box-shadow:var(--sh-md);border-color:var(--sm-forest-200)}
.subcard span{font-size:13px;color:var(--sm-sun-dark);font-weight:700}
/* Score-Ring */
.ringcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px;text-align:center;position:relative}
.ringcard .lbl,.scorebox .lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--sm-sun);margin-bottom:14px}
.ring{position:relative;width:170px;height:170px;margin:0 auto}
.ring svg{transform:rotate(-90deg)}
.ring .val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .val b{font-size:44px;font-weight:900;color:#fff;line-height:1}
.ring .val small{color:var(--sm-forest-200);font-size:12px;font-weight:600}
.ringcard p{font-size:13.5px;color:var(--sm-forest-200);margin-top:14px}
/* Trust-Leiste */
.trust{border-bottom:1px solid var(--sm-fog);background:#fff;padding:26px 0}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tr{display:flex;gap:14px;align-items:center}
.tr .ico{width:26px;height:26px;color:var(--sm-forest);flex:none}
.tr b{display:block;font-size:14.5px;color:var(--sm-ink)}
.tr span{font-size:12.5px;color:var(--sm-slate)}
/* Säulen */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.pillar{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;box-shadow:var(--sh-md);padding:34px;display:flex;flex-direction:column}
.ph{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.ph .ic{width:48px;height:48px;border-radius:12px;background:var(--sm-forest-50);display:flex;align-items:center;justify-content:center;color:var(--sm-forest);flex:none}
.pillar h3{font-size:24px;font-weight:800;color:var(--sm-forest)}
.pillar h3 span{color:var(--sm-sun-dark)}
.pillar>p{color:var(--sm-graphite);font-size:15px;margin-bottom:20px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.tier{border:1.5px solid var(--sm-fog);border-radius:var(--r-lg);padding:14px 10px;text-align:center}
.tier.hot{border-color:var(--sm-sun);background:#fffdf2;position:relative}
.tier.hot::after{content:"Beliebt";position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--sm-sun);color:var(--sm-ink);font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 9px;border-radius:var(--r-pill)}
.tier .n{font-size:12.5px;font-weight:700;color:var(--sm-slate)}
.tier .p{font-size:22px;font-weight:900;color:var(--sm-forest)}
.tier .p small{font-size:11px;font-weight:600;color:var(--sm-silver)}
.webprice{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}
.webprice b{font-size:38px;font-weight:900;color:var(--sm-forest)}
.webprice span{color:var(--sm-slate);font-size:13.5px;font-weight:600}
.feats{list-style:none;margin-bottom:22px}
.feats li{display:flex;gap:11px;padding:6px 0;font-size:14.5px;color:var(--sm-graphite);align-items:flex-start}
.feats .ico{width:19px;height:19px;color:var(--sm-forest-400);flex:none;margin-top:2px}
.dark .feats li{color:var(--sm-forest-100)}
.dark .feats .ico{color:var(--sm-sun)}
.pillar .btn{margin-top:auto;align-self:flex-start}
/* Kombi-Callout */
.kombi{margin-top:28px;background:var(--sm-forest);border-radius:14px;color:#fff;padding:26px 32px;display:flex;gap:28px;align-items:center;flex-wrap:wrap;position:relative;overflow:hidden}
.kombi>*{position:relative}
.kombi .ico{width:30px;height:30px;color:var(--sm-sun);flex:none}
.kombi b{color:var(--sm-sun)}
.kombi .k{flex:1;min-width:260px;font-size:15px}
.kombi .k small{display:block;color:var(--sm-forest-200);font-size:13px;margin-top:2px}
/* Produktwelt */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.pcard{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;padding:26px;transition:all .15s ease;display:flex;flex-direction:column}
.pcard:hover{box-shadow:var(--sh-lg);border-color:var(--sm-forest-200);transform:translateY(-2px)}
.pcard .ic{width:46px;height:46px;border-radius:11px;background:var(--sm-forest-50);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--sm-forest)}
.pcard:hover .ic{background:var(--sm-forest);color:var(--sm-sun)}
.pcard h4{font-size:17px;font-weight:800;color:var(--sm-forest);margin-bottom:6px}
.pcard p{font-size:14px;color:var(--sm-graphite);flex:1}
.pcard .pr{margin-top:16px;font-size:14px;font-weight:800;color:var(--sm-ink)}
.pcard .pr small{display:block;font-weight:600;color:var(--sm-silver);font-size:12px}
/* Souveränitäts-Check */
.check{background:var(--sm-forest-50)}
.checkgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;margin-top:30px}
.q{background:#fff;border:1px solid var(--sm-fog);border-radius:var(--r-lg);padding:14px 18px;margin-bottom:10px;display:flex;align-items:center;gap:14px}
.q .ico{width:21px;height:21px;color:var(--sm-forest);flex:none}
.q span{font-size:14.5px;font-weight:600;color:var(--sm-ink);flex:1}
.sw{position:relative;width:46px;height:26px;flex:none;background:var(--sm-fog);border-radius:var(--r-pill);cursor:pointer;transition:background .15s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:var(--sh-md);transition:left .15s}
.sw.on{background:var(--sm-ok-dark)}
.sw.on::after{left:23px}
.scorebox{background:var(--sm-forest);border-radius:16px;color:#fff;padding:34px;text-align:center;position:relative;overflow:hidden}
.scorebox>*{position:relative}
.scorebox .msg{margin-top:14px;font-size:14.5px;color:var(--sm-forest-100);min-height:44px}
.scorebox .btn{margin-top:16px}
/* Schritte */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;counter-reset:step}
.step{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;padding:28px;position:relative}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;top:22px;right:24px;font-size:34px;font-weight:900;color:var(--sm-forest-100);letter-spacing:-.03em}
.step .ic{width:46px;height:46px;border-radius:11px;background:var(--sm-forest-50);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--sm-forest)}
.step h4{font-size:17px;font-weight:800;color:var(--sm-forest);margin-bottom:6px}
.step p{font-size:14px;color:var(--sm-graphite)}
.step .hint{display:inline-block;margin-top:12px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-sun-dark);background:#fffdf2;border:1px solid var(--sm-sun);border-radius:var(--r-pill);padding:3px 11px}
/* Partner */
.partners{border-top:1px solid var(--sm-fog);border-bottom:1px solid var(--sm-fog);background:#fff}
.plist{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.pt{border:1px solid var(--sm-fog);border-radius:var(--r-lg);padding:18px 20px;display:flex;gap:14px}
.pt .ico{width:22px;height:22px;color:var(--sm-forest);flex:none;margin-top:2px}
.pt b{display:block;font-size:15.5px;color:var(--sm-forest);margin-bottom:3px}
.pt span{font-size:13.5px;color:var(--sm-graphite)}
/* Zahnmedizin */
.dental{background:var(--sm-forest-50)}
.dentalgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.badgeline{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.badgeline span{background:#fff;border:1px solid var(--sm-forest-200);border-radius:var(--r-pill);padding:6px 14px;font-size:13px;font-weight:700;color:var(--sm-forest)}
.dentalcard{background:var(--sm-forest);border-radius:16px;color:#fff;padding:36px;position:relative;overflow:hidden}
.dentalcard>*{position:relative}
.dentalcard .ico{width:40px;height:40px;color:var(--sm-sun);margin-bottom:16px}
.dentalcard h3{font-size:21px;font-weight:800;margin-bottom:10px}
.dentalcard p{font-size:14.5px;color:var(--sm-forest-100)}
/* Referenzen */
.refs{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.ref{background:#fff;border:1px solid var(--sm-fog);border-left:5px solid var(--sm-sun);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-md)}
.ref .tag{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sm-sun-dark)}
.ref h4{font-size:19px;font-weight:800;color:var(--sm-forest);margin:8px 0}
.ref p{font-size:14.5px;color:var(--sm-graphite)}
.ref a{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;color:var(--sm-forest);border-bottom:2px solid var(--sm-sun)}
/* Portal */
.portal{background:linear-gradient(160deg,var(--sm-forest-900),var(--sm-forest-700));color:#fff;position:relative;overflow:hidden}
.portalgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative}
.badge-soon{display:inline-block;background:var(--sm-sun);color:var(--sm-ink);font-size:12px;font-weight:800;padding:4px 12px;border-radius:var(--r-pill);margin-bottom:14px}
.mock{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px}
.mock .mh{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-weight:700;font-size:14px;color:var(--sm-forest-100)}
.mock .mh i{width:10px;height:10px;border-radius:50%;background:var(--sm-sun);display:inline-block}
.mrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mcard{background:rgba(255,255,255,.07);border-radius:10px;padding:14px;display:flex;gap:11px;align-items:flex-start}
.mcard .ico{width:18px;height:18px;color:var(--sm-forest-300);flex:none;margin-top:1px}
.mcard b{display:block;font-size:12px;color:var(--sm-forest-200);font-weight:600;margin-bottom:3px}
.mcard span{font-size:14px;font-weight:800;color:#fff}
.mcard .ok{color:var(--sm-ok)}
.mcard .sun{color:var(--sm-sun)}
/* Aufwand */
.aufwand{background:#fff;border-top:1px solid var(--sm-fog)}
.aufwandgrid{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;padding-top:56px;padding-bottom:56px}
.rate{text-align:center;border:1.5px solid var(--sm-fog);border-radius:16px;padding:28px 40px}
.rate b{display:block;font-size:46px;font-weight:900;color:var(--sm-forest);letter-spacing:-.02em}
.rate span{font-size:13px;font-weight:700;color:var(--sm-slate)}
.aufwand ul{list-style:none}
.aufwand li{display:flex;gap:11px;padding:7px 0;font-size:15px;color:var(--sm-graphite)}
.aufwand .ico{width:19px;height:19px;color:var(--sm-forest-400);flex:none;margin-top:3px}
.aufwand .fn{font-size:11px;color:var(--sm-silver);margin-top:10px}
/* FAQ */
.faqsec{padding-top:64px}
.faq{max-width:820px;margin:36px 0 0}
.faq details{background:#fff;border:1px solid var(--sm-fog);border-radius:var(--r-lg);margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:17px 22px;font-weight:700;font-size:15.5px;color:var(--sm-forest);display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;font-weight:600;color:var(--sm-sun-dark);transition:transform .15s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 18px;font-size:14.5px;color:var(--sm-graphite)}
/* CTA-Band + Footer */
.ctaband{background:var(--sm-forest);color:#fff;text-align:center;position:relative;overflow:hidden;padding:76px 0}
.ctaband .wrap{position:relative}
.ctaband h2{color:#fff}
.ctaband .sub{margin:0 auto 26px}
footer{background:var(--sm-forest-900);color:var(--sm-forest-200);padding:54px 0 28px;font-size:14px;position:relative;overflow:hidden}
footer .wrap{position:relative}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
footer h5{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
footer a{display:block;padding:4px 0;color:var(--sm-forest-200)}
footer a:hover{color:var(--sm-sun)}
footer .fin{border-top:1px solid var(--sm-forest-700);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--sm-slate)}
footer .fin b{color:var(--sm-forest-200)}
/* Responsive */
@media(max-width:900px){
  .herogrid,.checkgrid,.portalgrid,.dentalgrid,.aufwandgrid{grid-template-columns:1fr}
  .pillars,.refs,.subgrid{grid-template-columns:1fr}
  .pgrid,.plist,.bgrid,.steps{grid-template-columns:1fr 1fr}
  .trust .wrap{grid-template-columns:1fr 1fr}
  .navlinks{display:none}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.pgrid,.plist,.steps{grid-template-columns:1fr}.tiers{grid-template-columns:1fr}}

/* == Block-System (Etappe 2a) ================================ */
.b-section{padding:64px 0}
.b-slim{padding:8px 0 40px}
.b-cta{padding:76px 0}
.produkthero{padding:76px 0}
.produkthero .plead{margin:14px 0 20px;color:var(--sm-forest-100);font-size:17.5px;max-width:640px}
.produkthero .heropills{margin-bottom:6px}
.produkthero .herocta{margin-top:18px}
.pagehero .plead{margin-top:12px;color:var(--sm-forest-100);font-size:17px;max-width:640px}
/* Preiskarten */
.pkgrid{display:grid;gap:22px;margin-top:34px;align-items:stretch}
.pk-2{grid-template-columns:1fr 1fr}.pk-3{grid-template-columns:repeat(3,1fr)}.pk-4{grid-template-columns:repeat(4,1fr)}
.pkcard{background:#fff;border:1.5px solid var(--sm-fog);border-radius:14px;padding:28px;position:relative;display:flex;flex-direction:column}
.pkcard.hot{border-color:var(--sm-sun);box-shadow:var(--sh-md)}
.pkbadge{position:absolute;top:-11px;left:26px;background:var(--sm-sun);color:var(--sm-ink);font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 12px;border-radius:var(--r-pill)}
.pkname{font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sm-slate)}
.pkpreis{font-size:34px;font-weight:900;color:var(--sm-forest);margin:6px 0 14px;letter-spacing:-.02em}
.pkpreis small{font-size:13px;font-weight:600;color:var(--sm-silver);letter-spacing:0}
.pkcard .feats{margin-bottom:0}
.bfn{margin-top:18px;font-size:12.5px;color:var(--sm-slate)}
/* Feature-Grid */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.fitem{background:#fff;border:1px solid var(--sm-fog);border-radius:var(--r-lg);padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.fitem .ico{width:22px;height:22px;color:var(--sm-forest);flex:none;margin-top:2px}
.fitem b{display:block;font-size:15px;color:var(--sm-forest);margin-bottom:3px}
.fitem span{font-size:13.5px;color:var(--sm-graphite)}
/* Preistabelle */
.ptable{width:100%;border-collapse:collapse;margin-top:28px;background:#fff;border:1px solid var(--sm-fog);border-radius:var(--r-lg);overflow:hidden}
.ptable tr{border-bottom:1px solid var(--sm-fog)}
.ptable tr:last-child{border-bottom:none}
.ptable td{padding:13px 18px;font-size:14.5px;color:var(--sm-ink)}
.ptable td:first-child{font-weight:600}
.ptable .tp{font-weight:800;color:var(--sm-forest);white-space:nowrap;text-align:right}
.ptable .th{color:var(--sm-slate);font-size:13px}
@media(max-width:900px){.pk-3,.pk-4{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr}}
@media(max-width:560px){.pk-2,.pk-3,.pk-4{grid-template-columns:1fr}.ptable .th{display:none}}
/* Dropdown-Details */
.ddmenu{min-width:400px}
.ddmenu .ico{width:20px;height:20px;color:var(--sm-forest);flex:none}
.ddmenu .t small{display:block;font-weight:500;color:var(--sm-slate);font-size:12.5px}
.ddmenu .pr{font-size:12.5px;font-weight:700;color:var(--sm-forest);white-space:nowrap}
/* DMS-Mock (abstrakte Darstellung) */
.dmsgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.dmsmock{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;box-shadow:var(--sh-lg);overflow:hidden}
.dmshead{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--sm-forest-800)}
.dmshead i{width:9px;height:9px;border-radius:50%;background:var(--sm-forest-500);display:inline-block}
.dmshead i:first-child{background:var(--sm-sun)}
.dmssearch{flex:1;margin-left:10px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border-radius:var(--r-pill);padding:6px 14px;color:var(--sm-forest-100);font-size:13px}
.dmssearch .ico{width:15px;height:15px;color:var(--sm-forest-200)}
.dmsrows{padding:8px 0}
.dmsrow{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--sm-mist)}
.dmsrow:last-child{border-bottom:none}
.dmsrow .ico{width:20px;height:20px;color:var(--sm-forest);flex:none}
.dmsname{font-size:13.5px;font-weight:700;color:var(--sm-ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dmstags{display:flex;gap:6px;flex-wrap:wrap}
.dmstags span{background:var(--sm-forest-50);border:1px solid var(--sm-forest-200);color:var(--sm-forest);font-size:11px;font-weight:700;padding:2px 9px;border-radius:var(--r-pill)}
.dmsbadge{background:#fffdf2;border:1px solid var(--sm-sun);color:var(--sm-sun-dark);font-size:11px;font-weight:800;padding:2px 9px;border-radius:var(--r-pill);white-space:nowrap}
.dmsfoot{padding:10px 18px;background:var(--sm-forest-50);font-size:12px;font-weight:600;color:var(--sm-slate)}
/* Burger-Menü (mobil) */
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.burger span{display:block;width:24px;height:2.5px;background:var(--sm-forest);margin:5px 0;border-radius:2px;transition:all .2s}
@media(max-width:900px){
  .burger{display:block;order:3;margin-left:0}
  .dmsgrid{grid-template-columns:1fr}
  /* Header: Höhe mitwachsen lassen, sonst schweben umgebrochene Elemente ohne Hintergrund über dem Inhalt */
  .mainnav .wrap{height:auto;min-height:64px;flex-wrap:wrap;gap:10px;padding-top:8px;padding-bottom:8px}
  .logo{margin-right:auto}
  .logo svg{height:36px}
  .portalbtn{order:2;margin-left:0;font-size:13px;padding:8px 12px}
  .portalbtn .ico{display:none}
  .navlinks{order:10}
  .mainnav.open .navlinks{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:12px 0 16px;border-top:1px solid var(--sm-fog);margin-top:2px;max-height:calc(100vh - 130px);overflow:auto}
  .mainnav.open .navlinks>a,.mainnav.open .dd>a{padding:11px 2px;width:100%;font-size:16px}
  .mainnav.open .dd{flex-direction:column;align-items:stretch;height:auto}
  .mainnav.open .ddmenu{display:block;position:static;transform:none;box-shadow:none;border:none;min-width:0;width:100%;padding:0 0 6px 10px;margin-top:0}
  .mainnav.open .ddmenu a{padding:9px 10px}
  .mainnav.open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .mainnav.open .burger span:nth-child(2){opacity:0}
  .mainnav.open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  /* Topbar kompakt: Adresse + Öffnungszeiten ausblenden, Telefon + Notfall bleiben */
  .topbar .wrap{gap:8px 16px}
  .topbar span:nth-of-type(1),.topbar span:nth-of-type(3){display:none}
}
@media(max-width:560px){
  .topbar span:nth-of-type(4){display:none}
}
/* Portal-Mocks (nachgebildet) */
.pmgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.pmflip{grid-template-columns:1.1fr 1fr}
.pmflip>div:first-child{order:2}
.appmock{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;box-shadow:var(--sh-lg);overflow:hidden}
.amhead{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--sm-forest-800)}
.amhead i{width:9px;height:9px;border-radius:50%;background:var(--sm-forest-500);display:inline-block}
.amhead i:first-child{background:var(--sm-sun)}
.amtitle{margin-left:8px;color:var(--sm-forest-200);font-size:12px;font-weight:700}
.ambody{padding:22px}
.amhello{font-size:17px;font-weight:800;color:var(--sm-forest);margin-bottom:14px}
.amtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.amtile{border:1px solid var(--sm-fog);border-radius:10px;padding:12px;text-align:center}
.amtile b{display:block;font-size:22px;font-weight:900;color:var(--sm-forest)}
.amtile span{font-size:11.5px;color:var(--sm-slate);font-weight:600}
.amtile.amok b{color:var(--sm-ok-dark)}
.amcontact{display:flex;align-items:center;gap:12px;background:var(--sm-forest);border-radius:12px;padding:14px 16px;color:#fff}
.amavatar{width:38px;height:38px;border-radius:50%;background:var(--sm-forest-500);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.amsunbg{background:var(--sm-sun);color:var(--sm-ink)}
.amwho{flex:1}
.amwho b{display:block;font-size:14px}
.amwho span{font-size:11.5px;color:var(--sm-forest-200)}
.ambtns{display:flex;gap:6px}
.ambtns span{border:1px solid rgba(255,255,255,.35);border-radius:var(--r-md);padding:5px 10px;font-size:11.5px;font-weight:700}
.ambtns .amsun{background:var(--sm-sun);color:var(--sm-ink);border-color:var(--sm-sun)}
.amboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.amcol b{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sm-slate);margin-bottom:8px}
.amcard{background:var(--sm-forest-50);border:1px solid var(--sm-forest-100);border-radius:8px;padding:9px 10px;font-size:11.5px;font-weight:600;color:var(--sm-ink);margin-bottom:8px}
.amcard.amhot{border-color:var(--sm-sun);background:#fffdf2}
.amcard.amwait{border-color:var(--sm-coral-dark)}
.amcard.amdone{opacity:.55;text-decoration:line-through}
.ampins{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.ampin{border:1.5px solid var(--sm-fog);border-radius:12px;padding:14px 10px;text-align:center}
.ampin.amactive{border-color:var(--sm-sun);background:#fffdf2}
.ampin .amavatar{margin:0 auto 8px}
.ampin b{display:block;font-size:12.5px;color:var(--sm-ink)}
.ampin i{font-style:normal;font-size:10px;color:var(--sm-silver);letter-spacing:2px}
.amfoot{font-size:12px;color:var(--sm-slate);font-weight:600}
@media(max-width:900px){.pmgrid,.pmflip{grid-template-columns:1fr}.pmflip>div:first-child{order:0}.amboard{grid-template-columns:1fr 1fr}}
/* Blog-Karten (Basis) */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.bcard{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:all .15s ease}
.bcard:hover{box-shadow:var(--sh-lg);transform:translateY(-2px)}
.bcard .bb{padding:20px 22px;display:flex;flex-direction:column;flex:1}
.bcard .cat{font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--sm-sun-dark)}
.bcard h4{font-size:16.5px;font-weight:800;color:var(--sm-forest);margin:6px 0 8px}
.bcard p{font-size:13.5px;color:var(--sm-graphite);flex:1}
.bcard time{font-size:12px;color:var(--sm-silver);margin-top:12px;font-weight:600}

/* Nav-Dichte auf mittleren Breiten */
@media(max-width:1280px){
  .mainnav .wrap{gap:18px}
  .navlinks{gap:15px}
  .navlinks>a,.navlinks>.dd>a{font-size:14px}
  .portalbtn{font-size:13.5px;padding:9px 14px}
}
/* Notfall-Link Topbar */
.topbar .portallink{color:var(--sm-sun);font-weight:800}
.topbar .portallink:hover{color:#fff}
/* Infokarte mit Foto */
.dentalcard.mitbild{padding:0;overflow:hidden}
.dentalcard .kartefoto{width:100%;height:300px;object-fit:cover;object-position:center 20%;display:block;position:relative}
.dentalcard.mitbild h3{padding:22px 30px 0}
.dentalcard.mitbild p{padding:6px 30px 28px}
/* Mikro-Animationen (dezent, CD-konform) */
@media (prefers-reduced-motion: no-preference){
  .anim{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
  .anim.in{opacity:1;transform:none}
}
footer .feuropa{border-top:1px solid var(--sm-forest-700);padding:18px 0 0;margin:0 auto 18px;font-size:13px;color:var(--sm-forest-200);max-width:720px;text-align:center}
/* Footer-Kontaktblock strukturiert */
.fkontakt .fclaim{color:#fff;font-weight:600;margin-bottom:14px}
.fkontakt p{display:flex;gap:10px;align-items:flex-start;margin-bottom:9px;line-height:1.45}
.fkontakt .ico{width:16px;height:16px;color:var(--sm-sun);flex:none;margin-top:3px}
.fkontakt a{display:inline;padding:0}
.fkontakt a:hover{color:var(--sm-sun)}
footer .feuropa a{display:inline;padding:0;color:var(--sm-sun);font-weight:700}
/* Referenz-Zitat */
.refzitat{border-left:3px solid var(--sm-sun);background:#fffdf2;border-radius:0 var(--r-md) var(--r-md) 0;padding:14px 18px;margin:12px 0 14px;font-size:15.5px;font-weight:600;color:var(--sm-forest);font-style:italic}
.refzitat cite{display:block;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--sm-sun-dark);font-style:normal}
/* Anruf-Mock */
.callmock .ambody{display:flex;flex-direction:column;gap:10px}
.cmrow{max-width:82%}
.cmrow.cmki{align-self:flex-start}
.cmrow.cmanrufer{align-self:flex-end;text-align:right}
.cmwer{display:block;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--sm-silver);margin-bottom:3px}
.cmbubble{display:inline-block;padding:10px 14px;border-radius:12px;font-size:13.5px;line-height:1.45;text-align:left}
.cmki .cmbubble{background:var(--sm-forest);color:#fff;border-bottom-left-radius:3px}
.cmki .cmwer{color:var(--sm-forest-400)}
.cmanrufer .cmbubble{background:var(--sm-mist);border:1px solid var(--sm-fog);color:var(--sm-ink);border-bottom-right-radius:3px}
.cmsys{align-self:center;background:#fffdf2;border:1px solid var(--sm-sun);color:var(--sm-sun-dark);font-size:11.5px;font-weight:700;padding:5px 14px;border-radius:var(--r-pill)}
/* Kundenplaner-Mock (abstrakt) */
.pmkview{position:relative;background:linear-gradient(170deg,#fff,var(--sm-forest-50));border-bottom:1px solid var(--sm-mist)}
.pmkview svg{display:block;width:100%;height:auto}
.pmkhint{position:absolute;top:12px;left:14px;background:#fffdf2;border:1px solid var(--sm-sun);color:var(--sm-sun-dark);font-size:11px;font-weight:800;padding:3px 11px;border-radius:var(--r-pill)}
.pmkopt{padding:16px 20px 6px;display:flex;flex-direction:column;gap:12px}
.pmkrow{display:flex;align-items:center;gap:14px}
.pmklbl{width:74px;flex:none;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sm-slate)}
.pmkslider{position:relative;flex:1;height:5px;background:var(--sm-mist);border-radius:var(--r-pill)}
.pmkslider i{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:var(--sm-forest);border:3px solid #fff;border-radius:50%;box-shadow:var(--sh-md)}
.pmkrow>b{flex:none;font-size:13.5px;font-weight:800;color:var(--sm-forest);min-width:76px;text-align:right}
.pmkchips{display:flex;gap:7px;flex-wrap:wrap;flex:1}
.pmkchips span{border:1.5px solid var(--sm-fog);border-radius:var(--r-pill);padding:4px 13px;font-size:12.5px;font-weight:700;color:var(--sm-graphite)}
.pmkchips span.on{border-color:var(--sm-sun);background:#fffdf2;color:var(--sm-forest)}
.pmkfoot{display:flex;align-items:center;gap:14px;padding:14px 20px 18px;flex-wrap:wrap}
.pmkbtn{background:var(--sm-sun);color:var(--sm-ink);font-weight:800;font-size:13.5px;padding:9px 18px;border-radius:var(--r-md)}
.pmknote{font-size:12px;color:var(--sm-slate);font-weight:600;flex:1;min-width:180px}
/* Miniserver-Größen (dunkles Band) */
.srvband{background:linear-gradient(160deg,var(--sm-forest-800),var(--sm-forest) 72%);position:relative;overflow:hidden}
.srvband .dark{color:#fff}
.srvreihe{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;align-items:end}
.srv{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:26px 20px 22px;text-align:center}
.srv.srvhot{border-color:var(--sm-sun)}
.srvbadge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--sm-sun);color:var(--sm-ink);font-size:11px;font-weight:800;letter-spacing:.05em;padding:3px 12px;border-radius:var(--r-pill);white-space:nowrap}
.srvtower{--bays:2;position:relative;width:92px;margin:0 auto 16px;background:var(--sm-forest-900);border:2px solid var(--sm-forest-500);border-radius:10px;padding:16px 12px 12px;display:flex;flex-direction:column;gap:7px;min-height:calc(46px + var(--bays)*21px)}
.srvled{position:absolute;top:6px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--sm-ok);box-shadow:0 0 6px var(--sm-ok)}
.srvbay{display:block;height:14px;border:1.5px solid var(--sm-forest-400);border-radius:4px;background:var(--sm-forest-700)}
.srvname{display:block;font-size:22px;font-weight:900;color:var(--sm-sun)}
.srvz{display:block;font-size:13px;color:var(--sm-forest-100);margin-top:3px}
.srvfoot{margin-top:22px;font-size:13px;color:var(--sm-forest-200);max-width:720px}
/* Zahlen-Band */
.zband{background:var(--sm-forest);color:#fff;position:relative;overflow:hidden;padding:44px 0}
.zbandgrid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:26px;text-align:center}
.zb b{display:block;font-size:clamp(30px,3.6vw,44px);font-weight:900;color:var(--sm-sun);letter-spacing:-.02em;line-height:1.1}
.zb span{display:block;font-size:14.5px;font-weight:700;margin-top:4px}
.zb small{display:block;font-size:12.5px;color:var(--sm-forest-200);margin-top:2px}
/* Referenz-Chips (Fakten statt Leerraum) */
.refchips{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.refchips span{background:var(--sm-forest-50);border:1px solid var(--sm-forest-200);color:var(--sm-forest);font-size:12px;font-weight:700;padding:3px 11px;border-radius:var(--r-pill)}
@media(max-width:700px){.srvreihe{grid-template-columns:1fr;align-items:stretch}.pmkrow>b{min-width:0}}
/* Mobile Click-to-Call-Leiste */
.calldock{display:none}
@media(max-width:700px){
  .calldock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--sm-forest);border-top:2px solid var(--sm-sun);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .calldock a{display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-weight:800;font-size:15.5px}
  .calldock .ico{width:19px;height:19px;color:var(--sm-sun)}
  body{padding-bottom:56px}
}
/* Blog-Illustrationen */
.bimg{display:block;height:158px;background:linear-gradient(170deg,var(--sm-forest-50),#fff);border-bottom:1px solid var(--sm-mist);overflow:hidden}
.bimg img{width:100%;height:100%;object-fit:cover;display:block}
.artbild{margin:-34px auto 0;max-width:820px;background:linear-gradient(170deg,var(--sm-forest-50),#fff);border:1px solid var(--sm-fog);border-radius:14px;box-shadow:var(--sh-md);overflow:hidden;position:relative;z-index:2}
.artbild img{display:block;width:100%;height:auto}
.artsec{padding-top:44px}
/* Mobile-Nav Feinschliff — steht bewusst NACH dem 1280px-Dichte-Block, damit gap gewinnt */
@media(max-width:900px){
  .mainnav .wrap{gap:10px}
  .mainnav.open .navlinks{flex:1 0 100%}
}
/* Partner-Logos: grau, Farbe bei Hover — Wortmarken-Fallback in gleicher Optik */
.ptlogo{flex:none;width:150px;height:84px;display:flex;align-items:center;justify-content:center}
.ptlogo img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .25s ease,opacity .25s ease}
.pt:hover .ptlogo img{filter:grayscale(0);opacity:1}
.pt{align-items:center}
.ptwort{font-size:27px;font-weight:900;letter-spacing:.02em;color:var(--sm-silver);transition:color .25s ease;line-height:1.1;overflow-wrap:anywhere}
.pt:hover .ptwort{color:var(--sm-forest)}
.pticon .ico{width:46px;height:46px;color:var(--sm-silver);transition:color .25s ease}
.pt:hover .pticon .ico{color:var(--sm-forest)}
/* Infokarte: nur Bild (ohne Textzeile) */
.dentalcard.nurbild{padding:0;overflow:hidden;align-self:stretch;display:flex}
.dentalcard.nurbild .kartefoto{height:100%;min-height:380px;object-position:center 18%}
/* Verlinkte Feature-Kacheln */
.fitemlink{transition:all .15s ease}
.fitemlink:hover{box-shadow:var(--sh-md);border-color:var(--sm-forest-200);transform:translateY(-1px)}
.fpfeil{color:var(--sm-sun-dark);font-weight:800}
/* Preisrechner */
.kalkgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;margin-top:34px;align-items:start}
.kalkform{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:18px}
.kfeld>label{display:block;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--sm-slate);margin-bottom:8px}
.krow{display:flex;gap:10px}
.kalkform input[type=number],.kalkform select{font:inherit;padding:10px 12px;border:1.5px solid var(--sm-fog);border-radius:var(--r-md);background:#fff;color:var(--sm-ink)}
.kalkform input[type=number]{width:92px}
.kalkform select{flex:1;min-width:0}
.kchecks{display:flex;flex-direction:column;gap:8px}
.kcheck{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--sm-ink);cursor:pointer}
.kcheck small{color:var(--sm-slate);font-weight:500}
.kcheck input{width:17px;height:17px;accent-color:var(--sm-forest)}
.kcheck:has(input:disabled){opacity:.45}
.kalkergebnis{background:var(--sm-forest);border-radius:16px;color:#fff;padding:30px;position:sticky;top:96px}
.klbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--sm-sun);margin-bottom:10px}
.ksumme b{font-size:44px;font-weight:900;letter-spacing:-.02em}
.ksumme span{color:var(--sm-forest-200);font-weight:600;margin-left:6px}
.keinmal{margin:6px 0 16px;color:var(--sm-forest-100);font-size:14.5px}
.kliste{list-style:none;margin:0 0 20px;border-top:1px solid rgba(255,255,255,.15)}
.kliste li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:13.5px;color:var(--sm-forest-100)}
.khinweis{margin-top:14px;font-size:12.5px;color:var(--sm-forest-200)}
@media(max-width:900px){.kalkgrid{grid-template-columns:1fr}.kalkergebnis{position:static}}
/* Preisrechner V3: volle Breite · Regal → Netzwerkschrank → Kalkulation */
.rkwrap{max-width:1760px;margin:0 auto;padding:0 32px}
.rkgrid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.3fr) minmax(320px,.95fr);gap:30px;margin-top:34px;align-items:start}
.rkregal{background:#fff;border:1px solid var(--sm-fog);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:9px;position:sticky;top:96px}
.rkregallbl{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sm-slate);margin-bottom:2px}
.rkkarte{display:flex;align-items:center;gap:10px;font:inherit;text-align:left;background:var(--sm-forest-50);border:1.5px solid var(--sm-forest-100);border-radius:10px;padding:10px 12px;cursor:grab;transition:all .15s ease}
.rkkarte:hover{border-color:var(--sm-forest-300);transform:translateX(3px)}
.rkkarte:active{cursor:grabbing}
.rkkarte .ico{width:20px;height:20px;color:var(--sm-forest);flex:none}
.rkkarte span{flex:1;font-size:13.5px;font-weight:700;color:var(--sm-forest)}
.rkkarte small{font-size:11px;color:var(--sm-slate);font-weight:600}
.rkkarte i{font-style:normal;font-weight:900;font-size:17px;color:var(--sm-sun-dark);width:24px;height:24px;border:1.5px dashed var(--sm-sun);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.rkkarte.drin{opacity:.4;pointer-events:none}
/* Der Schrank */
.rkregal{display:flex;flex-direction:column;gap:10px;position:sticky;top:96px}
.rkrubrik{background:#fff;border:1px solid var(--sm-fog);border-radius:12px;overflow:hidden}
.rkrubrik summary{cursor:pointer;list-style:none;padding:12px 16px;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-forest);display:flex;align-items:center}
.rkrubrik summary::-webkit-details-marker{display:none}
.rkrubrik summary::after{content:"▾";margin-left:auto;color:var(--sm-silver);transition:transform .2s}
.rkrubrik[open] summary::after{transform:rotate(180deg)}
.rkrubrik.rkgelb summary{color:var(--sm-sun-dark);background:#fffdf2}
.rkrubrikliste{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}
.rkkarte.gelb{background:#fffdf2;border-color:var(--sm-sun)}
.rkkarte.gelb .ico{color:var(--sm-sun-dark)}
.rkkarte.gelb span{color:var(--sm-sun-dark)}
/* Inklusive-Gamification */
.rkmodul.rkinkl{border-color:var(--sm-sun);background:linear-gradient(90deg,var(--sm-forest-700),#3d3512)}
.rkmodul.rkinkl .ico{color:var(--sm-sun)}
.rkmodul.rkpop{animation:rkinklpuls 1s ease 2}
@keyframes rkinklpuls{35%{transform:scale(1.035);box-shadow:0 0 0 5px rgba(239,195,37,.35)}}
.kliste li.inkl{color:var(--sm-sun);font-weight:800}
/* Mail-Sicherung */
.rkmail{margin-top:14px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
.rkmailauf{font:inherit;font-size:13px;font-weight:700;background:none;border:1.5px dashed rgba(255,255,255,.4);border-radius:var(--r-md);color:var(--sm-forest-100);padding:9px 14px;cursor:pointer;width:100%}
.rkmailauf:hover{border-color:var(--sm-sun);color:var(--sm-sun)}
#rkmailform{display:flex;flex-direction:column;gap:9px;margin-top:10px}
#rkmailform[hidden]{display:none}
#rkmailform input[type=email]{font:inherit;padding:10px 12px;border-radius:var(--r-md);border:none}
.rkmailds{display:flex;gap:8px;font-size:11.5px;color:var(--sm-forest-200);align-items:flex-start}
.rkmailds input{width:15px;height:15px;margin-top:1px;accent-color:var(--sm-sun)}
.rkmailds a{color:var(--sm-sun);font-weight:700}
.rkmailok{background:rgba(92,184,140,.15);border:1.5px solid var(--sm-ok);border-radius:var(--r-md);padding:10px 14px;font-size:13px;font-weight:700;color:#c8ecd9}
.rkmailfehler{background:rgba(211,66,29,.15);border:1.5px solid var(--sm-coral-dark);border-radius:var(--r-md);padding:10px 14px;font-size:13px;font-weight:700;color:#ffc4b3;margin-bottom:9px}
.rkkarte{position:relative}
.rkinfo-btn{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--sm-forest-300);background:#fff;color:var(--sm-forest);font-size:12px;font-weight:900;font-style:italic;font-family:Georgia,serif;cursor:pointer;transition:all .15s ease}
.rkinfo-btn:hover{background:var(--sm-forest);color:#fff;border-color:var(--sm-forest)}
.rkkarte.drin .rkinfo-btn{pointer-events:auto}
.rkkarte.drin{opacity:.45;pointer-events:auto}
.rkkarte.drin .rkplus{visibility:hidden}
.rkslotwrap{display:flex;gap:4px}
.rkskala{display:flex;flex-direction:column;justify-content:space-between;padding:14px 0;width:16px;flex:none}
.rkskala span{font-size:8.5px;font-weight:700;color:var(--sm-forest-500);text-align:center;line-height:1}
.rkpatch{display:flex;gap:6px;justify-content:center;padding:9px 0;border-top:1px solid var(--sm-forest-700)}
.rkpatch i{width:16px;height:9px;border-radius:2px;background:var(--sm-forest-700);border:1px solid var(--sm-forest-500)}
.rkpatch i:nth-child(3n){border-color:var(--sm-sun);}
.rkschrank{position:relative;background:linear-gradient(180deg,var(--sm-forest-900),var(--sm-forest-800));border:3px solid var(--sm-forest-500);border-radius:14px;padding:0 14px;min-height:560px;box-shadow:var(--sh-lg),inset 0 1px 0 rgba(255,255,255,.06);transition:box-shadow .2s ease,border-color .2s ease}
.rkschrank.zieht{border-color:var(--sm-sun);box-shadow:0 0 0 4px rgba(239,195,37,.25)}
.rkkopf{display:flex;align-items:center;gap:7px;padding:13px 4px;border-bottom:1px solid var(--sm-forest-700)}
.rkkopf i{width:26px;height:5px;border-radius:3px;background:var(--sm-forest-500);display:inline-block}
.rkkopf span{margin-left:auto;font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--sm-forest-300)}
.rkled{width:8px;height:8px;border-radius:50%;background:var(--sm-ok);box-shadow:0 0 7px var(--sm-ok);animation:rkblink 2.4s infinite}
@keyframes rkblink{0%,88%,100%{opacity:1}94%{opacity:.35}}
.rkslots{position:relative;padding:12px 6px;min-height:440px;flex:1;
  background:repeating-linear-gradient(transparent 0 46px, rgba(255,255,255,.04) 46px 47px)}
.rkslots::before,.rkslots::after{content:"";position:absolute;top:10px;bottom:10px;width:5px;border-radius:3px;background:repeating-linear-gradient(var(--sm-forest-500) 0 5px,transparent 5px 16px)}
.rkslots::before{left:-6px}.rkslots::after{right:-8px}
.rkmodul{display:flex;align-items:center;gap:9px;background:var(--sm-forest-700);border:1px solid var(--sm-forest-500);border-radius:7px;padding:9px 11px;margin-bottom:8px;color:var(--sm-forest-100);font-size:13px;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.25);
  opacity:0;transform:translateX(-30px);transition:opacity .3s ease,transform .45s cubic-bezier(.2,1.4,.4,1)}
.rkmodul.rein{opacity:1;transform:none}
.rkbadge{background:var(--sm-sun);color:var(--sm-ink);font-size:10.5px;font-weight:800;border-radius:var(--r-pill);padding:2px 9px;white-space:nowrap}
.rkopt{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--sm-forest-100);cursor:pointer}
.rkopt input{width:14px;height:14px;accent-color:var(--sm-sun)}
.rknote{font-size:11px;color:var(--sm-forest-300);font-weight:600}
/* Info-Karte */
.rkinfobg{position:fixed;inset:0;background:rgba(20,31,24,.55);backdrop-filter:blur(3px);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.rkinfobg[hidden]{display:none}
.rkinfo{position:relative;background:#fff;border-radius:16px;box-shadow:var(--sh-lg);max-width:480px;width:100%;padding:28px;max-height:86vh;overflow:auto}
.rkinfokopf{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rkinfokopf .ico{width:30px;height:30px;color:var(--sm-forest);flex:none}
.rkinfokopf b{font-size:20px;font-weight:800;color:var(--sm-forest)}
.rkinfo p{font-size:14.5px;color:var(--sm-graphite);margin-bottom:12px}
.rkinfo .feats{margin-bottom:14px}
.rkinfo .feats li{font-size:13.5px;padding:4px 0}
.rkinfopreis{font-size:16px;font-weight:900;color:var(--sm-forest);border-top:1px solid var(--sm-mist);padding-top:12px;margin-bottom:16px}
.rkinfobtns{display:flex;gap:10px;flex-wrap:wrap}
.rkinfobtns .btn{font-size:13.5px;padding:10px 16px}
.rkinfoweg{position:absolute;top:12px;right:12px;border:none;background:none;font-size:17px;color:var(--sm-slate);cursor:pointer;padding:6px 9px;border-radius:var(--r-md)}
.rkinfoweg:hover{background:var(--sm-mist);color:var(--sm-ink)}
.rkmodul.rk2u{padding-top:16px;padding-bottom:16px;background:linear-gradient(180deg,var(--sm-forest-700),var(--sm-forest-800))}
.rkmodul .ico{width:17px;height:17px;color:var(--sm-sun);flex:none}
.rkmodul>span:first-of-type{flex:none;min-width:104px}
.rkctrl{display:flex;align-items:center;gap:7px;flex:1;justify-content:flex-end;flex-wrap:wrap}
.rkctrl select{font:inherit;font-size:11.5px;font-weight:700;padding:4px 6px;border-radius:5px;border:1px solid var(--sm-forest-500);background:var(--sm-forest-800);color:var(--sm-forest-100)}
.rkstep{display:inline-flex;align-items:center;gap:2px;background:var(--sm-forest-800);border:1px solid var(--sm-forest-500);border-radius:var(--r-pill);padding:2px}
.rkstep button{width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--sm-forest-200);font-size:14px;font-weight:800;cursor:pointer;line-height:1}
.rkstep button:hover{background:var(--sm-forest-500);color:#fff}
.rkstep b{min-width:26px;text-align:center;color:var(--sm-sun);font-size:13px}
.rkseg{display:inline-flex;gap:3px}
.rkseg button{width:30px;height:24px;border:1px solid var(--sm-forest-500);border-radius:5px;background:var(--sm-forest-800);color:var(--sm-forest-200);font-size:12px;font-weight:800;cursor:pointer}
.rkseg button.an{background:var(--sm-sun);border-color:var(--sm-sun);color:var(--sm-ink)}
.rkseg button:disabled{opacity:.35;cursor:not-allowed}
.rkmodul .rkled{flex:none}
.rkweg{border:none;background:none;color:var(--sm-forest-300);font-size:13px;cursor:pointer;padding:4px;border-radius:5px;flex:none}
.rkweg:hover{color:#fff;background:var(--sm-forest-500)}
.rkfrei{border:2px dashed var(--sm-forest-500);border-radius:7px;padding:22px 14px;text-align:center;color:var(--sm-forest-300);transition:all .25s ease}
.rkfrei span{display:block;font-size:13px;font-weight:800}
.rkfrei small{font-size:11.5px}
.rkfrei.klein{padding:10px}
.rkfrei.klein small{display:none}
.rkfuss{display:flex;justify-content:space-between;padding:10px 4px 13px}
.rkfuss i{width:34px;height:6px;border-radius:3px;background:var(--sm-forest-700)}
.rktoast{position:absolute;left:12px;right:12px;bottom:14px;background:#fffdf2;border:1.5px solid var(--sm-sun);color:var(--sm-ink);font-size:12.5px;font-weight:700;border-radius:9px;padding:10px 14px;opacity:0;transform:translateY(8px);transition:all .3s ease;z-index:3}
.rktoast.da{opacity:1;transform:none}
/* Kalkulation rechts */
.rksumme{background:var(--sm-forest);border-radius:16px;color:#fff;padding:28px;position:sticky;top:96px}
.rksumme .ksumme b{transition:transform .2s ease}
.rksumme .ksumme b.pulst{animation:rkpuls .4s ease}
@keyframes rkpuls{40%{transform:scale(1.07);color:var(--sm-sun)}}
@media(max-width:1100px){.rkgrid{grid-template-columns:1fr 1fr}.rksumme{grid-column:1/-1;position:static}}
@media(max-width:760px){.rkgrid{grid-template-columns:1fr}.rkregal{position:static;flex-direction:row;flex-wrap:wrap}.rkkarte{flex:1 1 44%}}
/* Serverrack-Animation (Preisrechner) */
.rack{position:relative;background:var(--sm-forest-900);border:2px solid var(--sm-forest-500);border-left-width:10px;border-right-width:10px;border-radius:10px;padding:10px 10px;margin:6px 0 18px;min-height:64px;
  border-image:none}
.rack::before,.rack::after{content:"";position:absolute;top:8px;bottom:8px;width:4px;background:repeating-linear-gradient(var(--sm-forest-500) 0 4px,transparent 4px 14px);border-radius:2px}
.rack::before{left:-7px}.rack::after{right:-7px}
.rackslot{display:flex;align-items:center;gap:9px;background:var(--sm-forest-700);border:1px solid var(--sm-forest-500);border-radius:6px;padding:0 12px;margin-bottom:0;color:var(--sm-forest-100);font-size:12.5px;font-weight:700;
  max-height:0;opacity:0;overflow:hidden;transform:translateX(-14px);transition:max-height .35s ease,opacity .3s ease,transform .35s ease,margin .35s ease,padding .35s ease}
.rackslot.drin{max-height:44px;opacity:1;transform:none;margin-bottom:7px;padding-top:8px;padding-bottom:8px}
.rackslot .ico{width:17px;height:17px;color:var(--sm-sun);flex:none}
.rackslot span{flex:1;text-align:left}
.rackslot b{color:var(--sm-sun);font-weight:800;font-size:12px}
.rackslot.rackgross.drin{max-height:52px;padding-top:12px;padding-bottom:12px}
.rackslot::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--sm-ok);box-shadow:0 0 5px var(--sm-ok);flex:none}
.rackleer{font-size:12px;color:var(--sm-forest-300);padding:10px 4px;transition:opacity .3s ease}
.rackleer.weg{display:none}
.kfeldnote{display:block;margin-top:8px;font-size:12px;color:var(--sm-slate);line-height:1.5}
.kfeldnote b{color:var(--sm-forest)}
/* Interessen-Checkboxen (aufbauend je Anliegen) */
.kfinteressen{background:var(--sm-forest-50);border:1px solid var(--sm-forest-100);border-radius:var(--r-lg);padding:14px 18px}
.kfintlbl{display:block;font-size:13px;font-weight:800;color:var(--sm-forest);margin-bottom:10px}
.kfintlbl small{font-weight:500;color:var(--sm-slate)}
.kfintliste{display:flex;gap:8px;flex-wrap:wrap}
.kfint{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px!important;border:1.5px solid var(--sm-forest-200);border-radius:var(--r-pill);padding:6px 14px;font-size:13px;font-weight:600!important;color:var(--sm-ink)!important;background:#fff;cursor:pointer;transition:all .15s ease}
.kfint:has(input:checked){border-color:var(--sm-forest);background:var(--sm-forest);color:#fff!important}
.kfint input{width:14px;height:14px;accent-color:var(--sm-sun)}
#leadchips{display:flex;flex-direction:column;gap:10px}
#leadchips:empty{display:none}
/* Lead-Chip (übertragene Einschätzung) */
.leadchip{display:flex;align-items:center;gap:12px;background:#fffdf2;border:1.5px solid var(--sm-sun);border-radius:var(--r-lg);padding:12px 16px}
.leadchip .ico{width:22px;height:22px;color:var(--sm-sun-dark);flex:none}
.leadtext{flex:1}
.leadtext b{display:block;font-size:13.5px;color:var(--sm-forest)}
.leadtext span{font-size:12.5px;color:var(--sm-graphite)}
.leadchip button{border:none;background:none;cursor:pointer;font-size:16px;font-weight:700;color:var(--sm-slate);padding:6px 8px;border-radius:var(--r-md)}
.leadchip button:hover{background:var(--sm-mist);color:var(--sm-ink)}
/* Formular-Details */
.kfdrei{grid-template-columns:1fr 1fr 1fr}
.kform select{font:inherit;padding:11px 13px;border:1.5px solid var(--sm-fog);border-radius:var(--r-md);background:#fff;color:var(--sm-ink)}
.kfmin{font-weight:500;color:var(--sm-slate);font-size:12px}
.kfmin.ok{color:var(--sm-ok-dark)}
.cpabschluss{margin-top:26px;background:var(--sm-forest);border-radius:14px;color:#fff;padding:24px 28px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.cpabschluss b{display:block;font-size:16.5px;margin-bottom:3px}
.cpabschluss span{font-size:13.5px;color:var(--sm-forest-200)}
.cpabschluss>div{flex:1;min-width:260px}
@media(max-width:700px){.kfdrei{grid-template-columns:1fr}}
/* Kontaktformular */
.kform{max-width:820px;margin-top:28px;display:flex;flex-direction:column;gap:16px}
.kfzeile{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kform label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--sm-forest)}
.kform input[type=text],.kform input[type=email],.kform input[type=tel],.kform textarea{font:inherit;padding:11px 13px;border:1.5px solid var(--sm-fog);border-radius:var(--r-md);background:#fff}
.kform input:focus,.kform textarea:focus{outline:none;border-color:var(--sm-forest-400)}
.kfws{position:absolute;left:-9999px;top:-9999px}
.kfds{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important;color:var(--sm-graphite)!important;font-size:13px!important}
.kfds input{width:17px;height:17px;margin-top:2px;accent-color:var(--sm-forest)}
.kfds a{color:var(--sm-forest);font-weight:700;border-bottom:1px solid var(--sm-sun)}
.kform .btn{align-self:flex-start}
.kfalt{font-size:13.5px;color:var(--sm-slate)}
.kfalt a{font-weight:700;color:var(--sm-forest)}
.formok{background:#f0f9f4;border:1.5px solid var(--sm-ok-dark);border-radius:var(--r-lg);padding:18px 22px;display:flex;gap:12px;align-items:center;font-weight:600;color:var(--sm-ok-dark);max-width:820px;margin-top:24px}
.formfehler{background:#fdf2ef;border:1.5px solid var(--sm-coral-dark);border-radius:var(--r-lg);padding:14px 18px;font-weight:600;color:var(--sm-coral-dark);max-width:820px;margin:24px 0 0}
@media(max-width:700px){.kfzeile{grid-template-columns:1fr}}
/* Check-Erlebnisseite: Register + Ja/Nein + Sticky-Score */
.cpgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
.cpreg{background:#fff;border:1.5px solid var(--sm-fog);border-radius:14px;margin-bottom:14px;overflow:hidden}
.cpreg[open]{border-color:var(--sm-forest-200);box-shadow:var(--sh-md)}
.cpreg summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;padding:16px 20px;font-weight:800;color:var(--sm-forest)}
.cpreg summary::-webkit-details-marker{display:none}
.cpreg summary::after{content:"▾";margin-left:auto;color:var(--sm-silver);transition:transform .2s}
.cpreg[open] summary::after{transform:rotate(180deg)}
.cpregnr{font-size:22px;font-weight:900;color:var(--sm-forest-100);letter-spacing:-.02em}
.cpreg[open] .cpregnr{color:var(--sm-sun)}
.cpregname{font-size:16px}
.cpregstand{font-size:12px;font-weight:800;color:var(--sm-slate);background:var(--sm-mist);border-radius:var(--r-pill);padding:3px 11px}
.cpregstand.fertig{background:#f0f9f4;color:var(--sm-ok-dark)}
.cpfragen{border-top:1px solid var(--sm-mist)}
.cpq{display:flex;gap:16px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--sm-mist)}
.cpq:last-child{border-bottom:none}
.cpq.beantwortet{background:var(--sm-forest-50)}
.cpqtext{flex:1}
.cpqtext b{display:block;font-size:14.5px;color:var(--sm-ink);font-weight:700}
.cpqtext small{display:block;font-size:12.5px;color:var(--sm-slate);margin-top:2px}
.cpja{display:flex;gap:6px;flex:none}
.cpja button{font:inherit;font-size:13.5px;font-weight:800;padding:8px 18px;border-radius:var(--r-pill);border:1.5px solid var(--sm-fog);background:#fff;color:var(--sm-graphite);cursor:pointer;transition:all .15s ease}
.cpja button:hover{border-color:var(--sm-forest-300)}
.cpja button[data-w=ja].aktiv{background:var(--sm-ok-dark);border-color:var(--sm-ok-dark);color:#fff}
.cpja button[data-w=nein].aktiv{background:var(--sm-forest);border-color:var(--sm-forest);color:#fff}
.cpsticky{position:sticky;top:96px}
.cpbars{margin:18px 0 4px;text-align:left}
.cpbar{margin-bottom:9px}
.cpbar span{display:block;font-size:11.5px;font-weight:700;color:var(--sm-forest-200);margin-bottom:3px}
.cpbar i{display:block;height:7px;background:rgba(255,255,255,.14);border-radius:var(--r-pill);overflow:hidden}
.cpbar b{display:block;height:100%;background:var(--sm-sun);border-radius:var(--r-pill);transition:width .4s ease}
/* Mobil: fixe Fortschrittsleiste (nur auf Seiten mit Check sichtbar) */
.cpmobil{display:none}
@media(max-width:900px){
  .cpgrid{grid-template-columns:1fr}
  .cpsticky{display:none}
  .cpmobil{display:block;position:fixed;left:0;right:0;bottom:0;z-index:59;background:var(--sm-forest);border-top:2px solid var(--sm-sun);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .cpmzeile{display:flex;align-items:center;gap:12px;color:#fff}
  .cpmzeile>b{font-size:24px;font-weight:900;color:var(--sm-sun);line-height:1}
  .cpmlbl{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-forest-200)}
  .cpmbar{flex:1;height:8px;background:rgba(255,255,255,.16);border-radius:var(--r-pill);overflow:hidden}
  .cpmbar b{display:block;height:100%;background:var(--sm-sun);border-radius:var(--r-pill);transition:width .3s ease}
  .cpmstand{font-size:11.5px;font-weight:700;color:var(--sm-forest-100);white-space:nowrap}
  .cpq{flex-direction:column;align-items:stretch;gap:10px}
  .cpja button{flex:1}
}
@media(max-width:700px){.cpmobil{bottom:56px}}
/* Suche */
.suchform{display:flex;gap:10px;margin-top:18px;max-width:640px;position:relative}
.suchform input{flex:1;font:inherit;padding:12px 16px;border:none;border-radius:var(--r-md);background:rgba(255,255,255,.95)}
.suchliste{margin-top:28px;display:flex;flex-direction:column;gap:12px;max-width:820px}
.sucherg{display:block;background:#fff;border:1px solid var(--sm-fog);border-radius:var(--r-lg);padding:16px 20px;transition:all .15s ease}
.sucherg:hover{box-shadow:var(--sh-md);border-color:var(--sm-forest-200)}
.sucherg b{display:block;color:var(--sm-forest);font-size:16px}
.sucherg span{display:block;font-size:13.5px;color:var(--sm-graphite);margin:3px 0}
.sucherg small{font-size:12px;color:var(--sm-silver)}
/* WEB-Module im Rack gelb akzentuiert */
.rkmodul.rkweb{border-color:var(--sm-sun);border-left-width:4px;background:linear-gradient(90deg,#3a3410,var(--sm-forest-700) 45%)}
.rkmodul.rkweb .ico{color:var(--sm-sun)}
/* Info-Punkt im Rack-Modul (dunkle Variante) */
.rkinfo-dunkel{border-color:var(--sm-forest-400);background:transparent;color:var(--sm-forest-200);width:19px;height:19px;font-size:10.5px;vertical-align:middle;margin-left:2px}
.rkinfo-dunkel:hover{background:var(--sm-sun);border-color:var(--sm-sun);color:var(--sm-ink)}
/* Partner-Karten: breiter Slot NUR für Bild-Logos — Icons kompakt, Wortmarken flexibel (Fix Startseite) */
.ptlogo.pticon{width:46px;height:46px;justify-content:center}
.ptlogo.ptwort{width:auto;min-width:60px;max-width:150px;padding-right:4px}

/* Rechner: ISA-Slider „hochsensible Daten“ mit Erklär-Link (03.08.2026, ersetzt Checkbox) */
.rksensbox{display:block;margin:10px 0 2px;padding:10px 12px;border:1px solid #dfe5df;border-radius:10px;background:#fff;color:#2e3a2e;font-size:.82rem;line-height:1.4}
.rksensbox:has(input:checked){border-color:var(--sm-sun,#efc325);background:#fffdf2}
.rksenslink{display:inline-block;margin:0 0 7px;padding:0;border:0;background:none;font:inherit;font-size:.78rem;color:var(--sm-forest,#2e4838);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.rksenslink:hover{color:var(--sm-sun,#efc325)}
.rksens{display:flex;align-items:center;gap:9px;cursor:pointer}
.rksens input{position:absolute;opacity:0;width:0;height:0}
.rkslider{flex:none;width:36px;height:20px;border-radius:99px;background:#c9d2c9;position:relative;transition:background .18s}
.rkslider::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s}
.rksens input:checked+.rkslider{background:var(--sm-sun,#efc325)}
.rksens input:checked+.rkslider::after{transform:translateX(16px)}
.rksens input:focus-visible+.rkslider{outline:2px solid var(--sm-forest,#2e4838);outline-offset:2px}
.rksens span{font-weight:600}
.rksensbox small{display:block;margin-top:6px;color:#5a6a5a}

/* Rechner: EDV-Werbung bei Nur-WEB-Konfiguration (03.08.2026) */
.rkedvwerb{margin:10px 0 2px;padding:10px 12px;border:1px dashed var(--sm-sun,#efc325);border-radius:10px;background:#fffdf2;color:#2e3a2e;font-size:.82rem;line-height:1.4}
.rkedvwerb button{display:inline-block;margin-top:4px;border:0;background:none;color:var(--sm-forest,#2e4838);font-weight:700;text-decoration:underline;cursor:pointer;font-size:.82rem;padding:0}

/* Rechner mobil: kein horizontaler Überlauf (03.08.2026) — Modul-Zeile brach nicht um (min-content 315px sprengte die 1fr-Spalte) */
@media(max-width:760px){
  .rkgrid{grid-template-columns:minmax(0,1fr)}
  .rkgrid>*{min-width:0}
  .rkmodul{flex-wrap:wrap}
  .rkctrl{order:10;flex-basis:100%;justify-content:flex-start}
  .rkschrank{min-height:420px}
  .rkslots{min-height:320px}
}

/* Nav: unsichtbare Hover-Brücke zwischen Trigger und Dropdown (03.08.2026) — die 6px-Lücke (margin-top) ließ das Menü beim langsamen Überfahren zuklappen */
.ddmenu::before{content:'';position:absolute;left:-12px;right:-12px;top:-16px;height:16px}

/* Telefonie: Placetel-Gold-Badge kleiner + unbeschnitten (03.08.2026, Jan) — Logos nicht wie Fotos behandeln */
.dentalcard .kartefoto[src*="placetel-gold"]{height:170px;object-fit:contain;padding:22px 26px;box-sizing:border-box}

/* Über-uns: BNI-Wortmarke größer, Hover in BNI-Rot (03.08.2026, Jan) — .pt .ptwort nötig, .pt span (13.5px) gewann sonst die Spezifität */
.pt .ptwort{font-size:34px;color:var(--sm-silver)}
.pt:hover .ptwort{color:#cf2030}
