/* IDSUB Block-Theme — Komponenten, die theme.json nicht abbildet.
   Werte stammen aus dem IDSUB Design System (tokens/*.css). */

:root{
 --idsub-blue:var(--wp--preset--color--blue);
 --idsub-blue-700:var(--wp--preset--color--blue-700);
 --idsub-blue-800:var(--wp--preset--color--blue-800);
 --idsub-blue-100:var(--wp--preset--color--blue-100);
 --idsub-blue-50:var(--wp--preset--color--blue-50);
 --idsub-navy:var(--wp--preset--color--navy);
 --idsub-navy-900:var(--wp--preset--color--navy-900);
 --idsub-sun:var(--wp--preset--color--sun);
 --idsub-sun-600:var(--wp--preset--color--sun-600);
 --border-1:var(--wp--preset--color--neutral-200);
 --fg-1:var(--wp--preset--color--neutral-900);
 --fg-2:var(--wp--preset--color--neutral-700);
 --fg-3:var(--wp--preset--color--neutral-500);
 --font-display:var(--wp--preset--font-family--display);
 --font-sans:var(--wp--preset--font-family--sans);
 --ease-out:var(--wp--custom--ease--out);
 --dur-fast:var(--wp--custom--duration--fast);
 --dur-base:var(--wp--custom--duration--base);
 --focus-ring:var(--wp--custom--focus-ring);
}

body{-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
a{text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}

/* Template-Teile liegen ohne Abstand übereinander; Sektionen regeln ihn selbst. */
.wp-site-blocks > * + *{margin-block-start:0}
.idsub-main{margin-block-start:0}
.idsub-main > *{margin-block-start:0}

/* ---------- Typo-Helfer ---------- */
.eyebrow,.is-style-eyebrow{font:600 14px/1.2 var(--font-display);text-transform:uppercase;letter-spacing:var(--wp--custom--letter-spacing--caps);color:var(--idsub-blue)}
.is-style-lead,.idsub-lead{font-size:20px;line-height:1.5;color:var(--fg-2);max-width:56ch}
.idsub-display{font-size:var(--wp--preset--font-size--68)!important}
.idsub-small{font-size:14px;line-height:1.5}

/* ---------- Buttons ---------- */
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--wp--custom--control--md);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast)}
.wp-block-button__link:active{transform:translateY(1px)}
.wp-block-button.is-size-lg .wp-block-button__link{min-height:var(--wp--custom--control--lg);padding:14px 24px;font-size:17px}
.wp-block-button.is-size-sm .wp-block-button__link{min-height:var(--wp--custom--control--sm);padding:8px 12px;font-size:14px}
.wp-block-button.is-style-accent .wp-block-button__link{background:var(--idsub-sun);color:var(--idsub-navy-900)}
.wp-block-button.is-style-accent .wp-block-button__link:hover{background:var(--idsub-sun-600);color:var(--idsub-navy-900)}
.wp-block-button.is-style-secondary .wp-block-button__link{background:var(--idsub-navy);color:#fff}
.wp-block-button.is-style-secondary .wp-block-button__link:hover{background:var(--idsub-navy-900)}
.wp-block-button.is-style-inverse .wp-block-button__link{background:#fff;color:var(--idsub-navy)}
.wp-block-button.is-style-inverse .wp-block-button__link:hover{background:var(--idsub-blue-50);color:var(--idsub-navy)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--idsub-blue);border:1px solid var(--idsub-blue);padding:11px 18px}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--idsub-blue-50);color:var(--idsub-blue)}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:var(--idsub-navy)}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:var(--idsub-blue-50)}

