/*
Theme Name: iDecide 2
Theme URI: https://idecide.ch/
Author: Förderverein digitale Patientenverfügung
Description: Theme der Website idecide.ch im Design von iDecide 2.0, auf Deutsch, Französisch, Italienisch und Englisch. Die Inhalte der Hauptseiten sind im Theme hinterlegt.
Version: 2.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: idecide-2
*/

@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/albert-sans-400.woff2') format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/albert-sans-500.woff2') format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/albert-sans-600.woff2') format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/albert-sans-700.woff2') format('woff2')}

/* iDecide Website – Layout: eine Spalte max. 1120px; Abschnitte im Wechsel Hintergrund / Weiss; Unterseiten mit Kopfbereich + Textspalte max. 760px. Nur hell, wie App und Flyer. */
:root{
  color-scheme:light;
  --id-primary:#085296; --id-primary-dark:#063E72; --id-primary-tint:#E9F1F9; --id-primary-border:#C9DCEE;
  --id-bg:#F4F6F9; --id-surface:#FFFFFF; --id-surface-muted:#F9FAFC; --id-hairline:#E7ECF2; --id-divider:#EEF2F6; --id-border:#D5DDE5; --id-neutral-tint:#EEF2F6;
  --id-text:#16202B; --id-text-2:#33404D; --id-text-3:#5A6B7B; --id-text-4:#8A97A6; --id-chevron:#C2CCD6;
  --id-success:#1E9E6A;
  --id-on-primary-2:rgba(255,255,255,.8); --id-glass:rgba(255,255,255,.14); --id-glass-border:rgba(255,255,255,.4);
  --id-shadow-1:0 1px 2px rgba(16,40,80,.04); --id-shadow-2:0 1px 2px rgba(16,40,80,.04),0 10px 24px -14px rgba(16,40,80,.18); --id-shadow-cta:0 6px 16px -8px rgba(8,82,150,.5);
  --id-font:Aptos,'Albert Sans','Segoe UI',system-ui,sans-serif;
  --silk:url("assets/img/silk.svg");
  --gutter:clamp(16px,4vw,32px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--id-bg);color:var(--id-text);font-family:var(--id-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--id-primary)} a:hover{color:var(--id-primary-dark)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--id-primary-border);outline-offset:2px;border-radius:8px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:var(--gutter)}
.narrow{max-width:760px}
.sec{padding-block:clamp(48px,7vw,88px)}
.sec--white{background:var(--id-surface);border-block:1px solid var(--id-hairline)}
.sec--tight{padding-block:clamp(36px,5vw,56px)}
.overline{font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--id-text-3);margin:0}
h1,h2,h3{margin:0;text-wrap:balance;color:var(--id-text)}
h1{font-size:clamp(34px,5vw,52px);line-height:1.05;font-weight:700;letter-spacing:-1.2px}
h2{font-size:clamp(26px,3.2vw,32px);line-height:1.15;font-weight:700;letter-spacing:-.6px}
h3{font-size:18px;line-height:1.3;font-weight:700}
p{margin:0}
.lead{font-size:clamp(17px,1.6vw,19px);color:var(--id-text-2);max-width:36em}
.text{color:var(--id-text-2);max-width:64ch}
.small{font-size:15px;color:var(--id-text-2)}
.stack{display:flex;flex-direction:column;gap:14px}
.head{display:flex;flex-direction:column;gap:12px;max-width:680px;margin-bottom:36px}
strong{font-weight:700;color:var(--id-text)}

