/*
 * klinik.team Blocks – Fundament.
 * Quelle: drafts/templates/schnittfuehrung__seeblick (tokens.css aus DESIGN.md + styles.css §Base…§Plates + Lightbox).
 * Jeder Block bringt nur seinen eigenen Abschnitt mit (src/blocks/<slug>/style.css); alles Gemeinsame steht hier.
 * Element-Regeln (a, p, h1…) sind unter :where(.kt-section, …) gescopt – Spezifität 0, und nichts läuft ins Theme.
 */

/* ---------- Tokens (generiert aus DESIGN.md) ---------- */
/* Generated from drafts/design-md/02-schnittfuehrung__seeblick/DESIGN.md by design-draft/tokens_css.py — do not edit. */
:root {
  --surface: #ffffff;
  --surface-dim: #d3dde2;
  --surface-bright: #ffffff;
  --surface-container-lowest: #ffffff;
  --surface-container-low: #f4f8fa;
  --surface-container: #eaf1f4;
  --surface-container-high: #e1eaee;
  --surface-container-highest: #d9e3e8;
  --on-surface: #1b273f;
  --on-surface-variant: #56616d;
  --inverse-surface: #0f3440;
  --inverse-on-surface: #eef5f7;
  --outline: #83909a;
  --outline-variant: #d5dfe4;
  --surface-tint: #009f77;
  --primary: #007759;
  --on-primary: #ffffff;
  --primary-container: #009f77;
  --on-primary-container: #ffffff;
  --inverse-primary: #60dcaf;
  --secondary: #007759;
  --on-secondary: #ffffff;
  --secondary-container: #009f77;
  --on-secondary-container: #ffffff;
  --tertiary: #b36100;
  --on-tertiary: #ffffff;
  --tertiary-container: #ffdcc3;
  --on-tertiary-container: #2f1500;
  --error: #ba1a1a;
  --on-error: #ffffff;
  --error-container: #ffdad6;
  --on-error-container: #93000a;
  --primary-fixed: #dcf2ea;
  --primary-fixed-dim: #8fd9bd;
  --on-primary-fixed: #002116;
  --on-primary-fixed-variant: #00513b;
  --secondary-fixed: #e3f5ee;
  --secondary-fixed-dim: #8fd9bd;
  --on-secondary-fixed: #002116;
  --on-secondary-fixed-variant: #00513b;
  --tertiary-fixed: #ffe3d0;
  --tertiary-fixed-dim: #ffbf8c;
  --on-tertiary-fixed: #2f1500;
  --on-tertiary-fixed-variant: #6e3900;
  --background: #ffffff;
  --on-background: #1b273f;
  --surface-variant: #dde6ea;
  --surface-base: #ffffff;
  --surface-muted: #eef5f7;
  --status-success: #2e7d63;
  --status-warning: #9e6d1c;
  --status-error: #ba1a1a;
  --text-heading: #1b273f;
  --text-body: #46505e;
  --tint-apricot: #fbefe4;
  --accent-apricot: #e8924a;
  --anchor-deep: #0a2530;
  --type-display-lg-size: 52px;
  --type-display-lg-weight: 500;
  --type-display-lg-line: 56px;
  --type-display-lg-tracking: -0.02em;
  --type-headline-lg-size: 44px;
  --type-headline-lg-weight: 500;
  --type-headline-lg-line: 52px;
  --type-headline-lg-tracking: -0.015em;
  --type-headline-md-size: 28px;
  --type-headline-md-weight: 500;
  --type-headline-md-line: 36px;
  --type-headline-md-tracking: -0.01em;
  --type-headline-sm-size: 16px;
  --type-headline-sm-weight: 600;
  --type-headline-sm-line: 26px;
  --type-body-size: 16px;
  --type-body-weight: 400;
  --type-body-line: 26px;
  --type-label-uppercase-size: 16px;
  --type-label-uppercase-weight: 500;
  --type-label-uppercase-line: 22px;
  --type-label-uppercase-tracking: 0.04em;
  --type-button-size: 16px;
  --type-button-weight: 600;
  --type-button-line: 20px;
  --type-button-tracking: 0.01em;
  --type-display-xl-size: 52px;
  --type-display-xl-weight: 500;
  --type-display-xl-line: 56px;
  --type-display-xl-tracking: -0.02em;
  --type-body-lg-size: 16px;
  --type-body-lg-weight: 400;
  --type-body-lg-line: 26px;
  --type-numeral-size: 28px;
  --type-numeral-weight: 500;
  --type-numeral-line: 36px;
  --type-numeral-tracking: -0.02em;
  --type-chapter-size: 16px;
  --type-chapter-weight: 600;
  --type-chapter-line: 22px;
  --type-chapter-tracking: 0.04em;
  --type-mono-size: 16px;
  --type-mono-weight: 500;
  --type-mono-line: 22px;
  --type-mono-tracking: 0.04em;
  --type-chip-size: 14px;
  --type-chip-weight: 500;
  --type-chip-line: 18px;
  --type-chip-tracking: 0.04em;
  --space-base: 8px;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 40px;
  --space-xl: 72px;
  --container-max: 1240px;
  --gutter: 24px;
  --space-section-gap: 120px;
  --space-container-narrow: 760px;
  --space-margin-mobile: 16px;
  --radius-sm: 10px;
  --radius: 10px;
  --radius-md: 12px;
  --radius-lg: 15px;
  --radius-xl: 15px;
  --radius-full: 9999px;
  --radius-button: 12px;
  --radius-input: 12px;
  --radius-card: 10px;
  --radius-panel: 15px;
  --font-heading: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --font-body: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-label: 'IBM Plex Mono', system-ui, sans-serif;
  /* Implementation tokens */
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --fs-display-xl: clamp(38px, 4vw, 52px);
  --fs-h1: clamp(38px, 4vw, 52px);
  --fs-h2: clamp(30px, 3.4vw, 44px);
  --fs-h3: clamp(23px, 2.2vw, 28px);
  --fs-numeral: clamp(23px, 2.2vw, 28px);
  --fs-body: 16px / 26px;
  --mono-adjust: ex-height 0.455;
  --shadow-plate: 0 8px 20px -12px rgba(10,37,48,0.18), 0 1px 3px rgba(10,37,48,0.06);
  --shadow-hover: 0 14px 30px -16px rgba(10,37,48,0.28);
  --container-narrow: 760px;
  --section-gap: 120px;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (max-width: 767px) {
  :root {
    --type-display-lg-size: 38px;
    --type-display-lg-weight: 500;
    --type-display-lg-line: 44px;
    --type-display-lg-tracking: -0.015em;
  }
}

/* ---------- Schriften der Live-Site (Kundenentscheidung 26.09.2026): Raleway 700 / IBM Plex Sans ---------- */
:root{
  --font-heading:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-label:'IBM Plex Sans',system-ui,sans-serif;
  --font-mono:'IBM Plex Sans',system-ui,sans-serif;
  --mono-adjust:none;
}
.mono,.num{font-variant-numeric:tabular-nums}

/* ---------- Base ---------- */
:where(.kt-section,.kt-site-header,.kt-site-footer,.lb),:where(.kt-section,.kt-site-header,.kt-site-footer,.lb) *,:where(.kt-section,.kt-site-header,.kt-site-footer,.lb) *::before,:where(.kt-section,.kt-site-header,.kt-site-footer,.lb) *::after{box-sizing:border-box}
html:has(body.kt-canvas){scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body.kt-canvas{margin:0;background:var(--surface-base);color:var(--text-body);font-family:var(--font-body);
 font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight);
 font-variant-numeric:tabular-nums}
.kt-canvas main,.kt-site-footer{overflow-x:clip}
:where(.kt-section,.kt-site-header,.kt-site-footer) :where(img,video){display:block;max-width:100%;height:auto}
:where(.kt-section,.kt-site-header,.kt-site-footer) a{color:var(--primary);text-underline-offset:3px;text-decoration-thickness:1px}
:where(.kt-section,.kt-site-header,.kt-site-footer) a:hover{color:var(--secondary)}
:where(.kt-section,.kt-site-footer) p{margin:0 0 var(--space-sm)}
:where(.kt-section,.kt-site-header,.kt-site-footer) :where(ul,ol){margin:0;padding:0}
:where(.kt-section,.kt-site-header,.kt-site-footer) :where(h1,h2,h3,h4){margin:0;color:var(--text-heading);font-family:var(--font-heading);font-weight:500;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
:where(.kt-section,.kt-site-header,.kt-site-footer) :focus-visible{outline:3px solid var(--primary-container);outline-offset:3px}
[data-surface="d"] :focus-visible{outline-color:var(--inverse-primary)}
.skip{position:absolute;left:var(--space-sm);top:-80px;z-index:200;background:var(--primary-container);color:var(--on-primary-container);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-button)}
.skip:focus{top:var(--space-sm)}
/* Nur in eigenen Blöcken – Themes (GeneratePress: div.site.grid-container.container) nutzen dieselbe Klasse. */
:where(.kt-section,.kt-site-header,.kt-site-footer) .container{width:100%;max-width:calc(var(--container-max) + 2 * var(--space-lg));margin:0 auto;padding:0 var(--space-lg)}

/* type */
.h-xl{font-size:var(--fs-display-xl);line-height:1.03;letter-spacing:var(--type-display-xl-tracking);font-weight:var(--type-display-xl-weight)}
.h1{font-size:var(--fs-h1);line-height:1.07;letter-spacing:var(--type-display-lg-tracking);font-weight:var(--type-display-lg-weight)}
.h2{font-size:var(--fs-h2);line-height:1.18;letter-spacing:var(--type-headline-lg-tracking);font-weight:var(--type-headline-lg-weight)}
.h3{font-size:var(--fs-h3);line-height:1.28;letter-spacing:var(--type-headline-md-tracking);font-weight:var(--type-headline-md-weight)}
.h4{font-family:var(--font-body);font-size:var(--type-headline-sm-size);line-height:var(--type-headline-sm-line);font-weight:var(--type-headline-sm-weight)}
.lead{font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line)}
.lead-sm{font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line);max-width:var(--container-narrow)}
.label{font-family:var(--font-mono);font-size-adjust:var(--mono-adjust);font-size:var(--type-label-uppercase-size);line-height:var(--type-label-uppercase-line);
 letter-spacing:var(--type-label-uppercase-tracking);text-transform:uppercase;font-weight:var(--type-label-uppercase-weight);color:var(--on-surface-variant);margin:0}
