/*
 * IFB Globales Markenlogo & Seitenlayout V7.6
 *
 * Ziel:
 * - Logo und Navigation bleiben #0000AA.
 * - Inhaltsbereiche verwenden warme Neutralfarben statt großflächigem Blau.
 * - Alle IFB-Seitentemplates erhalten dieselben Breiten, Abstände,
 *   Kartenformen, Buttons und Kontrastregeln.
 *
 * Farbrollen:
 * Markenblau       #0000AA
 * Taupe-Akzent     #7A5C35
 * Sand-Akzent      #B08A55
 * Anthrazit        #1D2738
 * Fließtext        #4B5565
 * Sekundärtext     #667085
 * Warmes Hell      #F8F5F0
 * Neutrales Hell   #F5F6F8
 * Kartenlinie      #DED7CD
 * Dunkle Fläche    #2F3440
 */

:root,
body {
    --ifb-logo-blue: #0000AA;
    --ifb-menu-blue: #0000AA;

    --ifb-accent: #7A5C35;
    --ifb-accent-soft: #B08A55;
    --ifb-accent-hover: #5F4627;

    --ifb-dark: #2F3440;
    --ifb-ink: #1D2738;
    --ifb-text: #4B5565;
    --ifb-muted: #667085;

    --ifb-warm: #F8F5F0;
    --ifb-warm-2: #F3ECE2;
    --ifb-neutral: #F5F6F8;
    --ifb-line: #DED7CD;
    --ifb-white: #FFFFFF;

    /* Vorhandene IFB-Variablen rollenbasiert abbilden. */
    --ifb-brand: var(--ifb-logo-blue);
    --ifb-blue: var(--ifb-logo-blue);
    --ifb-navy: var(--ifb-ink);

    --ifb-v5-brand: var(--ifb-accent);
    --ifb-v5-brand-dark: var(--ifb-accent-hover);
    --ifb-v5-navy: var(--ifb-ink);
    --ifb-v5-navy-2: var(--ifb-dark);
    --ifb-v5-line: var(--ifb-line);
    --ifb-v5-blue-soft: var(--ifb-warm);

    --ifb-v2-navy: var(--ifb-ink);
    --ifb-v2-blue: var(--ifb-accent);
    --ifb-v2-blue-dark: var(--ifb-accent-hover);

    --pn-navy: var(--ifb-ink);
    --pn-brand: var(--ifb-accent);
    --pn-line: var(--ifb-line);

    --ph-navy: var(--ifb-ink);
    --ph-blue: var(--ifb-accent);
    --ph-line: var(--ifb-line);

    --online-navy: var(--ifb-ink);
    --online-blue: var(--ifb-accent);

    --lt-navy: var(--ifb-ink);
    --lt-blue: var(--ifb-accent);

    --ifb-bridge-navy: var(--ifb-ink);
    --ifb-bridge-blue: var(--ifb-accent);
}

/* ================================================================
   1. GLOBALE SEITENBREITE UND TYPOGRAFIE
   ================================================================ */

html {
    scroll-behavior: smooth;
}

body.ifb-brand-blue-v7 {
    color: var(--ifb-text);
    background: #fff;
    font-family: Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.ifb-brand-blue-v7 .site.grid-container,
body.ifb-brand-blue-v7 .site-content,
body.ifb-brand-blue-v7 .content-area,
body.ifb-brand-blue-v7 #primary,
body.ifb-brand-blue-v7 #main {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.ifb-brand-blue-v7 .site-content {
    padding: 0;
}

body.ifb-brand-blue-v7 .widget-area {
    display: none;
}

:is(
    .ifb-v5-shell,
    .ifb-course-shell,
    .ifb-pn-shell,
    .ifb-ph-shell,
    .ifb-online-shell,
    .ifb-lt-shell,
    .ifb-shell,
    .ifb-news-shell,
    .ifb-legal-shell,
    .ifb-partner-shell
) {
    width: min(calc(100% - 40px), 1180px) !important;
    margin-inline: auto !important;
}

body.ifb-brand-blue-v7 :where(h1,h2,h3,h4,h5,h6) {
    color: var(--ifb-ink);
    font-family: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 800;
    letter-spacing: -.025em;
}

body.ifb-brand-blue-v7 :where(p,li,dd,dt,td,th) {
    color: inherit;
}

body.ifb-brand-blue-v7 :where(.ifb-v5-lead,.ifb-course-lead,.ifb-online-lead,.ifb-ph-lead,.ifb-news-lead) {
    color: var(--ifb-text);
    font-size: clamp(17px, 1.5vw, 20px);
    line-height: 1.7;
}