/* Buttons, links, tags, icon tiles */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:14px;border:0;font:600 16px/1.1 var(--id-font);text-decoration:none;cursor:pointer;text-align:center}
.btn--primary{background:var(--id-primary);color:#fff;box-shadow:var(--id-shadow-cta)} .btn--primary:hover{background:var(--id-primary-dark);color:#fff}
.btn--secondary{background:var(--id-surface);color:var(--id-primary);border:1.5px solid var(--id-primary-border)} .btn--secondary:hover{background:var(--id-primary-tint)}
.btn--white{background:#fff;color:var(--id-primary)} .btn--white:hover{background:var(--id-primary-tint);color:var(--id-primary)}
.btn--glass{background:var(--id-glass);color:#fff;border:1px solid var(--id-glass-border)} .btn--glass:hover{background:#fff;color:var(--id-primary)}
.btn--sm{min-height:42px;padding:0 18px;font-size:15px;border-radius:12px}
.link{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.link::after{content:"›";font-size:1.25em;line-height:1}
.icon{width:44px;height:44px;border-radius:12px;background:var(--id-primary-tint);color:var(--id-primary);display:flex;align-items:center;justify-content:center;flex:none}
.icon svg{width:24px;height:24px}
.icon--lg{width:72px;height:72px;border-radius:18px} .icon--lg svg{width:38px;height:38px}
.icon--white{background:#fff}

/* Header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--id-hairline)}
.site-head .wrap{display:flex;align-items:center;gap:16px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--id-text);font-weight:700;font-size:20px;letter-spacing:-.3px}
.brand img{width:36px;height:36px;border-radius:9px}
.brand:hover{color:var(--id-text)}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{color:var(--id-text-2);text-decoration:none;font-weight:600;font-size:15px;padding:10px 11px;border-radius:10px;white-space:nowrap}
.nav a:hover{background:var(--id-bg);color:var(--id-primary)}
.nav a[aria-current="page"]{color:var(--id-primary);background:var(--id-primary-tint)}
.head-actions{display:flex;align-items:center;gap:10px}
.lang{display:flex;align-items:center;gap:2px;padding:8px 10px 8px 12px;background:#fff;border:1px solid var(--id-hairline);border-radius:999px;font:700 13px var(--id-font);letter-spacing:.6px;color:var(--id-primary)}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;width:44px;height:44px;border:1px solid var(--id-hairline);background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mnav summary::-webkit-details-marker{display:none}
.mnav-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 32px));background:#fff;border:1px solid var(--id-hairline);border-radius:16px;box-shadow:var(--id-shadow-2);padding:8px;display:flex;flex-direction:column}
.mnav-panel a{padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--id-text);font-weight:600}
.mnav-panel a:hover,.mnav-panel a[aria-current="page"]{background:var(--id-primary-tint);color:var(--id-primary)}
.mnav-panel .btn{margin-top:6px;color:#fff}
@media (max-width:1060px){.nav{display:none}.head-actions{margin-left:auto}.mnav{display:block}}
@media (max-width:560px){.head-actions .js-create{display:none}}

/* Home hero on blue */
.hero{padding-block:clamp(20px,3vw,32px) 0}
.hero-card{background:var(--id-primary) var(--silk) center/cover no-repeat;color:#fff;border-radius:24px;padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.hero-card h1{color:#fff}
.hero-card .claim{font-size:clamp(20px,2.2vw,24px);font-weight:700;margin-top:18px}
.hero-card .lead{color:var(--id-on-primary-2);margin-top:8px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:22px 0 0;list-style:none;font-size:15px;font-weight:600}
.facts li{display:flex;align-items:center;gap:8px}
.facts svg{width:18px;height:18px}
.hero-icon{width:clamp(120px,16vw,188px);height:auto;border-radius:22%;box-shadow:0 20px 40px -18px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.35)}
@media (max-width:760px){.hero-card{grid-template-columns:1fr}.hero-icon{display:none}}

/* Statement sentence */
.statement-sec{padding-block:clamp(20px,3vw,32px) clamp(40px,6vw,64px)}
.statement-card{background:var(--id-surface);border:1px solid var(--id-hairline);border-radius:20px;box-shadow:var(--id-shadow-2);padding:clamp(22px,3.5vw,36px) clamp(22px,4vw,44px);display:flex;gap:clamp(18px,3vw,28px);align-items:center}
.statement{font-size:clamp(20px,2.5vw,27px);line-height:1.3;font-weight:700;letter-spacing:-.4px;max-width:34em;text-wrap:balance}
.statement em{font-style:normal;color:var(--id-primary)}

/* Inhalt: Module abwechselnd links und rechts um das Telefon */
.mods{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.mods-col{display:flex;flex-direction:column;gap:clamp(36px,6vw,72px)}
.mod{display:flex;flex-direction:column;gap:10px}
.mods-col--l .mod{align-items:flex-end;text-align:right}
.mod .stack{gap:8px}
.mod .icon{margin-bottom:4px}
.mod .tip{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;color:var(--id-text-2);background:var(--id-primary-tint);border:1px solid var(--id-primary-border);border-radius:12px;padding:10px 14px;text-align:left;margin-top:4px}
.mod .tip svg{width:20px;height:20px;color:var(--id-primary);flex:none;margin-top:1px}
.mods-phone{justify-self:center}
.after{margin-top:clamp(32px,5vw,48px)}
@media (max-width:980px){.mods{grid-template-columns:1fr 1fr}.mods-phone{grid-column:1/-1;grid-row:1}.mods-col--l .mod{align-items:flex-start;text-align:left}}
@media (max-width:640px){.mods{display:flex;flex-direction:column}.mods-col{display:contents}.mods-phone{order:0;margin-bottom:8px}.mod--1{order:1}.mod--2{order:2}.mod--3{order:3}.mod--4{order:4}}

/* Phone with module hub, rebuilt from the app */
.phone{width:min(300px,100%);padding:10px;border-radius:50px;background:#1E242B;box-shadow:inset 0 0 0 2px #3B434D,0 34px 60px -30px rgba(16,40,80,.5);}
.screen{border-radius:40px;overflow:hidden;background:var(--id-bg);font-size:12.5px}
.scr-top{background:var(--id-primary) var(--silk) center/cover;color:#fff;padding:34px 18px 18px;position:relative}
.scr-top .ov{font-size:9.5px;font-weight:700;letter-spacing:1px;opacity:.8}
.scr-top .ttl{font-size:21px;font-weight:700;margin-top:2px}
.scr-top .pill{position:absolute;right:16px;top:44px;background:#fff;color:var(--id-primary);font-weight:700;font-size:10.5px;letter-spacing:.5px;border-radius:999px;padding:4px 10px}
.scr-body{padding:12px 12px 16px;display:flex;flex-direction:column;gap:6px}
.scr-btn{background:var(--id-primary);color:#fff;border-radius:11px;height:38px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600;box-shadow:var(--id-shadow-cta)}
.scr-btn svg{width:15px;height:15px}
.scr-ov{font-size:9.5px;font-weight:700;letter-spacing:.9px;color:var(--id-text-4);margin:8px 2px 0}
.row{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--id-hairline);border-radius:12px;padding:7px 9px;box-shadow:var(--id-shadow-1)}
.row .ri{width:32px;height:32px;border-radius:9px;background:var(--id-primary-tint);color:var(--id-primary);display:flex;align-items:center;justify-content:center;flex:none}
.row .ri svg{width:18px;height:18px}
.row .rt{flex:1;font-weight:600;line-height:1.2;min-width:0}
.row .ck{width:19px;height:19px;border-radius:50%;background:var(--id-primary);color:#fff;display:flex;align-items:center;justify-content:center}
.row .ck svg{width:11px;height:11px}
.row .cv{color:var(--id-chevron);font-size:18px;line-height:1}

/* Three steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative}
.steps::before{content:"";position:absolute;left:16px;right:calc(33.333% - 16px);top:15px;height:3px;border-radius:2px;background:#E2E9F0}
.step{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0}
.dot{width:33px;height:33px;border-radius:50%;background:#fff;border:2.5px solid var(--id-primary);color:var(--id-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;position:relative;z-index:1;margin-bottom:4px}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:30px}.steps::before{left:15px;right:auto;top:16px;bottom:16px;width:3px;height:auto}.step{padding-left:50px}.dot{position:absolute;left:0;top:-4px}}

/* QR block */
.qr-block{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.qr-frame{background:#fff;border:1px solid var(--id-hairline);border-radius:24px;padding:18px;box-shadow:var(--id-shadow-2)}
.qr-frame img{display:block;width:clamp(220px,26vw,280px);height:auto;image-rendering:pixelated}
.qr-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.qr-fig figcaption{font-size:13px;color:var(--id-text-3)}
.qr-name{text-align:center;font-weight:700;font-size:16px;margin-top:12px;color:var(--id-primary)}
.qr-dob{text-align:center;font-size:13.5px;color:var(--id-text-3)}
@media (max-width:760px){.qr-block{grid-template-columns:1fr}.qr-fig{justify-self:center}}

/* Feature list + grids */
.news{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){.news{grid-template-columns:1fr}}
.flist{background:var(--id-surface);border:1px solid var(--id-hairline);border-radius:18px;box-shadow:var(--id-shadow-1);padding:4px 22px;margin:0;list-style:none}
.flist li{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--id-divider);font-size:16.5px;font-weight:700}
.flist li:last-child{border-bottom:0}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
.fgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.fgrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.fgrid,.fgrid--3{grid-template-columns:1fr}}
.feature{display:flex;gap:16px;align-items:flex-start}
.feature .stack{gap:6px;min-width:0}

/* Digital section: intro + sub-points */
.digital{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){.digital{grid-template-columns:1fr}}
.subpoints{display:flex;flex-direction:column;gap:0;background:var(--id-surface);border:1px solid var(--id-hairline);border-radius:18px;box-shadow:var(--id-shadow-1)}
.subpoint{display:flex;gap:16px;padding:22px;border-bottom:1px solid var(--id-divider)}
.subpoint:last-child{border-bottom:0}
.subpoint .stack{gap:6px;min-width:0}

/* Card row (Über uns etc.) */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:700px){.cards{grid-template-columns:1fr}}
.card{background:var(--id-surface);border:1px solid var(--id-hairline);border-radius:18px;box-shadow:var(--id-shadow-1);padding:22px;display:flex;flex-direction:column;gap:8px;min-width:0}
.card--tint{background:var(--id-primary-tint);border:1.5px solid var(--id-primary-border);box-shadow:none}
.numlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;counter-reset:n}
.numlist li{counter-increment:n;display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--id-divider);color:var(--id-text-2)}
.numlist li::before{content:counter(n);font-weight:700;color:var(--id-primary);font-variant-numeric:tabular-nums;min-width:1.2em}
@media (max-width:700px){.numlist{grid-template-columns:1fr}}

/* Download block */
.get{background:var(--id-primary) var(--silk) center/cover;color:#fff;border-radius:24px;padding:clamp(28px,5vw,52px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center}
.get h2{color:#fff}
.get p{color:var(--id-on-primary-2);margin-top:12px;max-width:38ch}
.get .slogan{color:#fff;font-weight:600;margin-top:22px}
.get-opts{display:flex;flex-direction:column;gap:10px}
.opt{display:flex;align-items:center;gap:14px;background:var(--id-glass);border:1px solid var(--id-glass-border);border-radius:14px;padding:13px 16px;color:#fff;text-decoration:none}
.opt:hover{background:rgba(255,255,255,.24);color:#fff}
.opt svg{width:26px;height:26px;flex:none}
.opt b{display:block;font-size:16px}
.opt span{font-size:13.5px;color:var(--id-on-primary-2)}
.opt .grow{flex:1;min-width:0}
@media (max-width:820px){.get{grid-template-columns:1fr}}

/* Subpage head + article */
.page-head{padding-block:clamp(36px,6vw,64px) clamp(28px,4vw,40px)}
.crumbs{font-size:14px;color:var(--id-text-3);margin-bottom:16px}
.crumbs a{color:var(--id-text-3);text-decoration:none} .crumbs a:hover{color:var(--id-primary)}
.page-head .lead{margin-top:16px}
.article{display:flex;flex-direction:column;gap:clamp(40px,5vw,56px)}
.article section{display:flex;flex-direction:column;gap:14px}
.article ul,.article ol{margin:0;padding-left:1.3em;color:var(--id-text-2);display:flex;flex-direction:column;gap:8px;max-width:64ch}
.article li::marker{color:var(--id-primary);font-weight:700}
.callout{display:flex;gap:16px;align-items:flex-start;background:var(--id-primary-tint);border:1.5px solid var(--id-primary-border);border-radius:18px;padding:20px 22px}
.callout .stack{gap:6px;min-width:0}
.form-mock{display:grid;gap:12px;background:var(--id-surface);border:1px solid var(--id-hairline);border-radius:18px;padding:22px}
.form-mock label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--id-text-2)}
.form-mock input,.form-mock textarea,.form-mock select{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--id-border);border-radius:12px;background:#fff;color:var(--id-text)}
.form-mock textarea{min-height:120px;resize:vertical}

/* Footer */
.site-foot{background:var(--id-surface);border-top:1px solid var(--id-hairline);padding-block:44px 36px;font-size:15px;margin-top:clamp(48px,7vw,88px)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px}
.foot-grid h3{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--id-text-3);margin-bottom:10px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-grid a{color:var(--id-text-2);text-decoration:none} .foot-grid a:hover{color:var(--id-primary)}
.foot-langs{display:flex;gap:6px;flex-wrap:wrap}
.foot-langs span{font-weight:700;font-size:13px;letter-spacing:.6px;padding:5px 10px;border-radius:8px;color:var(--id-primary)}
.foot-langs .on{background:var(--id-primary-tint)}
.foot-langs .off{color:rgba(8,82,150,.45)}
.foot-base{margin-top:32px;padding-top:20px;border-top:1px solid var(--id-divider);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;color:var(--id-text-3);font-size:13.5px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid > :first-child{grid-column:1/-1}}
.site-foot--flush{margin-top:0}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Seite «Patientenverfügung erstellen» (/app/): Wahl Smartphone oder Computer */
.choose-sec{padding-block:0 clamp(48px,7vw,80px)}
.choose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.choice{background:var(--id-surface);border:1.5px solid var(--id-hairline);border-radius:22px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:14px;box-shadow:var(--id-shadow-1);min-width:0}
.choice-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}
.tag--rec{display:none;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--id-primary-tint);color:var(--id-primary);font-size:12.5px;font-weight:700;white-space:nowrap}
html[data-device="phone"] .choice[data-for="phone"],html[data-device="desktop"] .choice[data-for="desktop"]{border-color:var(--id-primary-border);box-shadow:var(--id-shadow-2)}
html[data-device="phone"] .choice[data-for="phone"] .tag--rec,html[data-device="desktop"] .choice[data-for="desktop"] .tag--rec{display:inline-flex}
html[data-device="phone"] .only-desktop{display:none}
.stores{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start}
.store{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff;border-radius:12px;padding:8px 18px 8px 12px;min-height:54px;text-decoration:none;font-weight:600;font-size:17px;line-height:1.1}
.store small{display:block;font-size:11px;font-weight:500;opacity:.85;letter-spacing:.2px}
.store svg{width:26px;height:26px;flex:none}
.store:hover{color:#fff;background:#1E242B}
.store-col{display:flex;flex-direction:column;align-items:center;gap:12px}
.store-qr{display:block;width:132px;height:132px;padding:8px;background:#fff;border:1px solid var(--id-hairline);border-radius:12px}
.store-qr img{display:block;width:100%;height:100%}
.store-qr:hover{border-color:var(--id-primary-border);box-shadow:var(--id-shadow-1)}
.prep{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,56px);align-items:start}
.checklist{list-style:none;margin:0;background:var(--id-surface);border:1px solid var(--id-hairline);border-radius:18px;padding:4px 20px;display:flex;flex-direction:column}
.checklist li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--id-divider);color:var(--id-text-2)}
.checklist li:last-child{border-bottom:0}
.checklist svg{width:22px;height:22px;color:var(--id-primary);flex:none;margin-top:1px}
@media (max-width:760px){.choose,.prep{grid-template-columns:1fr}}

/* Über uns */
.abc{--d:84px;position:relative;list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:28px;width:fit-content;max-width:660px}
.abc::before{content:"";position:absolute;left:calc(var(--d) / 2 - 1px);top:calc(var(--d) / 2);bottom:calc(var(--d) / 2);width:2px;background:var(--id-primary-border)}
.abc li{display:flex;align-items:center;gap:24px;min-width:0}
.abc-letter{order:0;position:relative;z-index:1;flex:none;width:var(--d);height:var(--d);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--id-bg);border:2px solid var(--id-primary);color:var(--id-primary);font-size:calc(var(--d) * .54);font-weight:700;line-height:1}
.abc p{order:2;font-size:clamp(19px,2.2vw,25px);line-height:1.3;font-weight:600;color:var(--id-text);text-wrap:balance;min-width:0}
@media (max-width:760px){.abc{--d:60px;gap:24px}.abc li{gap:16px}.abc p{font-size:18px}}
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:c}
.chain li{counter-increment:c;display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:3px solid var(--id-primary-border);min-width:0}
.chain li .overline::before{content:counter(c) "  ";color:var(--id-primary)}
.chain .text{font-size:15.5px}
@media (max-width:980px){.chain{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.chain{grid-template-columns:1fr}}
.origin2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,56px);align-items:start}
.basis{display:flex;flex-direction:column;gap:14px}
.basis .card h3{font-size:17px}
.cite{font-size:13.5px;color:var(--id-text-3);line-height:1.5;padding-left:14px;border-left:2px solid var(--id-hairline);max-width:64ch}
@media (max-width:860px){.origin2{grid-template-columns:1fr}}
.partners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.partners li{display:flex;position:relative;align-items:center;justify-content:center;min-height:120px;padding:20px 22px;background:#fff;border:1px solid var(--id-hairline);border-radius:18px}
.partners img{max-height:64px;width:auto;max-width:100%;object-fit:contain}
.partners a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.partners li:has(a):hover{border-color:var(--id-primary-border)}
.partner-name{font-size:24px;font-weight:700;color:var(--id-text-2);letter-spacing:-.3px}
@media (max-width:900px){.partners{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dots{margin:2px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:3px;font-size:15px;color:var(--id-text-2)}
.dots li::marker{color:var(--id-primary)}
.head--center{margin-inline:auto;text-align:center;align-items:center}

/* Seite Patientenverfügung: Inhaltsverzeichnis links, Textspalte rechts */
.pv-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);display:flex;flex-direction:column;padding-top:clamp(20px,3vw,44px)}
.toc .overline{margin-bottom:10px}
.toc a{color:var(--id-text-3);text-decoration:none;font-size:14.5px;line-height:1.35;padding:7px 0 7px 14px;border-left:2px solid var(--id-hairline)}
.toc a:hover{color:var(--id-primary);border-left-color:var(--id-primary)}
.pv-body{max-width:720px;min-width:0}
.pv-sec{padding-block:clamp(32px,4vw,44px);border-top:1px solid var(--id-hairline);display:flex;flex-direction:column;gap:16px;scroll-margin-top:90px}
.pv-sec:first-child{border-top:0;padding-top:clamp(20px,3vw,44px)}
.pull{font-size:clamp(22px,2.6vw,28px);line-height:1.25;font-weight:700;letter-spacing:-.4px;color:var(--id-primary);text-wrap:balance}
.pull--quiet{font-size:clamp(18px,2vw,21px);color:var(--id-text);font-weight:600;letter-spacing:-.2px;margin-top:6px}
.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.plain li{position:relative;padding:12px 0 12px 22px;border-bottom:1px solid var(--id-divider);color:var(--id-text-2)}
.plain li:first-child{border-top:1px solid var(--id-divider)}
.plain li::before{content:"";position:absolute;left:2px;top:21px;width:7px;height:7px;border-radius:2px;background:var(--id-primary)}
.contents{list-style:none;margin:4px 0 6px;padding:0;counter-reset:k;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}
.contents li{counter-increment:k;display:grid;grid-template-columns:2.2ch minmax(0,1fr);column-gap:12px;row-gap:4px;align-items:baseline}
.contents li::before{content:counter(k);grid-row:span 2;font-size:34px;font-weight:700;color:var(--id-primary);line-height:1;font-variant-numeric:tabular-nums}
.contents h3{font-size:18px}
.downloads{display:flex;flex-direction:column;margin-top:10px}
.downloads .overline{margin-bottom:8px}
.downloads a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--id-divider);text-decoration:none;font-weight:600;color:var(--id-primary)}
.downloads a:first-of-type{border-top:1px solid var(--id-divider)}
.downloads a span:first-child::after{content:"  ↓";font-weight:700}
.downloads .meta{font-weight:400;font-size:14px;color:var(--id-text-3)}
.downloads a:hover{background:var(--id-surface)}
@media (max-width:1000px){.pv-layout{grid-template-columns:minmax(0,1fr)}.pv-layout > [aria-hidden="true"],.toc{display:none}.pv-body{margin-inline:auto}}
@media (max-width:560px){.contents{grid-template-columns:1fr}}
.contents--single{grid-template-columns:1fr;gap:20px}

/* Für Fachpersonen */
.view2{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(32px,6vw,72px);align-items:start}
.phone--shot{width:100%;max-width:300px}
.phone--shot .screen img{display:block;width:100%;height:auto}
.note-i{font-style:italic;color:var(--id-text-3);font-size:15px}
.callout--warn{background:#F5F3EE;border-color:#E3DED2}
@media (max-width:860px){.view2{grid-template-columns:minmax(0,1fr)}.phone--shot{justify-self:center}}

section[id]{scroll-margin-top:84px}
.imp-addr{font-style:normal;line-height:1.6;color:var(--id-text-2)}

/* Sprachwahl */
.langsw{position:relative}
.langsw summary{list-style:none;cursor:pointer}
.langsw summary::-webkit-details-marker{display:none}
.langsw[open] summary svg{transform:rotate(180deg)}
.langsw-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;background:#fff;border:1px solid var(--id-hairline);border-radius:14px;box-shadow:var(--id-shadow-2);padding:6px;display:flex;flex-direction:column;z-index:30}
.langsw-menu a{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:9px;text-decoration:none;color:var(--id-text);font-weight:600}
.langsw-menu a span{font-size:12px;letter-spacing:.6px;color:var(--id-text-2)}
.langsw-menu a:hover,.langsw-menu a[aria-current]{background:var(--id-primary-tint);color:var(--id-primary)}
.foot-langs a{font-weight:700;font-size:13px;letter-spacing:.6px;padding:5px 10px;border-radius:8px;color:var(--id-primary);text-decoration:none}
.foot-langs a:hover{background:var(--id-primary-tint)}
/* Kontaktformular */
.form-msg{margin:0;padding:12px 14px;border-radius:12px;font-size:15px}
.form-msg--ok{background:#E8F5EC;color:#1E6B3A}
.form-msg--err{background:#FCEBEA;color:#9B2C24}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:40;background:#fff;padding:8px 12px;border-radius:8px}


/* Seiten mit Inhalt aus dem WordPress-Editor (Umfrage …) */
.entry{display:flex;flex-direction:column;gap:16px;color:var(--id-text-2);max-width:72ch}
.entry > *{margin:0}
.entry h2{font-size:clamp(22px,2.6vw,26px);margin-top:20px;color:var(--id-text)}
.entry h3,.entry h4{font-size:18px;margin-top:12px;color:var(--id-text)}
.entry ul,.entry ol{padding-left:1.3em;display:flex;flex-direction:column;gap:6px}
.entry img{height:auto;border-radius:12px}
.entry table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.entry td,.entry th{border-bottom:1px solid var(--id-divider);padding:8px 10px;text-align:left}
.entry input:not([type=checkbox]):not([type=radio]):not([type=submit]),.entry textarea,.entry select{font:inherit;padding:12px 14px;border:1px solid var(--id-border);border-radius:12px;background:#fff;color:var(--id-text);max-width:100%}
.entry input[type=submit],.entry button[type=submit],.entry .wp-block-button__link{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:14px;border:0;background:var(--id-primary);color:#fff;font:600 16px var(--id-font);cursor:pointer;text-decoration:none}