.mono{font-family:var(--font-mono);font-size-adjust:var(--mono-adjust);font-size:var(--type-mono-size);line-height:var(--type-mono-line);letter-spacing:var(--type-mono-tracking);font-weight:var(--type-mono-weight)}
.icon{width:24px;height:24px;flex:none}

/* ---------- Surfaces ---------- */
[data-surface]{padding:var(--section-gap) 0}
[data-surface="w"]{background:var(--surface-base)}
[data-surface="m"]{background:var(--surface-muted)}
[data-surface="a"]{background:var(--tint-apricot)}
[data-surface="d"]{background:var(--inverse-surface);color:var(--inverse-on-surface)}
[data-surface="d"] h1,[data-surface="d"] h2,[data-surface="d"] h3,[data-surface="d"] h4{color:var(--inverse-on-surface)}
[data-surface="d"] .label{color:var(--inverse-primary)}
[data-surface="d"] a:not(.btn){color:var(--inverse-primary)}

/* ---------- Chapter opener (KV 3) ---------- */
.chap{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-sm);min-height:20px}
.chap-l{font-family:var(--font-mono);font-size-adjust:var(--mono-adjust);font-size:var(--type-label-uppercase-size);line-height:var(--type-label-uppercase-line);letter-spacing:var(--type-label-uppercase-tracking);text-transform:uppercase;font-weight:var(--type-label-uppercase-weight);color:var(--on-surface-variant)}
[data-surface="d"] .chap-l{color:var(--inverse-on-surface)}

