/* dilohver Datenschutz – Basis-Komponenten. Alles unter .dsz-*, die bestehende Seite bleibt unverändert. */
.dsz{font-family:var(--dsz-font-sans);font-size:var(--dsz-fs-body);line-height:var(--dsz-lh-body);color:var(--dsz-text-body);-webkit-font-smoothing:antialiased}
.dsz h1,.dsz h2,.dsz h3,.dsz h4,.dsz .dsz-serif{font-family:var(--dsz-font-serif);font-weight:600;color:var(--dsz-text);line-height:var(--dsz-lh-head);margin:0 0 .5em;text-wrap:balance}
.dsz h1{font-size:var(--dsz-fs-h1);line-height:var(--dsz-lh-tight)}
.dsz h2{font-size:var(--dsz-fs-h2)}
.dsz h3{font-size:var(--dsz-fs-h3)}
.dsz h4{font-size:var(--dsz-fs-h4)}
.dsz em,.dsz .dsz-accent{font-style:italic;color:var(--dsz-text-accent)}
.dsz-on-dark h1,.dsz-on-dark h2,.dsz-on-dark h3,.dsz-on-dark h4{color:var(--dsz-text-on-dark)}
.dsz-on-dark em,.dsz-on-dark .dsz-accent{color:var(--dsz-green-200)}
.dsz-on-dark{color:var(--dsz-text-on-dark-muted)}
.dsz-display{font-size:var(--dsz-fs-display)!important;line-height:var(--dsz-lh-tight)!important}
.dsz-lead{font-size:var(--dsz-fs-lead);line-height:1.5}
.dsz-measure{max-width:var(--dsz-measure)}
.dsz-container{width:100%;max-width:var(--dsz-container);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.dsz-section{padding-block:var(--dsz-section-y)}
.dsz-bg-surface{background:var(--dsz-surface)}
.dsz-bg-light{background:var(--dsz-grad-light)}
.dsz-bg-mid{background:var(--dsz-grad-mid)}
.dsz-bg-deep{background:var(--dsz-grad-deep)}

/* Eyebrow */
.dsz-eyebrow{display:inline-block;font:600 var(--dsz-fs-eyebrow)/1.3 var(--dsz-font-sans);letter-spacing:var(--dsz-track-eyebrow);text-transform:uppercase;color:var(--dsz-green-700);margin-bottom:var(--dsz-space-3)}
.dsz-on-dark .dsz-eyebrow{color:var(--dsz-green-200)}

/* Buttons */
.dsz-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--dsz-space-2);min-height:48px;padding:0 var(--dsz-space-5);border:2px solid transparent;border-radius:var(--dsz-radius-m);font:600 1rem/1.2 var(--dsz-font-sans);text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s}
.dsz-btn--primary{background:var(--dsz-green-800);color:#fff}
.dsz-btn--primary:hover{background:var(--dsz-green-900);box-shadow:var(--dsz-shadow-2);color:#fff}
.dsz-btn--primary:active{background:var(--dsz-green-950)}
.dsz-btn--secondary{background:transparent;color:var(--dsz-green-800);border-color:var(--dsz-green-800)}
.dsz-btn--secondary:hover{background:var(--dsz-green-50);color:var(--dsz-green-900)}
.dsz-btn--secondary:active{background:var(--dsz-green-100)}
.dsz-on-dark .dsz-btn--primary,.dsz-btn--light{background:#fff;color:var(--dsz-green-800)}
.dsz-on-dark .dsz-btn--primary:hover,.dsz-btn--light:hover{background:var(--dsz-green-100);color:var(--dsz-green-900)}
.dsz-on-dark .dsz-btn--secondary{color:#fff;border-color:rgba(255,255,255,.7)}
.dsz-on-dark .dsz-btn--secondary:hover{background:rgba(255,255,255,.12);color:#fff}
.dsz-btn--primary:active{transform:translateY(1px)}
.dsz-on-dark .dsz-btn--primary:active,.dsz-btn--light:active{background:var(--dsz-green-200);color:var(--dsz-green-800)}
.dsz-on-dark .dsz-btn--secondary:active{background:rgba(255,255,255,.2)}
.dsz-btn[disabled],.dsz-btn[aria-disabled=true]{background:var(--dsz-slate-200);color:var(--dsz-slate-500);border-color:transparent;box-shadow:none;transform:none;cursor:not-allowed}
.dsz-btn--secondary[disabled],.dsz-btn--secondary[aria-disabled=true]{background:transparent;border-color:var(--dsz-slate-300)}
.dsz-on-dark .dsz-btn[disabled],.dsz-on-dark .dsz-btn[aria-disabled=true]{background:rgba(255,255,255,.25);color:var(--dsz-green-200);border-color:transparent}
.dsz-link{color:var(--dsz-text-accent);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.dsz-link:hover{text-decoration-thickness:2px}

/* Karten */
.dsz-card{background:#fff;border:1px solid var(--dsz-border);border-radius:var(--dsz-radius-l);padding:var(--dsz-space-6);box-shadow:var(--dsz-shadow-1);transition:box-shadow .2s,border-color .2s,transform .2s}
a.dsz-card,.dsz-card--link{text-decoration:none;color:inherit}
a.dsz-card:hover,.dsz-card--link:hover{box-shadow:var(--dsz-shadow-2);border-color:var(--dsz-green-300);transform:translateY(-2px)}
.dsz-card__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--dsz-green-100);color:var(--dsz-green-800);margin-bottom:var(--dsz-space-4)}
.dsz-card--photo{position:relative;overflow:hidden;padding:0;min-height:360px;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center}
.dsz-card--photo::before{content:"";position:absolute;inset:0;background:var(--dsz-grad-photo)}
.dsz-card--photo>*{position:relative}
.dsz-card--photo .dsz-card__body{padding:var(--dsz-space-6)}
.dsz-card--photo h3{color:#fff}
@media (prefers-reduced-motion:reduce){.dsz-card,.dsz-btn{transition:none}a.dsz-card:hover{transform:none}}

/* Hervorhebungs-Boxen (Wissensartikel) */
.dsz-note{border-left:4px solid var(--dsz-green-600);background:var(--dsz-green-50);border-radius:0 var(--dsz-radius-m) var(--dsz-radius-m) 0;padding:var(--dsz-space-4) var(--dsz-space-5);margin-block:var(--dsz-space-5)}
.dsz-note__title{display:block;font-weight:700;color:var(--dsz-green-800);margin-bottom:var(--dsz-space-1)}

/* Häkchenliste */
.dsz-checks{list-style:none;margin:0;padding:0}
.dsz-checks li{position:relative;padding-left:2rem;margin-bottom:var(--dsz-space-3)}
.dsz-checks li::before{content:"";position:absolute;left:0;top:.25em;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--dsz-green-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* Formularfelder */
.dsz-field{display:flex;flex-direction:column;gap:var(--dsz-space-2);margin-bottom:var(--dsz-space-5)}
.dsz-field label{font-weight:600;color:var(--dsz-text)}
.dsz-input,.dsz-textarea,.dsz-select{width:100%;min-height:52px;padding:0 var(--dsz-space-4);border:1.5px solid var(--dsz-border-strong);border-radius:var(--dsz-radius-m);background:#fff;font:400 1rem var(--dsz-font-sans);color:var(--dsz-text)}
.dsz-textarea{min-height:140px;padding:var(--dsz-space-3) var(--dsz-space-4)}
.dsz-input:hover,.dsz-textarea:hover,.dsz-select:hover{border-color:var(--dsz-green-600)}
.dsz-input:focus,.dsz-textarea:focus,.dsz-select:focus{outline:3px solid var(--dsz-focus);outline-offset:2px;border-color:var(--dsz-focus)}
.dsz-input[disabled],.dsz-textarea[disabled]{background:var(--dsz-slate-50);color:var(--dsz-slate-400)}
.dsz-field--error .dsz-input,.dsz-field--error .dsz-textarea,.dsz-field--error .dsz-select{border-color:var(--dsz-error);background:var(--dsz-error-bg)}
.dsz-field__error{color:var(--dsz-error);font-size:var(--dsz-fs-small);font-weight:600}
.dsz-field__hint{color:var(--dsz-text-muted);font-size:var(--dsz-fs-small)}

/* Dekor-Muster: immer aria-hidden, nie Textträger */
.dsz-mini-divider{height:24px;border:0;background:var(--dsz-pattern-mini) center/auto 100% repeat-x;opacity:.5}
.dsz-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Grundschrift für die ganze Website (alle Seiten bestehen aus dsz-Widgets) */
body{font-family:var(--dsz-font-sans);color:var(--dsz-text-body);-webkit-font-smoothing:antialiased}

/* Hello-Elementor färbt jeden button/:hover/:focus rot (#c36, weiße Schrift). Hier mit den Farben aus dem Designsystem überschrieben. */
.dsz-nav__link:focus,.dsz-icon-btn:focus{background-color:transparent;color:var(--dsz-text)}
.dsz-nav__link:hover,.dsz-icon-btn:hover{background-color:var(--dsz-green-50);color:var(--dsz-text)}
.dsz-nav__link.is-aktiv:hover,.dsz-nav__link.is-aktiv:focus{color:var(--dsz-green-800)}
.dsz-icon-btn--rahmen:focus{background-color:#fff;color:var(--dsz-green-800)}
.dsz-icon-btn--rahmen:hover{background-color:var(--dsz-green-50);color:var(--dsz-green-800)}
.dsz-filter button:focus,.dsz-filter button:hover{background-color:#fff;color:var(--dsz-text)}
.dsz-filter button:hover{background-color:var(--dsz-green-50)}
.dsz-filter button[aria-pressed=true]:hover,.dsz-filter button[aria-pressed=true]:focus{background-color:var(--dsz-green-900);border-color:var(--dsz-green-900);color:#fff}
.dsz-header__suche button:hover,.dsz-header__suche button:focus,.dsz-header__suche input[type=submit]:hover,.dsz-header__suche input[type=submit]:focus{background-color:var(--dsz-green-900);color:#fff}
.dsz-header__suche button:active,.dsz-header__suche input[type=submit]:active{background-color:var(--dsz-green-950)}

/* Cookie-Banner (Complianz): Farben, Zustände und Form aus dem Designsystem. Das Plugin erzeugt sein CSS selbst, deshalb hier überschrieben. */
body .cmplz-cookiebanner{
  --cmplz_text_color:var(--dsz-text);--cmplz_hyperlink_color:var(--dsz-green-800);
  --cmplz_banner_border_radius:16px;--cmplz_button_border_radius:10px;--cmplz_button_font_size:15px;
  --cmplz_button_accept_background_color:var(--dsz-green-800);--cmplz_button_accept_border_color:var(--dsz-green-800);--cmplz_button_accept_text_color:#fff;
  --cmplz_button_deny_background_color:transparent;--cmplz_button_deny_border_color:var(--dsz-green-800);--cmplz_button_deny_text_color:var(--dsz-green-800);
  --cmplz_button_settings_background_color:transparent;--cmplz_button_settings_border_color:var(--dsz-green-800);--cmplz_button_settings_text_color:var(--dsz-green-800);
  --cmplz_slider_active_color:var(--dsz-green-800);--cmplz_slider_inactive_color:var(--dsz-slate-300);
  --cmplz_category_header_always_active_color:var(--dsz-green-700);
  font-family:var(--dsz-font-sans)}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{font-weight:600;text-transform:none;letter-spacing:0;border-width:1.5px;transition:background-color .15s,color .15s}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover{background-color:var(--dsz-green-900);border-color:var(--dsz-green-900);color:#fff}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:active{background-color:var(--dsz-green-950);border-color:var(--dsz-green-950);transform:translateY(1px)}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover,body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover,body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options:hover{background-color:var(--dsz-green-50);color:var(--dsz-green-900)}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:active,body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:active,body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:active,body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options:active{background-color:var(--dsz-green-100)}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible{outline:3px solid var(--dsz-focus);outline-offset:3px}
body .cmplz-cookiebanner a{color:var(--dsz-green-800)}
body .cmplz-cookiebanner a:hover{color:var(--dsz-green-700)}