body.ifb-brand-blue-v7 :where(.ifb-v5-eyebrow,.ifb-course-eyebrow,.ifb-pn-eyebrow,.ifb-ph-eyebrow,.ifb-online-eyebrow,.ifb-news-eyebrow,.ifb-eyebrow) {
    color: var(--ifb-accent);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

/* ================================================================
   2. LOGO, TOPBAR UND NAVIGATION
   ================================================================ */

.ifb-brand-v7 {
    width: auto !important;
    max-width: min(100%, 340px) !important;
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
}

.ifb-brand-v7 picture,
.ifb-brand-v7 img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 78px !important;
    display: block !important;
    object-fit: contain !important;
    filter: none !important;
}

.ifb-topbar {
    color: #fff !important;
    background: var(--ifb-menu-blue) !important;
}

.ifb-topbar :where(a,span,strong,p) {
    color: #fff !important;
}

.site-header,
.main-navigation,
.inside-header,
.inside-navigation {
    background: #fff !important;
}

.main-navigation .main-nav ul li > a,
.main-navigation .menu-bar-item > a,
.menu-toggle {
    color: var(--ifb-ink) !important;
    background: transparent !important;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li.current_page_item > a,
.main-navigation .menu-bar-item:hover > a {
    color: var(--ifb-menu-blue) !important;
}

.main-navigation .main-nav ul li.ifb-nav-cta > a {
    color: #fff !important;
    border-color: var(--ifb-menu-blue) !important;
    background: var(--ifb-menu-blue) !important;
}

.main-navigation .sub-menu {
    border: 1px solid #E2E5EC;
    border-radius: 12px;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(29,39,56,.10);
}

.main-navigation .sub-menu a {
    color: var(--ifb-ink) !important;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu .current-menu-item > a {
    color: var(--ifb-menu-blue) !important;
    background: #F4F4FF !important;
}

.ifb-tpb {
    border-color: #D7D8ED !important;
    background: #fff !important;
}

.ifb-tpb__link {
    color: var(--ifb-ink) !important;
}

.ifb-tpb__link.is-current {
    color: #fff !important;
    background: var(--ifb-menu-blue) !important;
}

/* ================================================================
   3. EINHEITLICHE SEKTIONSABSTÄNDE
   ================================================================ */

:is(
    .ifb-v5-section,
    .ifb-course-section,
    .ifb-pn-section,
    .ifb-ph-timeline-section,
    .ifb-ph-archive-section,
    .ifb-ph-context-section,
    .ifb-online-benefits-section,
    .ifb-online-offers-section,
    .ifb-online-process-section,
    .ifb-online-requirements-section,
    .ifb-online-faq-section,
    .ifb-online-shortcode-section,
    .ifb-lt-section,
    .ifb-news-featured-section,
    .ifb-news-list-section,
    .ifb-news-related-section,
    .ifb-news-empty-section,
    .ifb-section,
    .ifb-legal-section
) {
    padding-block: clamp(64px, 7vw, 96px);
}

:is(
    .ifb-v5-section--compact,
    .ifb-course-section--compact,
    .ifb-ph-closing-section,
    .ifb-news-cta-section
) {
    padding-block: clamp(42px, 5vw, 68px);
}

/* Abwechselnde helle Hintergründe statt großflächigem Blau. */
:is(
    .ifb-v5-section--soft,
    .ifb-course-section--soft,
    .ifb-pn-section--soft,
    .ifb-ph-archive-section,
    .ifb-online-process-section,
    .ifb-online-offers-section,
    .ifb-section--soft,
    .ifb-news-list-section,
    .ifb-news-related-section,
    .ifb-legal-section
) {
    color: var(--ifb-text) !important;
    background: var(--ifb-neutral) !important;
}

:is(
    .ifb-v5-section--blue-soft,
    .ifb-course-section--blue-soft,
    .ifb-online-course-section,
    .ifb-online-bsk-section,
    .ifb-lt-section--integrationskurse,
    .ifb-lt-section--berufssprachkurse,
    .ifb-lt-section--azav,
    .ifb-ifb-sprachen-bridge-section,
    .ifb-integration-exam-strip,
    .ifb-exams-notice,
    .ifb-section--tint
) {
    color: var(--ifb-text) !important;
    background: var(--ifb-warm) !important;
}

/* ================================================================
   4. HERO-BEREICHE AUF ALLEN UNTERSEITEN
   Startseiten-Panorama V6 bleibt unverändert.
   ================================================================ */

:is(
    .ifb-courses-hero,
    .ifb-course-hero,
    .ifb-integration-hero,
    .ifb-vocational-hero,
    .ifb-company-hero,
    .ifb-tutoring-hero,
    .ifb-company-advice-hero,
    .ifb-advice-hero,
    .ifb-course-advice-hero,
    .ifb-exams-hero,
    .ifb-contact-hero,
    .ifb-about-hero,
    .ifb-locations-hero,
    .ifb-career-hero,
    .ifb-application-hero,
    .ifb-job-hero,
    .ifb-ph-hero,
    .ifb-pn-hero,
    .ifb-online-hero,
    .ifb-news-hero,
    .ifb-news-archive-hero,
    .ifb-article-hero,
    .ifb-legal-hero,
    .ifb-projects-hero,
    .ifb-qualification-hero,
    .ifb-erasmus-hero
) {
    padding: clamp(28px, 4vw, 54px) 0 clamp(62px, 7vw, 96px) !important;
    color: var(--ifb-text) !important;
    border-bottom: 1px solid #E8E2DA;
    background:
        radial-gradient(circle at 92% 8%, rgba(176,138,85,.10), transparent 31%),
        linear-gradient(135deg, #fff 0%, #F8F5F0 100%) !important;
}

:is(
    .ifb-courses-hero,
    .ifb-course-hero,
    .ifb-integration-hero,
    .ifb-vocational-hero,
    .ifb-company-hero,
    .ifb-tutoring-hero,
    .ifb-company-advice-hero,
    .ifb-advice-hero,
    .ifb-course-advice-hero,
    .ifb-exams-hero,
    .ifb-contact-hero,
    .ifb-about-hero,
    .ifb-locations-hero,
    .ifb-career-hero,
    .ifb-application-hero,
    .ifb-job-hero,
    .ifb-ph-hero,
    .ifb-pn-hero,
    .ifb-online-hero,
    .ifb-news-hero,
    .ifb-news-archive-hero,
    .ifb-article-hero,
    .ifb-legal-hero,
    .ifb-projects-hero,
    .ifb-qualification-hero,
    .ifb-erasmus-hero
) :where(h1,h2,h3,h4) {
    color: var(--ifb-ink) !important;
}

:is(
    .ifb-course-hero__grid,
    .ifb-pn-hero__grid,
    .ifb-online-hero-grid,
    .ifb-news-hero__grid,
    .ifb-lnwbb-hero__grid,
    .ifb-job-hero__grid,
    .ifb-hero__grid
) {
    gap: clamp(42px, 6vw, 84px) !important;
}

/* Einheitliche Bilderrahmen. */
:is(
    .ifb-v5-image-frame,
    .ifb-v5-about__media,
    .ifb-course-hero__media,
    .ifb-exams-hero__media,
    .ifb-ph-hero__media,
    .ifb-news-featured__media,
    .ifb-article-featured-image,
    .ifb-location-card-v1__media,
    .ifb-project-card__media
) {
    overflow: hidden;
    border: 1px solid #E2D9CD !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(47,52,64,.10) !important;
}

:is(
    .ifb-v5-image-frame,
    .ifb-v5-about__media,
    .ifb-course-hero__media,
    .ifb-exams-hero__media,
    .ifb-ph-hero__media,
    .ifb-news-featured__media,
    .ifb-article-featured-image,
    .ifb-location-card-v1__media,
    .ifb-project-card__media
) img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ================================================================
   5. EINHEITLICHE KARTEN
   ================================================================ */

:is(
    .ifb-v5-card,
    .ifb-v5-service-card,
    .ifb-v5-location-card,
    .ifb-v5-city-card,
    .ifb-course-card,
    .ifb-course-audience-card,
    .ifb-course-level-card,
    .ifb-courses-offer-card,
    .ifb-courses-goal-card,
    .ifb-courses-advice-card,
    .ifb-exams-card,
    .ifb-advice-path-card,
    .ifb-advice-compare-card,
    .ifb-company-format-card,
    .ifb-company-offer__card,
    .ifb-tutoring-focus-card,
    .ifb-ph-card,
    .ifb-pn-card,
    .ifb-online-offer-card,
    .ifb-lt-card,
    .ifb-partner-card,
    .ifb-contact-topic-card,
    .ifb-contact-location-card,
    .ifb-location-card,
    .ifb-location-card-v1,
    .ifb-news-card,
    .ifb-career-job-card,
    .ifb-about-value-card,
    .ifb-about-offer-card,
    .ifb-project-card,
    .ifb-project-overview-card,
    .ifb-qualification-module-grid > *,
    .ifb-erasmus-focus-grid > *,
    .ifb-legal-nav-card,
    .ifb-holiday-card
) {
    color: var(--ifb-text) !important;
    border: 1px solid var(--ifb-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(47,52,64,.065) !important;
}

:is(
    .ifb-v5-card,
    .ifb-v5-service-card,
    .ifb-v5-location-card,
    .ifb-v5-city-card,
    .ifb-course-card,
    .ifb-course-audience-card,
    .ifb-course-level-card,
    .ifb-courses-offer-card,
    .ifb-courses-goal-card,
    .ifb-courses-advice-card,
    .ifb-exams-card,
    .ifb-advice-path-card,
    .ifb-advice-compare-card,
    .ifb-company-format-card,
    .ifb-company-offer__card,
    .ifb-tutoring-focus-card,
    .ifb-ph-card,
    .ifb-pn-card,
    .ifb-online-offer-card,
    .ifb-lt-card,
    .ifb-partner-card,
    .ifb-contact-topic-card,
    .ifb-contact-location-card,
    .ifb-location-card,
    .ifb-location-card-v1,
    .ifb-news-card,
    .ifb-career-job-card,
    .ifb-about-value-card,
    .ifb-about-offer-card,
    .ifb-project-card,
    .ifb-project-overview-card,
    .ifb-legal-nav-card
) :where(h2,h3,h4,strong,summary) {
    color: var(--ifb-ink) !important;
}

:is(
    .ifb-v5-card,
    .ifb-v5-service-card,
    .ifb-v5-location-card,
    .ifb-v5-city-card,
    .ifb-course-card,
    .ifb-course-audience-card,
    .ifb-course-level-card,
    .ifb-courses-offer-card,
    .ifb-courses-goal-card,
    .ifb-courses-advice-card,
    .ifb-exams-card,
    .ifb-advice-path-card,
    .ifb-advice-compare-card,
    .ifb-company-format-card,
    .ifb-company-offer__card,
    .ifb-tutoring-focus-card,
    .ifb-ph-card,
    .ifb-pn-card,
    .ifb-online-offer-card,
    .ifb-lt-card,
    .ifb-partner-card,
    .ifb-contact-topic-card,
    .ifb-contact-location-card,
    .ifb-location-card,
    .ifb-location-card-v1,
    .ifb-news-card,
    .ifb-career-job-card,
    .ifb-about-value-card,
    .ifb-about-offer-card,
    .ifb-project-card,
    .ifb-project-overview-card,
    .ifb-legal-nav-card
) :where(p,li,small) {
    color: var(--ifb-text) !important;
}

:is(
    .ifb-v5-card,
    .ifb-course-card,
    .ifb-courses-offer-card,
    .ifb-exams-card,
    .ifb-ph-card,
    .ifb-pn-card,
    .ifb-online-offer-card,
    .ifb-lt-card,
    .ifb-contact-topic-card,
    .ifb-news-card,
    .ifb-career-job-card
):hover {
    border-color: #C9B99F !important;
    box-shadow: 0 16px 38px rgba(47,52,64,.10) !important;
    transform: translateY(-2px);
}

/* ================================================================
   6. BUTTONS UND ICONS
   ================================================================ */

/* Navigation bleibt blau, Inhaltsbuttons werden Taupe. */
:is(
    .ifb-v5-button--primary,
    .ifb-course-button--primary,
    .ifb-online-button,
    .ifb-ph-button--primary,
    .ifb-pn-button--primary,
    .ifb-contact-button--primary,
    .ifb-contact-form__submit,
    .ifb-application-form__submit,
    .ifb-news-button,
    .ifb-regional-network-card__button,
    .wp-block-button:not(.is-style-outline) .wp-block-button__link,
    .site-content input[type="submit"],
    .site-content button[type="submit"]
) {
    min-height: 48px;
    padding-inline: 20px;
    color: #fff !important;
    border: 1px solid var(--ifb-accent) !important;
    border-radius: 10px !important;
    background: var(--ifb-accent) !important;
    box-shadow: 0 10px 24px rgba(122,92,53,.17) !important;
    font-weight: 800;
    text-decoration: none !important;
}

:is(
    .ifb-v5-button--primary,
    .ifb-course-button--primary,
    .ifb-online-button,
    .ifb-ph-button--primary,
    .ifb-pn-button--primary,
    .ifb-contact-button--primary,
    .ifb-contact-form__submit,
    .ifb-application-form__submit,
    .ifb-news-button,
    .ifb-regional-network-card__button,
    .site-content input[type="submit"],
    .site-content button[type="submit"]
):hover {
    color: #fff !important;
    border-color: var(--ifb-accent-hover) !important;
    background: var(--ifb-accent-hover) !important;
}

:is(
    .ifb-v5-button--secondary,
    .ifb-course-button--secondary,
    .ifb-online-button--secondary,
    .ifb-ph-button:not(.ifb-ph-button--primary),
    .ifb-pn-button:not(.ifb-pn-button--primary),
    .wp-block-button.is-style-outline .wp-block-button__link
) {
    color: var(--ifb-accent) !important;
    border: 1px solid #BDA98C !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* Kleine Markenlinks dürfen blau bleiben. */
:is(
    .ifb-course-text-link,
    .ifb-v5-text-link,
    .ifb-v5-inline-link,
    .ifb-ph-open,
    .ifb-pn-card a,
    .ifb-online-offer-card a,
    .ifb-lt-card a,
    .ifb-about-offer-card__link,
    .ifb-career-job-card__link,
    .ifb-contact-topic-card__link,
    .ifb-news-card__link,
    .ifb-regional-network-card__textlink
) {
    color: var(--ifb-menu-blue) !important;
}

/* Kleine Icons und Prozessnummern. */
:is(
    .ifb-v5-icon,
    .ifb-v5-number,
    .ifb-v5-service-icon,
    .ifb-v5-finder__icon,
    .ifb-v5-location-icon,
    .ifb-course-audience-icon,
    .ifb-course-step-icon,
    .ifb-course-process li > span,
    .ifb-exams-label,
    .ifb-exams-registration__list article > span,
    .ifb-pn-mark,
    .ifb-pn-card__mark,
    .ifb-ph-timeline li > span,
    .ifb-online-benefit-grid article > span,
    .ifb-online-process li > span,
    .ifb-online-notice__icon,
    .ifb-bt-mark,
    .ifb-news-hero__icon,
    .ifb-career-benefit-grid article > span,
    .ifb-regional-network-card__mark
) {
    color: #fff !important;
    background: var(--ifb-accent) !important;
    background-image: none !important;
}

/* ================================================================
   7. DUNKLE INFORMATIONSPANELE
   ================================================================ */

:is(
    .ifb-v5-guidance,
    .ifb-v5-cta,
    .ifb-courses-goal-panel,
    .ifb-course-info-panel,
    .ifb-course-cta,
    .ifb-exams-preparation__panel,
    .ifb-company-advice-hero-card,
    .ifb-advice-hero-card,
    .ifb-course-advice-hero-card,
    .ifb-contact-hero-card,
    .ifb-about-quote,
    .ifb-about-leadership-section,
    .ifb-about-responsibility,
    .ifb-locations-region-card,
    .ifb-ph-hero__badge,
    .ifb-ph-cta,
    .ifb-pn-hero-card,
    .ifb-pn-cta,
    .ifb-career-hero-panel,
    .ifb-news-hero__panel,
    .ifb-news-cta,
    .ifb-online-screen,
    .ifb-online-visual-badge,
    .ifb-online-info-card,
    .ifb-online-cta,
    .ifb-bt-testdaf-side,
    .ifb-bt-gast-note,
    .ifb-feature-panel
) {
    color: #fff !important;
    border-radius: 20px !important;
    background: var(--ifb-dark) !important;
    background-image:
        radial-gradient(circle at 100% 0%, rgba(255,255,255,.08), transparent 34%) !important;
    box-shadow: 0 18px 46px rgba(47,52,64,.16) !important;
}

body.ifb-brand-blue-v7 :is(
    .ifb-v5-guidance,
    .ifb-v5-cta,
    .ifb-courses-goal-panel,
    .ifb-course-info-panel,
    .ifb-course-cta,
    .ifb-exams-preparation__panel,
    .ifb-company-advice-hero-card,
    .ifb-advice-hero-card,
    .ifb-course-advice-hero-card,
    .ifb-contact-hero-card,
    .ifb-about-quote,
    .ifb-about-leadership-section,
    .ifb-about-responsibility,
    .ifb-locations-region-card,
    .ifb-ph-hero__badge,
    .ifb-ph-cta,
    .ifb-pn-hero-card,
    .ifb-pn-cta,
    .ifb-career-hero-panel,
    .ifb-news-hero__panel,
    .ifb-news-cta,
    .ifb-online-screen,
    .ifb-online-visual-badge,
    .ifb-online-info-card,
    .ifb-online-cta,
    .ifb-bt-testdaf-side,
    .ifb-bt-gast-note,
    .ifb-feature-panel
) :where(h1,h2,h3,h4,h5,h6,p,li,strong,small,summary,label) {
    color: #fff !important;
}

body.ifb-brand-blue-v7 :is(
    .ifb-v5-guidance,
    .ifb-v5-cta,
    .ifb-course-info-panel,
    .ifb-course-cta,
    .ifb-ph-cta,
    .ifb-pn-cta,
    .ifb-online-info-card,
    .ifb-online-cta,
    .ifb-news-cta
) a:not([class*="button"]) {
    color: #F2DDC1 !important;
}

/* Primärbutton auf dunkler Fläche = weiß. */
body.ifb-brand-blue-v7 :is(
    .ifb-v5-cta,
    .ifb-course-cta,
    .ifb-ph-cta,
    .ifb-pn-cta,
    .ifb-online-cta,
    .ifb-news-cta
) :is(
    .ifb-v5-button--primary,
    .ifb-course-button--primary,
    .ifb-online-button,
    .ifb-ph-button--primary,
    .ifb-pn-button--primary,
    .ifb-news-button
) {
    color: var(--ifb-dark) !important;
    border-color: #fff !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* ================================================================
   8. REGIONALE IFB-SPRACHEN-KARTE
   ================================================================ */

body.ifb-brand-blue-v7 .ifb-regional-network-card {
    margin-top: 26px !important;
    padding: clamp(24px, 3vw, 34px) !important;
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(20px, 2.7vw, 34px) !important;
    color: var(--ifb-text) !important;
    border: 1px solid var(--ifb-line) !important;
    border-left: 4px solid var(--ifb-accent-soft) !important;
    border-radius: 18px !important;
    background: var(--ifb-warm) !important;
    background-image: none !important;
    box-shadow: 0 12px 32px rgba(47,52,64,.07) !important;
}

body.ifb-brand-blue-v7 .ifb-regional-network-card__mark {
    width: 76px !important;
    height: 76px !important;
    display: grid !important;
    place-items: center !important;
    color: var(--ifb-menu-blue) !important;
    border: 1px solid #D7D8ED !important;
    border-radius: 16px !important;
    background: #fff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

body.ifb-brand-blue-v7 .ifb-regional-network-card h3 {
    margin: 0 0 9px !important;
    color: var(--ifb-ink) !important;
    font-size: clamp(24px, 2.25vw, 34px) !important;
    line-height: 1.17 !important;
}

body.ifb-brand-blue-v7 .ifb-regional-network-card p {
    color: var(--ifb-text) !important;
}

body.ifb-brand-blue-v7 .ifb-regional-network-card__button {
    color: var(--ifb-menu-blue) !important;
    border-color: var(--ifb-menu-blue) !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.ifb-brand-blue-v7 .ifb-regional-network-card__button:hover {
    color: #fff !important;
    background: var(--ifb-menu-blue) !important;
}

/* ================================================================
   9. FERIEN UND ONLINE-HINWEISE
   ================================================================ */

.ifb-holiday-notice,
.ifb-holiday-notice--navy,
.ifb-holiday-notice--teal,
.ifb-holiday-notice--warm {
    color: var(--ifb-text) !important;
    border: 1px solid #E2C477 !important;
    border-radius: 20px !important;
    background: #FFF9F0 !important;
    background-image: none !important;
    box-shadow: 0 14px 36px rgba(47,52,64,.08) !important;
}

.ifb-holiday-notice :where(h2,h3,strong) {
    color: var(--ifb-ink) !important;
}

.ifb-holiday-notice :where(p,span) {
    color: var(--ifb-text) !important;
}

.ifb-holiday-icon {
    color: #8A6A3F !important;
    background: #F3E6D4 !important;
}

.ifb-holiday-button {
    color: var(--ifb-ink) !important;
    border: 1px solid #B69B73 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ifb-online-notice {
    color: var(--ifb-text) !important;
    border: 1px solid var(--ifb-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(47,52,64,.06) !important;
}

.ifb-online-notice__icon {
    background: #F0EBE4 !important;
}

.ifb-online-notice__icon span {
    background: var(--ifb-accent) !important;
}

.ifb-online-notice__copy strong {
    color: var(--ifb-ink) !important;
}

.ifb-online-notice__copy span {
    color: var(--ifb-text) !important;
}

.ifb-online-notice a {
    color: var(--ifb-accent) !important;
    border: 1px solid #BDA98C !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* ================================================================
   10. FORMULARE, FAQ, TABELLEN UND RECHTSTEXTE
   ================================================================ */

.site-content :where(input,select,textarea) {
    color: var(--ifb-ink) !important;
    border: 1px solid #C9D0D8 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.site-content :where(input,select,textarea):focus,
a:focus-visible,
button:focus-visible {
    border-color: var(--ifb-accent) !important;
    outline-color: var(--ifb-accent) !important;
    box-shadow: 0 0 0 3px rgba(122,92,53,.15) !important;
}

:is(
    .ifb-v5-faq details,
    .ifb-course-faq details,
    .ifb-online-faq details,
    .ifb-faq details,
    .lnwbb-faq details
) {
    overflow: hidden;
    border: 1px solid var(--ifb-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

:is(
    .ifb-v5-faq summary,
    .ifb-course-faq summary,
    .ifb-online-faq summary,
    .ifb-faq summary,
    .lnwbb-faq summary
) {
    color: var(--ifb-ink) !important;
}

.ifb-legal-content,
.ifb-article-content {
    color: var(--ifb-text);
}

.ifb-legal-content :where(h2,h3,h4),
.ifb-article-content :where(h2,h3,h4) {
    color: var(--ifb-ink);
}

/* ================================================================
   11. FOOTER
   ================================================================ */

:is(
    .ifb-global-footer,
    .ifb-footer,
    .ifb-site-footer,
    .site-footer,
    .footer-widgets
) {
    color: #fff !important;
    background: var(--ifb-dark) !important;
    background-image: none !important;
}

body.ifb-brand-blue-v7 :is(
    .ifb-global-footer,
    .ifb-footer,
    .ifb-site-footer,
    .site-footer,
    .footer-widgets
) :where(h1,h2,h3,h4,p,li,strong,small,span,address,a) {
    color: #fff !important;
}

body.ifb-brand-blue-v7 :is(
    .ifb-global-footer,
    .ifb-footer,
    .ifb-site-footer,
    .site-footer,
    .footer-widgets
) a:hover {
    color: #F2DDC1 !important;
}

.ifb-global-footer .ifb-footer-brand img,
.ifb-global-footer img[src*="/ifb-global-brand/assets/images/ifb-logo-v7"],
.ifb-footer img[src*="/ifb-global-brand/assets/images/ifb-logo-v7"],
.site-footer img[src*="/ifb-global-brand/assets/images/ifb-logo-v7"] {
    width: min(100%, 350px) !important;
    height: auto !important;
    margin: 0 0 22px !important;
    padding: 13px 15px !important;
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.12) !important;
    object-fit: contain !important;
}

/* ================================================================
   12. EIGENE FARBIDENTITÄTEN NICHT ÜBERSCHREIBEN
   ================================================================ */

/* LN-WBB behält die offizielle Orange-/Gelbwelt. */
.ifb-lnwbb-premium,
.lnwbb-page {
    --ln-orange: #F59A00;
    --ln-orange-dark: #D97F00;
    --ln-yellow: #FFD234;
    --ln-charcoal: #4F5861;
    --ln-navy: #1D2738;
    --ln-blue: #0000AA;
}

/* Offizielle Logos bleiben unverändert. */
.ifb-lt-logo img,
.ifb-partner-logo img,
img[alt*="BAMF"],
img[alt*="telc"],
img[alt*="TestDaF"],
img[alt*="g.a.s.t"],
img[alt*="QUACERT"] {
    filter: none !important;
}

/* IFB-Logo bleibt #0000AA. */
img.ifb-global-logo-v7,
img[src*="/ifb-global-brand/assets/images/ifb-logo-v7"] {
    object-fit: contain !important;
    filter: none !important;
}

.ifb-ueber-ifb-page .ifb-about-hero__badge {
    width: min(440px, 94%) !important;
    padding: 18px 20px !important;
    background: rgba(255,255,255,.98) !important;
}

.ifb-ueber-ifb-page .ifb-about-hero__badge img,
.ifb-ueber-ifb-page .ifb-about-leadership__brand img {
    width: min(410px, 100%) !important;
    height: auto !important;
}

/* ================================================================
   13. RESPONSIVE
   ================================================================ */

.ifb-polish-enabled.ifb-is-scrolled .ifb-brand-v7 img {
    max-height: 67px !important;
}

@media (max-width: 1020px) {
    :is(
        .ifb-course-hero__grid,
        .ifb-pn-hero__grid,
        .ifb-online-hero-grid,
        .ifb-news-hero__grid,
        .ifb-lnwbb-hero__grid,
        .ifb-job-hero__grid,
        .ifb-hero__grid
    ) {
        grid-template-columns: 1fr !important;
    }

    body.ifb-brand-blue-v7 .ifb-regional-network-card {
        grid-template-columns: 68px minmax(0, 1fr) !important;
    }

    body.ifb-brand-blue-v7 .ifb-regional-network-card__button,
    body.ifb-brand-blue-v7 .ifb-regional-network-card__actions {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
    }
}

@media (max-width: 900px) {
    .ifb-brand-v7 {
        max-width: 265px !important;
    }

    .ifb-brand-v7 img,
    .ifb-polish-enabled.ifb-is-scrolled .ifb-brand-v7 img {
        max-height: 58px !important;
    }
}

@media (max-width: 650px) {
    :is(
        .ifb-v5-shell,
        .ifb-course-shell,
        .ifb-pn-shell,
        .ifb-ph-shell,
        .ifb-online-shell,
        .ifb-lt-shell,
        .ifb-shell,
        .ifb-news-shell,
        .ifb-legal-shell,
        .ifb-partner-shell
    ) {
        width: min(calc(100% - 28px), 1180px) !important;
    }

    .ifb-brand-v7 {
        max-width: 225px !important;
    }

    .ifb-brand-v7 img,
    .ifb-polish-enabled.ifb-is-scrolled .ifb-brand-v7 img {
        max-height: 52px !important;
    }

    :is(
        .ifb-v5-section,
        .ifb-course-section,
        .ifb-pn-section,
        .ifb-ph-timeline-section,
        .ifb-ph-archive-section,
        .ifb-online-benefits-section,
        .ifb-online-offers-section,
        .ifb-online-process-section,
        .ifb-online-requirements-section,
        .ifb-online-faq-section,
        .ifb-lt-section,
        .ifb-news-featured-section,
        .ifb-news-list-section,
        .ifb-section,
        .ifb-legal-section
    ) {
        padding-block: 54px;
    }

    body.ifb-brand-blue-v7 .ifb-regional-network-card {
        grid-template-columns: 1fr !important;
        padding: 22px !important;
    }

    body.ifb-brand-blue-v7 .ifb-regional-network-card__mark {
        width: 58px !important;
        height: 58px !important;
        border-radius: 13px !important;
    }

    body.ifb-brand-blue-v7 .ifb-regional-network-card__button {
        width: 100% !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .ifb-global-footer .ifb-footer-brand img,
    .ifb-global-footer img[src*="/ifb-global-brand/assets/images/ifb-logo-v7"] {
        width: min(100%, 310px) !important;
    }
}


/* ================================================================
   13. RELEASE-FINISH: FOKUS, MOTION UND DRUCK
   ================================================================ */

body.ifb-brand-blue-v7 :where(a,button,input,select,textarea,summary):focus-visible {
    outline: 3px solid #F0B429 !important;
    outline-offset: 3px !important;
}

body.ifb-brand-blue-v7 :where(input,select,textarea) {
    color: var(--ifb-ink);
    background: #fff;
}

body.ifb-brand-blue-v7 :where(input,select,textarea)::placeholder {
    color: #667085;
    opacity: 1;
}

body.ifb-brand-blue-v7 :where(a:not([class*="button"]):not(.ifb-brand):not(.custom-logo-link)) {
    text-underline-offset: .17em;
    text-decoration-thickness: .08em;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    .ifb-topbar,
    .main-navigation,
    .ifb-nav-cta,
    .ifb-site-footer,
    .ifb-global-footer,
    .ifb-holiday-notice,
    .ifb-v6-actions,
    .ifb-course-actions {
        display: none !important;
    }
    body.ifb-brand-blue-v7,
    body.ifb-brand-blue-v7 main {
        color: #000 !important;
        background: #fff !important;
    }
    body.ifb-brand-blue-v7 a {
        color: #000 !important;
        text-decoration: underline !important;
    }
}