/* ---------- Dashed marking curve (KV 2) ---------- */
.curve{display:block;overflow:visible}
.curve path{fill:none;stroke:var(--tertiary);stroke-width:1.5;stroke-dasharray:6 6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.curve circle{fill:var(--tertiary)}
[data-surface="d"] .curve path{stroke:var(--accent-apricot)}
[data-surface="d"] .curve circle{fill:var(--accent-apricot)}
.curve--chap{width:160px;height:24px;margin:var(--space-xs) 0 var(--space-sm)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 var(--space-md);
 border-radius:var(--radius-button);border:1.5px solid transparent;font-family:var(--font-body);font-size:var(--type-button-size);
 line-height:var(--type-button-line);font-weight:var(--type-button-weight);letter-spacing:var(--type-button-tracking);
 text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.btn .btn-ic{width:18px;height:18px;transition:transform .18s ease}
.btn:hover .icon[class*="btn-ic"]:last-child{transform:translateX(3px)}
.btn-sm{min-height:48px;padding:0 var(--space-sm)}
.btn-primary{background:var(--secondary-container);color:var(--on-secondary)}
.btn-primary:hover{background:var(--secondary);color:var(--on-secondary)}
.btn-mist{background:var(--surface-container);color:var(--primary)}
.btn-mist:hover{background:var(--secondary-fixed);color:var(--primary)}
.btn-ghost{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-ghost:hover{background:var(--secondary-fixed);color:var(--primary)}
[data-surface="d"] .btn-primary,.btn-ondark{background:var(--inverse-primary);color:var(--inverse-surface)}
[data-surface="d"] .btn-primary:hover,.btn-ondark:hover{background:var(--primary-fixed);color:var(--inverse-surface)}
[data-surface="d"] .btn-mist,[data-surface="d"] .btn-ghost{background:transparent;color:var(--inverse-on-surface);border-color:var(--inverse-on-surface)}
.cta-pair{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--space-md)}

/* checks */
.checks{list-style:none;display:grid;gap:10px;margin:var(--space-md) 0 0}
.checks li{display:flex;gap:12px;align-items:flex-start;color:var(--text-heading)}
.checks .ck{width:20px;height:20px;color:var(--tertiary);margin-top:3px}

/* stars */
.stars{display:inline-flex;gap:2px;color:var(--tertiary)}
.stars .icon{width:16px;height:16px}
.stars--lg .icon{width:24px;height:24px}

/* ---------- Annotated photo (KV 1) ---------- */
.ann{position:relative;border-radius:var(--radius-card)}
.ann>img,.ann>video{width:100%;border-radius:var(--radius-card)}
.ann-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ann-svg line{stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(10,37,48,0.35))}
.ann-svg .ann-mark{fill:none;stroke:var(--surface);stroke-width:1.5;stroke-dasharray:6 6;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(10,37,48,0.35))}
.ann-dot{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:var(--radius-full);
 background:var(--tertiary);box-shadow:0 0 0 3px var(--surface);transition:box-shadow .18s ease}