/* Icons (Lucide) per Klasse am Button: has-icon-<name> = links, has-icon-after-<name> = rechts */
[class*="has-icon-"] .wp-block-button__link::before,
[class*="has-icon-after-"] .wp-block-button__link::after,
.idsub-icon::before{font-family:"lucide";font-weight:400;font-size:1.15em;line-height:1;-webkit-font-smoothing:antialiased}
[class*="has-icon-after-"] .wp-block-button__link::before{content:none}
.has-icon-heart .wp-block-button__link::before{content:"\e0f5"}
.has-icon-after-arrow-right .wp-block-button__link::after{content:"\e04d"}
.has-icon-after-send .wp-block-button__link::after{content:"\e156"}
.idsub-icon-clock::before{content:"\e08b"}
.idsub-icon-map-pin::before{content:"\e115"}
.idsub-icon-mail::before{content:"\e113"}
.idsub-icon-phone::before{content:"\e137"}
.idsub-icon::before{margin-right:6px;vertical-align:-2px}

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part{position:sticky;top:0;z-index:20}
.admin-bar .wp-site-blocks > header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar .wp-site-blocks > header.wp-block-template-part{top:46px}}
@media (max-width:600px){.admin-bar .wp-site-blocks > header.wp-block-template-part{top:0}}
.idsub-site-header{background:#fff;border-bottom:1px solid var(--border-1)}
.idsub-site-header__inner{min-height:var(--wp--custom--header-height);gap:32px}
.idsub-logo{margin:0}
.idsub-logo img{height:60px;width:auto;display:block}
.idsub-nav{margin-left:auto}
.idsub-nav .wp-block-navigation__container{gap:28px}
.idsub-nav .wp-block-navigation-item__content{color:var(--idsub-navy);text-decoration:none;padding:31px 0 28px!important;border-bottom:3px solid transparent;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.idsub-nav .wp-block-navigation-item__content:hover,
.idsub-nav .current-menu-item > .wp-block-navigation-item__content,
.idsub-nav [aria-current="page"]{color:var(--idsub-blue);border-bottom-color:var(--idsub-blue)}
.idsub-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:8px 0!important;border:0;font-size:20px}
@media (max-width:600px){
 .idsub-logo img{height:48px}
 .idsub-site-header__inner{min-height:68px;gap:12px}
 .idsub-site-header .wp-block-button__link{padding:8px 12px;font-size:14px}
}

/* ---------- Bänder / Sektionen ---------- */
.idsub-section{padding-top:var(--wp--preset--spacing--20)}
.idsub-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.idsub-section-head .eyebrow{margin-bottom:8px}
.idsub-section-head h2{margin:0}

/* Hero blau */
.idsub-hero{padding-top:72px;padding-bottom:72px;color:#fff}
.idsub-hero .wp-block-columns{gap:48px;margin:0}
.idsub-hero .eyebrow{color:var(--idsub-sun);margin-bottom:16px}
.idsub-hero h1{color:#fff;margin:0}
.idsub-hero .idsub-lead{color:rgba(255,255,255,.92);max-width:44ch;margin-top:20px}
.idsub-hero .wp-block-buttons{margin-top:32px;gap:12px}
@media (max-width:781px){.idsub-hero{padding-top:48px;padding-bottom:48px}}

/* Blauer Block mit weißem Inset (Logo-Konstruktion) */
.idsub-frame,.wp-block-group.is-style-frame{background:#fff;padding:var(--wp--custom--frame)!important}
.wp-block-group.is-style-frame{outline:var(--wp--custom--frame) solid var(--idsub-blue)}
.idsub-frame .wp-block-image,.idsub-frame figure{margin:0}
.idsub-photo{margin:0}
.idsub-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:0}

/* Navy-Leiste */
.idsub-strip{padding-top:28px;padding-bottom:28px;color:#fff}
.idsub-strip .wp-block-columns{gap:24px;margin:0}
.idsub-strip .wp-block-column{display:flex;flex-direction:column;gap:4px}
.idsub-strip .idsub-strip__value{font:700 30px/1 var(--font-display);text-transform:uppercase;margin:0;color:#fff}
.idsub-strip .idsub-strip__label{font-size:14px;line-height:1.5;color:rgba(255,255,255,.8);margin:0}
@media (max-width:781px){.idsub-strip .wp-block-columns{gap:20px}}

/* Seitenkopf hellblau */
.idsub-pagehead{padding-top:56px;padding-bottom:56px;border-bottom:1px solid var(--idsub-blue-100)}
.idsub-pagehead .eyebrow{margin-bottom:10px}
.idsub-pagehead h1{margin:0}
.idsub-pagehead .idsub-lead,.idsub-pagehead .wp-block-post-excerpt{margin-top:14px}
.idsub-pagehead .wp-block-post-date{margin-top:12px;font-size:14px;color:var(--fg-3)}

/* ---------- Karten ---------- */
.idsub-card,.wp-block-group.is-style-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-1);border-radius:var(--wp--custom--radius--card);overflow:hidden;box-shadow:var(--wp--preset--shadow--1);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);height:100%}
.idsub-card:has(a:hover),.idsub-card:focus-within{box-shadow:var(--wp--preset--shadow--2);transform:translateY(-2px)}
.wp-block-group.is-style-card-tint{background:var(--idsub-blue-50);border-radius:var(--wp--custom--radius--card);padding:var(--wp--preset--spacing--6)}
.wp-block-group.is-style-card-navy{background:var(--idsub-navy);color:#fff;border-radius:var(--wp--custom--radius--card);padding:var(--wp--preset--spacing--6)}
.wp-block-group.is-style-card-navy :is(h2,h3,h4){color:#fff}
.wp-block-group.is-style-card-navy .eyebrow,.wp-block-group.is-style-card-navy .is-style-eyebrow{color:var(--idsub-sun)}
.idsub-card > .wp-block-image,.idsub-card > .wp-block-post-featured-image{margin:0;aspect-ratio:16/10;background:var(--wp--preset--color--neutral-100);overflow:hidden}
.idsub-card > .wp-block-image img,.idsub-card > .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;display:block}
.idsub-card__body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.idsub-card__body > *{margin:0!important}
.idsub-card__title,.wp-block-post-title.idsub-card__title{font-family:var(--font-sans);text-transform:none;letter-spacing:0;font-size:20px;line-height:1.2;font-weight:600}
.idsub-card__title a{color:var(--idsub-navy);text-decoration:none}
.idsub-card__title a::after{content:"";position:absolute;inset:0}
.idsub-card{position:relative}
.idsub-card__text{font-size:14px;line-height:1.5;color:var(--fg-2)}
.idsub-card__footer{margin-top:auto!important;padding-top:12px}
.idsub-cards{gap:24px!important}
.idsub-cards .wp-block-column{display:flex}
.idsub-cards.wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.idsub-cards.wp-block-post-template{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.idsub-cards.wp-block-post-template{grid-template-columns:1fr}}

/* ---------- Badges ---------- */
.idsub-badge,.is-style-badge{display:inline-flex!important;align-items:center;gap:6px;width:fit-content;height:22px;padding:0 10px;border-radius:999px;background:var(--idsub-blue-100);color:var(--idsub-blue-800);font:600 12px/1 var(--font-sans);letter-spacing:.02em;white-space:nowrap;margin:0}
.idsub-badge.is-dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.idsub-badge.is-success{background:var(--wp--preset--color--green-100);color:var(--wp--preset--color--green-600)}
.idsub-badge.is-warning{background:var(--wp--preset--color--amber-100);color:var(--wp--preset--color--amber-600)}
.idsub-badge.is-danger{background:var(--wp--preset--color--red-100);color:var(--wp--preset--color--red-600)}
.idsub-badge.is-neutral{background:var(--wp--preset--color--neutral-100);color:var(--fg-2)}
.idsub-badge a{color:inherit;text-decoration:none}

/* ---------- Termine ---------- */
.idsub-termine{border-top:1px solid var(--border-1)}
.idsub-termin{display:flex;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-1);margin:0!important}
.idsub-termin__date{width:72px;height:72px;flex:none;background:var(--idsub-blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px!important}
.idsub-termin__date > *{margin:0!important}
.idsub-termin__day{font:700 30px/1 var(--font-display);color:#fff}
.idsub-termin__month{font:600 13px/1 var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:#fff}
.idsub-termin__body{flex:1;min-width:0}
.idsub-termin__body > *{margin:0!important}
.idsub-termin__title{font-size:20px;line-height:1.2;font-weight:600;color:var(--idsub-navy)}
.idsub-termin__meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px!important;font-size:14px;line-height:1.5;color:var(--fg-3)}
.idsub-termin__meta > *{margin:0!important}
@media (max-width:600px){.idsub-termin{gap:16px;flex-wrap:wrap}.idsub-termin .idsub-badge{margin-left:88px!important}}

/* ---------- Ehrenamt-Split ---------- */
.idsub-split{gap:0!important;background:var(--idsub-blue-50);margin:0}
.idsub-split > .wp-block-column{margin:0}
.idsub-split .idsub-photo,.idsub-split .idsub-photo img{height:100%}
.idsub-split__content{padding:48px!important;display:flex;flex-direction:column;justify-content:center;gap:16px}
.idsub-split__content > *{margin:0!important}
.idsub-split__content p:not(.eyebrow){color:var(--fg-2)}
@media (max-width:781px){.idsub-split__content{padding:32px 24px!important}}

/* ---------- Footer Navy ---------- */
.idsub-footer{color:#fff;margin-top:var(--wp--preset--spacing--20)}
.idsub-footer__top{padding-top:56px;padding-bottom:32px}
.idsub-footer__top .wp-block-columns{gap:32px;margin:0}
.idsub-footer .wp-block-column{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}
.idsub-footer .wp-block-column > *{margin:0!important}
.idsub-footer__name{font:600 22px/1.15 var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:#fff}
.idsub-footer__muted{color:rgba(255,255,255,.75);max-width:34ch}
.idsub-footer .eyebrow{color:var(--idsub-sun)}
.idsub-footer a{color:rgba(255,255,255,.85);text-decoration:none}
.idsub-footer a:hover{color:#fff;text-decoration:underline}
.idsub-footer__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.idsub-footer__list li{margin:0}
.idsub-footer .wp-block-social-links{gap:8px;margin-top:4px!important}
.idsub-footer .wp-block-social-links .wp-social-link{background:#fff!important;color:var(--idsub-navy)!important;border-radius:var(--wp--custom--radius--control)}
.idsub-footer .wp-block-social-links .wp-social-link a{color:var(--idsub-navy)!important;padding:7px}
.idsub-footer .wp-block-social-links .wp-social-link:hover{background:var(--idsub-blue-50)!important;transform:none}
.idsub-footer__bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;padding-bottom:28px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.7);gap:24px}
.idsub-footer__bottom > *{margin:0!important}
.idsub-footer__bottom a{color:rgba(255,255,255,.7)}

/* ---------- Beitragsinhalte ---------- */
.idsub-content{padding-top:var(--wp--preset--spacing--16)}
.idsub-content .wp-block-post-featured-image{margin-bottom:var(--wp--preset--spacing--8)}
.wp-block-query-pagination{margin-top:var(--wp--preset--spacing--12);gap:8px;font-weight:600}
.wp-block-query-pagination a{text-decoration:none}
.wp-block-query-pagination-numbers .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:4px}
.wp-block-query-pagination-numbers .current{background:var(--idsub-blue);color:#fff}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Inhalte v1.1: Leitbild, Programme, Team, Siegel, Rechtstexte ---------- */
.idsub-leitbild{gap:48px!important}
.idsub-leitbild .eyebrow{margin-bottom:8px}
.idsub-leitbild h2{margin:0 0 16px}
.idsub-leitbild p{color:var(--fg-2)}

.idsub-card__logo{margin:0 0 4px!important}
.idsub-card__logo img{height:44px;width:auto;display:block}
.idsub-card.is-large .idsub-card__title{font-size:24px}
.idsub-card.is-large .idsub-card__text{font-size:16px;line-height:1.65}
.idsub-cards.is-four{margin-top:24px}
.idsub-cards.is-four .idsub-card__title{font-size:18px}
.idsub-cards .wp-block-column > .wp-block-group{width:100%}

.idsub-split.is-reversed{background:var(--wp--preset--color--neutral-50)}
.idsub-split__logo{margin:0!important}
.idsub-split__logo img{height:48px;width:auto}
.idsub-facts{padding-left:1.2em;margin:0;color:var(--fg-2)}
.idsub-facts li{margin:4px 0}
.idsub-checklist{list-style:none;padding:0;margin:0}
.idsub-checklist li{position:relative;padding-left:28px;margin:8px 0;color:var(--fg-2)}
.idsub-checklist li::before{content:"\e070";font-family:"lucide";position:absolute;left:0;top:1px;color:var(--idsub-blue)}

.idsub-termine__hint{margin-top:16px;font-size:14px;color:var(--fg-3)}
.idsub-termin__title a{color:var(--idsub-navy);text-decoration:none}
.idsub-termin__title a:hover{text-decoration:underline}

.idsub-team{gap:24px!important}
.idsub-person{display:flex;flex-direction:column;gap:2px}
.idsub-person > *{margin:0!important}
.idsub-person .idsub-photo{margin-bottom:12px!important;background:#fff;padding:var(--wp--custom--frame);outline:1px solid var(--border-1)}
.idsub-person__name{font-weight:600;font-size:18px;color:var(--idsub-navy)}
.idsub-person__role{font-size:14px;color:var(--fg-3)}
.idsub-team + p{margin-top:24px}

.idsub-seals-wrap{border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);padding:40px 0}
.idsub-seals{gap:48px!important;margin:0}
.idsub-seals .wp-block-column > *{margin:0 0 10px}
.idsub-seal{margin:0 0 12px!important}
.idsub-seal img{height:72px;width:auto;display:block}
.idsub-seal.is-inline{margin-bottom:32px!important}
.idsub-seal.is-inline img{height:90px}

.is-style-card-tint,.is-style-card-navy{height:100%}
.is-style-card-tint > *,.is-style-card-navy > *{margin-top:0;margin-bottom:12px}
.is-style-card-navy a{color:#fff}
.is-style-card-navy .wp-block-button.is-style-accent .wp-block-button__link{color:var(--idsub-navy-900)}

.idsub-prose{padding-bottom:var(--wp--preset--spacing--8)}
.idsub-prose h2{font-size:28px;margin-top:40px}
.idsub-prose h3{font-size:20px;margin-top:32px;margin-bottom:8px}
.idsub-prose h2 + p,.idsub-prose h3 + p{margin-top:8px}
.idsub-prose ul{padding-left:1.2em}
.idsub-prose li{margin:6px 0}

.idsub-footer__list a{display:inline-block}
@media (max-width:781px){.idsub-seals{gap:32px!important}.idsub-leitbild{gap:24px!important}}
/* Seitenkopf: Lead linksbündig an der Inhaltskante statt zentriert */
.idsub-pagehead > .idsub-lead{margin-left:max(0px,calc((100% - 1200px) / 2))!important;margin-right:auto!important}
.idsub-seal img{height:96px}
.idsub-seals .idsub-seal img{height:110px}
