/* =====================================================================
 * DJAEV DESIGN SYSTEM (v1, Oct 2026) — one identity for every page (DE/AR/EN)
 * Loaded last (after Blocksy, Gutenberg/Greenshift/UAG, CF7/Fluent Forms, the header
 * plugin and the other djc layers). Scope: body.djc-ds (added by includes/design-system.php).
 * Kill switch:  update_option( 'djc_design_system', '0' )  or  add_filter( 'djc_design_system', '__return_false' );
 * Font swap:    update_option( 'djc_ds_font', 'readex-plex' )  (self-hosted, assets/fonts/) — default 'kufam'.
 * Rules: no backdrop-filter (only the header bars have it), no animated blur, no will-change.
 * ===================================================================== */

/* ---------- 1. TOKENS ---------- */
:root:root{
  /* type */
  --djc-font-head:'Kufam',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif;
  --djc-font-body:'Kufam',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif;
  --djc-fs-h1:clamp(32px,1.6vw + 22px,46px);
  --djc-fs-h2:clamp(26px,1.1vw + 19px,36px);
  --djc-fs-h3:clamp(20px,.5vw + 17px,24px);
  --djc-fs-h4:18px;
  --djc-fs-body:17px;
  --djc-fs-lead:clamp(17px,.3vw + 15.5px,19px);
  --djc-fs-small:14px;
  --djc-lh-head:1.25;
  --djc-lh-body:1.75;
  /* colour */
  --djc-teal:#14789c; --djc-teal-d:#0e5a75; --djc-teal-l:#5bb0b9; --djc-navy:#073247;
  --djc-ink:#0b1f2a; --djc-text:#33475b; --djc-muted:#5f7383;
  --djc-tint:#e8f3f6; --djc-tint-2:#f2f8fa; --djc-bg:#f6fafc;
  --djc-line:rgba(14,90,117,.12); --djc-line-2:rgba(14,90,117,.20);
  /* spacing (4/8 scale) */
  --djc-s1:4px; --djc-s2:8px; --djc-s3:12px; --djc-s4:16px; --djc-s5:24px; --djc-s6:32px; --djc-s7:48px; --djc-s8:64px; --djc-s9:72px; --djc-s10:96px;
  --djc-section:72px;            /* vertical padding of a section (homepage uses the same) */
  --djc-head-gap:12px;           /* title -> subtitle */
  --djc-head-block:40px;         /* heading block -> content */
  --djc-gap:24px;                /* grid gaps */
  --djc-page-top:56px;           /* page title band */
  --djc-content:1160px;          /* = homepage .wrap */
  --djc-narrow:780px;            /* reading width */
  /* shape */
  --djc-r-sm:12px; --djc-r:22px; --djc-r-lg:28px; --djc-pill:999px;
  --djc-glass:linear-gradient(155deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.68) 100%);
  --djc-glass-edge:rgba(255,255,255,.9);
  --djc-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 1px rgba(14,90,117,.07),0 1px 2px rgba(10,48,66,.05),0 10px 30px -10px rgba(10,48,66,.20);
  --djc-shadow-hover:inset 0 1px 0 #fff,0 0 0 1px rgba(20,120,156,.14),0 2px 4px rgba(10,48,66,.06),0 22px 44px -14px rgba(10,48,66,.28);
  --djc-ring:0 0 0 4px rgba(20,120,156,.16);
  --djc-btn-grad:linear-gradient(180deg,#1784aa,#11698a);
  --djc-btn-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 20px -8px rgba(14,90,117,.55);
  --djc-mesh:
    radial-gradient(34% 60% at 18% 40%,rgba(91,176,185,.36),rgba(91,176,185,0) 70%),
    radial-gradient(30% 55% at 82% 22%,rgba(20,120,156,.18),rgba(20,120,156,0) 72%),
    radial-gradient(46% 50% at 60% 100%,rgba(150,214,221,.34),rgba(150,214,221,0) 70%),
    linear-gradient(180deg,#b7d8e2 0,#cbe4ec 190px,#e3f0f4 400px,var(--djc-bg) 100%);
  /* Blocksy palette -> brand (fixes the default blue #2872fa on buttons, links, focus, forms) */
  --theme-palette-color-1:#14789c; --theme-palette-color-2:#0e5a75; --theme-palette-color-3:#33475b; --theme-palette-color-4:#0b1f2a;
  --theme-palette-color-5:#d3e4ea; --theme-palette-color-6:#eef6f9; --theme-palette-color-7:#f6fafc; --theme-palette-color-8:#ffffff;
  --theme-font-stack-default:var(--djc-font-body);
  --theme-normal-container-max-width:var(--djc-content);
  --theme-narrow-container-max-width:var(--djc-narrow);
  --theme-content-vertical-spacing:var(--djc-section);
  --theme-button-min-height:46px; --theme-button-padding:0 26px; --theme-button-font-weight:700;
  --fluentform-primary:#14789c;
}
@media (max-width:999.98px){:root:root{--djc-section:56px;--djc-head-block:32px;--djc-page-top:44px}}
@media (max-width:689.98px){:root:root{--djc-section:48px;--djc-head-block:28px;--djc-gap:16px;--djc-page-top:32px;--djc-fs-body:16px}}

/* ---------- 2. BASE ---------- */
body.djc-ds{font-family:var(--djc-font-body)!important;color:var(--djc-text);background:var(--djc-bg)!important;
  padding-left:0!important;padding-right:0!important;padding-bottom:0!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.djc-ds ::selection{background:rgba(20,120,156,.18);color:var(--djc-ink)}
body.djc-ds :focus-visible{outline:2px solid var(--djc-teal);outline-offset:2px}
/* one family everywhere (page builders hard-code Inter, Sora, Cairo, Amiri, -apple-system) — icon fonts excluded */
body.djc-ds :is(#main,#djaev-footer,.ct-footer) :is(h1,h2,h3,h4,h5,h6,p,li,a,span,strong,em,b,i:not([class]),small,label,td,th,dt,dd,div,button,input,select,textarea,blockquote,figcaption,legend,section,article,header,time):not([class*="fa-"]):not([class^="fa"]):not(.dashicons):not([class*="icon"]):not(code):not(pre){font-family:var(--djc-font-body)!important}
body.djc-ds #main :is(h1,h2,h3,h4,h5,h6,.page-title,.uagb-heading-text,.ff-el-section-title,legend){font-family:var(--djc-font-head)!important}
body.djc-ds:not(.home) #main :is(.entry-content,.djc) :is(h1,h2,h3,h4){color:var(--djc-ink);letter-spacing:-.01em;line-height:var(--djc-lh-head);text-wrap:balance}
body.djc-ds:not(.home) #main .entry-content p{line-height:var(--djc-lh-body)}
body.djc-ds[dir="rtl"] #main :is(h1,h2,h3,h4),body.djc-ds.rtl #main :is(h1,h2,h3,h4){letter-spacing:0;line-height:1.4}
body.djc-ds.rtl #main .entry-content p{line-height:1.9}

/* ---------- 3. AMBIENT + PAGE TITLE BAND (inner pages merge under the dark glass header like the homepage hero) ---------- */
body.djc-ds:not(.home) #main{position:relative;isolation:isolate}
body.djc-ds:not(.home) #main::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;right:0;top:-200px;height:820px;background:var(--djc-mesh);
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%)}
body.djc-ds.rtl:not(.home) #main::before{background:
    radial-gradient(34% 60% at 82% 40%,rgba(91,176,185,.36),rgba(91,176,185,0) 70%),
    radial-gradient(30% 55% at 18% 22%,rgba(20,120,156,.18),rgba(20,120,156,0) 72%),
    radial-gradient(46% 50% at 40% 100%,rgba(150,214,221,.34),rgba(150,214,221,0) 70%),
    linear-gradient(180deg,#b7d8e2 0,#cbe4ec 190px,#e3f0f4 400px,var(--djc-bg) 100%)}
/* Blocksy top/bottom spacing -> tokens */
body.djc-ds:not(.home) #main>[data-vertical-spacing*="top"]{padding-top:var(--djc-page-top)!important}
body.djc-ds:not(.home) #main>[data-vertical-spacing*="bottom"]{padding-bottom:var(--djc-section)!important}
body.djc-ds:not(.home) #main>[data-vertical-spacing]:not([data-vertical-spacing*="top"]){padding-top:0}
/* the title band */
body.djc-ds:not(.home) #main .hero-section[data-type="type-1"]{margin:0 auto var(--djc-head-block)!important;padding:0 var(--djc-s5)!important;max-width:var(--djc-content);text-align:center}
body.djc-ds:not(.home) #main .hero-section[data-type="type-1"] .entry-header{display:flex;flex-direction:column;align-items:center;gap:var(--djc-s4);margin:0!important}
body.djc-ds:not(.home) #main .hero-section .page-title{font-size:var(--djc-fs-h1)!important;font-weight:800!important;color:var(--djc-ink)!important;line-height:1.2!important;margin:0!important;letter-spacing:-.015em;text-align:center!important;text-wrap:balance}
body.djc-ds.rtl:not(.home) #main .hero-section .page-title{letter-spacing:0!important;line-height:1.35!important}
body.djc-ds:not(.home) #main .hero-section[data-type="type-1"] .entry-header::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--djc-teal);order:2}
body.djc-ds:not(.home) #main .hero-section .entry-header > :not(.page-title){order:3}
body.djc-ds:not(.home) #main .hero-section .page-description{color:var(--djc-muted)!important;font-size:var(--djc-fs-lead)!important;max-width:620px;margin:0!important;text-align:center}
body.djc-ds:not(.home) #main .hero-section .page-description{max-width:640px;margin:0 auto;color:var(--djc-muted);font-size:var(--djc-fs-lead)}
/* duplicate in-content page titles (flagged by PHP: class djc-ds-dup) */
body.djc-ds article:has(> .hero-section) .entry-content .djc-ds-dup{display:none!important}

/* ---------- 4. CONTENT FLOW + WIDTH + SECTION RHYTHM ---------- */
body.djc-ds:not(.home) #main .entry-content{--theme-content-spacing:1.1em}
body.djc-ds:not(.home) #main .entry-content>p:empty,body.djc-ds #main .entry-content>.wp-block-paragraph:empty{display:none!important}
body.djc-ds:not(.home) #main .entry-content .gspb_row:not(:has(.gspb_row__content *:not(.gspb_row__col--12):not([class*="wp-block-greenshift-blocks-row-column"]))){display:none!important}
body.djc-ds:not(.home) #main .entry-content :is(p,ul,ol){color:var(--djc-text)}
body.djc-ds:not(.home) #main .entry-content :is(h2,h3,h4){margin-block:0 var(--djc-head-gap)}
body.djc-ds:not(.home) #main .entry-content :is(p,ul,ol,blockquote,table,figure)+:is(h2,h3,h4){margin-top:var(--djc-s6)}
body.djc-ds:not(.home) #main .entry-content>:is(.gspb_row,.gspb_container,.wp-block-uagb-container,.wp-block-group,section,.wp-block-columns)+:is(.gspb_row,.gspb_container,.wp-block-uagb-container,.wp-block-group,section,.wp-block-columns){margin-top:var(--djc-s7)!important}
body.djc-ds:not(.home) #main .entry-content>:last-child{margin-bottom:0!important}
body.djc-ds:not(.home) #main .entry-content .uagb-heading-text{font-size:var(--djc-fs-h2)!important;font-weight:800!important;color:var(--djc-ink)!important}
body.djc-ds:not(.home) #main .entry-content .uagb-desc-text{color:var(--djc-muted)!important;font-size:var(--djc-fs-lead)!important;line-height:1.7!important;margin-top:var(--djc-head-gap)!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-uagb-advanced-heading{margin-bottom:var(--djc-head-block)!important}
/* in-content heading scale: one size per level whatever the builder preset (has-large-font-size, gspb, uagb) */
body.djc-ds:not(.home) #main .entry-content :is(h1.wp-block-heading,h2.wp-block-heading,h1.gspb_heading,h2.gspb_heading,.entry-content > h1,.entry-content > h2):not(.djc-ds-lead):not(.djc-ds-dup){font-size:var(--djc-fs-h2)!important;font-weight:800!important;line-height:var(--djc-lh-head)!important}
body.djc-ds:not(.home) #main .entry-content :is(h3.wp-block-heading,.entry-content > h3):not(.djc-ds-lead){font-size:var(--djc-fs-h3)!important;line-height:1.35!important}
body.djc-ds.rtl:not(.home) #main .entry-content :is(h1,h2,h3):not(.djc-ds-lead){line-height:1.45!important}
/* long "headings" that are really intro sentences -> lead text */
body.djc-ds:not(.home) #main .entry-content .djc-ds-lead{font-family:var(--djc-font-body)!important;font-size:var(--djc-fs-lead)!important;font-weight:500!important;line-height:1.8!important;color:var(--djc-muted)!important;letter-spacing:0!important;max-width:760px;margin-inline:auto!important;text-wrap:pretty}
body.djc-ds:not(.home) #main .entry-content .wp-block-uagb-advanced-heading:has(> .djc-ds-lead){margin-top:var(--djc-head-gap)!important}
/* long German compounds (Datenschutzerklärung, Hospitationsanfrage) never overflow a phone */
body.djc-ds #main :is(h1,h2,h3,h4,.page-title){overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:689.98px){body.djc-ds:not(.home) #main .entry-content :is(h1.wp-block-heading,h2.wp-block-heading,.uagb-heading-text,.entry-content > h1,.entry-content > h2):not(.djc-ds-lead){font-size:clamp(22px,6.4vw,26px)!important}
  body.djc-ds #main .entry-content :is(h1,h2,h3){min-width:0}}
/* links */
body.djc-ds:not(.home) #main .entry-content :is(p,li,td,dd) a:not([class]){color:var(--djc-teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(20,120,156,.35)}
body.djc-ds:not(.home) #main .entry-content :is(p,li,td,dd) a:not([class]):hover{color:var(--djc-teal-d);text-decoration-color:currentColor}
/* lists */
body.djc-ds:not(.home) #main .entry-content :is(ul,ol):not([class]){padding-inline-start:1.3em}
body.djc-ds:not(.home) #main .entry-content :is(ul,ol):not([class]) li{margin-block:.35em}
body.djc-ds:not(.home) #main .entry-content ul:not([class]) li::marker{color:var(--djc-teal)}

/* ---------- 5. BUTTONS: primary / secondary / ghost ---------- */
body.djc-ds :is(.wp-block-button__link,.wp-element-button,.ct-button,.wpcf7-submit,.ff-btn-submit,input[type="submit"],button[type="submit"],.djc-btn,.djc-btn--primary):not(.ct-search-form *):not(.dj-wrap *):not(.wp-block-search__button){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 26px!important;border:0!important;border-radius:var(--djc-pill)!important;
  background:var(--djc-btn-grad)!important;color:#fff!important;font:700 15px/1 var(--djc-font-head)!important;letter-spacing:.01em;text-decoration:none!important;
  box-shadow:var(--djc-btn-shadow)!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease!important}
body.djc-ds :is(.wp-block-button__link,.wp-element-button,.ct-button,.wpcf7-submit,.ff-btn-submit,input[type="submit"],button[type="submit"]):not(.ct-search-form *):not(.dj-wrap *):hover{background:linear-gradient(180deg,#14789c,#0e5a75)!important;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 24px -10px rgba(14,90,117,.6)!important}
/* secondary (outline style) */
body.djc-ds :is(.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline,.djc-btn--secondary){background:rgba(255,255,255,.75)!important;color:var(--djc-teal-d)!important;box-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--djc-line-2)!important}
body.djc-ds :is(.is-style-outline>.wp-block-button__link,.djc-btn--secondary):hover{background:#fff!important;box-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--djc-teal),0 8px 18px -10px rgba(14,90,117,.4)!important}
/* ghost */
body.djc-ds .djc-btn--ghost{background:transparent!important;color:var(--djc-teal)!important;box-shadow:none!important;padding-inline:12px!important}
body.djc-ds .djc-btn--ghost:hover{background:rgba(20,120,156,.08)!important}

/* ---------- 6. CARDS (Apple-like glass, no backdrop-filter) ---------- */
body.djc-ds .djc-card-glass,
body.djc-ds:not(.home) #main .entry-content :is(.wp-block-group.has-background:not(.alignfull),.bank-info,.paypal-donate,.project-card,.wpcf7,.fluentform){
  background:var(--djc-glass)!important;border:1px solid var(--djc-glass-edge)!important;border-radius:var(--djc-r)!important;box-shadow:var(--djc-shadow)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* ---------- 7. FORMS (CF7, Fluent Forms, Blocksy search, comments) ---------- */
body.djc-ds:not(.home) #main :is(.wpcf7,.fluentform){max-width:820px;margin-inline:auto!important;padding:clamp(20px,4vw,40px)!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-uagb-container:has(.wpcf7),body.djc-ds:not(.home) #main .entry-content .wp-block-uagb-container:has(.wpcf7) > .uagb-container-inner-blocks-wrap{padding-block:0!important;background:none!important;box-shadow:none!important;border:0!important}
body.djc-ds #main :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],input[type="search"],input[type="password"],select,textarea):not(.dj-wrap *){
  min-height:48px;width:100%;padding:12px 14px!important;border:1px solid #cfe0e7!important;border-radius:var(--djc-r-sm)!important;background:rgba(255,255,255,.95)!important;
  color:var(--djc-ink)!important;font:400 16px/1.4 var(--djc-font-body)!important;box-shadow:inset 0 1px 2px rgba(10,48,66,.04)!important;transition:border-color .15s ease,box-shadow .15s ease}
body.djc-ds #main textarea{min-height:140px;line-height:1.6!important}
body.djc-ds #main :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus{outline:0!important;border-color:var(--djc-teal)!important;box-shadow:var(--djc-ring)!important}
body.djc-ds #main ::placeholder{color:#8aa0ad!important;opacity:1}
body.djc-ds #main :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--djc-teal);width:18px;height:18px;vertical-align:-3px;margin-inline-end:8px}
body.djc-ds #main :is(.wpcf7 label,.ff-el-input--label label,.ff-el-input--label,.rf-row label){display:block;margin:0 0 6px!important;color:var(--djc-ink)!important;font:600 14px/1.4 var(--djc-font-body)!important}
body.djc-ds #main .wpcf7 p,body.djc-ds #main .ff-el-group{margin:0 0 var(--djc-s4)!important}
body.djc-ds #main .wpcf7 h3,body.djc-ds #main .ff-el-section-title{font-size:var(--djc-fs-h3)!important;margin:var(--djc-s6) 0 var(--djc-s3)!important;color:var(--djc-ink)!important}
body.djc-ds #main .ff-el-section-break hr{border:0;border-top:1px solid var(--djc-line)!important}
body.djc-ds #main .ff-el-is-required.asterisk-right label:after,body.djc-ds #main .ff-el-is-required label:after{color:#c0392b!important}
body.djc-ds #main :is(.wpcf7-not-valid-tip,.error.text-danger){color:#b03a2e!important;font-size:13px!important;margin-top:4px}
body.djc-ds #main .wpcf7 form .wpcf7-response-output{margin:var(--djc-s4) 0 0!important;border-radius:var(--djc-r-sm);padding:12px 16px!important}
body.djc-ds #main .rf-consent-box,body.djc-ds #main .consent-scroll{background:var(--djc-tint-2)!important;border:1px solid var(--djc-line)!important;border-radius:var(--djc-r-sm)!important;padding:16px 18px!important;font-size:14px!important;color:var(--djc-text)!important}
body.djc-ds #main :is(.wpcf7-submit,.ff-btn-submit){margin-top:var(--djc-s3);min-width:180px}
/* embedded forms we can't style inside (easyVerein iframe): framed as a glass card */
body.djc-ds:not(.home) #main .entry-content iframe[src*="easyverein"]{display:block;width:100%;max-width:900px;margin-inline:auto;border:0;border-radius:var(--djc-r);background:#fff;box-shadow:var(--djc-shadow)}
body.djc-ds:not(.home) #main .entry-content iframe[src*="easyverein"]+br+small{display:block;text-align:center;margin-top:var(--djc-s3);font-size:12px;color:var(--djc-muted)}
body.djc-ds:not(.home) #main .entry-content iframe[src*="easyverein"]+br+small a{color:var(--djc-muted)!important}

/* ---------- 8. TABLES, QUOTES, MEDIA ---------- */
body.djc-ds:not(.home) #main .entry-content table{width:100%;border-collapse:separate;border-spacing:0;background:rgba(255,255,255,.8);border:1px solid var(--djc-line);border-radius:var(--djc-r-sm);overflow:hidden;font-size:15px}
body.djc-ds:not(.home) #main .entry-content :is(th,td){padding:12px 16px;border:0;border-bottom:1px solid var(--djc-line);text-align:start;vertical-align:top}
body.djc-ds:not(.home) #main .entry-content th{background:var(--djc-tint);color:var(--djc-ink);font-weight:700}
body.djc-ds:not(.home) #main .entry-content tr:last-child>td{border-bottom:0}
body.djc-ds:not(.home) #main .entry-content blockquote{margin:var(--djc-s6) 0;padding:20px 24px;border:0;border-inline-start:3px solid var(--djc-teal);background:var(--djc-tint-2);border-radius:0 var(--djc-r-sm) var(--djc-r-sm) 0;color:var(--djc-ink);font-size:var(--djc-fs-lead)}
body.djc-ds.rtl:not(.home) #main .entry-content blockquote{border-radius:var(--djc-r-sm) 0 0 var(--djc-r-sm)}
body.djc-ds:not(.home) #main .entry-content blockquote cite{display:block;margin-top:8px;color:var(--djc-muted);font-size:14px;font-style:normal}
body.djc-ds:not(.home) #main .entry-content :is(.wp-block-image,figure) img{border-radius:var(--djc-r-sm)}
body.djc-ds:not(.home) #main .entry-content figcaption{color:var(--djc-muted);font-size:13px;text-align:center}
body.djc-ds:not(.home) #main .entry-content hr:not([class*="uagb"]){border:0;height:1px;background:var(--djc-line);margin:var(--djc-s7) 0}

/* ---------- 9. PAGE FAMILIES ---------- */
/* plugin pages (committees, branches, activities, single post): same type + palette */
body.djc-ds .djc,body.djc-ds .djc--rtl{--djc-font:var(--djc-font-body);font-family:var(--djc-font-body)!important}
body.djc-ds .djc :is(.djc-hero__title,.djc-acts-hero__title,.djc-sp-hero__title){font-family:var(--djc-font-head)!important;font-size:var(--djc-fs-h1)!important;font-weight:800!important;color:var(--djc-ink)!important;line-height:1.3!important}
body.djc-ds .djc :is(.djc-section__title,.djc-section>h2,.djc-card>h2,.djc-goals h2){font-family:var(--djc-font-head)!important;font-size:var(--djc-fs-h3)!important;font-weight:800!important;color:var(--djc-ink)!important}
body.djc-ds .djc .djc-section{margin-top:var(--djc-s7)!important}
body.djc-ds .djc .djc-section>h2{margin-bottom:var(--djc-s5)!important}
body.djc-ds .djc :is(.djc-agrid,.djc-grid){gap:var(--djc-gap)!important}
body.djc-ds .djc :is(.djc-hero,.djc-acts-hero){border-radius:var(--djc-r-lg)!important}
/* single post */
body.djc-ds.single-post #main .djc-sp-hero__title{font-family:var(--djc-font-head)!important;color:var(--djc-ink)!important}
body.djc-ds.single-post #main .entry-content{font-size:var(--djc-fs-body)}
/* donations page (pasted HTML with its own <style>: `*{margin:0;padding:0}` + `body{padding:40px 20px;font:Inter}`) */
body.djc-ds #main .donation-header{margin:0 auto var(--djc-head-block)!important;max-width:760px}
body.djc-ds #main .donation-header h1{font-size:var(--djc-fs-h2)!important;color:var(--djc-ink)!important;margin:0 0 var(--djc-head-gap)!important;font-weight:800!important}
body.djc-ds #main .donation-header p{color:var(--djc-muted)!important;font-size:var(--djc-fs-lead)!important;line-height:1.75!important}
body.djc-ds #main :is(.bank-info,.paypal-donate){padding:clamp(24px,4vw,40px)!important;margin:0 auto var(--djc-s6)!important;max-width:900px;border-top:1px solid var(--djc-glass-edge)!important}
body.djc-ds #main :is(.bank-info,.paypal-donate)::before{display:none!important}
body.djc-ds #main :is(.bank-info,.paypal-donate) h2{font-size:var(--djc-fs-h3)!important;color:var(--djc-ink)!important;margin:0 0 var(--djc-s5)!important;font-weight:800!important}
body.djc-ds #main .bank-detail{background:rgba(232,243,246,.6)!important;border:1px solid var(--djc-line)!important;border-radius:var(--djc-r-sm)!important;padding:14px 18px!important;margin:0 0 10px!important;box-shadow:none!important;transform:none!important}
body.djc-ds #main .bank-detail-icon{display:none!important}
body.djc-ds #main .bank-detail-label{font-size:13px!important;color:var(--djc-muted)!important;margin-bottom:2px!important}
body.djc-ds #main .bank-detail-value{font-size:16px!important;color:var(--djc-ink)!important;font-weight:700!important;letter-spacing:.02em;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
body.djc-ds #main :is(.paypal-btn,.donate-btn,.paypal-donate a[href*="paypal"]){display:inline-flex!important;align-items:center;gap:8px;min-height:48px;padding:0 28px!important;border-radius:var(--djc-pill)!important;background:var(--djc-btn-grad)!important;color:#fff!important;font:700 15px/1 var(--djc-font-head)!important;box-shadow:var(--djc-btn-shadow)!important;border:0!important;text-decoration:none!important}
/* statute (pasted A4 document design: Amiri 12px, green/blue) */
body.djc-ds #main .entry-content .container:has(> .toc){max-width:var(--djc-narrow)!important;padding:clamp(24px,4vw,48px)!important;background:var(--djc-glass)!important;border:1px solid var(--djc-glass-edge)!important;border-radius:var(--djc-r)!important;box-shadow:var(--djc-shadow)!important;min-height:0!important}
body.djc-ds #main .container:has(> .toc) .header{border-bottom:1px solid var(--djc-line)!important;padding-bottom:var(--djc-s5)!important;margin-bottom:var(--djc-s6)!important}
body.djc-ds #main .container:has(> .toc) .header h1{display:none!important}
body.djc-ds #main .container:has(> .toc) :is(.organization){color:var(--djc-teal)!important;font-size:20px!important}
body.djc-ds #main .container:has(> .toc) .date{background:var(--djc-tint-2)!important;border:1px solid var(--djc-line)!important;border-radius:var(--djc-pill)!important;font-style:normal!important;color:var(--djc-muted)!important}
body.djc-ds #main .container:has(> .toc) .toc{background:var(--djc-tint-2)!important;border:1px solid var(--djc-line)!important;border-radius:var(--djc-r-sm)!important;padding:20px 24px!important}
body.djc-ds #main .container:has(> .toc) :is(.toc h2,.section-title){color:var(--djc-ink)!important;border-color:var(--djc-line-2)!important;font-size:var(--djc-fs-h4)!important;font-weight:800!important}
body.djc-ds #main .container:has(> .toc) .section-title{font-size:var(--djc-fs-h3)!important;margin-top:var(--djc-s7)!important;padding-bottom:var(--djc-s3)!important}
body.djc-ds #main .container:has(> .toc) :is(p,li,.subsection-content,.bullet-item,.sub-bullet-item){font-size:16px!important;line-height:1.9!important;color:var(--djc-text)!important}
body.djc-ds #main .container:has(> .toc) :is(.subsection-number){color:var(--djc-teal)!important;font-weight:800!important}
body.djc-ds #main .container:has(> .toc) a{color:var(--djc-teal)!important}
/* join (AR banner) */
body.djc-ds #main .banner-section{background:var(--djc-glass)!important;border:1px solid var(--djc-glass-edge)!important;border-radius:var(--djc-r-lg)!important;box-shadow:var(--djc-shadow)!important;max-width:var(--djc-content);margin:0 auto var(--djc-s7)!important;padding:clamp(24px,4vw,48px)!important;min-height:0!important;gap:var(--djc-s6)}
body.djc-ds #main .banner-title{color:var(--djc-ink)!important;text-shadow:none!important;border:0!important;font-size:var(--djc-fs-h2)!important;padding:0!important}
body.djc-ds #main .banner-desc{color:var(--djc-text)!important;font-size:var(--djc-fs-lead)!important;line-height:1.85!important}
body.djc-ds #main .banner-btn{border-radius:var(--djc-pill)!important;min-height:46px;padding:0 24px!important;display:inline-flex!important;align-items:center;font:700 15px/1 var(--djc-font-head)!important;box-shadow:none!important}
body.djc-ds #main .banner-btn.secondary{order:-1;background:var(--djc-btn-grad)!important;color:#fff!important;box-shadow:var(--djc-btn-shadow)!important}
body.djc-ds #main .banner-btn.secondary span{display:none}
body.djc-ds #main .banner-btn.primary{background:rgba(255,255,255,.8)!important;color:var(--djc-teal-d)!important;box-shadow:inset 0 0 0 1px var(--djc-line-2)!important}
/* board (Greenshift + Gutenberg): portrait cards */
body.djc-ds #main .entry-content .gspb_image img{box-shadow:none!important;background:none!important}
body.djc-ds #main .entry-content :is(.wp-block-group,.wp-block-column).has-border-color{border-color:var(--djc-glass-edge)!important;border-radius:var(--djc-r)!important;background:var(--djc-glass)!important;box-shadow:var(--djc-shadow)!important}
/* 404 */
body.djc-ds.error404 #main .ct-no-results{text-align:center;max-width:860px;margin:0 auto}
body.djc-ds.error404:not(.home) #main .hero-section .page-title{font-size:var(--djc-fs-h2)!important;max-width:none}
body.djc-ds.error404 #main .ct-search-form{max-width:520px;margin:var(--djc-s5) auto 0}
body.djc-ds.error404 #main .ct-search-form input{border-radius:var(--djc-pill)!important;padding-inline:20px!important}

@media (hover:hover){
  body.djc-ds .djc-card-glass:hover{box-shadow:var(--djc-shadow-hover)!important}
}
@media (prefers-reduced-motion:reduce){
  body.djc-ds *{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
}
body.djc-ds #main .ff-el-section-break hr{margin:var(--djc-s3) 0 var(--djc-s2)!important}
body.djc-ds #main .ff-el-section-break{margin:var(--djc-s6) 0 var(--djc-s4)!important}

/* ==========================================================================
   11. Header rhythm (all pages incl. homepage) — one inset for topbar + main bar,
       breathing room logo → nav → language at 1025–1240px, nav centred.
   ========================================================================== */
@media (min-width:1025px){
  body.djc-ds #djaev-header[data-dj-root][role=banner] :is(.dj-topbar-inner,.dj-main-inner){padding-inline:24px!important}
  body.djc-ds #djaev-header[data-dj-root][role=banner] .dj-main-inner{gap:20px!important}
}
@media (min-width:1025px) and (max-width:1240px){
  body.djc-ds #djaev-header[data-dj-root][role=banner] :is(.dj-topbar-inner,.dj-main-inner){padding-inline:16px!important}
  body.djc-ds #djaev-header[data-dj-root][role=banner] .dj-main-inner{gap:12px!important}
  body.djc-ds #djaev-header[data-dj-root][role=banner] .dj-nav{flex:1 1 auto!important;min-width:0!important;display:flex!important;justify-content:center!important}
}
/* mobile drawer: one row height for links and accordion buttons; one gap between CTA pills */
@media (max-width:1024px){
  body.djc-ds #djaev-header[data-dj-root][role=banner] :is(.dj-mlink,.dj-acc-btn){min-height:48px!important;padding-block:0!important;display:flex!important;align-items:center!important;box-sizing:border-box}
  body.djc-ds #djaev-header[data-dj-root][role=banner] .dj-mitem{margin:0!important}
  body.djc-ds #djaev-header[data-dj-root][role=banner] .dj-acc-btn[aria-expanded="false"] + .dj-acc{margin:0!important}
  body.djc-ds #djaev-header[data-dj-root][role=banner] .dj-acc-btn[aria-expanded="true"] + .dj-acc{margin:4px 0 12px!important}
}

/* full-width coloured sections (Gutenberg alignfull + has-background) stay sections, not edge-to-edge cards */
body.djc-ds:not(.home) #main .entry-content .wp-block-group.alignfull.has-background{background:transparent!important;box-shadow:none!important;border:0!important;padding-block:var(--djc-section) 0!important}
/* card titles: builder size presets inside cards/columns map to the card scale, not the section scale */
body.djc-ds:not(.home) #main .entry-content :is(h1,h2,h3,h4):is(.has-small-font-size,.has-medium-font-size):not(.djc-ds-lead),
body.djc-ds:not(.home) #main .entry-content :is(.wp-block-column.has-border-color,.wp-block-column.has-background,.wp-block-group.has-border-color,.djc-card-glass) :is(h1,h2,h3):not(.djc-ds-lead){font-size:var(--djc-fs-h3)!important;line-height:1.4!important;margin-bottom:var(--djc-s2)!important}
/* person cards: tighter builder margins, brand social icons */
body.djc-ds:not(.home) #main .entry-content .wp-block-column.has-border-color{padding:var(--djc-s6) var(--djc-s5)!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-column.has-border-color > .wp-block-group[style*="margin-bottom"]{margin-bottom:var(--djc-s5)!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-column.has-border-color > p{margin-bottom:var(--djc-s4)!important;color:var(--djc-muted)!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-social-links{margin-bottom:0!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background:var(--djc-teal-d)!important;color:#fff!important}
body.djc-ds:not(.home) #main .entry-content .wp-block-image.has-custom-border img{box-shadow:0 0 0 4px #fff,0 0 0 5px var(--djc-line-2)}
/* homepage hero (LTR): a touch more line-height so umlauts (Ä) clear the line above */
body.djc-ds :is(#djaev-home-de,#djaev-home-en).djaev-home h1.title{line-height:1.12!important}
/* section intro paragraphs: centred, readable width, space before the cards */
body.djc-ds:not(.home) #main .entry-content .wp-block-group.alignfull > p:not([class*="has-text-align"]):not(:empty){text-align:center;max-width:760px;margin-inline:auto!important;color:var(--djc-muted)!important}
body.djc-ds:not(.home) #main .entry-content :is(p,.wp-block-uagb-advanced-heading) + :is(.wp-block-columns,.gspb_row){margin-top:var(--djc-s6)!important}