.ann-dot i{display:none}
.ann-pl{position:absolute;left:var(--x);top:var(--y);transform:translate(0,-50%);background:var(--surface);border-radius:var(--radius-card);
 padding:6px 10px;box-shadow:var(--shadow-plate);font-family:var(--font-mono);font-size-adjust:var(--mono-adjust);font-size:var(--type-label-uppercase-size);line-height:var(--type-label-uppercase-line);
 letter-spacing:var(--type-label-uppercase-tracking);text-transform:uppercase;font-weight:var(--type-label-uppercase-weight);color:var(--text-heading);white-space:nowrap}
.ann-pl--l{transform:translate(-100%,-50%)}
.ann-pl b,.ann-legend b,figcaption b{color:var(--tertiary);font-weight:600;margin-right:6px}
.ann-legend{display:none;list-style:none;margin-top:12px;color:var(--on-surface-variant);flex-wrap:wrap;gap:4px 16px}
[data-surface="d"] .ann-pl{background:var(--anchor-deep);color:var(--inverse-on-surface);border:1px solid rgba(238,245,247,0.2)}
[data-surface="d"] .ann-pl b,[data-surface="d"] .ann-legend b{color:var(--accent-apricot)}
[data-surface="d"] .ann-dot{background:var(--accent-apricot);box-shadow:0 0 0 3px var(--inverse-surface)}
[data-surface="d"] .ann-legend{color:var(--inverse-primary)}
.ann.is-seen .ann-dot{animation:pulse .9s ease-out 1}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.35)}100%{transform:scale(1)}}

/* ---------- Measurement frame (KV 5) ---------- */
.frame{position:relative;margin:8px}
.frame>img,.frame>.ann>img{border-radius:var(--radius-card);width:100%;object-fit:cover}
.frame::before{content:"";position:absolute;inset:-8px;border:1px solid var(--outline-variant);border-radius:var(--radius-panel);pointer-events:none}
[data-surface="m"] .frame::before{border-color:var(--outline)}
.frame--dark::before,[data-surface="d"] .frame::before{border-color:rgba(238,245,247,0.24)}
.frame .ann-legend{margin-top:20px}

/* caption plate (KV 6) */
.rate-plate,.plate-cap{background:var(--surface);border-radius:var(--radius-card);padding:16px 20px;box-shadow:var(--shadow-plate);max-width:320px}
.rate-plate p{margin:0}
.rate-row{display:flex;align-items:center;gap:12px;margin:6px 0 4px!important}
.rate-g{font-family:var(--font-body);font-weight:600;color:var(--text-heading)}
.rate-n{color:var(--on-surface-variant)}

.lv-over,.ann-pl,.band-cap,.gal-cap{font-size:var(--type-chip-size);line-height:var(--type-chip-line);letter-spacing:var(--type-chip-tracking)}

/* Theme-unabhängig: Jeder Block setzt seine Grundtypografie selbst, statt sie von <body> zu erben.
   Sonst schlägt das Theme durch – z. B. setzt Twenty Twenty-Five über seine Global Styles
   letter-spacing:-0.1px auf den Fliesstext; dann bricht Text eine Zeile früher um als im Entwurf.
   Gilt auch ausserhalb der Leinwand-Vorlage (Blöcke in normalen Theme-Seiten). */
:where(.kt-section,.kt-site-header,.kt-site-footer,.qc,.mnav,.kt-mbar,.lb){
  font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-line);
  font-weight:var(--type-body-weight);letter-spacing:normal;word-spacing:normal;text-transform:none;
  color:var(--text-body);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
}

/* Live-Site-Schriften: alle Überschriften Raleway 700, Laufweite 0 – NACH den Typo-Regeln (.h1 … setzen sonst 500 / negativ). */
:where(.kt-section,.kt-site-header,.kt-site-footer) :where(h1,h2,h3,h4),.h1,.h2,.h3,.h-xl{font-weight:700;letter-spacing:0}

/* ---------- Gemeinsame Responsive-Regeln (Entwurf §Responsive, nur die Basisbausteine) ---------- */
@media (max-width:1024px){
 :where(.kt-section,.kt-site-header,.kt-site-footer) .container{padding:0 var(--space-md)}
}
@media (max-width:720px){
 :root{--section-gap:72px}
 :where(.kt-section,.kt-site-header,.kt-site-footer) .container{padding:0 var(--space-margin-mobile)}
 .ann-pl,.ann-svg line,.ann-dot,.ann-legend{display:none}
 .btn{white-space:normal;text-align:center}
 .cta-pair .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
 :where(.kt-section,.kt-site-header,.kt-site-footer,.lb) *,:where(.kt-section,.kt-site-header,.kt-site-footer,.lb) *::before,:where(.kt-section,.kt-site-header,.kt-site-footer,.lb) *::after{animation:none!important;transition:none!important}
 html{scroll-behavior:auto!important}
}

/* lightbox – click a photo in a [data-lightbox] block, slide through the whole block */
[data-lb-item]{cursor:zoom-in}
[data-lb-item]:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:var(--radius-card)}
.gal-video[data-lb-item]{cursor:zoom-in}
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--inverse-on-surface);overflow:hidden}
.lb::backdrop{background:rgba(10,37,48,0.97)}
.lb[open]{display:grid;place-items:center}
.lb-stage{position:absolute;inset:0;display:grid;place-items:center;padding:72px 96px 24px}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);max-width:100%;max-height:100%}
.lb-media{display:grid;place-items:center;min-height:0}
.lb-el{display:block;max-width:min(1400px,calc(100vw - 192px));max-height:calc(100vh - 160px);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-card);background:var(--anchor-deep)}
video.lb-el{width:min(1280px,calc(100vw - 192px))}
.lb-cap{display:flex;align-items:baseline;gap:var(--space-sm);font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--inverse-on-surface)}
.lb-count{color:var(--inverse-primary);font-variant-numeric:tabular-nums}
.lb-btn{position:absolute;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(238,245,247,0.24);border-radius:var(--radius-button);
 background:rgba(238,245,247,0.08);color:var(--inverse-on-surface);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.lb-btn:hover{background:var(--secondary-container);border-color:var(--secondary-container);color:var(--on-secondary)}
.lb-btn:focus-visible{outline:3px solid var(--accent-apricot);outline-offset:2px}
.lb-btn[hidden]{display:none}
.lb-ic{width:24px;height:24px}
.lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.lb-prev .lb-ic{transform:rotate(180deg)}
.lb-next{right:24px;top:50%;transform:translateY(-50%)}
.lb-close{right:24px;top:16px}
html.lb-open{overflow:hidden}
@media (max-width:720px){
 .lb-stage{padding:72px 12px 96px}
 .lb-el{max-width:calc(100vw - 24px);max-height:calc(100vh - 200px)}
 video.lb-el{width:calc(100vw - 24px)}
 .lb-prev,.lb-next{top:auto;bottom:20px;transform:none}
 .lb-prev{left:calc(50% - 60px)}
 .lb-next{right:calc(50% - 60px)}
 .lb-close{right:12px;top:12px}
}
@media (prefers-reduced-motion:reduce){.lb-btn{transition:none}}


/* ---------- Layout-Utilities der Block-Seitenleiste (kt_layout_classes / layoutClasses) ----------
   "Wie entworfen" (auto) schreibt KEINE Klasse – dann gilt das Polster und die Fläche des Blocks = Entwurf.
   Eine ausdrückliche Wahl gewinnt über die Spezifität (.kt-section.kt-pt-l = 0,2,0). */
.kt-section.kt-pt-none{padding-top:0}.kt-section.kt-pb-none{padding-bottom:0}
.kt-section.kt-pt-xs{padding-top:var(--space-md)}.kt-section.kt-pb-xs{padding-bottom:var(--space-md)}
.kt-section.kt-pt-s{padding-top:var(--space-lg)}.kt-section.kt-pb-s{padding-bottom:var(--space-lg)}
.kt-section.kt-pt-m{padding-top:var(--space-xl)}.kt-section.kt-pb-m{padding-bottom:var(--space-xl)}
.kt-section.kt-pt-l{padding-top:var(--section-gap)}.kt-section.kt-pb-l{padding-bottom:var(--section-gap)}
.kt-section.kt-pt-xl{padding-top:calc(var(--section-gap) * 1.5)}.kt-section.kt-pb-xl{padding-bottom:calc(var(--section-gap) * 1.5)}
.kt-width-narrow .container{max-width:calc(var(--space-container-narrow) + 2 * var(--space-lg))}
.kt-width-full .container{max-width:none}
/* Blöcke laufen immer über die volle Breite – auch wenn das Theme den Inhalt einschnürt. */
.kt-section.alignfull,.kt-site-header.alignfull,.kt-site-footer.alignfull{max-width:none;width:100%;margin-left:0;margin-right:0}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Hinweis im Editor, wenn ein Block leer ist (kt_editor_notice) */
.kt-editor-notice{margin:0;padding:12px 16px;border:1px dashed var(--outline);border-radius:var(--radius-card);color:var(--on-surface-variant);background:var(--surface-muted)}
