/* VIBE base CSS */

/* ─── Zmienne typograficzne ─────────────────────────────────────────────────── */
:root {
    --vibe-bg: #07080C;
    --vibe-bg-footer: #07080C;

    /* Fonty */
    --vibe-font-body:    "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --vibe-font-display: "Fraunces", Georgia, serif;

    /* Nadpisanie Kadence global font variable */
    --global-body-font-family: var(--vibe-font-body);
    --global-heading-font-family: var(--vibe-font-display);
}

html,
body,
.site,
#page,
.kadence-inner-column-inner,
.wp-site-blocks {
    background-color: var(--vibe-bg) !important;
}

.site-main,
.content-area,
.entry-content,
.wp-block-group:not([class*="vibe-"]):not(.has-background) {
    background-color: transparent !important;
}

/* ============================================
   STRATEGIA TŁA wg TYPU STRONY (research-based)
   Źródła: NN/g, M+R Benchmarks 2025, iDonate
   ============================================ */

/* Cała strona kremowa (dla stron konwersyjnych i long-text) */
body.vibe-light-page {
    background: #F5F1E8 !important;
    color: #0E0F14 !important;
}

body.vibe-light-page html,
body.vibe-light-page .site,
body.vibe-light-page #page,
body.vibe-light-page .wp-site-blocks,
body.vibe-light-page .site-main,
body.vibe-light-page .content-area,
body.vibe-light-page .entry-content-wrap,
body.vibe-light-page .entry.single-entry,
body.vibe-light-page main {
    background: #F5F1E8 !important;
    color: #0E0F14 !important;
}

body.vibe-light-page .section,
body.vibe-light-page .page-hero,
body.vibe-light-page .wp-block-group {
    background: #F5F1E8 !important;
    color: #0E0F14 !important;
}

body.vibe-light-page h1,
body.vibe-light-page h2,
body.vibe-light-page h3,
body.vibe-light-page h4 {
    color: #0E0F14 !important;
}

body.vibe-light-page p,
body.vibe-light-page li,
body.vibe-light-page a:not(.wp-block-button__link) {
    color: #0E0F14 !important;
}

body.vibe-light-page em {
    color: #7B3FE4 !important;
    font-style: italic;
}

body.vibe-light-page .wp-block-button__link.is-style-fill,
body.vibe-light-page .wp-block-button.is-style-fill .wp-block-button__link {
    background: #C8F542 !important;
    color: #0E0F14 !important;
    border: 2px solid #0E0F14 !important;
}

body.vibe-light-page .wp-block-button__link.is-style-outline,
body.vibe-light-page .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: #0E0F14 !important;
    border: 2px solid #0E0F14 !important;
}

body.vibe-light-page .vibe-eyebrow,
body.vibe-light-page .eyebrow {
    color: #7B3FE4 !important;
}

/* ─── Trust signals ────────────────────────────────────────────────────────── */
.trust-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
    font-size: 13px;
    opacity: .85;
}

.trust-signal {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid rgba(14, 15, 20, .15);
    border-radius: 9999px;
}

.trust-signal svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* ─── Long-text reading optimization ──────────────────────────────────────── */
.section--reading {
    background: #F5F1E8;
    color: #0E0F14;
    padding: 80px 24px;
}

.section--reading p {
    font-size: 18px;
    line-height: 1.7;
    max-width: 65ch;
    margin: 0 auto 20px;
}

/* ─── Footer legal info ────────────────────────────────────────────────────── */
.vibe-legal-info {
    font-size: 12px;
    opacity: .7;
    text-align: center;
    padding: 20px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    line-height: 1.6;
    color: inherit;
}

.vibe-legal-info span {
    margin: 0 8px;
}

/* ─── Board section (Zarząd / Rada Nadzorcza) ──────────────────────────────── */
.vibe-board-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 24px;
}

.vibe-board-section .vibe-eyebrow {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #7B3FE4 !important;
    margin: 0 0 12px;
}

.vibe-board-section h2 {
    margin-top: 0;
    margin-bottom: 48px;
}

.vibe-board-section h3 {
    margin-top: 48px;
    margin-bottom: 20px;
}

.vibe-board-grid {
    gap: 20px !important;
}

.vibe-person-card {
    padding: 28px !important;
    border: 1px solid rgba(14, 15, 20, .12) !important;
    border-radius: 12px !important;
    background: transparent !important;
}

.vibe-person-card h4 {
    margin: 0 0 6px !important;
    font-size: 1.05rem;
}

.vibe-person-role {
    opacity: .65;
    margin: 0 !important;
    font-size: 15px !important;
}

/* ============================================
   SOURCE SANS 3 — OPTYMALIZACJE TYPOGRAFICZNE
   Research-based: czytelność 40+ + processing fluency
   ============================================ */

/* Body base */
body,
input, textarea, select, button {
    font-family: var(--vibe-font-body) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-size: 17px;
    line-height: 1.65;
}

/* Paragrafy */
p {
    font-family: var(--vibe-font-body);
    font-size: 17px;
    line-height: 1.65;
    letter-spacing: 0;
}

/* Long-form reading */
.section--reading p,
.entry-content p,
.single-post .entry-content,
article p,
.wp-block-post-content p,
.wp-block-paragraph,
.wp-block-post-excerpt {
    font-family: var(--vibe-font-body) !important;
    font-size: 18px;
    line-height: 1.7;
    max-width: 65ch;
}

/* Gutenberg blocks — body font */
.wp-block-paragraph,
.wp-block-list,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-cover__inner-container,
.wp-block-group {
    font-family: var(--vibe-font-body);
}

/* Nagłówki — Fraunces */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
article h1,
article h2,
article h3,
article h4 {
    font-family: var(--vibe-font-display) !important;
}

/* Blog listing */
.wp-block-post-title,
.wp-block-query .wp-block-post-title a {
    font-family: var(--vibe-font-display) !important;
}

.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-terms {
    font-family: var(--vibe-font-body);
    font-size: 14px;
}

/* Nawigacja */
.site-header nav,
#masthead .menu > li > a {
    font-family: var(--vibe-font-body) !important;
}

/* Przyciski */
.btn,
.wp-block-button__link,
button, .button {
    font-family: var(--vibe-font-body) !important;
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* Eyebrow / labels */
.eyebrow,
.vibe-eyebrow,
.vibe-page-hero__eyebrow {
    font-family: var(--vibe-font-body);
    font-weight: 600;
    font-size: clamp(9px, 0.9vw, 11px) !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

/* Trust signals */
.trust-signal {
    font-family: var(--vibe-font-body);
    font-weight: 500;
}

/* Small text */
small, .small {
    font-size: 14px;
    line-height: 1.5;
    font-family: var(--vibe-font-body);
}

/* Lede / podtytuły */
.lede, .subtitle {
    font-size: clamp(17px, 1.4vw, 21px);
    line-height: 1.55;
    font-weight: 400;
    font-family: var(--vibe-font-body);
}

/* ============================================
   GLASS BRAND SYSTEM - STRATEGIC USE ONLY
   Research-based: NN/g + WCAG + UX studies
   Limit: 2 komponenty (eyebrow + program cards)
   ============================================ */

/* ====== EYEBROW - pigułka nad H1 (40% mniejsza) ====== */
.glass-eyebrow,
.eyebrow,
.vibe-eyebrow,
.vibe-page-hero__eyebrow {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.05);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 9999px !important;
    padding: 7px 14px !important;
    font-family: var(--vibe-font-body);
    font-size: clamp(9px, 0.9vw, 11px) !important;
    font-weight: 600;
    color: #C8F542 !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    box-shadow:
        0 5px 16px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    position: relative;
    text-decoration: none;
    margin-bottom: 16px !important;
    max-width: fit-content;
}

/* Lime kropka po lewej — mniejsza */
.glass-eyebrow::before,
.eyebrow::before,
.vibe-eyebrow::before,
.vibe-page-hero__eyebrow::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C8F542;
    box-shadow: 0 0 8px rgba(200, 245, 66, 0.6);
    flex-shrink: 0;
}

/* Wersja dla jasnego tła (vibe-light-page + hero-page--cream) */
body.vibe-light-page .glass-eyebrow,
body.vibe-light-page .eyebrow,
body.vibe-light-page .vibe-eyebrow,
body.hero-page--cream .glass-eyebrow,
body.hero-page--cream .eyebrow,
body.hero-page--cream .vibe-eyebrow,
.is-cream .eyebrow,
.section--cream .eyebrow {
    background: rgba(255, 255, 255, 0.5) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(14, 15, 20, 0.08) !important;
    color: #7B3FE4 !important;
    padding: 7px 14px !important;
    font-size: clamp(9px, 0.9vw, 11px) !important;
    gap: 6px !important;
    margin-bottom: 16px !important;
    box-shadow:
        0 5px 16px rgba(14, 15, 20, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

body.vibe-light-page .glass-eyebrow::before,
body.vibe-light-page .eyebrow::before,
body.vibe-light-page .vibe-eyebrow::before,
body.hero-page--cream .glass-eyebrow::before,
body.hero-page--cream .eyebrow::before,
body.hero-page--cream .vibe-eyebrow::before,
.is-cream .eyebrow::before,
.section--cream .eyebrow::before {
    width: 5px !important;
    height: 5px !important;
    background: #7B3FE4 !important;
    box-shadow: 0 0 8px rgba(123, 63, 228, 0.4) !important;
}

/* Wyjątek: eyebrow w sekcji zarządu (na jasnej stronie, nie zmienia się) */
.vibe-board-section .vibe-eyebrow {
    color: #7B3FE4 !important;
}

/* ====== PROGRAM CARDS - .vibe-program-card ====== */
.glass-card,
.program-card,
.vibe-program-card {
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0.03) 100%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 24px !important;
    padding: 36px 28px;
    text-align: left;
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    position: relative;
    transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Hover: lime glow */
.glass-card:hover,
.program-card:hover,
.vibe-program-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 245, 66, 0.3) !important;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.3),
        0 0 40px rgba(200, 245, 66, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* Ikona w karcie */
.glass-card-icon,
.program-card .icon,
.vibe-program-card .icon,
.program-card svg:first-of-type,
.vibe-program-card svg:first-of-type {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(200, 245, 66, 0.15);
    border: 1px solid rgba(200, 245, 66, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    padding: 12px;
}

/* Wersja na jasnym tle */
body.vibe-light-page .glass-card,
body.vibe-light-page .program-card,
body.vibe-light-page .vibe-program-card,
.section--cream .program-card {
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.75) 0%,
        rgba(255, 255, 255, 0.45) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow:
        0 12px 40px rgba(14, 15, 20, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.vibe-light-page .program-card:hover,
body.vibe-light-page .vibe-program-card:hover,
.section--cream .program-card:hover {
    border-color: rgba(123, 63, 228, 0.3) !important;
    box-shadow:
        0 20px 60px rgba(14, 15, 20, 0.1),
        0 0 40px rgba(123, 63, 228, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
}

/* ====== FALLBACK - przeglądarki bez backdrop-filter ====== */
@supports not (backdrop-filter: blur(20px)) {
    .glass-eyebrow,
    .eyebrow,
    .vibe-eyebrow {
        background: rgba(30, 32, 40, 0.9) !important;
    }

    .glass-card,
    .program-card,
    .vibe-program-card {
        background: rgba(255, 255, 255, 0.08) !important;
    }

    body.vibe-light-page .glass-eyebrow,
    body.vibe-light-page .eyebrow,
    body.vibe-light-page .vibe-eyebrow {
        background: rgba(255, 255, 255, 0.9) !important;
    }

    body.vibe-light-page .glass-card,
    body.vibe-light-page .program-card,
    body.vibe-light-page .vibe-program-card {
        background: rgba(255, 255, 255, 0.92) !important;
    }
}

/* ====== PERFORMANCE - reduce motion ====== */
@media (prefers-reduced-motion: reduce) {
    .glass-card,
    .program-card,
    .vibe-program-card {
        transition: none;
    }

    .glass-card:hover,
    .program-card:hover,
    .vibe-program-card:hover {
        transform: none;
    }
}

/* ============================================
   SYSTEM 6 WARIANTÓW HERO
   Research-based: konwersja fundraisingowa + UX 40+
   Selektor główny: .vibe-page-hero (Kadence block)
   Aliasy: .hero, .page-hero (dla przyszłości)
   ============================================ */

/* ── Base hero – wspólne właściwości ─────────────────── */
.hero,
.page-hero,
.vibe-page-hero {
    min-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 80px 32px;
}

.hero > *,
.page-hero > *,
.vibe-page-hero > * {
    position: relative;
    z-index: 2;
    max-width: 880px;
    width: 100%;
    text-align: center;
}

/* ── Wspólne typografia hero ─────────────────────────── */
.hero h1,
.page-hero h1,
.vibe-page-hero h1 {
    font-family: var(--vibe-font-display);
    font-variation-settings: "opsz" 144;
    font-weight: 400;
    font-size: clamp(48px, 7vw, 96px);
    line-height: 1.02;
    letter-spacing: -.03em;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

.hero h1 em,
.page-hero h1 em,
.vibe-page-hero h1 em {
    font-style: italic;
    color: #C8F542;
}

/* Nagłówek — napis "Fundacja VIBE" tą samą czcionką co Hero (Fraunces serif) */
.site-branding .site-title,
.site-branding .site-title-wrap .site-title {
    font-family: var(--vibe-font-display) !important;
    font-weight: 400 !important;
    font-variation-settings: "opsz" 40;
    letter-spacing: -.02em;
}

/* ── Logo na ciemnych stronach (przezroczysty nagłówek) ──
   Czarne logo niewidoczne na ciemnym hero → odwracamy na białe.
   Tylko strony NIE-jasne (vibe-light-page = jasne, pomijamy). */
body.transparent-header:not(.vibe-light-page) #masthead .site-branding .custom-logo,
body.mobile-transparent-header:not(.vibe-light-page) #masthead .site-branding .custom-logo {
    filter: brightness(0) invert(1) !important;
    transition: filter .3s ease;
}
body.transparent-header:not(.vibe-light-page) #masthead .site-branding .site-title,
body.mobile-transparent-header:not(.vibe-light-page) #masthead .site-branding .site-title {
    color: #fff !important;
}

/* Po przewinięciu nagłówek robi się biały → logo i tytuł wracają do czerni */
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding .custom-logo {
    filter: none !important;
}
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding .site-title {
    color: var(--global-palette3) !important;
}

.hero .lede,
.page-hero .lede,
.vibe-page-hero .lede {
    font-size: clamp(18px, 1.5vw, 22px);
    line-height: 1.55;
    margin-top: 0 !important;
    margin-bottom: 32px !important;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    opacity: .88;
}

/* ── VARIANT 1: VOID — strona główna, /programy ──────── */
.hero--void,
body.hero-page--void .hero,
body.hero-page--void .page-hero,
body.hero-page--void .entry-hero,
body.hero-page--void .vibe-page-hero {
    background:
        radial-gradient(ellipse 60% 40% at 50% -10%,
            rgba(200, 245, 66, 0.08) 0%,
            transparent 60%),
        radial-gradient(ellipse at center,
            #0B0D14 0%,
            #05060A 50%,
            #000000 100%) !important;
    box-shadow: inset 0 -100px 150px -50px #000000;
    color: #F5F1E8 !important;
}

/* ── VARIANT 2: SPOTLIGHT — formularze zapisu ─────────── */
.hero--spotlight,
body.hero-page--spotlight .hero,
body.hero-page--spotlight .page-hero,
body.hero-page--spotlight .entry-hero,
body.hero-page--spotlight .vibe-page-hero {
    background:
        radial-gradient(circle at 50% 0%,
            rgba(200, 245, 66, 0.18) 0%,
            rgba(200, 245, 66, 0.05) 20%,
            transparent 45%),
        radial-gradient(ellipse at center,
            #0E1018 0%,
            #08090F 50%,
            #02030A 100%) !important;
    color: #F5F1E8 !important;
}

body.hero-page--spotlight .vibe-page-hero::before,
body.hero-page--spotlight .entry-hero::before {
    content: "";
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 150%;
    background: linear-gradient(180deg,
        rgba(200, 245, 66, 0.06) 0%,
        transparent 50%);
    clip-path: polygon(45% 0%, 55% 0%, 70% 100%, 30% 100%);
    pointer-events: none;
    z-index: 1;
}

/* ── VARIANT 3: ABYSS — zdrowie psychiczne ────────────── */
.hero--abyss,
body.hero-page--abyss .hero,
body.hero-page--abyss .page-hero,
body.hero-page--abyss .entry-hero,
body.hero-page--abyss .vibe-page-hero {
    background: radial-gradient(ellipse at center,
        #000000 0%,
        #03040A 30%,
        #08090F 60%,
        #15171E 100%) !important;
    color: #F5F1E8 !important;
}

/* ── VARIANT 4: CREAM — konwersja, long-text ──────────── */
.hero--cream,
body.hero-page--cream .hero,
body.hero-page--cream .page-hero,
body.hero-page--cream .entry-hero,
body.hero-page--cream .vibe-page-hero {
    background: #F5F1E8 !important;
    color: #0E0F14 !important;
}

body.hero-page--cream .vibe-page-hero::before,
body.hero-page--cream .entry-hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(123, 63, 228, .1) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    pointer-events: none;
    z-index: 0;
}

body.hero-page--cream .vibe-page-hero::after,
body.hero-page--cream .entry-hero::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(200, 245, 66, .18) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(-30%, 30%);
    pointer-events: none;
    z-index: 0;
}

.hero--cream h1,
body.hero-page--cream .hero h1,
body.hero-page--cream .page-hero h1,
body.hero-page--cream .vibe-page-hero h1 {
    color: #0E0F14 !important;
}

.hero--cream h1 em,
body.hero-page--cream .hero h1 em,
body.hero-page--cream .page-hero h1 em,
body.hero-page--cream .vibe-page-hero h1 em {
    color: #7B3FE4 !important;
}

.hero--cream .lede,
body.hero-page--cream .hero .lede,
body.hero-page--cream .page-hero .lede,
body.hero-page--cream .vibe-page-hero .lede {
    color: rgba(14, 15, 20, .75) !important;
}

/* ── VARIANT 6: MINIMAL — strony techniczne ────────────── */
.hero--minimal,
body.hero-page--minimal .hero,
body.hero-page--minimal .page-hero,
body.hero-page--minimal .entry-hero,
body.hero-page--minimal .vibe-page-hero {
    min-height: 60vh !important;
    background: #0E0F14 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    color: #F5F1E8 !important;
}

body.hero-page--minimal .hero h1,
body.hero-page--minimal .page-hero h1,
body.hero-page--minimal .entry-hero h1,
body.hero-page--minimal .vibe-page-hero h1 {
    font-size: clamp(36px, 4.5vw, 64px);
}

body.hero-page--minimal .hero .lede,
body.hero-page--minimal .page-hero .lede,
body.hero-page--minimal .entry-hero .lede,
body.hero-page--minimal .vibe-page-hero .lede {
    font-size: 17px;
    margin-bottom: 32px;
}

/* ── Reduced motion ───────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    body.hero-page--void .vibe-page-hero,
    body.hero-page--void .entry-hero,
    body.hero-page--abyss .vibe-page-hero,
    body.hero-page--abyss .entry-hero,
    body.hero-page--spotlight .vibe-page-hero,
    body.hero-page--spotlight .entry-hero {
        background: #0E0F14 !important;
    }
}

/* ============================================
   FIX #3: CENTROWANIE TREŚCI PO HERO
   ============================================ */

.vibe-page-hero > *,
.hero > *,
.page-hero > * {
    text-align: center;
}

/* Eyebrow centrowanie w hero */
.vibe-page-hero .vibe-eyebrow,
.vibe-page-hero .eyebrow,
.vibe-page-hero .glass-eyebrow,
.hero .vibe-eyebrow,
.hero .eyebrow,
.page-hero .eyebrow {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
}

/* ============================================
   FIX #4: H1 JASNY NA CIEMNYCH HERO
   (Kadence nadpisuje domyślny kolor headingów)
   ============================================ */

/* VOID */
body.hero-page--void .vibe-page-hero h1,
body.hero-page--void .hero h1,
body.hero-page--void .page-hero h1,
.hero--void h1 {
    color: #F5F1E8 !important;
}

body.hero-page--void .vibe-page-hero h1 em,
body.hero-page--void .hero h1 em,
.hero--void h1 em {
    color: #C8F542 !important;
}

body.hero-page--void .vibe-page-hero .lede,
body.hero-page--void .hero .lede,
.hero--void .lede {
    color: rgba(245, 241, 232, 0.88) !important;
}

/* SPOTLIGHT */
body.hero-page--spotlight .vibe-page-hero h1,
body.hero-page--spotlight .hero h1,
body.hero-page--spotlight .page-hero h1,
.hero--spotlight h1 {
    color: #F5F1E8 !important;
}

body.hero-page--spotlight .vibe-page-hero h1 em,
body.hero-page--spotlight .hero h1 em,
.hero--spotlight h1 em {
    color: #C8F542 !important;
}

body.hero-page--spotlight .vibe-page-hero .lede,
body.hero-page--spotlight .hero .lede,
.hero--spotlight .lede {
    color: rgba(245, 241, 232, 0.88) !important;
}

/* ============================================================
   SPOTLIGHT — Formularz zapisu (Zapisz dziecko na zajęcia)
   Strona: /zapisz-dziecko-na-zajecia/
   Body class: hero-page--spotlight
   Form ID: 6 | wrapper: .vibe-form-box
   ============================================================ */

/* Sekcja z formularzem — jasne tło kontrastujące z ciemnym hero */
body.hero-page--spotlight .vibe-form-section {
  background: var(--vibe-cream, #F5F1E8) !important;
  padding: 80px 24px !important;
}

body.hero-page--spotlight .vibe-form-section .vibe-eyebrow {
  color: var(--vibe-violet, #7B3FE4) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--spotlight .vibe-form-section h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.1 !important;
}

body.hero-page--spotlight .vibe-form-section > p {
  color: rgba(14, 15, 20, 0.6) !important;
  font-size: 15px !important;
  margin: 0 0 40px 0 !important;
}

/* Biała karta formularza */
body.hero-page--spotlight .vibe-form-box {
  max-width: 680px !important;
  margin: 0 auto !important;
  background: #FFFFFF !important;
  border-radius: 20px !important;
  padding: 48px clamp(24px, 5vw, 56px) !important;
  box-shadow: 0 8px 40px rgba(14, 15, 20, 0.10) !important;
  border: 1px solid rgba(14, 15, 20, 0.06) !important;
}

/* FF wrapper — bez własnych marginesów/paddingów */
body.hero-page--spotlight .vibe-form-box .fluentform,
body.hero-page--spotlight .vibe-form-box .ff-default,
body.hero-page--spotlight .vibe-form-box .frm-fluent-form {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Labele */
body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-input--label label,
body.hero-page--spotlight .vibe-form-box .frm-fluent-form label {
  display: block !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(14, 15, 20, 0.65) !important;
  margin: 0 0 6px 0 !important;
}

/* Pola tekstowe, email, tel, number, textarea, select */
body.hero-page--spotlight .vibe-form-box .fluentform input[type="text"],
body.hero-page--spotlight .vibe-form-box .fluentform input[type="email"],
body.hero-page--spotlight .vibe-form-box .fluentform input[type="tel"],
body.hero-page--spotlight .vibe-form-box .fluentform input[type="number"],
body.hero-page--spotlight .vibe-form-box .fluentform textarea,
body.hero-page--spotlight .vibe-form-box .fluentform select,
body.hero-page--spotlight .vibe-form-box .ff-el-form-control {
  width: 100% !important;
  padding: 14px 18px !important;
  background: #F8F4EC !important;
  border: 1.5px solid rgba(14, 15, 20, 0.12) !important;
  border-radius: 12px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  transition: border-color 0.2s ease, background 0.2s ease;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

body.hero-page--spotlight .vibe-form-box .fluentform input:focus,
body.hero-page--spotlight .vibe-form-box .fluentform textarea:focus,
body.hero-page--spotlight .vibe-form-box .fluentform select:focus,
body.hero-page--spotlight .vibe-form-box .ff-el-form-control:focus {
  outline: none !important;
  border-color: var(--vibe-violet, #7B3FE4) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(123, 63, 228, 0.12) !important;
}

/* Select — dropdown arrow */
body.hero-page--spotlight .vibe-form-box .fluentform select,
body.hero-page--spotlight .vibe-form-box select.ff-el-form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237B3FE4' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 10px !important;
  padding-right: 44px !important;
  cursor: pointer;
}

/* Grupy pól */
body.hero-page--spotlight .vibe-form-box .ff-el-group {
  margin: 0 0 20px 0 !important;
}

/* Checkbox — zgoda RODO */
body.hero-page--spotlight .vibe-form-box .fluentform input[type="checkbox"],
body.hero-page--spotlight .vibe-form-box .fluentform input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid rgba(14, 15, 20, 0.3) !important;
  border-radius: 4px !important;
  background: transparent !important;
  cursor: pointer;
  flex-shrink: 0;
  margin: 2px 0 0 0 !important;
  transition: all 0.15s ease;
  position: relative;
}

body.hero-page--spotlight .vibe-form-box .fluentform input[type="checkbox"]:checked,
body.hero-page--spotlight .vibe-form-box .fluentform input[type="radio"]:checked {
  background: var(--vibe-violet, #7B3FE4) !important;
  border-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--spotlight .vibe-form-box .fluentform input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-form-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 8px 0 !important;
}

body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-form-check label,
body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-form-check-label {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(14, 15, 20, 0.70) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  cursor: pointer;
}

/* Help message */
body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-help-message {
  font-size: 12px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  margin-top: 4px !important;
  font-style: italic;
}

/* Error */
body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-is-error .ff-el-form-control,
body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-is-error input,
body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-is-error select {
  border-color: #DC2626 !important;
  background: #FEF2F2 !important;
}

body.hero-page--spotlight .vibe-form-box .fluentform .ff-el-is-error .ff-el-help-message {
  color: #DC2626 !important;
  font-style: normal !important;
}

/* Submit button */
body.hero-page--spotlight .vibe-form-box .fluentform button[type="submit"],
body.hero-page--spotlight .vibe-form-box .fluentform .ff-btn-submit {
  display: block !important;
  width: 100% !important;
  padding: 18px 32px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 8px 24px rgba(200, 245, 66, 0.35) !important;
  margin-top: 28px !important;
}

body.hero-page--spotlight .vibe-form-box .fluentform button[type="submit"]:hover,
body.hero-page--spotlight .vibe-form-box .fluentform .ff-btn-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(200, 245, 66, 0.45) !important;
}

/* Success message */
body.hero-page--spotlight .vibe-form-box .fluentform .ff-message-success,
body.hero-page--spotlight .vibe-form-box .fluentform .ff_submit_success {
  background: rgba(123, 63, 228, 0.08) !important;
  border: 1px solid rgba(123, 63, 228, 0.2) !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  padding: 24px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin-top: 20px !important;
}

/* Final CTA */
body.hero-page--spotlight .vibe-final-cta {
  background: var(--vibe-ink, #0E0F14) !important;
  padding: 80px 24px !important;
  text-align: center !important;
}

body.hero-page--spotlight .vibe-final-cta h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 400 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--spotlight .vibe-final-cta .wp-block-button__link {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 16px 40px !important;
  text-decoration: none !important;
  transition: transform 0.2s ease;
  display: inline-block;
}

body.hero-page--spotlight .vibe-final-cta .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
}

/* Responsive */
@media (max-width: 768px) {
  body.hero-page--spotlight .vibe-form-section { padding: 56px 16px !important; }
  body.hero-page--spotlight .vibe-form-box { padding: 32px 20px !important; }
  body.hero-page--spotlight .vibe-final-cta { padding: 56px 16px !important; }
}

/* ─── END SPOTLIGHT FORM ─────────────────────────────── */

/* ABYSS */
body.hero-page--abyss .vibe-page-hero h1,
body.hero-page--abyss .hero h1,
body.hero-page--abyss .page-hero h1,
.hero--abyss h1 {
    color: #F5F1E8 !important;
}

body.hero-page--abyss .vibe-page-hero h1 em,
body.hero-page--abyss .hero h1 em,
.hero--abyss h1 em {
    color: #C8F542 !important;
}

body.hero-page--abyss .vibe-page-hero .lede,
body.hero-page--abyss .hero .lede,
.hero--abyss .lede {
    color: rgba(245, 241, 232, 0.88) !important;
}

/* MINIMAL */
body.hero-page--minimal .vibe-page-hero h1,
body.hero-page--minimal .hero h1,
body.hero-page--minimal .page-hero h1,
.hero--minimal h1 {
    color: #F5F1E8 !important;
}

body.hero-page--minimal .vibe-page-hero h1 em,
body.hero-page--minimal .hero h1 em,
.hero--minimal h1 em {
    color: #C8F542 !important;
}

body.hero-page--minimal .vibe-page-hero .lede,
body.hero-page--minimal .hero .lede,
.hero--minimal .lede {
    color: rgba(245, 241, 232, 0.88) !important;
}

/* CREAM zostaje BEZ ZMIAN — H1 ciemny #0E0F14 już ustawiony wyżej */

/* ============================================
   FIX #6 + #7: STOPKA — CIEMNA + LIME HOVER
   ============================================ */

footer#colophon,
.site-footer {
    background: linear-gradient(180deg,
        rgba(5, 6, 10, 0.98) 0%,
        rgba(2, 3, 8, 1) 100%) !important;
    color: #F5F1E8 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    position: relative;
}

/* Lime glow line u góry stopki */
footer#colophon::before,
.site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(200, 245, 66, 0.35) 50%,
        transparent 100%);
    pointer-events: none;
    z-index: 1;
}

footer#colophon h1,
footer#colophon h2,
footer#colophon h3,
footer#colophon h4,
footer#colophon h5,
footer#colophon h6,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
    color: #F5F1E8 !important;
}

footer#colophon p,
.site-footer p {
    color: rgba(245, 241, 232, 0.72) !important;
}

/* FIX #7: Linki stopki — cream domyślnie, lime on hover */
footer#colophon a,
.site-footer a {
    color: rgba(245, 241, 232, 0.72) !important;
    text-decoration: none !important;
    transition:
        color 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
        text-shadow 0.25s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

footer#colophon a:hover,
footer#colophon a:focus,
.site-footer a:hover,
.site-footer a:focus {
    color: #C8F542 !important;
    text-shadow: 0 0 14px rgba(200, 245, 66, 0.45);
}

footer#colophon a[aria-current="page"],
footer#colophon a.current-menu-item,
.site-footer a.current-menu-item {
    color: #C8F542 !important;
}

/* Dane rejestrowe w stopce */
.vibe-legal-info,
footer#colophon .legal-info,
footer#colophon .copyright {
    font-size: 12px !important;
    color: rgba(245, 241, 232, 0.45) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    margin-top: 40px;
    padding-top: 24px !important;
}

.vibe-legal-info a,
footer#colophon .legal-info a {
    color: rgba(200, 245, 66, 0.8) !important;
}

.vibe-legal-info a:hover,
footer#colophon .legal-info a:hover {
    color: #C8F542 !important;
    text-shadow: 0 0 10px rgba(200, 245, 66, 0.5);
}

/* Social media ikony w stopce */
footer#colophon .social-icons a,
footer#colophon .wp-social-link,
.site-footer .wp-social-link {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 50%;
    transition: all 0.25s ease !important;
}

footer#colophon .social-icons a:hover,
footer#colophon .wp-social-link:hover,
.site-footer .wp-social-link:hover {
    background: rgba(200, 245, 66, 0.1) !important;
    border-color: rgba(200, 245, 66, 0.4) !important;
    color: #C8F542 !important;
    transform: translateY(-2px);
}

/* ============================================
   HERO Z REV4 - DZIAŁAJĄCY SYSTEM
   Wideo/obrazek z Gutenberga jako tło hero
   figure.wp-block-video / figure.wp-block-image
   staje się pozycjonowanym tłem
   ============================================ */

/* === HERO BASE === */
.vibe-page-hero,
.vibe-page-hero .wp-block-group__inner-container {
    position: relative !important;
    overflow: visible !important;
}

.vibe-page-hero {
    min-height: 100vh !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin-top: -180px !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

.vibe-page-hero .wp-block-group__inner-container {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(160px, 22vh, 240px) 24px 14vh !important;
    position: relative !important;
    z-index: 3 !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}

/* === HERO TYPOGRAFIA (rev4) === */
.vibe-page-hero h1 {
    color: #F5F1E8 !important;
    font-family: 'Fraunces', serif !important;
    font-size: clamp(2.2rem, 5vw, 4.5rem) !important;
    text-align: center !important;
    max-width: 900px !important;
    margin: 0 auto 1.5rem !important;
    position: relative !important;
    z-index: 5 !important;
}

.vibe-page-hero h1 em {
    color: #C8F542 !important;
    font-style: italic !important;
}

.vibe-page-hero p:not(.vibe-eyebrow):not(.eyebrow):not(.glass-eyebrow) {
    color: rgba(245, 241, 232, 0.85) !important;
    text-align: center !important;
    position: relative !important;
    z-index: 5 !important;
    font-family: 'Source Sans 3', sans-serif !important;
}

.vibe-page-hero .vibe-eyebrow,
.vibe-page-hero .eyebrow,
.vibe-page-hero .glass-eyebrow {
    position: relative !important;
    z-index: 5 !important;
    margin-bottom: 1.5rem !important;
}

.vibe-page-hero .wp-block-buttons {
    position: relative !important;
    z-index: 5 !important;
    margin-top: 2rem !important;
}

/* === HERO VIDEO (homepage) === */
.vibe-page-hero figure.wp-block-video {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    right: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.vibe-page-hero figure.wp-block-video video {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: cover !important;
}

.vibe-page-hero figure.wp-block-video figcaption {
    display: none !important;
}

.vibe-page-hero figure.wp-block-video::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(8, 9, 13, 0.80) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* === HERO OBRAZEK (podstrony programów + inne) === */
.vibe-page-hero figure.vibe-placeholder-img,
.vibe-page-hero figure.wp-block-image:not(.wp-block-video) {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    right: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.vibe-page-hero figure.vibe-placeholder-img img,
.vibe-page-hero figure.wp-block-image img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    object-fit: cover !important;
}

.vibe-page-hero figure.vibe-placeholder-img::after,
.vibe-page-hero figure.wp-block-image:not(.wp-block-video)::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(8, 9, 13, 0.85) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* === HERO AURORA (efekt animowany) === */
.vibe-page-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: -20% !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background:
        radial-gradient(ellipse 55% 45% at 65% 30%, rgba(200, 245, 66, 0.10) 0%, transparent 60%),
        radial-gradient(ellipse 40% 35% at 20% 25%, rgba(123, 63, 228, 0.10) 0%, transparent 55%),
        radial-gradient(ellipse 35% 30% at 80% 75%, rgba(185, 28, 140, 0.08) 0%, transparent 50%) !important;
    mix-blend-mode: screen !important;
    filter: blur(30px) !important;
    animation: vibe-aurora-css 60s ease-in-out infinite !important;
}

@keyframes vibe-aurora-css {
    0%   { transform: translate(0%, 10%) scale(1); opacity: 0.80; }
    25%  { transform: translate(10%, -2%) scale(1.04); opacity: 0.95; }
    50%  { transform: translate(-2%, -7%) scale(1.00); opacity: 0.65; }
    75%  { transform: translate(-7%, 3%) scale(1.00); opacity: 0.90; }
    100% { transform: translate(0%, 10%) scale(1); opacity: 0.80; }
}

/* === HEADER STICKY (rev4) === */
#masthead.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: rgba(7, 7, 9, 0.82) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: background 0.3s ease, box-shadow 0.3s ease !important;
}

#masthead .site-header-wrap,
#masthead .site-header-main,
#masthead .site-header-row-container,
#masthead .site-header-row-container-inner,
#masthead .kadence-header-row,
#masthead > div,
#masthead > div > div {
    background: transparent !important;
    background-color: transparent !important;
}

html body #masthead.site-header {
    padding: 0 52px !important;
    min-height: 88px !important;
}

html body #masthead .custom-logo {
    max-height: 52px !important;
    width: auto !important;
    filter: none !important;
}

html body #masthead .menu > li > a {
    font-size: 15px !important;
    padding: 8px 14px !important;
}

/* ============================================
   SEKCJE FULLSCREEN (100vh)
   Każda grupa/sekcja = pełny ekran
   Reguła design systemu VIBE: "Sekcje NIE zachodzą na siebie"
   ============================================ */

/* === BASE: każda grupa NA POZIOMIE entry-content = fullscreen === */
.entry-content > .wp-block-group:not(.vibe-page-hero):not(.vibe-gallery-grid):not(.vibe-gallery-cta):not(.vibe-gallery-filters):not(.vibe-hero):not(.vibe-wesprzyj-hero):not(.vibe-wesprzyj-section):not(.vibe-wesprzyj-quote-section):not(.vibe-wesprzyj-form-section):not(.vibe-wesprzyj-contact-cta):not(.vibe-op-section),
.entry-content > .wp-block-cover:not(.vibe-page-hero),
article > .entry-content > .wp-block-group:not(.vibe-page-hero):not(.vibe-gallery-grid):not(.vibe-gallery-cta):not(.vibe-gallery-filters):not(.vibe-hero):not(.vibe-wesprzyj-hero):not(.vibe-wesprzyj-section):not(.vibe-wesprzyj-quote-section):not(.vibe-wesprzyj-form-section):not(.vibe-wesprzyj-contact-cta):not(.vibe-op-section),
article > .entry-content > .wp-block-cover:not(.vibe-page-hero) {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 80px 32px !important;
    position: relative !important;
    width: 100% !important;
    scroll-snap-align: start;
}

/* === SEPARATOR między sekcjami === */
.entry-content > .wp-block-group:not(.vibe-page-hero) + .wp-block-group,
.entry-content > .wp-block-group:not(.vibe-page-hero) + .wp-block-cover,
.entry-content > .wp-block-cover + .wp-block-group,
.entry-content > .wp-block-cover + .wp-block-cover {
    border-top: 1px solid rgba(255,255,255,.08);
}

/* === Inner container - max-width (BEZ text-align - dziedziczyłoby na kolumny) === */
.entry-content > .wp-block-group > .wp-block-group__inner-container,
.entry-content > .wp-block-cover > .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* === Reset text-align wewnątrz kolumn — nie dziedziczymy centering === */
.entry-content > .wp-block-group .wp-block-column,
.entry-content > .wp-block-cover .wp-block-column,
.entry-content > .wp-block-group .wp-block-column p,
.entry-content > .wp-block-group .wp-block-column h2,
.entry-content > .wp-block-group .wp-block-column h3,
.entry-content > .wp-block-group .wp-block-column h4 {
    text-align: left !important;
    max-width: 100% !important;
}

/* === Cream pages - jasny separator === */
body.hero-page--cream .entry-content > .wp-block-group + .wp-block-group,
body.vibe-light-page .entry-content > .wp-block-group + .wp-block-group {
    border-top: 1px solid rgba(14,15,20,.08) !important;
}

/* === Pierwsza sekcja po hero NIE ma border-top === */
.entry-content > .vibe-page-hero + .wp-block-group,
.entry-content > .vibe-page-hero + .wp-block-cover {
    border-top: none !important;
}

/* ── KROK 3: Elementy w środku ──────────────────────── */

/* === EYEBROW w sekcjach - centrowanie === */
.entry-content > .wp-block-group .vibe-eyebrow,
.entry-content > .wp-block-group .eyebrow,
.entry-content > .wp-block-group .glass-eyebrow,
.entry-content > .wp-block-cover .vibe-eyebrow,
.entry-content > .wp-block-cover .eyebrow,
.entry-content > .wp-block-cover .glass-eyebrow {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
}

/* === H2/H3 w sekcjach - centrowanie + odstępy
     TYLKO bezpośrednio w inner-container, NIE wewnątrz kolumn === */
.entry-content > .wp-block-group > .wp-block-group__inner-container > h2,
.entry-content > .wp-block-group > .wp-block-group__inner-container > h3,
.entry-content > .wp-block-cover > .wp-block-cover__inner-container > h2,
.entry-content > .wp-block-cover > .wp-block-cover__inner-container > h3 {
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* === Paragrafy TYLKO bezpośrednio w inner-container (nie w kolumnach!) === */
.entry-content > .wp-block-group > .wp-block-group__inner-container > p:not(.vibe-eyebrow),
.entry-content > .wp-block-cover > .wp-block-cover__inner-container > p:not(.vibe-eyebrow) {
    text-align: center !important;
    max-width: 65ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
}

/* === Karty/kolumny w sekcjach === */
.entry-content > .wp-block-group .wp-block-columns,
.entry-content > .wp-block-cover .wp-block-columns {
    margin-top: 48px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* === CTA buttons w sekcjach - centrowanie === */
.entry-content > .wp-block-group .wp-block-buttons,
.entry-content > .wp-block-cover .wp-block-buttons {
    display: flex !important;
    justify-content: center !important;
    margin-top: 32px !important;
}

/* ── KROK 4: Responsywność ──────────────────────────── */

/* === Mobile: auto height === */
@media (max-width: 768px) {
    .entry-content > .wp-block-group:not(.vibe-page-hero),
    .entry-content > .wp-block-cover:not(.vibe-page-hero) {
        min-height: auto !important;
        padding: 64px 16px !important;
    }
    .entry-content > .wp-block-group > .wp-block-group__inner-container,
    .entry-content > .wp-block-cover > .wp-block-cover__inner-container {
        max-width: 100% !important;
    }
}

/* === Tablet === */
@media (max-width: 1024px) and (min-width: 769px) {
    .entry-content > .wp-block-group:not(.vibe-page-hero),
    .entry-content > .wp-block-cover:not(.vibe-page-hero) {
        min-height: 90vh !important;
        padding: 72px 24px !important;
    }
}

/* ── KROK 5: Wyjątki ────────────────────────────────── */

/* === Sekcje z kartami - więcej powietrza === */
.entry-content > .wp-block-group:has(> .wp-block-group__inner-container > .wp-block-columns),
.entry-content > .wp-block-cover:has(> .wp-block-cover__inner-container > .wp-block-columns) {
    min-height: 100vh !important;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
}

/* === Sekcje z formularzem - automatyczna wysokość === */
.entry-content > .wp-block-group:has(.fluentform),
.entry-content > .wp-block-cover:has(.fluentform) {
    min-height: auto !important;
    padding: 100px 32px !important;
}

/* === Małe sekcje (np. disclaimer, privacy box) - auto height === */
.entry-content > .wp-block-group.vibe-privacy-box {
    min-height: auto !important;
    padding: 40px 32px !important;
}

/* === Sekcje z formularzem/donate box - auto height === */
.entry-content > .wp-block-group.vibe-form-section,
.entry-content > .wp-block-group:has(.vibe-donate-box),
.entry-content > .wp-block-group:has(.fluentform) {
    min-height: auto !important;
    padding: 100px 32px !important;
}

/* ── KROK 6: Scroll snap ────────────────────────────── */

html {
    scroll-snap-type: y proximity;
    scroll-behavior: smooth;
}

@media (max-width: 768px) {
    html {
        scroll-snap-type: none;
    }
}

.vibe-page-hero {
    scroll-snap-align: start;
}

/* ═══════════════════════════════════════════════════════
   KROK 7: hero-page--void — ciemne tło dla CAŁEJ strony
   Kadence nakłada białe tło na article.content-bg —
   nadpisujemy to dla stron z klasą hero-page--void
   ═══════════════════════════════════════════════════════ */

/* 1. Usuń białe tło Kadence z article */
body.hero-page--void article.content-bg,
body.hero-page--void .content-bg,
body.hero-page--void .entry-content,
body.hero-page--void .site-content,
body.hero-page--void #primary,
/* oferta-dla-szkol — dark page, also needs transparent content-bg */
body.hero-page--oferta-dla-szkol article.content-bg,
body.hero-page--oferta-dla-szkol .content-bg,
body.hero-page--oferta-dla-szkol .site-content,
body.hero-page--oferta-dla-szkol #primary {
    background: transparent !important;
}

/* 2. Tło na body i głównym wrapperze */
body.hero-page--void {
    background: #07080C !important;
    color: #F5F2E9 !important;
}

/* 3. Sekcje — transparentne (dziedziczą ciemność z body) */
/* NOTE: :not(.vibe-hero) — nowy hero blok ma własne kolory, nie dziedziczy z void */
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-page-hero):not(.vibe-hero),
body.hero-page--void .entry-content > .wp-block-cover:not(.vibe-page-hero) {
    background: transparent !important;
    color: #F5F2E9 !important;
}

/* 4. Nagłówki */
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h1,
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h2,
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h3,
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h4 {
    color: #F5F2E9 !important;
}

/* 5. em w nagłówkach = lime */
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h1 em,
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h2 em,
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) h3 em {
    color: #D0FD20 !important;
}

/* 6. Akapity */
body.hero-page--void .entry-content > .wp-block-group:not(.vibe-hero) p {
    color: rgba(245, 242, 233, 0.85) !important;
}

/* 7. Eyebrow — wersja ciemna */
body.hero-page--void .eyebrow,
body.hero-page--void .glass-eyebrow,
body.hero-page--void .vibe-eyebrow {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #D0FD20 !important;
}

body.hero-page--void .eyebrow::before,
body.hero-page--void .glass-eyebrow::before,
body.hero-page--void .vibe-eyebrow::before {
    background: #D0FD20 !important;
    box-shadow: 0 0 8px rgba(208, 253, 32, 0.6) !important;
}

/* 8. Separator między sekcjami — ciemna wersja */
body.hero-page--void .entry-content > .wp-block-group + .wp-block-group {
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ═══════════════════════════════════════════════════════
   KROK 8: PRZYCISKI CTA wg REV4
   Główny: lime fill + glow shadow + smooth hover transform
   Dotyczy TYLKO ciemnych stron (hero-page--void/abyss/spotlight/minimal)
   ═══════════════════════════════════════════════════════ */

/* Zbiorczy selektor dla wszystkich ciemnych wariantów */
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .wp-block-button:not(.is-style-outline) .wp-block-button__link,
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .glass-cta {
    background: #C8F542 !important;
    color: #0E0F14 !important;
    border: none !important;
    border-radius: 9999px !important;
    padding: 18px 40px !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    transition: background 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
                transform  0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow:
        0 0 21px rgba(200, 245, 66, 0.14),
        0 10px 21px rgba(200, 245, 66, 0.07) !important;
}

/* HOVER — główny CTA */
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .glass-cta:hover {
    background: #d4ff5a !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 0 35px rgba(200, 245, 66, 0.21),
        0 15px 28px rgba(200, 245, 66, 0.10) !important;
}

/* OUTLINE button — drugorzędny */
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: #F5F1E8 !important;
    border: 1px solid rgba(245, 241, 232, 0.3) !important;
    border-radius: 9999px !important;
    padding: 18px 40px !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    transition: background 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
                transform  0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
                border-color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
                color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: none !important;
}

/* HOVER — outline */
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: rgba(245, 241, 232, 0.05) !important;
    border-color: #C8F542 !important;
    color: #C8F542 !important;
    transform: translateY(-2px) !important;
}

/* DUŻY CTA — spotlight (strony konwersji) */
:is(
  body.hero-page--void,
  body.hero-page--spotlight
) .wp-block-button.is-style-fill .wp-block-button__link,
:is(
  body.hero-page--void,
  body.hero-page--spotlight
) .wp-block-button.is-style-large .wp-block-button__link {
    padding: 22px 48px !important;
    font-size: 17px !important;
    box-shadow:
        0 0 35px rgba(200, 245, 66, 0.18),
        0 0 70px rgba(200, 245, 66, 0.07),
        0 15px 28px rgba(200, 245, 66, 0.10) !important;
}

/* IKONY w przyciskach */
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .wp-block-button__link svg,
:is(
  body.hero-page--void,
  body.hero-page--abyss,
  body.hero-page--spotlight,
  body.hero-page--minimal
) .wp-block-button__link .heart {
    width: 18px !important;
    height: 18px !important;
}

/* ═══════════════════════════════════════════════════════
   KROK 9: TEAM CARDS — profesjonalne wizytówki
   Strony: / (homepage) + /o-nas/
   Wyrównanie przez flexbox (stretch), NIE tabele
   ═══════════════════════════════════════════════════════ */

/* 1. Kolumny w sekcjach zespołu stretch do tej samej wys. */
.vibe-team-section .wp-block-columns,
.vibe-board-section .wp-block-columns {
    align-items: stretch !important;
}

.vibe-team-section .wp-block-column,
.vibe-board-section .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;  /* override Gutenberg's is-vertically-aligned-top: flex-start */
}

/* 2. Karta — struktura bazowa */
.team-card {
    display: flex !important;
    flex-direction: column !important;
    /* height: 100% removed — align-self: stretch on parent handles equal heights */
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
                border-color 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    position: relative !important;
}

/* 3. Wariant ciemny (homepage — void) */
body.hero-page--void .team-card {
    background: linear-gradient(135deg,
        rgba(245, 241, 232, 0.04) 0%,
        rgba(245, 241, 232, 0.02) 100%) !important;
    border: 1px solid rgba(245, 241, 232, 0.08) !important;
}

body.hero-page--void .team-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(200, 245, 66, 0.3) !important;
    box-shadow:
        0 20px 48px rgba(0, 0, 0, 0.35),
        0 0 40px rgba(200, 245, 66, 0.08) !important;
}

/* 4. Wariant jasny (/o-nas/ — cream) */
body.hero-page--cream .team-card,
body.vibe-light-page .team-card {
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid rgba(14, 15, 20, 0.08) !important;
    box-shadow: 0 2px 12px rgba(14, 15, 20, 0.04) !important;
}

body.hero-page--cream .team-card:hover,
body.vibe-light-page .team-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(123, 63, 228, 0.25) !important;
    box-shadow:
        0 20px 48px rgba(14, 15, 20, 0.10),
        0 0 40px rgba(123, 63, 228, 0.07) !important;
}

/* 5. Zdjęcie — aspect-ratio 4/5 (portret), identyczne we wszystkich kartach */
.team-card figure.wp-block-image,
.team-card .wp-block-image {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    flex-shrink: 0 !important;
    background: linear-gradient(135deg,
        rgba(123, 63, 228, 0.12) 0%,
        rgba(200, 245, 66, 0.05) 100%) !important;
}

.team-card figure.wp-block-image img,
.team-card .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    border-radius: 0 !important;
    display: block !important;
}

.team-card:hover figure.wp-block-image img,
.team-card:hover .wp-block-image img {
    transform: scale(1.04) !important;
}

/* 6. Content area — rośnie żeby wyrównać karty */
.team-card > .wp-block-group,
.team-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 24px 22px !important;
}

/* 7. Imię — Fraunces, priorytet #1 */
.team-card h3,
.team-card h4 {
    font-family: 'Fraunces', serif !important;
    font-size: clamp(18px, 1.6vw, 24px) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin: 0 0 0 0 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
}

body.hero-page--void .team-card h3,
body.hero-page--void .team-card h4 {
    color: #F5F2E9 !important;
}

body.hero-page--cream .team-card h3,
body.vibe-light-page .team-card h3,
body.hero-page--cream .team-card h4,
body.vibe-light-page .team-card h4 {
    color: #0E0F14 !important;
}

/* 8. Lime/violet linia pod imieniem */
.team-card h3::after,
.team-card h4::after {
    content: "" !important;
    display: block !important;
    width: 28px !important;
    height: 2px !important;
    border-radius: 2px !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

body.hero-page--void .team-card h3::after,
body.hero-page--void .team-card h4::after {
    background: #C8F542 !important;
    box-shadow: 0 0 8px rgba(200, 245, 66, 0.35) !important;
}

body.hero-page--cream .team-card h3::after,
body.vibe-light-page .team-card h3::after,
body.hero-page--cream .team-card h4::after,
body.vibe-light-page .team-card h4::after {
    background: #7B3FE4 !important;
    box-shadow: 0 0 8px rgba(123, 63, 228, 0.3) !important;
}

/* 9. Akapity — rola i bio */
.team-card p {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: left !important;
    margin: 0 0 10px 0 !important;
}

/* Pierwszy <p> = rola/funkcja (kolor akcentu + uppercase) */
.team-card > .wp-block-group > p:first-of-type,
.team-card > p:first-of-type {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin-top: 14px !important;
    margin-bottom: 12px !important;
}

body.hero-page--void .team-card > .wp-block-group > p:first-of-type,
body.hero-page--void .team-card > p:first-of-type {
    color: #C8F542 !important;
}

body.hero-page--cream .team-card > .wp-block-group > p:first-of-type,
body.vibe-light-page .team-card > .wp-block-group > p:first-of-type,
body.hero-page--cream .team-card > p:first-of-type,
body.vibe-light-page .team-card > p:first-of-type {
    color: #7B3FE4 !important;
}

/* Kolejne <p> = bio — flex: 1 wyrównuje wysokość */
.team-card > .wp-block-group > p:not(:first-of-type),
.team-card > p:not(:first-of-type) {
    flex: 1 !important;
}

body.hero-page--void .team-card > .wp-block-group > p:not(:first-of-type),
body.hero-page--void .team-card > p:not(:first-of-type) {
    color: rgba(245, 242, 233, 0.75) !important;
}

body.hero-page--cream .team-card > .wp-block-group > p:not(:first-of-type),
body.vibe-light-page .team-card > .wp-block-group > p:not(:first-of-type),
body.hero-page--cream .team-card > p:not(:first-of-type),
body.vibe-light-page .team-card > p:not(:first-of-type) {
    color: rgba(14, 15, 20, 0.70) !important;
}

/* 10. em w bio = akcent programów */
body.hero-page--void .team-card em { color: #C8F542 !important; }
body.hero-page--cream .team-card em,
body.vibe-light-page .team-card em { color: #7B3FE4 !important; }

/* 11. Mobile */
@media (max-width: 768px) {
    .team-card { margin-bottom: 16px !important; }
    .team-card h3, .team-card h4 { font-size: 18px !important; }
    .team-card > .wp-block-group,
    .team-card-content { padding: 18px 16px !important; }
    .team-card figure.wp-block-image,
    .team-card .wp-block-image { aspect-ratio: 1 / 1 !important; }
}


/* ═══════════════════════════════════════════════════════════════════════
   KROK 11 — Karty filarów / strona /programy/ (page-id-417)
   Split layout 50/50: tekst LEWO, obraz PRAWO — tylko CSS, bez DB
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Counter reset na poziomie strony ── */
body.page-id-417 {
    counter-reset: filar-counter;
}

/* ── Wrapper karty: flex row, 50/50, licznik ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 64px !important;
    padding: 60px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    counter-increment: filar-counter;
}

body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table):last-child {
    border-bottom: none !important;
}

/* ── Kolumna TEKSTU ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
}

/* ── Kolumna OBRAZU ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-image) {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    position: relative !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ── EYEBROW: pierwsza p w kolumnie tekstu ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) > p:first-child {
    font-family: var(--vibe-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #C8F542 !important;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
}

/* ── H2: tytuł filaru ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) h2 {
    font-family: var(--vibe-font-display) !important;
    font-size: clamp(26px, 2.2vw + 14px, 44px) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    color: #F5F2E9 !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

/* ── LEAD: p po h2 (akapit z opisem) ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) > p:not(:first-child) {
    font-size: clamp(15px, 0.4vw + 13px, 17px) !important;
    line-height: 1.65 !important;
    color: rgba(245, 242, 233, 0.68) !important;
    margin-bottom: 22px !important;
}

/* ── SEPARATOR + TABELA-METADANE ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) figure.wp-block-table {
    border: none !important;
    background: none !important;
    padding: 18px 0 0 0 !important;
    margin: 0 0 24px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
}

body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) table {
    border: none !important;
    border-collapse: collapse !important;
    width: 100% !important;
    background: none !important;
}

body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) table td,
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) table th {
    border: none !important;
    padding: 7px 0 !important;
    background: none !important;
    vertical-align: top !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Etykieta (PROJEKTY / DLA KOGO / …) */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) table td:first-child {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: rgba(245, 242, 233, 0.38) !important;
    min-width: 88px !important;
    padding-right: 14px !important;
    white-space: nowrap !important;
    padding-top: 9px !important;
}

/* Wartość */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) table td:last-child {
    color: rgba(245, 242, 233, 0.82) !important;
}

/* Linia między wierszami */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-table) table tr:not(:last-child) td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ── OBRAZ: zaokrąglone rogi, proporcje 5:4 ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-image) figure.wp-block-image {
    border-radius: 24px !important;
    overflow: hidden !important;
    aspect-ratio: unset !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    position: relative !important;
    margin: 0 !important;
    width: 100% !important;
    display: block !important;
}

body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-image) figure.wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
}

/* ── BADGE numeryczny: 01–04 w limonkowej pigułce ── */
body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
    .wp-block-column:has(figure.wp-block-image) figure.wp-block-image::after {
    content: "0" counter(filar-counter) !important;
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: #C8F542 !important;
    color: #070709 !important;
    font-family: var(--vibe-font-body) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    padding: 8px 15px !important;
    border-radius: 9999px !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* ── MOBILE: stos pionowy (obraz nad, tekst pod) ── */
@media (max-width: 768px) {
    body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table) {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 40px 0 !important;
    }

    body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
        .wp-block-column:has(figure.wp-block-image),
    body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
        .wp-block-column:has(figure.wp-block-table) {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Obraz na górze na mobile */
    body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
        .wp-block-column:has(figure.wp-block-image) {
        order: 1 !important;
    }
    body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
        .wp-block-column:has(figure.wp-block-table) {
        order: 2 !important;
    }

    /* Na mobile: przywróć proporcje obrazu */
    body.page-id-417 .wp-block-columns:has(figure.wp-block-image):has(figure.wp-block-table)
        .wp-block-column:has(figure.wp-block-image) figure.wp-block-image {
        aspect-ratio: 4 / 3 !important;
        flex: none !important;
    }
}

/* ── Naprzemienność: filar 2 i 4 — obraz LEWO, tekst PRAWO ── */
/* nth-child(4) = filar 2, nth-child(7) = filar 4 w .entry-content */
body.page-id-417 .entry-content > .wp-block-group:nth-child(4)
    .wp-block-column:has(figure.wp-block-image),
body.page-id-417 .entry-content > .wp-block-group:nth-child(7)
    .wp-block-column:has(figure.wp-block-image) {
    order: 1 !important;
}

body.page-id-417 .entry-content > .wp-block-group:nth-child(4)
    .wp-block-column:has(figure.wp-block-table),
body.page-id-417 .entry-content > .wp-block-group:nth-child(7)
    .wp-block-column:has(figure.wp-block-table) {
    order: 2 !important;
}


/* ═══════════════════════════════════════════════════════════════════════
   KROK 12 — Sekcje kremowe na /programy/: między filarami + pod filarem 4
   nth-child(5) = cytat między filarami, .vibe-programs-cta = CTA końcowe
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Kremowe tło i kolor tekstu
      Specificity (0,5,1) / (0,4,1) — oba > (0,4,1) conflicting rule (lub later = wygrywa)
   ── */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5),
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta {
    background: #F5F1E8 !important;
    color: #0E0F14 !important;
    position: relative !important;
    /* Full-bleed: rozciągnij element na pełną szerokość viewport */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
}

body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) .wp-block-group,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) .wp-block-column,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta .wp-block-group,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta .wp-block-column {
    background: #F5F1E8 !important;
    color: #0E0F14 !important;
}

/* Nagłówki */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h1,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h2,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h3,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h4,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h1,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h2,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h3,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h4 {
    color: #0E0F14 !important;
}

/* Tekst i linki */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) p,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) li,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) a:not(.wp-block-button__link),
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta p,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta li,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta a:not(.wp-block-button__link) {
    color: #0E0F14 !important;
}

/* em — akcent fioletowy */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) em,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta em {
    color: #7B3FE4 !important;
    font-style: italic;
}

/* ── Wyrównanie do lewej ── */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h1,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h2,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h3,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h4,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) p,
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) li,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h1,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h2,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h3,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h4,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta p,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta li {
    text-align: left !important;
}

/* Bloki z .has-text-align-center → lewo */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) .has-text-align-center,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta .has-text-align-center {
    text-align: left !important;
}

/* ── H2/H3 powiększone (skalowane responsywnie) ── */
body.page-id-417.hero-page--void .entry-content > .wp-block-group:nth-child(5) h2,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h2,
body.page-id-417.hero-page--void .entry-content > .vibe-programs-cta h3 {
    font-size: clamp(44px, 4vw + 20px, 80px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    font-family: var(--vibe-font-display) !important;
    font-weight: 500 !important;
}

/* ============================================
   PROJECT SECTIONS — Native Gutenberg (cream + violet)
   Pierwsze użycie: /programy/pierwsza-pomoc-w-szkole/
   Data: 21.05.2026
   ============================================ */

/* === BODY === */
body.vibe-project-page {
  background: var(--vibe-cream, #F5F1E8);
  color: var(--vibe-ink, #0E0F14);
}

body.vibe-project-page .vibe-page-hero {
  display: none !important;
}

/* === SECTION CONTAINER === */
.vibe-project-section {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(32px, 4vw, 56px);
  min-height: 85vh;
  padding: clamp(60px, 8vh, 100px) clamp(24px, 5vw, 80px) !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  align-items: stretch;
  max-width: 1600px;
  margin: 0 auto !important;
}

.vibe-project-section:first-of-type { border-top: none; }

.vibe-project-section__left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between;
  gap: 24px;
}

/* === EYEBROW === */
.vibe-project-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 16px 0 !important;
}

.vibe-project-eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--vibe-accent, #7B3FE4);
  box-shadow: 0 0 12px var(--vibe-accent-glow, rgba(123,63,228,0.5));
  flex-shrink: 0;
}

/* === TITLE === */
.vibe-project-title {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 7vw, 96px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
}

.vibe-project-title em {
  font-style: italic;
  font-size: 0.7em;
  margin-left: 0.12em;
  display: inline-block;
  vertical-align: baseline;
  transform: translateY(-0.06em);
  background: linear-gradient(180deg, var(--vibe-accent-dark, #5C2BB8), var(--vibe-accent, #7B3FE4));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--vibe-accent, #7B3FE4);
}

/* === LEAD === */
.vibe-project-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: clamp(15px, 1.2vw, 17px) !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  max-width: 540px !important;
  margin: 0 0 32px 0 !important;
}

.vibe-project-lead a {
  color: var(--vibe-ink, #0E0F14);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  text-decoration-color: var(--vibe-accent, #7B3FE4);
  font-weight: 600;
}

.vibe-project-lead a:hover { color: var(--vibe-accent, #7B3FE4); }

/* === STATS === */
.wp-block-columns.vibe-project-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  padding: 20px 0 0 0 !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  margin: 0 0 32px 0 !important;
}

.wp-block-column.vibe-project-stat { padding: 0 !important; }

.vibe-project-stat__num {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 !important;
}

.vibe-project-stat__suffix {
  font-size: 0.55em;
  color: var(--vibe-accent, #7B3FE4);
  margin-left: 0.05em;
  vertical-align: super;
}

.vibe-project-stat__label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12.5px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 8px 0 0 0 !important;
  line-height: 1.3 !important;
}

/* === CTA BUTTONS === */
.wp-block-buttons.vibe-project-cta-row {
  display: flex !important;
  align-items: center;
  gap: 24px !important;
  flex-wrap: wrap;
  margin: 0 0 24px 0 !important;
}

.wp-block-button.vibe-project-cta--primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 28px !important;
  background: var(--vibe-accent, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: 0 10px 24px var(--vibe-accent-shadow, rgba(123,63,228,0.33));
  transition: all 0.2s ease;
}

.wp-block-button.vibe-project-cta--primary .wp-block-button__link:hover {
  background: var(--vibe-accent-dark, #5C2BB8) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px var(--vibe-accent-soft, rgba(123,63,228,0.12));
}

.wp-block-button.vibe-project-cta--ghost .wp-block-button__link {
  background: transparent !important;
  color: var(--vibe-ink, #0E0F14) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: 1.5px solid var(--vibe-ink, #0E0F14) !important;
  border-radius: 0 !important;
  padding: 2px 0 4px 0 !important;
}

.wp-block-button.vibe-project-cta--ghost .wp-block-button__link:hover {
  color: var(--vibe-accent, #7B3FE4) !important;
  border-bottom-color: var(--vibe-accent, #7B3FE4) !important;
}

/* === SOCIAL PROOF === */
.vibe-project-social-proof {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 0 0 16px 0 !important;
}

.vibe-project-social-proof::before {
  content: "★";
  color: var(--vibe-accent, #7B3FE4);
  font-size: 14px;
}

/* === FUNDING === */
.vibe-project-funding {
  padding: 16px 0 0 0 !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.vibe-project-funding strong {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  font-weight: 600;
  color: var(--vibe-ink, #0E0F14);
  margin-bottom: 4px;
}

.vibe-project-funding em {
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--vibe-accent, #7B3FE4);
  font-weight: 500;
  font-size: 14px;
}

/* === RIGHT COLUMN — Native wp:image mosaic === */
.vibe-project-section__right {
  display: grid !important;
  grid-template-columns: 1.7fr 1fr;
  grid-template-rows: repeat(12, 1fr) auto;
  gap: 12px;
  min-height: 600px;
}

/* Usuń inner-container Gutenberg z układu */
.vibe-project-section__right > .wp-block-group__inner-container {
  display: contents !important;
}

/* HERO image */
.vibe-project-section__right .wp-block-image.vibe-project-mosaic__hero {
  grid-column: 1;
  grid-row: 1 / 13;
  margin: 0 !important;
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(14, 15, 20, 0.18);
}

/* THUMB images */
.vibe-project-section__right .wp-block-image.vibe-project-mosaic__thumb {
  grid-column: 2;
  margin: 0 !important;
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(14, 15, 20, 0.08);
}

.vibe-project-section__right .wp-block-image.vibe-project-mosaic__thumb:nth-of-type(2) { grid-row: 1 / 5; }
.vibe-project-section__right .wp-block-image.vibe-project-mosaic__thumb:nth-of-type(3) { grid-row: 5 / 9; }
.vibe-project-section__right .wp-block-image.vibe-project-mosaic__thumb:nth-of-type(4) { grid-row: 9 / 13; }

/* IMG wypełnij figure */
.vibe-project-section__right .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* WATERMARK + */
.vibe-project-section__right .wp-block-image::after {
  content: "+";
  position: absolute;
  top: 12px;
  right: 14px;
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 300;
  color: rgba(245, 241, 232, 0.5);
  z-index: 3;
  pointer-events: none;
}

/* FIGCAPTION overlay */
.vibe-project-section__right .wp-block-image figcaption {
  position: absolute !important;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 !important;
  z-index: 2;
  background: linear-gradient(180deg, transparent, rgba(14, 15, 20, 0.75) 60%);
  padding: 32px 16px 14px 16px;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 0 0 6px 6px;
  text-align: left !important;
}

.vibe-project-section__right .wp-block-image.vibe-project-mosaic__hero figcaption {
  font-family: 'Fraunces', serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.vibe-project-section__right .wp-block-image.vibe-project-mosaic__thumb figcaption {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 24px 12px 10px 12px;
}

/* === GALLERY LINK (native wp:paragraph) === */
.vibe-project-gallery-link-wrapper {
  grid-column: 1 / -1;
  margin: 12px 0 0 0 !important;
}

.vibe-project-gallery-link-wrapper a.vibe-project-gallery-link {
  display: flex !important;
  align-items: center;
  gap: 20px;
  padding: 16px 20px;
  background: rgba(14, 15, 20, 0.04);
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 8px;
  text-decoration: none !important;
  color: var(--vibe-ink, #0E0F14) !important;
  font-family: 'Fraunces', serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease;
}

.vibe-project-gallery-link-wrapper a.vibe-project-gallery-link::before {
  content: "";
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--vibe-accent, #7B3FE4), var(--vibe-accent-dark, #5C2BB8));
  border-radius: 4px;
  flex-shrink: 0;
  box-shadow: -6px 4px 0 -3px #EEE8DA, -12px 8px 0 -6px #1F1B2E;
}

.vibe-project-gallery-link-wrapper a.vibe-project-gallery-link::after {
  content: "→";
  margin-left: auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--vibe-ink, #0E0F14);
  color: var(--vibe-cream, #F5F1E8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.vibe-project-gallery-link-wrapper a.vibe-project-gallery-link:hover {
  background: var(--vibe-accent-soft, rgba(123,63,228,0.12));
  transform: translateX(4px);
}

.vibe-project-gallery-link-wrapper a.vibe-project-gallery-link:hover::after {
  background: var(--vibe-accent, #7B3FE4);
}

/* === MOBILE === */
@media (max-width: 900px) {
  .vibe-project-section {
    grid-template-columns: 1fr !important;
    min-height: auto;
    padding: 60px 20px !important;
  }
  .vibe-project-section__right {
    order: -1;
    min-height: 400px;
    grid-template-rows: repeat(12, 30px) auto;
  }
  .wp-block-columns.vibe-project-stats {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .wp-block-buttons.vibe-project-cta-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* === END PROJECT SECTIONS === */

/* ============================================================
   VIBE GALLERY PAGE — galeria projektów
   Cream + Violet brand | native Gutenberg + <dialog> lightbox
   ============================================================ */

/* ─── Back link ──────────────────────────────────────────── */
.vibe-gallery-back {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--vibe-accent, #7B3FE4);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.vibe-gallery-back:hover { text-decoration: underline; }

/* ─── Hero nagłówek galerii ───────────────────────────────── */
.vibe-gallery-page .entry-hero,
.vibe-gallery-page [class*="kb-hero"],
.vibe-gallery-page .kb-hero-wrap {
  background: var(--vibe-cream, #F5F1E8) !important;
}

/* ─── Sekcja filtrów (opcjonalna) ────────────────────────── */
.vibe-gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 2rem;
}
/* inner-container dla filtrów */
.vibe-gallery-filters > .wp-block-group__inner-container {
  display: contents !important;
}

.vibe-gallery-filter-btn {
  padding: .45rem 1.1rem;
  border: 1.5px solid #ccc;
  border-radius: 20px;
  font-size: .875rem;
  font-weight: 600;
  font-family: inherit;
  color: var(--vibe-ink, #0E0F14);
  background: transparent;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  line-height: 1;
}
.vibe-gallery-filter-btn:hover,
.vibe-gallery-filter-btn.is-active {
  background: var(--vibe-accent, #7B3FE4);
  border-color: var(--vibe-accent, #7B3FE4);
  color: #fff;
}

/* ─── Siatka galerii ──────────────────────────────────────── */
.vibe-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 0 0 3rem;
  min-height: unset !important;
  padding: 0 !important;
  align-items: unset !important;
  justify-content: unset !important;
}
/* inner-container musi być display:contents */
.vibe-gallery-grid > .wp-block-group__inner-container {
  display: contents !important;
}

@media (max-width: 900px) {
  .vibe-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .vibe-gallery-grid { grid-template-columns: 1fr 1fr !important; gap: .5rem !important; }
}

/* ─── Kafelek zdjęcia ─────────────────────────────────────── */
.vibe-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: #e4e0d7;
  aspect-ratio: 4 / 3;
  cursor: pointer;
  /* usuń domyślny margin wp:image */
  margin: 0 !important;
}
/* Gutenberg dodaje figcaption — ukryj w gridzie, pokaż w lightboxie */
.vibe-gallery-item figcaption {
  display: none;
}
.vibe-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
/* Subtelny zoom na hover */
.vibe-gallery-item:hover img { transform: scale(1.05); }

/* Violet overlay + zoom icon */
.vibe-gallery-item::after {
  content: '\1F50D';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  background: var(--vibe-accent-soft, rgba(123,63,228,0.12));
  color: #fff;
  opacity: 0;
  transition: opacity .25s;
  border-radius: inherit;
}
.vibe-gallery-item:hover::after { opacity: 1; }

/* Ukryte przez filtr */
.vibe-gallery-item.is-hidden { display: none; }

/* ─── Lightbox <dialog> ───────────────────────────────────── */
#vibe-lightbox {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: rgba(14, 15, 20, .93);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 99999;
  /* override browser defaults */
  overflow: hidden;
}
#vibe-lightbox::backdrop { background: transparent; }
#vibe-lightbox[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}

.vibe-lb-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 5rem;
  box-sizing: border-box;
}
@media (max-width: 640px) {
  .vibe-lb-inner { padding: 4rem .5rem 4.5rem; }
}

.vibe-lb-figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
  max-height: 100%;
}
.vibe-lb-img {
  display: block;
  max-width: 88vw;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 12px 60px rgba(0,0,0,.6);
}
.vibe-lb-caption {
  color: rgba(255,255,255,.65);
  font-size: .82rem;
  text-align: center;
  margin-top: .6rem;
  max-width: 60ch;
}

/* Counter X / N */
.vibe-lb-counter {
  position: absolute;
  bottom: 1.1rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.45);
  font-size: .78rem;
  letter-spacing: .06em;
  white-space: nowrap;
}

/* Zamknij */
.vibe-lb-close {
  position: absolute;
  top: .9rem;
  right: .9rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  z-index: 3;
}
.vibe-lb-close:hover { background: rgba(255,255,255,.25); }

/* Prev / Next */
.vibe-lb-prev,
.vibe-lb-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  z-index: 3;
}
.vibe-lb-prev { left: 1rem; }
.vibe-lb-next { right: 1rem; }
.vibe-lb-prev:hover,
.vibe-lb-next:hover { background: rgba(255,255,255,.25); }

@media (max-width: 640px) {
  .vibe-lb-prev { left: .2rem; width: 2.4rem; height: 2.4rem; font-size: 1.4rem; }
  .vibe-lb-next { right: .2rem; width: 2.4rem; height: 2.4rem; font-size: 1.4rem; }
}

/* Scroll lock gdy lightbox otwarty */
body.vibe-lb-open { overflow: hidden !important; }

/* ─── Lead text galerii ───────────────────────────────────── */
.vibe-gallery-lead {
  max-width: 64ch;
  margin: 0 0 2.5rem;
  color: var(--vibe-ink-soft, #3a3a4a);
  font-size: 1.05rem;
  line-height: 1.65;
}

/* ─── CTA powrotu ──────────────────────────────────────────── */
.vibe-gallery-cta {
  margin: 1rem 0 4rem;
}

/* === END GALLERY PAGE === */

/* ============================================================
   PILLAR COLOR SYSTEM
   Każdy filar ma swój akcent — przełączany przez body.pillar-XX
   ============================================================ */

/* === PILLAR TOKENS (global) === */
:root {
  --pillar-01:      #7B3FE4;
  --pillar-01-dark: #5C2BB8;
  --pillar-02:      #E85D75;
  --pillar-02-dark: #B83A4D;
  --pillar-03:      #2D9CDB;
  --pillar-03-dark: #1D6B96;
  --pillar-04:      #F2A93C;
  --pillar-04-dark: #B57A26;

  /* Default fallback = violet (Filar 01) */
  --vibe-accent:        var(--pillar-01);
  --vibe-accent-dark:   var(--pillar-01-dark);
  --vibe-accent-glow:   rgba(123, 63, 228, 0.5);
  --vibe-accent-shadow: rgba(123, 63, 228, 0.33);
  --vibe-accent-soft:   rgba(123, 63, 228, 0.12);
}

/* Domyślny fallback — vibe-project-page / vibe-gallery-page bez pillar-XX (MUSI być PRZED pillar-XX) */
body.vibe-project-page,
body.vibe-gallery-page {
  --vibe-accent:        var(--pillar-01);
  --vibe-accent-dark:   var(--pillar-01-dark);
  --vibe-accent-glow:   rgba(123, 63, 228, 0.5);
  --vibe-accent-shadow: rgba(123, 63, 228, 0.33);
  --vibe-accent-soft:   rgba(123, 63, 228, 0.12);
}

/* Filar 01 — Pierwsza pomoc w szkole (violet) — overrides fallback above */
body.pillar-01 {
  --vibe-accent:        var(--pillar-01);
  --vibe-accent-dark:   var(--pillar-01-dark);
  --vibe-accent-glow:   rgba(123, 63, 228, 0.5);
  --vibe-accent-shadow: rgba(123, 63, 228, 0.33);
  --vibe-accent-soft:   rgba(123, 63, 228, 0.12);
}

/* Filar 02 — Zdrowie psychiczne i odporność (różowy) */
body.pillar-02 {
  --vibe-accent:        var(--pillar-02);
  --vibe-accent-dark:   var(--pillar-02-dark);
  --vibe-accent-glow:   rgba(232, 93, 117, 0.5);
  --vibe-accent-shadow: rgba(232, 93, 117, 0.33);
  --vibe-accent-soft:   rgba(232, 93, 117, 0.12);
}

/* Filar 03 — Edukacja STEM dla dzieci (cyan) */
body.pillar-03 {
  --vibe-accent:        var(--pillar-03);
  --vibe-accent-dark:   var(--pillar-03-dark);
  --vibe-accent-glow:   rgba(45, 156, 219, 0.5);
  --vibe-accent-shadow: rgba(45, 156, 219, 0.33);
  --vibe-accent-soft:   rgba(45, 156, 219, 0.12);
}

/* Filar 04 — Rozwój i sprawczość (amber) */
body.pillar-04 {
  --vibe-accent:        var(--pillar-04);
  --vibe-accent-dark:   var(--pillar-04-dark);
  --vibe-accent-glow:   rgba(242, 169, 60, 0.5);
  --vibe-accent-shadow: rgba(242, 169, 60, 0.33);
  --vibe-accent-soft:   rgba(242, 169, 60, 0.12);
}

/* === END PILLAR SYSTEM === */

/* ================================================================
   HERO PAGES v1  —  .vibe-hero + body.hero-page--home / --o-nas / --csr
   Native Gutenberg blocks only. ZERO wp:html.
   ================================================================ */

/* ── Pass-through: Gutenberg injects inner-container between every  ──
   wp:group and its children; flatten it so CSS grid/flex works     ── */
.vibe-hero > .wp-block-group__inner-container,
.vibe-hero__grid > .wp-block-group__inner-container,
.vibe-hero-content > .wp-block-group__inner-container,
.vibe-hero-media > .wp-block-group__inner-container,
.vibe-hero-cta-row > .wp-block-group__inner-container,
.vibe-hero-stats > .wp-block-group__inner-container,
.vibe-hero-meta > .wp-block-group__inner-container,
.vibe-hero-card > .wp-block-group__inner-container,
.vibe-hero-tiers > .wp-block-group__inner-container {
  display: contents !important;
}

/* ── Outer wrapper — NOT fullscreen (excluded via :not above) ─────── */
.vibe-hero {
  /* Full-bleed: entry-content starts at 56px from viewport (24px content-container + 32px entry-content-wrap) */
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -20px !important;
  margin-right: -32px !important;
  position: relative;
  overflow: hidden;
}

/* ── Two-column grid ──────────────────────────────────────────────── */
.vibe-hero__grid {
  display: grid !important;
  grid-template-columns: 58fr 42fr;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  align-items: stretch;
}

/* ── Content column ───────────────────────────────────────────────── */
.vibe-hero-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 96px calc(56px + 1cm) 96px 72px !important;
  gap: 0 !important;
}

/* ── Media column ─────────────────────────────────────────────────── */
.vibe-hero-media {
  position: relative !important;
  overflow: hidden !important;
  min-height: 480px !important;
  padding-right: 2cm !important;
}

.vibe-hero-media img,
.vibe-hero-media figure {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* ── Eyebrow ──────────────────────────────────────────────────────── */
.vibe-hero-eyebrow {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1 !important;
}

.vibe-hero-eyebrow::before {
  content: '' !important;
  display: inline-block !important;
  width: 28px !important;
  height: 2px !important;
  background: currentColor !important;
  flex-shrink: 0 !important;
}

/* ── Title ────────────────────────────────────────────────────────── */
.vibe-hero-title {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(2.4rem, 4.5vw, 4.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.07 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 28px !important;
  margin-top: 0 !important;
}

.vibe-hero-title em {
  font-style: italic !important;
}

/* ── Subhead ──────────────────────────────────────────────────────── */
.vibe-hero-subhead {
  font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
  line-height: 1.65 !important;
  margin-bottom: 44px !important;
  margin-top: 0 !important;
  max-width: 54ch !important;
}

/* ── CTA row ──────────────────────────────────────────────────────── */
.vibe-hero-cta-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 56px !important;
}

.vibe-hero-cta-row .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.vibe-hero-cta-row .wp-block-button__link {
  border-radius: 6px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  padding: 14px 32px !important;
  text-decoration: none !important;
  transition: background 0.15s, border-color 0.15s, color 0.15s !important;
  display: inline-block !important;
}

/* ── Stats row ────────────────────────────────────────────────────── */
.vibe-hero-stats {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px 40px !important;
  margin-top: 0 !important;
}

.vibe-hero-stats p {
  margin: 0 !important;
}

/* ── Meta list ────────────────────────────────────────────────────── */
.vibe-hero-meta ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.vibe-hero-meta ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

.vibe-hero-meta ul li::before {
  content: '✓' !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

/* ── CSR card ─────────────────────────────────────────────────────── */
.vibe-hero-card {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 48px !important;
  box-shadow: 0 8px 48px rgba(7,7,9,0.10) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
}

.vibe-hero-tiers {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

/* ================================================================
   VARIANT: hero-page--home  (dark #070709 + lime #C3F03A)
   ================================================================ */

body.hero-page--home .vibe-hero {
  background: #070709 !important;
  color: #F5F1E8 !important;
}

body.hero-page--home .vibe-hero-eyebrow {
  color: #C3F03A !important;
}

body.hero-page--home .vibe-hero-title {
  color: #F5F1E8 !important;
}

body.hero-page--home .vibe-hero-title em {
  color: #C3F03A !important;
  font-style: italic;
}

body.hero-page--home .vibe-hero-subhead {
  color: rgba(245, 241, 232, 0.70) !important;
}

/* HOME primary button — lime */
body.hero-page--home .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #C3F03A !important;
  color: #070709 !important;
  border: 2px solid #C3F03A !important;
}

body.hero-page--home .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #aed632 !important;
  border-color: #aed632 !important;
}

/* HOME secondary button — ghost white */
body.hero-page--home .vibe-hero-cta-row .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #F5F1E8 !important;
  border: 2px solid rgba(245,241,232,0.45) !important;
}

body.hero-page--home .vibe-hero-cta-row .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: #F5F1E8 !important;
  background: rgba(245,241,232,0.08) !important;
}

/* HOME stats */
body.hero-page--home .vibe-hero-stats strong,
body.hero-page--home .vibe-hero-stats b {
  color: #C3F03A !important;
  font-family: 'Fraunces', serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  display: block !important;
  line-height: 1 !important;
}

body.hero-page--home .vibe-hero-stats p {
  color: rgba(245, 241, 232, 0.65) !important;
}

/* ================================================================
   VARIANT: hero-page--o-nas  (cream #F5F1E8 + violet #7B3FE4)
   ================================================================ */

body.hero-page--o-nas .vibe-hero {
  background: #F5F1E8 !important;
  color: #070709 !important;
}

body.hero-page--o-nas .vibe-hero-eyebrow {
  color: #7B3FE4 !important;
}

body.hero-page--o-nas .vibe-hero-title {
  color: #070709 !important;
}

body.hero-page--o-nas .vibe-hero-title em {
  color: #7B3FE4 !important;
  font-style: italic;
}

body.hero-page--o-nas .vibe-hero-subhead {
  color: #3D3D3D !important;
}

/* O-NAS primary button — violet */
body.hero-page--o-nas .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #7B3FE4 !important;
  color: #fff !important;
  border: 2px solid #7B3FE4 !important;
}

body.hero-page--o-nas .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #5C2BB8 !important;
  border-color: #5C2BB8 !important;
}

/* O-NAS secondary button — ghost violet */
body.hero-page--o-nas .vibe-hero-cta-row .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #7B3FE4 !important;
  border: 2px solid #7B3FE4 !important;
}

body.hero-page--o-nas .vibe-hero-cta-row .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(123,63,228,0.08) !important;
}

/* O-NAS meta check color */
body.hero-page--o-nas .vibe-hero-meta ul li::before {
  color: #7B3FE4;
}

/* ================================================================
   VARIANT: hero-page--csr  (cream #F5F1E8 + violet #7B3FE4 + card)
   ================================================================ */

body.hero-page--csr .vibe-hero {
  background: #F5F1E8 !important;
  color: #070709 !important;
}

body.hero-page--csr .vibe-hero-eyebrow {
  color: #7B3FE4 !important;
}

body.hero-page--csr .vibe-hero-title {
  color: #070709 !important;
}

body.hero-page--csr .vibe-hero-title em {
  color: #7B3FE4 !important;
  font-style: italic;
}

body.hero-page--csr .vibe-hero-subhead {
  color: #3D3D3D !important;
}

/* CSR primary button — violet */
body.hero-page--csr .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #7B3FE4 !important;
  color: #fff !important;
  border: 2px solid #7B3FE4 !important;
}

body.hero-page--csr .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #5C2BB8 !important;
  border-color: #5C2BB8 !important;
}

body.hero-page--csr .vibe-hero-meta ul li::before {
  color: #7B3FE4;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 1024px) {
  .vibe-hero__grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .vibe-hero-media {
    min-height: 360px !important;
  }

  .vibe-hero-content {
    padding: 64px 40px !important;
  }

  .vibe-hero-card {
    border-radius: 0 !important;
    padding: 40px !important;
  }
}

@media (max-width: 768px) {
  /* Reset full-bleed shift — na mobile entry-content ma inny offset */
  .vibe-hero {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .vibe-hero-content {
    padding: 48px 24px !important;
    align-items: center !important;
    text-align: center !important;
  }

  .vibe-hero-title {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    margin-bottom: 20px !important;
  }

  .vibe-hero-subhead {
    margin-bottom: 32px !important;
  }

  .vibe-hero-cta-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 36px !important;
  }

  .vibe-hero-stats {
    gap: 8px 20px !important;
  }

  .vibe-hero-media {
    min-height: 260px !important;
  }
}

/* === END HERO PAGES v1 === */

/* ============================================
   VIBE HERO — Layouty specyficzne (PROMPT B)
   Opinie · Programy filary · Oferta szkół · Kontakt
   ============================================ */

/* === PROGRAMY HUB — 4 filary === */
body.hero-page--programy .vibe-hero::before {
  width: 1400px !important;
  top: -300px !important;
  left: 50% !important;
  transform: translateX(-50%);
  right: auto !important;
  background: radial-gradient(ellipse, rgba(200, 245, 66, 0.14) 0%, transparent 60%) !important;
}

.vibe-hero__programy-top {
  margin-bottom: 60px;
}

.wp-block-columns.vibe-hero__pillars {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  border-top: 1px solid rgba(245, 241, 232, 0.15);
  padding-top: 36px !important;
  gap: 0 !important;
  margin: 0 !important;
}

.wp-block-column.vibe-hero__pillar {
  padding: 0 32px !important;
  border-right: 1px solid rgba(245, 241, 232, 0.12);
}

.wp-block-column.vibe-hero__pillar:first-child {
  padding-left: 0 !important;
}

.wp-block-column.vibe-hero__pillar:last-child {
  padding-right: 0 !important;
  border-right: none;
}

.vibe-hero__pillar-num {
  font-size: 13px !important;
  color: var(--vibe-lime, #C8F542) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 16px 0 !important;
}

.vibe-hero__pillar-name {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  line-height: 1.1 !important;
  margin: 0 0 16px 0 !important;
  font-variation-settings: "opsz" 32 !important;
}

.vibe-hero__pillar-name em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542) !important;
}

.vibe-hero__pillar-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.6) !important;
  margin: 0 0 24px 0 !important;
}

.vibe-hero__pillar-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: var(--vibe-lime, #C8F542) !important;
  text-decoration: none !important;
}

/* === OFERTA DLA SZKÓŁ — lista filarów rows === */
.vibe-hero__oferta-label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: rgba(245, 241, 232, 0.5) !important;
  margin: 60px 0 24px 0 !important;
}

.vibe-hero__oferta-list {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vibe-hero__oferta-item {
  display: grid !important;
  grid-template-columns: 60px 1fr 24px !important;
  align-items: center;
  gap: 16px !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid rgba(245, 241, 232, 0.12);
  text-decoration: none !important;
  color: inherit !important;
  transition: padding-left 0.2s ease;
}

.vibe-hero__oferta-item:first-child {
  border-top: 1px solid rgba(245, 241, 232, 0.12);
}

.vibe-hero__oferta-item:hover {
  padding-left: 8px !important;
}

.vibe-hero__oferta-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 28px;
  color: var(--vibe-lime, #C8F542);
  font-variation-settings: "opsz" 28;
}

.vibe-hero__oferta-name {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: 28px;
  color: var(--vibe-cream, #F5F1E8);
  line-height: 1.15;
  font-variation-settings: "opsz" 28;
}

.vibe-hero__oferta-name em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

.vibe-hero__oferta-arrow {
  font-size: 20px;
  color: rgba(245, 241, 232, 0.4);
  text-align: right;
}

/* === KONTAKT — karta kontaktowa === */
.vibe-hero__kontakt-card {
  margin-top: 60px !important;
  padding: 40px !important;
  background: #FBF7EE;
  border: 1px solid rgba(14, 15, 20, 0.06);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(14, 15, 20, 0.06);
}

.vibe-hero__kontakt-who {
  display: flex !important;
  align-items: center;
  gap: 18px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(14, 15, 20, 0.1);
  margin: 0 0 28px 0 !important;
}

.vibe-hero__kontakt-who-name {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  color: var(--vibe-ink, #0E0F14);
  line-height: 1.2;
  margin-bottom: 4px;
  display: block;
  font-variation-settings: "opsz" 24;
}

.vibe-hero__kontakt-who-name em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
}

.vibe-hero__kontakt-who-role {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  color: rgba(14, 15, 20, 0.6);
  display: block;
}

.vibe-hero__kontakt-list {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vibe-hero__kontakt-row {
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
  margin: 0 !important;
}

.vibe-hero__kontakt-row:last-child { border-bottom: none; }

.vibe-hero__kontakt-key {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(14, 15, 20, 0.55);
  margin-bottom: 4px;
}

.vibe-hero__kontakt-value {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: var(--vibe-ink, #0E0F14);
}

.vibe-hero__kontakt-footer {
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.1);
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.65) !important;
}

.vibe-hero__kontakt-footer strong {
  color: var(--vibe-ink, #0E0F14);
  font-weight: 700;
}

/* Hero body-color overrides for programy/oferta (dark pages) */
body.hero-page--programy .vibe-hero,
body.hero-page--oferta-dla-szkol .vibe-hero {
  background: #070709 !important;
  color: #F5F1E8 !important;
}

body.hero-page--programy .vibe-hero-eyebrow,
body.hero-page--oferta-dla-szkol .vibe-hero-eyebrow {
  color: #C8F542 !important;
}

body.hero-page--programy .vibe-hero-title,
body.hero-page--oferta-dla-szkol .vibe-hero-title {
  color: #F5F1E8 !important;
}

body.hero-page--programy .vibe-hero-title em,
body.hero-page--oferta-dla-szkol .vibe-hero-title em {
  color: #C8F542 !important;
}

body.hero-page--programy .vibe-hero-subhead,
body.hero-page--oferta-dla-szkol .vibe-hero-subhead {
  color: rgba(245, 241, 232, 0.70) !important;
}

/* Hero body-color overrides for opinie/kontakt (cream pages) */
body.hero-page--opinie .vibe-hero,
body.hero-page--kontakt .vibe-hero {
  background: #F5F1E8 !important;
  color: #070709 !important;
}

body.hero-page--opinie .vibe-hero-eyebrow,
body.hero-page--kontakt .vibe-hero-eyebrow {
  color: #7B3FE4 !important;
}

body.hero-page--opinie .vibe-hero-title,
body.hero-page--kontakt .vibe-hero-title {
  color: #070709 !important;
}

body.hero-page--opinie .vibe-hero-title em,
body.hero-page--kontakt .vibe-hero-title em {
  color: #7B3FE4 !important;
}

/* CTA buttons — dark pages (programy / oferta) */
body.hero-page--programy .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.hero-page--oferta-dla-szkol .vibe-hero-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.hero-page--oferta-dla-szkol .vibe-hero .wp-block-button.vibe-hero-cta--primary .wp-block-button__link {
  background: #C8F542 !important;
  color: #070709 !important;
  border: 2px solid #C8F542 !important;
  font-weight: 700 !important;
}

body.hero-page--programy .vibe-hero-cta-row .wp-block-button.is-style-outline .wp-block-button__link,
body.hero-page--oferta-dla-szkol .vibe-hero-cta-row .wp-block-button.is-style-outline .wp-block-button__link,
body.hero-page--oferta-dla-szkol .vibe-hero .wp-block-button.vibe-hero-cta--ghost .wp-block-button__link {
  background: transparent !important;
  color: #F5F1E8 !important;
  border: 2px solid rgba(245,241,232,0.45) !important;
}

/* CTA buttons — cream pages (kontakt) */
body.hero-page--kontakt .vibe-hero .wp-block-button.vibe-hero-cta--primary .wp-block-button__link {
  background: #7B3FE4 !important;
  color: #fff !important;
  border: 2px solid #7B3FE4 !important;
  font-weight: 700 !important;
}

body.hero-page--kontakt .vibe-hero .wp-block-button.vibe-hero-cta--ghost .wp-block-button__link {
  background: transparent !important;
  color: #7B3FE4 !important;
  border: 2px solid #7B3FE4 !important;
}

/* === MOBILE for new layouts === */
@media (max-width: 900px) {
  .vibe-hero__opinie-top {
    grid-template-columns: 1fr !important;
    text-align: left;
  }
  .vibe-hero__opinie-rating {
    text-align: left;
  }
  .vibe-hero__opinie-quote-block {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .vibe-hero__opinie-pagination {
    flex-direction: row !important;
    padding-top: 0;
  }
  .vibe-hero__opinie-programs {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid rgba(14, 15, 20, 0.12);
    padding-top: 24px !important;
  }
  .wp-block-columns.vibe-hero__pillars {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .wp-block-column.vibe-hero__pillar {
    padding: 16px 0 !important;
    border-right: none;
    border-bottom: 1px solid rgba(245, 241, 232, 0.12);
  }
}

/* === END HERO B === */

/* ============================================
   VIBE WESPRZYJ — Strona darowizn (FIX v2)
   Paleta: CREAM + VIOLET (cała strona)
   Wyjątek: Contact CTA na końcu = DARK + LIME (full-bleed)
   ============================================ */

body.wesprzyj-page {
  background: var(--vibe-cream, #F5F1E8) !important;
  color: var(--vibe-ink, #0E0F14);
}

body.wesprzyj-page .vibe-page-hero { display: none !important; }

/* === FULL-BLEED HELPER === */
/* Każda sekcja .vibe-wesprzyj-* musi mieć tło na cały ekran */
body.wesprzyj-page .vibe-wesprzyj-hero,
body.wesprzyj-page .vibe-wesprzyj-section,
body.wesprzyj-page .vibe-wesprzyj-quote-section,
body.wesprzyj-page .vibe-wesprzyj-form-section,
body.wesprzyj-page .vibe-wesprzyj-contact-cta {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
}

/* Content INSIDE sekcji ma max-width */
body.wesprzyj-page .vibe-wesprzyj-hero,
body.wesprzyj-page .vibe-wesprzyj-section,
body.wesprzyj-page .vibe-wesprzyj-quote-section,
body.wesprzyj-page .vibe-wesprzyj-form-section {
  background: var(--vibe-cream, #F5F1E8) !important;
}

body.wesprzyj-page .vibe-wesprzyj-hero > *,
body.wesprzyj-page .vibe-wesprzyj-section > *,
body.wesprzyj-page .vibe-wesprzyj-quote-section > *,
body.wesprzyj-page .vibe-wesprzyj-form-section > * {
  max-width: 1320px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* inner-container pass-throughs for all wesprzyj groups */
body.wesprzyj-page .vibe-wesprzyj-hero > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-section > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-quote-section > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-form-section > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-contact-cta > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-section-header > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-form-grid > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-form-left > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-form-card > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-contact-cta-inner > .wp-block-group__inner-container,
body.wesprzyj-page .vibe-wesprzyj-faq > .wp-block-group__inner-container {
  display: contents !important;
}

/* === HERO === */
.vibe-wesprzyj-hero {
  position: relative;
  padding: clamp(60px, 12vh, 120px) clamp(24px, 5vw, 80px) clamp(60px, 10vh, 100px) !important;
  overflow: hidden;
}

.vibe-wesprzyj-hero::before {
  content: "";
  position: absolute;
  bottom: -100px;
  left: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.10) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}

.vibe-wesprzyj-hero::after {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}

/* === PILL === */
.vibe-wesprzyj-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 10px 20px !important;
  background: #FBF7EE !important;
  box-shadow: 0 2px 8px rgba(14, 15, 20, 0.04);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 0 40px 0 !important;
  position: relative;
  z-index: 5;
  width: auto !important;
}

.vibe-wesprzyj-pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 10px rgba(123, 63, 228, 0.5);
  flex-shrink: 0;
}

/* === H1 === */
.vibe-wesprzyj-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(56px, 9vw, 132px) !important;
  font-weight: 350 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.035em !important;
  font-variation-settings: "opsz" 144 !important;
  margin: 0 0 56px 0 !important;
  position: relative;
  z-index: 5;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-wesprzyj-h1 em {
  font-style: italic !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-variation-settings: "opsz" 144 !important;
}

/* === SECTION === */
.vibe-wesprzyj-section {
  padding: clamp(60px, 10vh, 100px) clamp(24px, 5vw, 80px) !important;
  position: relative;
}

.vibe-wesprzyj-section-header {
  margin: 0 0 60px 0 !important;
  max-width: 1320px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.vibe-wesprzyj-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 5.5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.025em !important;
  margin: 24px 0 24px 0 !important;
  font-variation-settings: "opsz" 72 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-wesprzyj-h2 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-wesprzyj-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  max-width: 700px;
  margin: 0 !important;
}

/* === STATS === */
.wp-block-columns.vibe-wesprzyj-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  margin: 60px auto 0 !important;
  max-width: 1320px;
  gap: 0 !important;
}

.wp-block-column.vibe-wesprzyj-stat {
  padding: 56px 40px 56px 0 !important;
  border-right: 1px solid rgba(14, 15, 20, 0.12);
}

.wp-block-column.vibe-wesprzyj-stat:last-child {
  border-right: none;
  padding-right: 0 !important;
}

.wp-block-column.vibe-wesprzyj-stat:not(:first-child) {
  padding-left: 40px !important;
}

.vibe-wesprzyj-stat-num {
  font-family: 'Fraunces', serif !important;
  font-weight: 300 !important;
  font-size: clamp(80px, 11vw, 160px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
  font-variation-settings: "opsz" 144 !important;
}

.vibe-wesprzyj-stat-num em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-wesprzyj-stat-label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
}

.vibe-wesprzyj-stat-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 0 !important;
}

/* === TIERS === */
.wp-block-columns.vibe-wesprzyj-tiers {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 60px auto 0 !important;
  max-width: 1320px;
}

.wp-block-column.vibe-wesprzyj-tier {
  position: relative;
  padding: 40px 36px 36px !important;
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-column.vibe-wesprzyj-tier:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(14, 15, 20, 0.08);
}

.wp-block-column.vibe-wesprzyj-tier--featured {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-color: var(--vibe-ink, #0E0F14);
}

.wp-block-column.vibe-wesprzyj-tier--featured::before {
  content: "Najczęstszy wybór";
  position: absolute;
  top: 0;
  left: 32px;
  transform: translateY(-14px);
  padding: 6px 14px;
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border-radius: 999px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.vibe-wesprzyj-tier-amount {
  font-family: 'Fraunces', serif !important;
  font-weight: 300 !important;
  font-size: clamp(64px, 7vw, 96px) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 20px 0 !important;
  font-variation-settings: "opsz" 96 !important;
}

.wp-block-column.vibe-wesprzyj-tier .vibe-wesprzyj-tier-amount {
  color: var(--vibe-ink, #0E0F14) !important;
}

.wp-block-column.vibe-wesprzyj-tier--featured .vibe-wesprzyj-tier-amount {
  color: var(--vibe-cream, #F5F1E8) !important;
}

.vibe-wesprzyj-tier-equals {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  margin: 0 0 20px 0 !important;
  font-variation-settings: "opsz" 26 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-column.vibe-wesprzyj-tier--featured .vibe-wesprzyj-tier-equals {
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-lime, #C8F542) !important;
}

.vibe-wesprzyj-tier-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin: 0 0 32px 0 !important;
}

.wp-block-column.vibe-wesprzyj-tier .vibe-wesprzyj-tier-desc {
  color: rgba(14, 15, 20, 0.78) !important;
}

.wp-block-column.vibe-wesprzyj-tier--featured .vibe-wesprzyj-tier-desc {
  color: rgba(245, 241, 232, 0.75) !important;
}

.wp-block-button.vibe-wesprzyj-tier-cta .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 14px 24px !important;
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  border: none !important;
  transition: all 0.2s;
}

.wp-block-column.vibe-wesprzyj-tier--featured .wp-block-button.vibe-wesprzyj-tier-cta .wp-block-button__link {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

/* === PULL QUOTE === */
.vibe-wesprzyj-quote-section {
  padding: clamp(80px, 14vh, 140px) clamp(24px, 5vw, 80px) !important;
  background: linear-gradient(90deg, rgba(123, 63, 228, 0.04) 0%, transparent 60%) !important;
}

.wp-block-quote.vibe-wesprzyj-quote {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-weight: 350 !important;
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  max-width: 1100px;
  margin: 0 auto !important;
  font-variation-settings: "opsz" 72 !important;
  border: none !important;
  padding: 0 !important;
  background: none !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.wp-block-quote.vibe-wesprzyj-quote em {
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-quote.vibe-wesprzyj-quote cite {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 1100px;
  margin: 40px auto 0 !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: rgba(14, 15, 20, 0.6) !important;
}

.wp-block-quote.vibe-wesprzyj-quote cite::before {
  content: "";
  width: 60px;
  height: 2px;
  background: var(--vibe-violet, #7B3FE4);
}

/* === FORMULARZ === */
.vibe-wesprzyj-form-section {
  padding: clamp(60px, 10vh, 100px) clamp(24px, 5vw, 80px) !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
}

.vibe-wesprzyj-form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 80px !important;
  align-items: start;
  max-width: 1320px;
  margin: 0 auto !important;
}

.vibe-wesprzyj-form-left h2 {
  font-size: clamp(36px, 4.5vw, 56px) !important;
  margin: 0 0 40px 0 !important;
}

.vibe-wesprzyj-reasons {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-reset: vibe-reason;
}

.vibe-wesprzyj-reasons li {
  padding: 24px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.12);
  display: grid !important;
  grid-template-columns: 60px 1fr !important;
  gap: 20px !important;
  list-style: none !important;
  counter-increment: vibe-reason;
}

.vibe-wesprzyj-reasons li:first-child {
  border-top: 1px solid rgba(14, 15, 20, 0.12);
}

.vibe-wesprzyj-reasons li::before {
  content: counter(vibe-reason, decimal-leading-zero);
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 28px;
  color: var(--vibe-violet, #7B3FE4);
  font-variation-settings: "opsz" 28;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-wesprzyj-reasons li strong {
  display: block;
  font-weight: 700;
  font-size: 17px;
  color: var(--vibe-ink, #0E0F14);
  margin-bottom: 4px;
}

/* FORM CARD */
.vibe-wesprzyj-form-card {
  padding: 40px !important;
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 12px;
  box-shadow: 0 16px 50px rgba(14, 15, 20, 0.05);
}

.vibe-wesprzyj-form-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin: 0 0 32px 0 !important;
  font-variation-settings: "opsz" 36 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-wesprzyj-form-h3 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* FREQ TOGGLE */
.wp-block-buttons.vibe-wesprzyj-freq-toggle {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  padding: 4px !important;
  background: var(--vibe-cream-warm, #EEE8DA) !important;
  border-radius: 999px;
  margin: 0 0 28px 0 !important;
}

.wp-block-button.vibe-wesprzyj-freq-option {
  margin: 0 !important;
}

.wp-block-button.vibe-wesprzyj-freq-option .wp-block-button__link {
  display: block !important;
  width: 100%;
  padding: 14px 24px !important;
  text-align: center;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.2s;
}

.wp-block-button.vibe-wesprzyj-freq-option.is-active .wp-block-button__link {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
}

.vibe-wesprzyj-badge-lime {
  display: inline-block;
  padding: 2px 8px;
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  margin-left: 6px;
  letter-spacing: 0.02em;
}

.vibe-wesprzyj-amount-label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 0 0 12px 0 !important;
}

.wp-block-buttons.vibe-wesprzyj-amounts {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  margin: 0 0 20px 0 !important;
}

.wp-block-button.vibe-wesprzyj-amount {
  margin: 0 !important;
}

.wp-block-button.vibe-wesprzyj-amount .wp-block-button__link {
  display: block !important;
  width: 100%;
  padding: 18px 12px !important;
  background: transparent !important;
  border: 1px solid rgba(14, 15, 20, 0.12) !important;
  border-radius: 8px !important;
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  text-align: center;
  text-decoration: none !important;
  transition: all 0.2s;
  font-variation-settings: "opsz" 24 !important;
}

.wp-block-button.vibe-wesprzyj-amount .wp-block-button__link:hover {
  border-color: var(--vibe-violet, #7B3FE4) !important;
}

.wp-block-button.vibe-wesprzyj-amount.is-active .wp-block-button__link {
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-color: var(--vibe-violet, #7B3FE4) !important;
}

.wp-block-button.vibe-wesprzyj-amount--other .wp-block-button__link {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

#vibeCustomAmount {
  display: none;
  width: 100%;
  padding: 16px;
  background: transparent;
  border: 1px solid var(--vibe-violet, #7B3FE4);
  border-radius: 8px;
  font-family: 'Fraunces', serif;
  font-size: 22px;
  margin: 0 0 20px 0;
  color: var(--vibe-ink, #0E0F14);
}

.vibe-wesprzyj-impact-line {
  padding: 18px 24px !important;
  background: rgba(123, 63, 228, 0.06);
  border-left: 3px solid var(--vibe-violet, #7B3FE4);
  border-radius: 4px;
  margin: 0 0 28px 0 !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 19px !important;
  line-height: 1.4 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-wesprzyj-impact-line strong {
  font-weight: 600;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button.vibe-wesprzyj-submit {
  width: 100% !important;
  margin: 0 0 24px 0 !important;
}

.wp-block-button.vibe-wesprzyj-submit .wp-block-button__link {
  display: block !important;
  width: 100%;
  padding: 22px !important;
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(123, 63, 228, 0.25);
  transition: all 0.2s;
}

.vibe-wesprzyj-trust-row {
  margin: 24px 0 0 0 !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.6) !important;
}

.vibe-wesprzyj-trust-row strong { color: var(--vibe-ink, #0E0F14); font-weight: 500; }

/* === INNE FORMY === */
.wp-block-columns.vibe-wesprzyj-other {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin: 60px auto 0 !important;
  max-width: 1320px;
}

.wp-block-column.vibe-wesprzyj-other-card {
  padding: 40px !important;
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 12px;
}

.vibe-wesprzyj-other-tag {
  display: inline-block !important;
  padding: 6px 12px !important;
  background: rgba(123, 63, 228, 0.1);
  color: var(--vibe-violet, #7B3FE4) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

.vibe-wesprzyj-other-h4 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin: 0 0 20px 0 !important;
  font-variation-settings: "opsz" 40 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-wesprzyj-other-h4 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-wesprzyj-other-card p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  margin: 0 0 28px 0 !important;
}

.wp-block-button.vibe-wesprzyj-other-cta .wp-block-button__link {
  padding: 12px 22px !important;
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important;
}

.wp-block-button.vibe-wesprzyj-other-cta--ghost .wp-block-button__link {
  background: var(--vibe-cream, #F5F1E8) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border: 1px solid rgba(14, 15, 20, 0.12) !important;
}

.vibe-wesprzyj-other-extra {
  padding-top: 20px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 0 !important;
}

.vibe-wesprzyj-other-extra strong { color: var(--vibe-ink, #0E0F14); font-weight: 700; }

/* === FAQ === */
.vibe-wesprzyj-faq {
  max-width: 900px;
  margin: 60px auto 0 !important;
}

.vibe-wesprzyj-faq .wp-block-details {
  border-bottom: 1px solid rgba(14, 15, 20, 0.12);
  padding: 24px 0 !important;
  margin: 0 !important;
}

.vibe-wesprzyj-faq .wp-block-details summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-family: 'Fraunces', serif !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14);
  font-variation-settings: "opsz" 26 !important;
  list-style: none;
}

.vibe-wesprzyj-faq .wp-block-details summary::marker,
.vibe-wesprzyj-faq .wp-block-details summary::-webkit-details-marker {
  display: none;
}

.vibe-wesprzyj-faq .wp-block-details summary::after {
  content: "+";
  width: 36px;
  height: 36px;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--vibe-ink, #0E0F14);
  transition: all 0.2s;
  flex-shrink: 0;
}

.vibe-wesprzyj-faq .wp-block-details[open] summary::after {
  content: "×";
  background: var(--vibe-violet, #7B3FE4);
  color: var(--vibe-cream, #F5F1E8);
  border-color: var(--vibe-violet, #7B3FE4);
}

.vibe-wesprzyj-faq .wp-block-details p {
  padding-top: 16px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  max-width: 800px;
  margin: 0 !important;
}

/* === CONTACT CTA (DARK + LIME, FULL-BLEED) === */
/* JEDYNA dark sekcja na stronie, MUSI być full-bleed */
/* body.wesprzyj-page prefix needed: specificity (0,2,1) beats vibe-light-page .wp-block-group (0,2,1) by cascade order */
body.wesprzyj-page .vibe-wesprzyj-contact-cta {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  padding: clamp(80px, 14vh, 120px) clamp(24px, 5vw, 80px) !important;
  position: relative;
  overflow: hidden;
}

.vibe-wesprzyj-contact-cta::before {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.16) 0%, transparent 60%);
  filter: blur(50px);
  pointer-events: none;
}

.vibe-wesprzyj-contact-cta-inner {
  position: relative;
  z-index: 5;
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 80px !important;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto !important;
}

.vibe-wesprzyj-contact-cta-inner h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 5.5vw, 80px) !important;
  font-weight: 350 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.025em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 !important;
  font-variation-settings: "opsz" 80 !important;
}

.vibe-wesprzyj-contact-cta-inner h2 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

.vibe-wesprzyj-contact-cta-inner p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: rgba(245, 241, 232, 0.72) !important;
  margin: 0 0 24px 0 !important;
}

.wp-block-button.vibe-wesprzyj-contact-cta-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 18px 28px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 16px 40px rgba(200, 245, 66, 0.25);
}

/* === MOBILE === */
@media (max-width: 900px) {
  body.wesprzyj-page .vibe-wesprzyj-form-grid,
  body.wesprzyj-page .wp-block-columns.vibe-wesprzyj-stats,
  body.wesprzyj-page .wp-block-columns.vibe-wesprzyj-tiers,
  body.wesprzyj-page .wp-block-columns.vibe-wesprzyj-other,
  body.wesprzyj-page .vibe-wesprzyj-contact-cta-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  body.wesprzyj-page .wp-block-column.vibe-wesprzyj-stat,
  body.wesprzyj-page .wp-block-column.vibe-wesprzyj-stat:not(:first-child) {
    padding: 32px 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(14, 15, 20, 0.12);
  }
}

/* === END WESPRZYJ === */

/* ============================================
   VIBE NAVIGATION — Adaptive Header
   Data: 22.05.2026
   Cel: Menu czytelne na każdym tle (dark + cream)
   ============================================ */

/* === TŁO NAV ZGODNE ZE STRONĄ === */

/* DARK strony — nav na dark */
body.hero-page--home #masthead,
body.hero-page--programy #masthead,
body.hero-page--oferta-dla-szkol #masthead {
  background: rgba(14, 15, 20, 0.88) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(245, 241, 232, 0.08);
}

/* CREAM strony — nav na cream */
body.hero-page--o-nas #masthead,
body.hero-page--opinie #masthead,
body.hero-page--csr #masthead,
body.hero-page--kontakt #masthead,
body.wesprzyj-page #masthead,
body.vibe-light-page #masthead {
  background: rgba(245, 241, 232, 0.94) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
}

/* === BRAND / LOGO TEXT === */

/* DARK strony — brand cream */
body.hero-page--home .site-branding a.brand,
body.hero-page--home .site-branding .site-title,
body.hero-page--programy .site-branding a.brand,
body.hero-page--programy .site-branding .site-title,
body.hero-page--oferta-dla-szkol .site-branding a.brand,
body.hero-page--oferta-dla-szkol .site-branding .site-title {
  color: var(--vibe-cream, #F5F1E8) !important;
}

/* CREAM strony — brand ink */
body.hero-page--o-nas .site-branding a.brand,
body.hero-page--o-nas .site-branding .site-title,
body.hero-page--opinie .site-branding a.brand,
body.hero-page--opinie .site-branding .site-title,
body.hero-page--csr .site-branding a.brand,
body.hero-page--csr .site-branding .site-title,
body.hero-page--kontakt .site-branding a.brand,
body.hero-page--kontakt .site-branding .site-title,
body.wesprzyj-page .site-branding a.brand,
body.wesprzyj-page .site-branding .site-title,
body.vibe-light-page .site-branding a.brand,
body.vibe-light-page .site-branding .site-title {
  color: var(--vibe-ink, #0E0F14) !important;
}

/* === MENU LINKS === */

/* DARK strony — menu cream 78% */
body.hero-page--home .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--home .main-navigation a,
body.hero-page--home #site-navigation a,
body.hero-page--programy .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--programy .main-navigation a,
body.hero-page--programy #site-navigation a,
body.hero-page--oferta-dla-szkol .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--oferta-dla-szkol .main-navigation a,
body.hero-page--oferta-dla-szkol #site-navigation a {
  color: rgba(245, 241, 232, 0.82) !important;
}

/* DARK strony — lime hover */
body.hero-page--home .main-navigation a:hover,
body.hero-page--home #site-navigation a:hover,
body.hero-page--programy .main-navigation a:hover,
body.hero-page--programy #site-navigation a:hover,
body.hero-page--oferta-dla-szkol .main-navigation a:hover,
body.hero-page--oferta-dla-szkol #site-navigation a:hover {
  color: var(--vibe-lime, #C8F542) !important;
}

/* CREAM strony — menu ink 72% */
body.hero-page--o-nas .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--o-nas .main-navigation a,
body.hero-page--o-nas #site-navigation a,
body.hero-page--opinie .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--opinie .main-navigation a,
body.hero-page--opinie #site-navigation a,
body.hero-page--csr .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--csr .main-navigation a,
body.hero-page--csr #site-navigation a,
body.hero-page--kontakt .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.hero-page--kontakt .main-navigation a,
body.hero-page--kontakt #site-navigation a,
body.wesprzyj-page .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.wesprzyj-page .main-navigation a,
body.wesprzyj-page #site-navigation a,
body.vibe-light-page .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.vibe-light-page .main-navigation a,
body.vibe-light-page #site-navigation a {
  color: rgba(14, 15, 20, 0.72) !important;
}

/* CREAM strony — violet hover */
body.hero-page--o-nas .main-navigation a:hover,
body.hero-page--o-nas #site-navigation a:hover,
body.hero-page--opinie .main-navigation a:hover,
body.hero-page--opinie #site-navigation a:hover,
body.hero-page--csr .main-navigation a:hover,
body.hero-page--csr #site-navigation a:hover,
body.hero-page--kontakt .main-navigation a:hover,
body.hero-page--kontakt #site-navigation a:hover,
body.wesprzyj-page .main-navigation a:hover,
body.wesprzyj-page #site-navigation a:hover,
body.vibe-light-page .main-navigation a:hover,
body.vibe-light-page #site-navigation a:hover {
  color: var(--vibe-violet, #7B3FE4) !important;
}

/* === CURRENT MENU ITEM === */

/* DARK — aktywna lime */
body.hero-page--home .current-menu-item > a,
body.hero-page--home .current_page_item > a,
body.hero-page--programy .current-menu-item > a,
body.hero-page--programy .current_page_item > a,
body.hero-page--oferta-dla-szkol .current-menu-item > a,
body.hero-page--oferta-dla-szkol .current_page_item > a {
  color: var(--vibe-lime, #C8F542) !important;
}

/* CREAM — aktywna violet */
body.hero-page--o-nas .current-menu-item > a,
body.hero-page--o-nas .current_page_item > a,
body.hero-page--opinie .current-menu-item > a,
body.hero-page--opinie .current_page_item > a,
body.hero-page--csr .current-menu-item > a,
body.hero-page--csr .current_page_item > a,
body.hero-page--kontakt .current-menu-item > a,
body.hero-page--kontakt .current_page_item > a,
body.wesprzyj-page .current-menu-item > a,
body.wesprzyj-page .current_page_item > a,
body.vibe-light-page .current-menu-item > a,
body.vibe-light-page .current_page_item > a {
  color: var(--vibe-violet, #7B3FE4) !important;
}

/* === "WESPRZYJ NAS" CTA BUTTON — ostatni element menu === */

/* DARK — lime pigułka */
body.hero-page--home .main-navigation li:last-child > a,
body.hero-page--programy .main-navigation li:last-child > a,
body.hero-page--oferta-dla-szkol .main-navigation li:last-child > a {
  display: inline-flex !important;
  align-items: center;
  padding: 9px 20px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 6px 18px rgba(200, 245, 66, 0.20);
}

body.hero-page--home .main-navigation li:last-child > a:hover,
body.hero-page--programy .main-navigation li:last-child > a:hover,
body.hero-page--oferta-dla-szkol .main-navigation li:last-child > a:hover {
  background: #B5E03A !important;
  color: var(--vibe-ink, #0E0F14) !important;
  transform: translateY(-1px);
}

/* CREAM — violet pigułka */
body.hero-page--o-nas .main-navigation li:last-child > a,
body.hero-page--opinie .main-navigation li:last-child > a,
body.hero-page--csr .main-navigation li:last-child > a,
body.hero-page--kontakt .main-navigation li:last-child > a,
body.wesprzyj-page .main-navigation li:last-child > a,
body.vibe-light-page .main-navigation li:last-child > a {
  display: inline-flex !important;
  align-items: center;
  padding: 9px 20px !important;
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 6px 18px rgba(123, 63, 228, 0.22);
}

body.hero-page--o-nas .main-navigation li:last-child > a:hover,
body.hero-page--opinie .main-navigation li:last-child > a:hover,
body.hero-page--csr .main-navigation li:last-child > a:hover,
body.hero-page--kontakt .main-navigation li:last-child > a:hover,
body.wesprzyj-page .main-navigation li:last-child > a:hover,
body.vibe-light-page .main-navigation li:last-child > a:hover {
  background: #5C2BB8 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  transform: translateY(-1px);
}

/* === HAMBURGER MOBILE === */

body.hero-page--home .menu-toggle-open,
body.hero-page--programy .menu-toggle-open,
body.hero-page--oferta-dla-szkol .menu-toggle-open {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--o-nas .menu-toggle-open,
body.hero-page--opinie .menu-toggle-open,
body.hero-page--csr .menu-toggle-open,
body.hero-page--kontakt .menu-toggle-open,
body.wesprzyj-page .menu-toggle-open,
body.vibe-light-page .menu-toggle-open {
  color: var(--vibe-ink, #0E0F14) !important;
}

/* === END VIBE NAV === */


/* ============================================
   VIBE FOOTER 2026 — Pre-footer + Footer główny
   Data: 22.05.2026
   Wzorce NGO: Charity:Water, Patagonia, GiveDirectly
   ============================================ */

/* === RESET — wyłączenie domyślnej stopki Kadence === */
body .site-footer,
body footer.site-footer,
body #colophon {
  display: none !important;
}

body .vibe-footer-2026 {
  display: block !important;
}

/* === BASE FOOTER === */
.vibe-footer-2026 {
  background: var(--vibe-ink, #0E0F14);
  color: var(--vibe-cream, #F5F1E8);
  font-family: 'Source Sans 3', sans-serif;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
}

.vibe-footer-2026 .container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 80px;
}

/* ═══════ WARSTWA 1: PRE-FOOTER CTA ═══════ */

.vibe-pre-footer {
  background: var(--vibe-ink, #0E0F14);
  color: var(--vibe-cream, #F5F1E8);
  padding: 100px 0 80px;
  position: relative;
  overflow: hidden;
}

.vibe-pre-footer::before {
  content: "";
  position: absolute;
  top: -200px;
  right: -200px;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

.vibe-pre-footer::after {
  content: "";
  position: absolute;
  bottom: -200px;
  left: -200px;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

.vibe-pf-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 5;
}

.vibe-pf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  background: rgba(245, 241, 232, 0.06);
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--vibe-lime, #C8F542);
  margin-bottom: 32px;
}

.vibe-pf-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.7);
}

.vibe-pf-h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(40px, 6vw, 88px);
  font-weight: 350;
  line-height: 0.96;
  letter-spacing: -0.03em;
  color: var(--vibe-cream, #F5F1E8);
  margin: 0 0 32px 0;
  font-variation-settings: "opsz" 88;
}

.vibe-pf-h2 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

.vibe-pf-lead {
  font-size: 19px;
  line-height: 1.55;
  color: rgba(245, 241, 232, 0.7);
  margin: 0 0 40px 0;
  max-width: 520px;
}

.vibe-pf-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}

.vibe-pf-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 18px 28px;
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 0 16px 40px rgba(200, 245, 66, 0.22);
  transition: all 0.2s;
}

.vibe-pf-btn-primary:hover {
  background: #B5E03A;
  color: var(--vibe-ink, #0E0F14);
  transform: translateY(-2px);
}

.vibe-pf-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 18px 28px;
  background: transparent;
  color: var(--vibe-cream, #F5F1E8);
  border: 1px solid rgba(245, 241, 232, 0.2);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}

.vibe-pf-btn-ghost:hover {
  background: rgba(245, 241, 232, 0.06);
  border-color: rgba(245, 241, 232, 0.4);
  color: var(--vibe-cream, #F5F1E8);
}

.vibe-pf-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding-top: 40px;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  max-width: 580px;
}

.vibe-pf-stat {
  display: flex;
  flex-direction: column;
}

.vibe-pf-stat-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 56px;
  line-height: 1;
  color: var(--vibe-lime, #C8F542);
  margin-bottom: 6px;
  font-variation-settings: "opsz" 56;
}

.vibe-pf-stat-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(245, 241, 232, 0.5);
  line-height: 1.3;
}

/* Newsletter card */
.vibe-pf-newsletter {
  padding: 40px;
  background: rgba(245, 241, 232, 0.04);
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 12px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.vibe-pf-news-h3 {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 12px 0;
  color: var(--vibe-cream, #F5F1E8);
}

.vibe-pf-news-h3 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

.vibe-pf-news-desc {
  font-size: 14.5px;
  color: rgba(245, 241, 232, 0.7);
  line-height: 1.5;
  margin: 0 0 24px 0;
}

.vibe-pf-form {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.vibe-pf-input {
  flex: 1;
  padding: 14px 18px;
  background: rgba(14, 15, 20, 0.5);
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  color: var(--vibe-cream, #F5F1E8);
}

.vibe-pf-input::placeholder { color: rgba(245, 241, 232, 0.5); }

.vibe-pf-submit {
  padding: 14px 24px;
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.vibe-pf-news-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  font-size: 11px;
  color: rgba(245, 241, 232, 0.5);
}

.vibe-pf-news-meta .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 8px var(--vibe-lime, #C8F542);
  flex-shrink: 0;
}

/* ═══════ WARSTWA 2: FOOTER GŁÓWNY ═══════ */

.vibe-footer-main {
  background: #15171E;
  padding: 80px 0 32px;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
}

.vibe-fm-top {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 64px;
  margin-bottom: 64px;
}

/* Brand column */
.vibe-fc-brand {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.vibe-fc-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.vibe-fc-logo-icon {
  width: 44px;
  height: 44px;
  background: var(--vibe-lime, #C8F542);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--vibe-ink, #0E0F14);
  font-size: 22px;
  font-weight: 600;
}

.vibe-fc-logo-text {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--vibe-cream, #F5F1E8);
  line-height: 1.1;
}

.vibe-fc-logo-text em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

.vibe-fc-tagline {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 22px;
  line-height: 1.3;
  color: rgba(245, 241, 232, 0.7);
  max-width: 280px;
  margin: 0;
}

.vibe-fc-tagline strong {
  font-style: normal;
  font-weight: 400;
  color: var(--vibe-cream, #F5F1E8);
  background: linear-gradient(180deg, transparent 60%, rgba(200, 245, 66, 0.2) 60%);
  padding: 0 2px;
}

.vibe-fc-verified {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(200, 245, 66, 0.08);
  border: 1px solid rgba(200, 245, 66, 0.2);
  border-radius: 10px;
  width: fit-content;
  text-decoration: none;
}

.vibe-fc-verified-icon {
  width: 24px;
  height: 24px;
  background: var(--vibe-lime, #C8F542);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vibe-ink, #0E0F14);
  font-weight: 900;
  font-size: 14px;
  flex-shrink: 0;
}

.vibe-fc-verified-text {
  font-size: 11px;
  line-height: 1.3;
  color: var(--vibe-cream, #F5F1E8);
}

.vibe-fc-verified-text strong {
  display: block;
  color: var(--vibe-lime, #C8F542);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 2px;
}

/* Nav columns */
.vibe-fc-col h4 {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: rgba(245, 241, 232, 0.5);
  margin: 0 0 24px 0;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(245, 241, 232, 0.12);
}

.vibe-fc-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vibe-fc-col ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vibe-fc-col ul li::before { display: none; }

.vibe-fc-col a {
  color: rgba(245, 241, 232, 0.7);
  text-decoration: none;
  font-size: 15px;
  transition: color 0.2s, transform 0.2s;
  display: inline-block;
}

.vibe-fc-col a:hover {
  color: var(--vibe-lime, #C8F542);
  transform: translateX(4px);
}

.vibe-fc-col a .vibe-arrow {
  opacity: 0;
  margin-left: 4px;
  transition: opacity 0.2s;
}

.vibe-fc-col a:hover .vibe-arrow { opacity: 1; }

.vibe-fc-col a.vibe-featured {
  color: var(--vibe-lime, #C8F542);
  font-weight: 600;
}

/* ═══════ PARTNERS STRIP ═══════ */

.vibe-partners-strip {
  padding: 40px 0;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  border-bottom: 1px solid rgba(245, 241, 232, 0.12);
  margin-bottom: 32px;
}

.vibe-partners-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 64px;
  align-items: center;
}

.vibe-partners-label {
  font-size: 11px;
  color: rgba(245, 241, 232, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  max-width: 200px;
  line-height: 1.5;
}

.vibe-partners-label strong {
  display: block;
  color: var(--vibe-cream, #F5F1E8);
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 18px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}

.vibe-partners-label em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

.vibe-partners-logos {
  display: flex;
  gap: 48px;
  align-items: center;
  flex-wrap: wrap;
}

.vibe-partner-logo {
  height: 36px;
  display: flex;
  align-items: center;
  color: rgba(245, 241, 232, 0.7);
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: 17px;
  letter-spacing: -0.01em;
  transition: color 0.2s;
  text-decoration: none;
}

.vibe-partner-logo:hover { color: var(--vibe-cream, #F5F1E8); }

.vibe-partner-logo small {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 10px;
  color: rgba(245, 241, 232, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  display: block;
  margin-top: 2px;
  font-weight: 500;
}

/* ═══════ BOTTOM BAR ═══════ */

.vibe-fb-bottom {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  padding-top: 32px;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
}

.vibe-fb-data {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 11px;
  color: rgba(245, 241, 232, 0.5);
  letter-spacing: 0.02em;
}

.vibe-fb-data span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.vibe-fb-data strong {
  color: var(--vibe-cream, #F5F1E8);
  font-weight: 500;
}

.vibe-fb-data .vibe-separator {
  color: rgba(245, 241, 232, 0.2);
}

.vibe-fb-social {
  display: flex;
  gap: 8px;
}

.vibe-social-link {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(245, 241, 232, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(245, 241, 232, 0.7);
  text-decoration: none;
  transition: all 0.2s;
}

.vibe-social-link:hover {
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border-color: var(--vibe-lime, #C8F542);
  transform: translateY(-2px);
}

.vibe-social-link svg {
  width: 16px;
  height: 16px;
}

/* ═══════ FINAL LINE ═══════ */

.vibe-footer-final {
  padding: 24px 0;
  text-align: center;
  border-top: 1px solid rgba(245, 241, 232, 0.06);
  font-size: 10px;
  color: rgba(245, 241, 232, 0.5);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vibe-footer-final em {
  color: rgba(245, 241, 232, 0.7);
  font-style: italic;
  text-transform: none;
  font-family: 'Fraunces', serif;
  font-size: 12px;
  letter-spacing: 0;
}

/* ═══════ MOBILE ═══════ */

@media (max-width: 900px) {
  .vibe-footer-2026 .container { padding: 0 24px; }

  .vibe-pf-grid,
  .vibe-fm-top {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .vibe-pf-stats { grid-template-columns: repeat(3, 1fr); gap: 24px; }

  .vibe-partners-inner { grid-template-columns: 1fr; gap: 24px; }

  .vibe-fb-bottom { grid-template-columns: 1fr; }

  .vibe-fb-data { font-size: 10px; gap: 12px; }

  .vibe-pf-h2 { font-size: 40px; }

  .vibe-pre-footer,
  .vibe-footer-main { padding: 64px 0 32px; }
}

/* === END VIBE FOOTER === */

/* === VIBE FOOTER — logo img === */
.vibe-fc-logo-img {
  height: 40px;
  width: auto;
  max-width: 160px;
  display: block;
  object-fit: contain;
  /* Biały na ciemnym tle — jeśli plik jest czarny, invertujemy */
  filter: brightness(0) invert(1);
}

.vibe-fc-logo:hover .vibe-fc-logo-img {
  opacity: 0.85;
}

/* ============================================
   VIBE FOOTER — override vibe-light-page
   Problem: body.vibe-light-page wymusza ink kolor na CAŁEJ stronie,
   w tym na stopce → tekst niewidoczny (ink na ink tle).
   Fix: przywracamy cream kolory dla wszystkich elementów stopki.
   ============================================ */

/* Tła sekcji stopki — nie kremowe! */
body.vibe-light-page .vibe-footer-2026,
body.vibe-light-page .vibe-pre-footer,
body.vibe-light-page .vibe-footer-main {
  background: unset !important;
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.vibe-light-page .vibe-pre-footer {
  background: var(--vibe-ink, #0E0F14) !important;
}

body.vibe-light-page .vibe-footer-main {
  background: #15171E !important;
}

/* Paragrafy, listy, linki w stopce */
body.vibe-light-page .vibe-footer-2026 p,
body.vibe-light-page .vibe-footer-2026 li,
body.vibe-light-page .vibe-footer-2026 span,
body.vibe-light-page .vibe-footer-2026 a:not(.wp-block-button__link) {
  color: rgba(245, 241, 232, 0.7) !important;
}

/* Nagłówki w stopce */
body.vibe-light-page .vibe-footer-2026 h2,
body.vibe-light-page .vibe-footer-2026 h3,
body.vibe-light-page .vibe-footer-2026 h4 {
  color: var(--vibe-cream, #F5F1E8) !important;
}

/* Em (italic) w stopce — lime, nie violet */
body.vibe-light-page .vibe-footer-2026 em {
  color: var(--vibe-lime, #C8F542) !important;
}

/* Przyciski CTA */
body.vibe-light-page .vibe-pf-btn-primary {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

body.vibe-light-page .vibe-pf-btn-ghost {
  color: var(--vibe-cream, #F5F1E8) !important;
  border-color: rgba(245, 241, 232, 0.2) !important;
}

/* Liczby stat (Fraunces italic lime) */
body.vibe-light-page .vibe-pf-stat-num {
  color: var(--vibe-lime, #C8F542) !important;
}

body.vibe-light-page .vibe-pf-stat-label {
  color: rgba(245, 241, 232, 0.5) !important;
}

/* Eyebrow pill */
body.vibe-light-page .vibe-pf-eyebrow {
  color: var(--vibe-lime, #C8F542) !important;
}

/* Nav linki w stopce — hover lime */
body.vibe-light-page .vibe-fc-col a:not(.wp-block-button__link) {
  color: rgba(245, 241, 232, 0.7) !important;
}

body.vibe-light-page .vibe-fc-col a:hover {
  color: var(--vibe-lime, #C8F542) !important;
}

body.vibe-light-page .vibe-fc-col a.vibe-featured {
  color: var(--vibe-lime, #C8F542) !important;
}

/* Logo tekst */
body.vibe-light-page .vibe-fc-logo-text {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.vibe-light-page .vibe-fc-logo-text em {
  color: var(--vibe-lime, #C8F542) !important;
}

/* Tagline */
body.vibe-light-page .vibe-fc-tagline {
  color: rgba(245, 241, 232, 0.7) !important;
}

body.vibe-light-page .vibe-fc-tagline strong {
  color: var(--vibe-cream, #F5F1E8) !important;
}

/* Partnerzy */
body.vibe-light-page .vibe-partner-logo {
  color: rgba(245, 241, 232, 0.7) !important;
}

body.vibe-light-page .vibe-partner-logo small {
  color: rgba(245, 241, 232, 0.5) !important;
}

/* Bottom bar dane */
body.vibe-light-page .vibe-fb-data {
  color: rgba(245, 241, 232, 0.5) !important;
}

body.vibe-light-page .vibe-fb-data strong {
  color: var(--vibe-cream, #F5F1E8) !important;
}

/* Social linki */
body.vibe-light-page .vibe-social-link {
  color: rgba(245, 241, 232, 0.7) !important;
  border-color: rgba(245, 241, 232, 0.12) !important;
}

body.vibe-light-page .vibe-social-link:hover {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

/* Final line */
body.vibe-light-page .vibe-footer-final {
  color: rgba(245, 241, 232, 0.5) !important;
  border-color: rgba(245, 241, 232, 0.06) !important;
}

body.vibe-light-page .vibe-footer-final em {
  color: rgba(245, 241, 232, 0.7) !important;
}

/* Input w formularzu */
body.vibe-light-page .vibe-pf-input {
  color: var(--vibe-cream, #F5F1E8) !important;
  background: rgba(14, 15, 20, 0.5) !important;
  border-color: rgba(245, 241, 232, 0.12) !important;
}

body.vibe-light-page .vibe-pf-submit {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

/* Newsletter card bg */
body.vibe-light-page .vibe-pf-newsletter {
  background: rgba(245, 241, 232, 0.04) !important;
  border-color: rgba(245, 241, 232, 0.12) !important;
}

/* === END VIBE FOOTER LIGHT-PAGE OVERRIDE === */


/* ============================================
   VIBE OPINIE v3 — Pełna strona NGO 2026
   Data: 22.05.2026
   Hero + 7 sekcji
   Reguły: minmax(0, 1fr) + min-width: 0 + force grid
   ============================================ */

body.hero-page--opinie {
  background: var(--vibe-cream, #F5F1E8) !important;
  color: var(--vibe-ink, #0E0F14);
}

body.hero-page--opinie .vibe-page-hero { display: none !important; }

/* === FULL-BLEED === */
body.hero-page--opinie .vibe-op-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(64px, 12vh, 120px) clamp(24px, 5vw, 80px) !important;
  position: relative;
}

/* === BACKGROUNDS === */
.vibe-op-section--hero { background: var(--vibe-cream, #F5F1E8); overflow: hidden; }
.vibe-op-section--wall { background: var(--vibe-cream-warm, #EEE8DA); }
.vibe-op-section--breakdown { background: var(--vibe-cream, #F5F1E8); }
.vibe-op-section--form { background: var(--vibe-cream, #F5F1E8); border-top: 1px solid rgba(14, 15, 20, 0.12); }
.vibe-op-section--privacy { background: var(--vibe-cream-warm, #EEE8DA); border-top: 1px solid rgba(14, 15, 20, 0.12); }

.vibe-op-section--process,
.vibe-op-section--cta {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8);
  overflow: hidden;
}

.vibe-op-section--hero::before {
  content: "";
  position: absolute;
  bottom: -200px; left: -150px;
  width: 900px; height: 900px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.10) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

.vibe-op-section--process::before,
.vibe-op-section--cta::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.12) 0%, transparent 60%);
  filter: blur(50px);
  pointer-events: none;
}

/* === GLOBAL ANTI-LITEROWE === */
body.hero-page--opinie .vibe-op-section p,
body.hero-page--opinie .vibe-op-section h1,
body.hero-page--opinie .vibe-op-section h2,
body.hero-page--opinie .vibe-op-section h3,
body.hero-page--opinie .vibe-op-section h4,
body.hero-page--opinie .vibe-op-section li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  min-width: 0;
}

/* === PILL === */
.vibe-op-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 10px 20px !important;
  background: #FBF7EE !important;
  box-shadow: 0 2px 8px rgba(14, 15, 20, 0.04);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 0 32px 0 !important;
  width: auto !important;
}

.vibe-op-pill::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 10px rgba(123, 63, 228, 0.5);
  flex-shrink: 0;
}

.vibe-op-section--process .vibe-op-pill,
.vibe-op-section--cta .vibe-op-pill {
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.1);
  color: var(--vibe-lime, #C8F542) !important;
  box-shadow: none !important;
}

.vibe-op-section--process .vibe-op-pill::before,
.vibe-op-section--cta .vibe-op-pill::before {
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.7);
}

/* === H2 === */
.vibe-op-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 20px 0 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-op-h2 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-op-section--process .vibe-op-h2,
.vibe-op-section--cta .vibe-op-h2 { color: var(--vibe-cream, #F5F1E8) !important; }

.vibe-op-section--process .vibe-op-h2 em,
.vibe-op-section--cta .vibe-op-h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

.vibe-op-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

.vibe-op-section--process .vibe-op-lead { color: rgba(245, 241, 232, 0.72) !important; }

.vibe-op-header {
  margin: 0 auto 60px !important;
  text-align: center;
  max-width: 900px !important;
  position: relative;
  z-index: 5;
}

.vibe-op-header .vibe-op-pill { margin: 0 auto 24px !important; }

/* ═══ SEKCJA 1: HERO ═══ */
.vibe-op-hero-content {
  position: relative;
  z-index: 5;
  padding-top: 40px;
  max-width: 1320px;
  margin: 0 auto !important;
}

.vibe-op-hero-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 80px !important;
  align-items: end !important;
  padding-bottom: 48px !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.15);
  margin: 0 0 56px 0 !important;
}

.vibe-op-hero-top > * { min-width: 0 !important; }

.vibe-op-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(56px, 8vw, 104px) !important;
  font-weight: 350 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.035em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.vibe-op-h1 em {
  font-style: italic !important;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-op-rating { text-align: right; min-width: 0; }

.vibe-op-rating-label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 0 0 16px 0 !important;
}

.vibe-op-rating-value {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 56px !important;
  line-height: 1 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0 0 12px 0 !important;
}

.vibe-op-rating-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.vibe-op-quote-block {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) 240px !important;
  gap: 40px !important;
  align-items: start !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.vibe-op-quote-block > * { min-width: 0 !important; }

.vibe-op-pagination {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding-top: 12px;
  margin: 0 !important;
  list-style: none !important;
}

.vibe-op-pagination li {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50%;
  background: rgba(14, 15, 20, 0.15);
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vibe-op-pagination li::before,
.vibe-op-pagination li::marker { display: none !important; content: none !important; }

.vibe-op-pagination li.is-active {
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 0 4px rgba(123, 63, 228, 0.18);
}

.vibe-op-quote-featured {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(24px, 3vw, 44px) !important;
  line-height: 1.18 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 32px 0 !important;
}

.vibe-op-quote-featured em {
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-op-quote-author {
  padding-top: 24px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
  margin: 0 !important;
  font-family: 'Source Sans 3', sans-serif !important;
}

.vibe-op-quote-author strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--vibe-violet, #7B3FE4);
  font-weight: 400;
  margin-bottom: 4px;
}

.vibe-op-quote-author .meta {
  font-size: 14px;
  color: rgba(14, 15, 20, 0.6);
  display: block;
}

.vibe-op-programs-side {
  border-left: 1px solid rgba(14, 15, 20, 0.12);
  padding-left: 32px !important;
  margin: 0 !important;
  min-width: 0;
}

.vibe-op-programs-counter {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 0 20px 0 !important;
}

.vibe-op-program-item {
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.vibe-op-program-item:last-child { border-bottom: none; }

.vibe-op-program-item strong {
  display: block;
  font-weight: 600;
  color: var(--vibe-ink, #0E0F14);
  margin-bottom: 2px;
}

.vibe-op-program-item .meta {
  color: rgba(14, 15, 20, 0.6);
  font-size: 12px;
  display: block;
}

/* ═══ SEKCJA 2: WALL ═══ */
.vibe-op-chips {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 auto 60px !important;
  padding: 0 !important;
  list-style: none !important;
  max-width: 1320px !important;
  position: relative;
  z-index: 5;
}

.vibe-op-chips li {
  display: inline-block !important;
  padding: 8px 18px !important;
  background: var(--vibe-cream, #F5F1E8);
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 999px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  list-style: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.vibe-op-chips li::before,
.vibe-op-chips li::marker { display: none !important; content: none !important; }

.vibe-op-chips li.is-active {
  background: var(--vibe-ink, #0E0F14);
  color: var(--vibe-cream, #F5F1E8);
  border-color: var(--vibe-ink, #0E0F14);
}

/* WALL — KLUCZOWE — force grid na wp-block-columns */
body.hero-page--opinie .wp-block-columns.vibe-op-wall {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto 24px !important;
  max-width: 1320px !important;
  position: relative;
  z-index: 5;
}

body.hero-page--opinie .wp-block-columns.vibe-op-wall > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 32px !important;
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 12px;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.hero-page--opinie .wp-block-columns.vibe-op-wall > .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(14, 15, 20, 0.06);
}

.vibe-op-stars {
  font-size: 14px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 2px !important;
  margin: 0 !important;
}

.vibe-op-ts-quote {
  font-family: 'Fraunces', serif !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 !important;
  flex: 1;
  min-width: 0;
}

.vibe-op-ts-quote em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
}

.vibe-op-ts-author {
  padding-top: 16px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  margin: 0 !important;
}

.vibe-op-ts-author strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 14px;
  color: var(--vibe-violet, #7B3FE4);
  font-weight: 400;
  margin-bottom: 2px;
}

/* ═══ SEKCJA 3: BREAKDOWN ═══ */
.vibe-op-breakdown-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.vibe-op-breakdown-grid > * { min-width: 0 !important; }

.vibe-op-bd-left { position: sticky; top: 120px; }
.vibe-op-bd-left .vibe-op-pill { margin: 0 0 24px 0 !important; }
.vibe-op-bd-left .vibe-op-h2 { text-align: left !important; font-size: clamp(32px, 4vw, 56px) !important; }

.vibe-op-bd-left > p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  color: rgba(14, 15, 20, 0.78) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.vibe-op-bd-list {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  min-width: 0;
}

.vibe-op-bd-item {
  padding: 24px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.12);
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 100px 80px !important;
  gap: 24px !important;
  align-items: center !important;
  margin: 0 !important;
}

.vibe-op-bd-item > * { min-width: 0 !important; }

.vibe-op-bd-item:first-child { border-top: 1px solid rgba(14, 15, 20, 0.12); }

.vibe-op-bd-name {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 !important;
}

.vibe-op-bd-name em { font-style: italic; color: var(--vibe-violet, #7B3FE4); }

.vibe-op-bd-count {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  text-align: right !important;
  margin: 0 !important;
}

.vibe-op-bd-score {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 28px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: right !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 4: PROCESS ═══ */
.vibe-op-timeline {
  margin: 80px auto 0 !important;
  max-width: 1320px !important;
  position: relative;
  z-index: 5;
}

.vibe-op-process-item {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) 240px !important;
  gap: 40px !important;
  padding: 40px 0 !important;
  border-bottom: 1px solid rgba(245, 241, 232, 0.12);
  align-items: start !important;
  margin: 0 !important;
}

.vibe-op-process-item > * { min-width: 0 !important; }

.vibe-op-process-item:first-child { border-top: 1px solid rgba(245, 241, 232, 0.12); }

.vibe-op-process-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 80px !important;
  color: var(--vibe-lime, #C8F542) !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.vibe-op-process-title {
  font-family: 'Fraunces', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 12px 0 !important;
  min-width: 0 !important;
}

.vibe-op-process-title em { font-style: italic; color: var(--vibe-lime, #C8F542); }

.vibe-op-process-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.7) !important;
  max-width: 600px;
  margin: 0 !important;
  min-width: 0 !important;
}

.vibe-op-process-time {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  color: rgba(245, 241, 232, 0.5) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  text-align: right !important;
  margin: 0 !important;
}

.vibe-op-process-time strong {
  display: block;
  color: var(--vibe-lime, #C8F542);
  font-size: 14px;
  margin-bottom: 4px;
  font-weight: 400;
}

/* ═══ SEKCJA 5: FORM ═══ */
.vibe-op-form-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.vibe-op-form-grid > * { min-width: 0 !important; }

.vibe-op-form-left .vibe-op-pill { margin: 0 0 24px 0 !important; }
.vibe-op-form-left .vibe-op-h2 { text-align: left !important; font-size: clamp(32px, 4vw, 56px) !important; }

.vibe-op-form-left > p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  margin: 0 0 40px 0 !important;
}

.vibe-op-why-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: vibe-why;
}

.vibe-op-why-list li {
  padding: 20px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.12);
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 16px !important;
  list-style: none !important;
  counter-increment: vibe-why;
}

.vibe-op-why-list li > * { min-width: 0 !important; }

.vibe-op-why-list li:first-child { border-top: 1px solid rgba(14, 15, 20, 0.12); }

.vibe-op-why-list li::before {
  content: counter(vibe-why, decimal-leading-zero);
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 24px;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  align-self: start;
}

.vibe-op-why-list li strong {
  display: block;
  font-weight: 700;
  font-size: 16px;
  color: var(--vibe-ink, #0E0F14);
  margin-bottom: 4px;
}

.vibe-op-form-card {
  padding: 40px !important;
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 12px;
  box-shadow: 0 16px 50px rgba(14, 15, 20, 0.05);
  min-width: 0;
}

.vibe-op-form-card > h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin: 0 0 8px 0 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

.vibe-op-form-card > h3 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vibe-op-form-card-sub {
  color: rgba(14, 15, 20, 0.6) !important;
  font-size: 14px !important;
  margin: 0 0 28px 0 !important;
}

/* ═══ SEKCJA 6: PRIVACY ═══ */
.vibe-op-privacy-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.vibe-op-privacy-grid > * { min-width: 0 !important; }

.vibe-op-privacy-left .vibe-op-pill { margin: 0 0 24px 0 !important; }
.vibe-op-privacy-left .vibe-op-h2 { text-align: left !important; font-size: clamp(32px, 4vw, 48px) !important; }

.vibe-op-privacy-left > p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  color: rgba(14, 15, 20, 0.78) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* PRIVACY LIST — KLUCZOWE — force grid */
body.hero-page--opinie .wp-block-columns.vibe-op-privacy-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 24px !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--opinie .wp-block-columns.vibe-op-privacy-list > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 32px !important;
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 12px;
}

.vibe-op-priv-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 24px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0 0 16px 0 !important;
}

body.hero-page--opinie .wp-block-columns.vibe-op-privacy-list h4 {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--opinie .wp-block-columns.vibe-op-privacy-list p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  color: rgba(14, 15, 20, 0.78) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 7: CTA ═══ */
.vibe-op-cta-inner {
  position: relative;
  z-index: 5;
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: center !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.vibe-op-cta-inner > * { min-width: 0 !important; }

.vibe-op-cta-inner h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(36px, 4.5vw, 64px) !important;
  font-weight: 350 !important;
  line-height: 1.05 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 !important;
}

.vibe-op-cta-inner h2 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

.vibe-op-cta-inner p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: rgba(245, 241, 232, 0.72) !important;
  margin: 0 0 24px 0 !important;
}

.wp-block-button.vibe-op-cta-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 18px 28px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 16px 40px rgba(200, 245, 66, 0.25);
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--opinie .vibe-op-hero-top,
  body.hero-page--opinie .vibe-op-quote-block,
  body.hero-page--opinie .vibe-op-breakdown-grid,
  body.hero-page--opinie .vibe-op-form-grid,
  body.hero-page--opinie .vibe-op-privacy-grid,
  body.hero-page--opinie .vibe-op-cta-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  body.hero-page--opinie .wp-block-columns.vibe-op-wall,
  body.hero-page--opinie .wp-block-columns.vibe-op-privacy-list {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--opinie .vibe-op-process-item,
  body.hero-page--opinie .vibe-op-bd-item {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.hero-page--opinie .vibe-op-bd-left { position: static; }
  body.hero-page--opinie .vibe-op-rating { text-align: left; }

  body.hero-page--opinie .vibe-op-programs-side {
    border-left: none;
    padding-left: 0 !important;
    border-top: 1px solid rgba(14, 15, 20, 0.12);
    padding-top: 24px !important;
  }
}

/* === END OPINIE v3 === */



/* ============================================
   VIBE OPINIE v3 — FIX PATCH
   __inner-container grids + dark bg + no-hyphens
   ============================================ */

/* === FIX 1: hyphens: manual na headingach === */
body.hero-page--opinie .vibe-op-section h1,
body.hero-page--opinie .vibe-op-section h2,
body.hero-page--opinie .vibe-op-section h3,
body.hero-page--opinie .vibe-op-section h4 {
  hyphens: manual !important;
  word-break: keep-all !important;
}

/* === FIX 2: DARK BG na light-page dla process + cta === */
body.vibe-light-page .vibe-op-section--process,
body.vibe-light-page .vibe-op-section--cta {
  background: var(--vibe-ink, #0E0F14) !important;
}

/* Kolory tekstu na dark sekcjach (light-page override odwrócony) */
body.vibe-light-page .vibe-op-section--process p,
body.vibe-light-page .vibe-op-section--process h2,
body.vibe-light-page .vibe-op-section--process h3,
body.vibe-light-page .vibe-op-section--process li,
body.vibe-light-page .vibe-op-section--process a,
body.vibe-light-page .vibe-op-section--cta p,
body.vibe-light-page .vibe-op-section--cta h2,
body.vibe-light-page .vibe-op-section--cta li,
body.vibe-light-page .vibe-op-section--cta a {
  color: rgba(245, 241, 232, 0.72) !important;
}

body.vibe-light-page .vibe-op-process-title { color: var(--vibe-cream, #F5F1E8) !important; }
body.vibe-light-page .vibe-op-process-num   { color: var(--vibe-lime, #C8F542) !important; }
body.vibe-light-page .vibe-op-process-desc  { color: rgba(245, 241, 232, 0.7) !important; }
body.vibe-light-page .vibe-op-process-time  { color: rgba(245, 241, 232, 0.5) !important; }
body.vibe-light-page .vibe-op-process-time strong { color: var(--vibe-lime, #C8F542) !important; }

body.vibe-light-page .vibe-op-cta-inner h2  { color: var(--vibe-cream, #F5F1E8) !important; }
body.vibe-light-page .vibe-op-cta-inner h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

/* === FIX 3: __inner-container grids === */

body.hero-page--opinie .vibe-op-hero-top > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 80px !important;
  align-items: end !important;
}

body.hero-page--opinie .vibe-op-quote-block > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) 240px !important;
  gap: 40px !important;
  align-items: start !important;
}

body.hero-page--opinie .vibe-op-breakdown-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
}

body.hero-page--opinie .vibe-op-process-item > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) 240px !important;
  gap: 40px !important;
  align-items: start !important;
}

body.hero-page--opinie .vibe-op-form-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) !important;
  gap: 80px !important;
  align-items: start !important;
}

body.hero-page--opinie .vibe-op-privacy-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important;
  gap: 80px !important;
  align-items: start !important;
}

body.hero-page--opinie .vibe-op-cta-inner > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: center !important;
}

body.hero-page--opinie .vibe-op-bd-item > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 100px 80px !important;
  gap: 24px !important;
  align-items: center !important;
}

/* min-width: 0 na wszystkich grid children */
body.hero-page--opinie .vibe-op-hero-top > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-quote-block > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-breakdown-grid > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-process-item > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-form-grid > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-privacy-grid > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-cta-inner > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-bd-item > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

/* === FIX 4: mobile override dla __inner-container === */
@media (max-width: 900px) {
  body.hero-page--opinie .vibe-op-hero-top > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-quote-block > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-breakdown-grid > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-process-item > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-form-grid > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-privacy-grid > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-cta-inner > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-bd-item > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* === END OPINIE v3 FIX PATCH === */



/* ============================================
   VIBE OPINIE v3 — FIX GRID ROOT CAUSE
   Outer containers: display:block (nie grid!)
   Grid TYLKO na __inner-container
   ============================================ */

/* Wyłącz błędny grid z zewnętrznych wp:group kontenerów */
body.hero-page--opinie .vibe-op-hero-top,
body.hero-page--opinie .vibe-op-quote-block,
body.hero-page--opinie .vibe-op-breakdown-grid,
body.hero-page--opinie .vibe-op-process-item,
body.hero-page--opinie .vibe-op-form-grid,
body.hero-page--opinie .vibe-op-privacy-grid,
body.hero-page--opinie .vibe-op-cta-inner,
body.hero-page--opinie .vibe-op-bd-item,
body.hero-page--opinie .vibe-op-bd-list,
body.hero-page--opinie .vibe-op-timeline {
  display: block !important;
}

/* HERO-TOP: 2 kolumny (H1 | rating) */
body.hero-page--opinie .vibe-op-hero-top > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 80px !important;
  align-items: end !important;
}

/* QUOTE-BLOCK: 3 kolumny (pagination | quote | programs) */
body.hero-page--opinie .vibe-op-quote-block > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) 240px !important;
  gap: 40px !important;
  align-items: start !important;
}

/* BREAKDOWN: 2 kolumny (left sticky | bd-list) */
body.hero-page--opinie .vibe-op-breakdown-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
}

/* BD-ITEM: 3 kolumny (name | count | score) */
body.hero-page--opinie .vibe-op-bd-item > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 100px 80px !important;
  gap: 24px !important;
  align-items: center !important;
}

/* PROCESS-ITEM: 3 kolumny (num | text | time) */
body.hero-page--opinie .vibe-op-process-item > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) 240px !important;
  gap: 40px !important;
  align-items: start !important;
}

/* FORM-GRID: 2 kolumny (why | card) */
body.hero-page--opinie .vibe-op-form-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) !important;
  gap: 80px !important;
  align-items: start !important;
}

/* PRIVACY-GRID: 2 kolumny (left | cards) */
body.hero-page--opinie .vibe-op-privacy-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important;
  gap: 80px !important;
  align-items: start !important;
}

/* CTA-INNER: 2 kolumny (heading | text+button) */
body.hero-page--opinie .vibe-op-cta-inner > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: center !important;
}

/* min-width: 0 na WSZYSTKICH grid children */
body.hero-page--opinie .vibe-op-hero-top > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-quote-block > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-breakdown-grid > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-bd-item > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-process-item > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-form-grid > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-privacy-grid > .wp-block-group__inner-container > *,
body.hero-page--opinie .vibe-op-cta-inner > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

/* MOBILE override */
@media (max-width: 900px) {
  body.hero-page--opinie .vibe-op-hero-top > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-quote-block > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-breakdown-grid > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-bd-item > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-process-item > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-form-grid > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-privacy-grid > .wp-block-group__inner-container,
  body.hero-page--opinie .vibe-op-cta-inner > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* === END OPINIE v3 ROOT FIX === */



/* ============================================
   VIBE OPINIE v3 — FIX DARK SECTIONS
   Transparent bg + cream text inside process+cta
   ============================================ */

/* Usuń kremowe tło ze WSZYSTKICH zagnieżdżonych grup w dark sekcjach */
body.vibe-light-page .vibe-op-section--process .wp-block-group,
body.vibe-light-page .vibe-op-section--process .wp-block-group__inner-container,
body.vibe-light-page .vibe-op-section--cta .wp-block-group,
body.vibe-light-page .vibe-op-section--cta .wp-block-group__inner-container {
  background: transparent !important;
}

/* Cream tekst w dark sekcjach — wyższy specificity niż body.vibe-light-page h2 */
body.vibe-light-page .vibe-op-section--process h1,
body.vibe-light-page .vibe-op-section--process h2,
body.vibe-light-page .vibe-op-section--process h3,
body.vibe-light-page .vibe-op-section--process h4,
body.vibe-light-page .vibe-op-section--process p,
body.vibe-light-page .vibe-op-section--process li,
body.vibe-light-page .vibe-op-section--process a,
body.vibe-light-page .vibe-op-section--cta h1,
body.vibe-light-page .vibe-op-section--cta h2,
body.vibe-light-page .vibe-op-section--cta h3,
body.vibe-light-page .vibe-op-section--cta h4,
body.vibe-light-page .vibe-op-section--cta p,
body.vibe-light-page .vibe-op-section--cta li,
body.vibe-light-page .vibe-op-section--cta a {
  color: rgba(245, 241, 232, 0.78) !important;
}

/* Specyficzne kolory dla elementów process */
body.vibe-light-page .vibe-op-section--process .vibe-op-process-num {
  color: var(--vibe-lime, #C8F542) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-process-title {
  color: var(--vibe-cream, #F5F1E8) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-process-desc {
  color: rgba(245, 241, 232, 0.65) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-process-time {
  color: rgba(245, 241, 232, 0.45) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-process-time strong {
  color: var(--vibe-lime, #C8F542) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-h2 {
  color: var(--vibe-cream, #F5F1E8) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-lead {
  color: rgba(245, 241, 232, 0.7) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-pill {
  color: var(--vibe-lime, #C8F542) !important;
}

/* CTA */
body.vibe-light-page .vibe-op-section--cta .vibe-op-h2 {
  color: var(--vibe-cream, #F5F1E8) !important;
}
body.vibe-light-page .vibe-op-section--cta .vibe-op-pill {
  color: var(--vibe-lime, #C8F542) !important;
}

/* === END DARK SECTIONS FIX === */



/* ============================================
   VIBE OPINIE v3 — FIX FRAMES (ramki)
   Remove all box/border artifacts in dark sections
   ============================================ */

/* Usuń WSZELKIE ramki ze wszystkich elementów w dark sekcjach */
body.vibe-light-page .vibe-op-section--process *,
body.vibe-light-page .vibe-op-section--cta * {
  background-color: transparent !important;
  border-color: rgba(245, 241, 232, 0.12) !important;
  box-shadow: none !important;
  outline-color: rgba(245, 241, 232, 0.12) !important;
}

/* Przywróć właściwe tło samej sekcji */
body.vibe-light-page .vibe-op-section--process {
  background: var(--vibe-ink, #0E0F14) !important;
}
body.vibe-light-page .vibe-op-section--cta {
  background: var(--vibe-ink, #0E0F14) !important;
}

/* Przywróć lime przycisk CTA */
body.vibe-light-page .vibe-op-cta-btn .wp-block-button__link,
body.vibe-light-page .vibe-op-section--cta .wp-block-button__link {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  box-shadow: 0 8px 24px rgba(200, 245, 66, 0.25) !important;
}

/* Przywróć lime kolor dla process-num */
body.vibe-light-page .vibe-op-section--process .vibe-op-process-num {
  color: var(--vibe-lime, #C8F542) !important;
}

/* Przywróć separatory w process items */
body.vibe-light-page .vibe-op-section--process .vibe-op-process-item {
  border-bottom-color: rgba(245, 241, 232, 0.12) !important;
}
body.vibe-light-page .vibe-op-section--process .vibe-op-process-item:first-child {
  border-top-color: rgba(245, 241, 232, 0.12) !important;
}

/* === END FRAMES FIX === */



/* ============================================
   VIBE OPINIE — entry-content-wrap transparent
   Usuwa kremowe pudełko wewnątrz dark sekcji
   ============================================ */

body.hero-page--opinie .entry-content-wrap,
body.hero-page--opinie .entry.single-entry,
body.hero-page--opinie .content-area,
body.hero-page--opinie .site-main,
body.hero-page--opinie #main {
  background: transparent !important;
  box-shadow: none !important;
}

/* === END CONTENT-WRAP FIX === */


/* ============================================
   VIBE Newsletter Form — Fluent Forms styling
   Stopka DARK + LIME
   Data: 22.05.2026
   ============================================ */

/* Container całego formularza w stopce */
.vibe-pf-newsletter .vibe-newsletter-form,
.vibe-pf-newsletter .ff-default,
.vibe-footer-2026 .vibe-newsletter-form,
.vibe-footer-2026 .ff-default {
  background: transparent !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* Pola — input email + text */
.vibe-pf-newsletter .ff-el-input--content input[type="email"],
.vibe-pf-newsletter .ff-el-input--content input[type="text"],
.vibe-footer-2026 .ff-el-input--content input[type="email"],
.vibe-footer-2026 .ff-el-input--content input[type="text"] {
  background: rgba(245, 241, 232, 0.08) !important;
  border: 1px solid rgba(245, 241, 232, 0.2) !important;
  border-radius: 999px !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  padding: 14px 24px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  width: 100% !important;
  transition: border-color 0.2s ease, background 0.2s ease;
  height: auto !important;
  box-shadow: none !important;
}

.vibe-pf-newsletter .ff-el-input--content input[type="email"]::placeholder,
.vibe-pf-newsletter .ff-el-input--content input[type="text"]::placeholder,
.vibe-footer-2026 .ff-el-input--content input[type="email"]::placeholder,
.vibe-footer-2026 .ff-el-input--content input[type="text"]::placeholder {
  color: rgba(245, 241, 232, 0.5) !important;
}

.vibe-pf-newsletter .ff-el-input--content input[type="email"]:focus,
.vibe-pf-newsletter .ff-el-input--content input[type="text"]:focus,
.vibe-footer-2026 .ff-el-input--content input[type="email"]:focus,
.vibe-footer-2026 .ff-el-input--content input[type="text"]:focus {
  outline: none !important;
  border-color: var(--vibe-lime, #C8F542) !important;
  background: rgba(245, 241, 232, 0.12) !important;
}

/* Labele */
.vibe-pf-newsletter .ff-el-input--label label,
.vibe-footer-2026 .ff-el-input--label label {
  color: rgba(245, 241, 232, 0.85) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 8px !important;
}

/* Help message */
.vibe-pf-newsletter .ff-el-help-message,
.vibe-footer-2026 .ff-el-help-message {
  color: rgba(245, 241, 232, 0.45) !important;
  font-size: 12px !important;
  font-style: italic !important;
  margin-top: 4px !important;
}

/* CHECKBOXY — RODO + Marketing */
.vibe-pf-newsletter .ff-el-form-check,
.vibe-footer-2026 .ff-el-form-check {
  margin: 16px 0 !important;
  padding: 0 !important;
}

.vibe-pf-newsletter .ff-el-form-check label,
.vibe-footer-2026 .ff-el-form-check label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer;
  color: rgba(245, 241, 232, 0.75) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.vibe-pf-newsletter .ff-el-form-check input[type="checkbox"],
.vibe-footer-2026 .ff-el-form-check input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid rgba(245, 241, 232, 0.4) !important;
  background: transparent !important;
  border-radius: 4px !important;
  cursor: pointer;
  flex-shrink: 0;
  margin: 2px 0 0 0 !important;
  transition: all 0.15s ease;
  position: relative;
}

.vibe-pf-newsletter .ff-el-form-check input[type="checkbox"]:hover,
.vibe-footer-2026 .ff-el-form-check input[type="checkbox"]:hover {
  border-color: var(--vibe-lime, #C8F542) !important;
}

.vibe-pf-newsletter .ff-el-form-check input[type="checkbox"]:checked,
.vibe-footer-2026 .ff-el-form-check input[type="checkbox"]:checked {
  background: var(--vibe-lime, #C8F542) !important;
  border-color: var(--vibe-lime, #C8F542) !important;
}

.vibe-pf-newsletter .ff-el-form-check input[type="checkbox"]:checked::after,
.vibe-footer-2026 .ff-el-form-check input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid var(--vibe-ink, #0E0F14);
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}

/* Link RODO w checkboxie */
.vibe-pf-newsletter .ff-el-form-check label a,
.vibe-footer-2026 .ff-el-form-check label a {
  color: var(--vibe-lime, #C8F542) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.vibe-pf-newsletter .ff-el-form-check label a:hover,
.vibe-footer-2026 .ff-el-form-check label a:hover {
  color: var(--vibe-cream, #F5F1E8) !important;
}

/* SUBMIT BUTTON */
.vibe-pf-newsletter .ff-btn-submit,
.vibe-pf-newsletter button[type="submit"],
.vibe-footer-2026 .ff-btn-submit,
.vibe-footer-2026 button[type="submit"] {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 8px 24px rgba(200, 245, 66, 0.2);
  margin-top: 16px !important;
  width: auto !important;
  text-transform: none !important;
}

.vibe-pf-newsletter .ff-btn-submit:hover,
.vibe-pf-newsletter button[type="submit"]:hover,
.vibe-footer-2026 .ff-btn-submit:hover,
.vibe-footer-2026 button[type="submit"]:hover {
  background: #B8E833 !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(200, 245, 66, 0.3);
}

/* Loading state */
.vibe-pf-newsletter .ff-btn-submit.ff_submitting,
.vibe-footer-2026 .ff-btn-submit.ff_submitting {
  opacity: 0.7;
  pointer-events: none;
}

/* ERROR messages */
.vibe-pf-newsletter .error,
.vibe-pf-newsletter .ff-el-is-error .ff-el-help-message,
.vibe-footer-2026 .error,
.vibe-footer-2026 .ff-el-is-error .ff-el-help-message {
  color: #ff6b6b !important;
  font-size: 12px !important;
  font-style: italic !important;
  margin-top: 4px !important;
}

.vibe-pf-newsletter .ff-el-input--content input.ff-el-is-error,
.vibe-footer-2026 .ff-el-input--content input.ff-el-is-error {
  border-color: #ff6b6b !important;
}

/* Success message (po wysłaniu) */
.vibe-pf-newsletter .ff-message-success,
.vibe-pf-newsletter .ff_submit_success,
.vibe-footer-2026 .ff-message-success,
.vibe-footer-2026 .ff_submit_success {
  background: rgba(200, 245, 66, 0.15) !important;
  border: 1px solid rgba(200, 245, 66, 0.3) !important;
  color: var(--vibe-lime, #C8F542) !important;
  padding: 20px !important;
  border-radius: 12px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Container — usuń marginesy FF defaults */
.vibe-pf-newsletter .ff-el-group,
.vibe-footer-2026 .ff-el-group {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

/* Honeypot — ukryj */
.vibe-pf-newsletter .ff_form_instance_settings,
.vibe-footer-2026 .ff_form_instance_settings {
  display: none !important;
}

/* === END Newsletter FF === */


/* ============================================
   VIBE HOME — Strona główna NGO 2026
   Data: 22.05.2026
   9 sekcji po Hero (02-10)
   Reguły: minmax(0, 1fr) + min-width: 0 + scope pod body.hero-page--home
   Wszystkie klasy z prefixem .vibe-home-*
   ============================================ */

/* === GLOBAL ANTI-LITEROWE === */
body.hero-page--home .vibe-home-section p,
body.hero-page--home .vibe-home-section h1,
body.hero-page--home .vibe-home-section h2,
body.hero-page--home .vibe-home-section h3,
body.hero-page--home .vibe-home-section h4,
body.hero-page--home .vibe-home-section li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: manual !important;
  min-width: 0;
}

/* === UNIVERSAL SECTION (full-bleed) === */
body.hero-page--home .vibe-home-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

/* Fix: dark sekcje muszą przebić vibe-light-page overrides */
body.vibe-light-page .vibe-home-section--manifesto,
body.vibe-light-page .vibe-home-section--impact,
body.vibe-light-page .vibe-home-section--partners,
body.vibe-light-page .vibe-home-section--zarzad,
body.vibe-light-page .vibe-home-section--cta {
  background: var(--vibe-ink, #0E0F14) !important;
}

body.vibe-light-page .vibe-home-section--manifesto .wp-block-group,
body.vibe-light-page .vibe-home-section--manifesto .wp-block-group__inner-container,
body.vibe-light-page .vibe-home-section--impact .wp-block-group,
body.vibe-light-page .vibe-home-section--impact .wp-block-group__inner-container,
body.vibe-light-page .vibe-home-section--partners .wp-block-group,
body.vibe-light-page .vibe-home-section--partners .wp-block-group__inner-container,
body.vibe-light-page .vibe-home-section--zarzad .wp-block-group,
body.vibe-light-page .vibe-home-section--zarzad .wp-block-group__inner-container,
body.vibe-light-page .vibe-home-section--cta .wp-block-group,
body.vibe-light-page .vibe-home-section--cta .wp-block-group__inner-container {
  background: transparent !important;
}

body.vibe-light-page .vibe-home-section--manifesto h1,
body.vibe-light-page .vibe-home-section--manifesto h2,
body.vibe-light-page .vibe-home-section--manifesto h3,
body.vibe-light-page .vibe-home-section--manifesto p,
body.vibe-light-page .vibe-home-section--impact h1,
body.vibe-light-page .vibe-home-section--impact h2,
body.vibe-light-page .vibe-home-section--impact h3,
body.vibe-light-page .vibe-home-section--impact p,
body.vibe-light-page .vibe-home-section--partners h1,
body.vibe-light-page .vibe-home-section--partners h2,
body.vibe-light-page .vibe-home-section--partners h3,
body.vibe-light-page .vibe-home-section--partners p,
body.vibe-light-page .vibe-home-section--zarzad h1,
body.vibe-light-page .vibe-home-section--zarzad h2,
body.vibe-light-page .vibe-home-section--zarzad h3,
body.vibe-light-page .vibe-home-section--zarzad p,
body.vibe-light-page .vibe-home-section--cta h1,
body.vibe-light-page .vibe-home-section--cta h2,
body.vibe-light-page .vibe-home-section--cta h3,
body.vibe-light-page .vibe-home-section--cta p {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--home .vibe-home-section--manifesto,
body.hero-page--home .vibe-home-section--impact,
body.hero-page--home .vibe-home-section--partners,
body.hero-page--home .vibe-home-section--zarzad,
body.hero-page--home .vibe-home-section--cta {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8);
}

body.hero-page--home .vibe-home-section--filary,
body.hero-page--home .vibe-home-section--testimonial {
  background: var(--vibe-cream-warm, #EEE8DA) !important;
  color: var(--vibe-ink, #0E0F14);
}

body.hero-page--home .vibe-home-section--stats,
body.hero-page--home .vibe-home-section--transparency {
  background: var(--vibe-cream, #F5F1E8) !important;
  color: var(--vibe-ink, #0E0F14);
}

/* Fix: entry-content-wrap transparent pod dark sekcjami */
body.hero-page--home .entry-content-wrap,
body.hero-page--home .entry.single-entry,
body.hero-page--home .content-area,
body.hero-page--home .site-main,
body.hero-page--home #main {
  background: transparent !important;
  box-shadow: none !important;
}

body.hero-page--home .vibe-home-container {
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

/* === EYEBROW PILL === */
body.hero-page--home .vibe-home-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--home .vibe-home-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

body.hero-page--home .vibe-home-section--manifesto .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--impact .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--partners .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--zarzad .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--cta .vibe-home-eyebrow {
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--home .vibe-home-section--manifesto .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--impact .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--partners .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--zarzad .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--cta .vibe-home-eyebrow::before {
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.4);
}

body.hero-page--home .vibe-home-section--filary .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--stats .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--testimonial .vibe-home-eyebrow,
body.hero-page--home .vibe-home-section--transparency .vibe-home-eyebrow {
  background: rgba(14, 15, 20, 0.06) !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--home .vibe-home-section--filary .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--stats .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--testimonial .vibe-home-eyebrow::before,
body.hero-page--home .vibe-home-section--transparency .vibe-home-eyebrow::before {
  background: var(--vibe-violet, #7B3FE4);
}

/* === H2 BIG === */
body.hero-page--home .vibe-home-h2-big {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 88px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--home .vibe-home-h2-big em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

body.hero-page--home .vibe-home-section--filary .vibe-home-h2-big em,
body.hero-page--home .vibe-home-section--stats .vibe-home-h2-big em,
body.hero-page--home .vibe-home-section--testimonial .vibe-home-h2-big em,
body.hero-page--home .vibe-home-section--transparency .vibe-home-h2-big em {
  color: var(--vibe-violet, #7B3FE4);
  background: none;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--home .vibe-home-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  max-width: 680px !important;
}

body.hero-page--home .vibe-home-section--manifesto .vibe-home-lead,
body.hero-page--home .vibe-home-section--impact .vibe-home-lead,
body.hero-page--home .vibe-home-section--partners .vibe-home-lead,
body.hero-page--home .vibe-home-section--zarzad .vibe-home-lead,
body.hero-page--home .vibe-home-section--cta .vibe-home-lead {
  color: rgba(245, 241, 232, 0.72) !important;
}

body.hero-page--home .vibe-home-section--filary .vibe-home-lead,
body.hero-page--home .vibe-home-section--stats .vibe-home-lead,
body.hero-page--home .vibe-home-section--testimonial .vibe-home-lead,
body.hero-page--home .vibe-home-section--transparency .vibe-home-lead {
  color: rgba(14, 15, 20, 0.72) !important;
}

/* === SECTION NUMBERS === */
body.hero-page--home .vibe-home-section-number {
  position: absolute;
  top: 60px;
  right: 60px;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  z-index: 6;
}

body.hero-page--home .vibe-home-section--manifesto .vibe-home-section-number,
body.hero-page--home .vibe-home-section--impact .vibe-home-section-number,
body.hero-page--home .vibe-home-section--partners .vibe-home-section-number,
body.hero-page--home .vibe-home-section--zarzad .vibe-home-section-number,
body.hero-page--home .vibe-home-section--cta .vibe-home-section-number {
  color: rgba(245, 241, 232, 0.4) !important;
}

body.hero-page--home .vibe-home-section--filary .vibe-home-section-number,
body.hero-page--home .vibe-home-section--stats .vibe-home-section-number,
body.hero-page--home .vibe-home-section--testimonial .vibe-home-section-number,
body.hero-page--home .vibe-home-section--transparency .vibe-home-section-number {
  color: rgba(14, 15, 20, 0.3) !important;
}

/* ═══════ SEKCJA 02: MANIFESTO ═══════ */
body.hero-page--home .vibe-home-section--manifesto {
  padding: clamp(120px, 18vh, 200px) clamp(40px, 6vw, 100px) !important;
}

body.hero-page--home .vibe-home-section--manifesto::before {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--home .vibe-home-manifesto-grid {
  display: block !important;
}

body.hero-page--home .vibe-home-manifesto-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body.hero-page--home .vibe-home-manifesto-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--home .vibe-home-manifesto-side-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-manifesto-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 56px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--home .vibe-home-manifesto-h2 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

body.hero-page--home .vibe-home-manifesto-body {
  display: block !important;
}

body.hero-page--home .vibe-home-manifesto-body > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 56px !important;
  margin: 0 0 56px 0 !important;
}

body.hero-page--home .vibe-home-manifesto-body > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--home .vibe-home-manifesto-body p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17.5px !important;
  line-height: 1.65 !important;
  color: rgba(245, 241, 232, 0.82) !important;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-manifesto-body p:first-child::first-letter {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 56px !important;
  float: left;
  line-height: 0.85;
  padding: 6px 12px 0 0;
  color: var(--vibe-lime, #C8F542);
}

body.hero-page--home .vibe-home-manifesto-signature {
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  padding-top: 32px !important;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-manifesto-signature small {
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-style: normal;
  font-size: 12px;
  color: rgba(245, 241, 232, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-top: 4px;
}

body.hero-page--home .vibe-home-manifesto-signature .date {
  font-family: 'JetBrains Mono', monospace;
  font-style: normal;
  font-size: 12px;
  color: rgba(245, 241, 232, 0.4);
  letter-spacing: 0.18em;
}

/* ═══════ SEKCJA 03: 4 FILARY ═══════ */
body.hero-page--home .vibe-home-filary-header {
  text-align: center;
  max-width: 880px;
  margin: 0 auto 80px !important;
}

body.hero-page--home .vibe-home-filary-header .vibe-home-h2-big {
  margin-top: 0 !important;
}

body.hero-page--home .vibe-home-filary-header .vibe-home-lead {
  margin: 0 auto !important;
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1480px;
  margin: 0 auto !important;
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 36px 32px !important;
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 16px;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 16px 16px 0 0;
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(1)::before { background: #7B3FE4; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(2)::before { background: #E85D75; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(3)::before { background: #2D9CDB; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(4)::before { background: #F2A93C; }

body.hero-page--home .vibe-home-filar-number {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 8px 0 !important;
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(1) .vibe-home-filar-number { color: #7B3FE4 !important; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(2) .vibe-home-filar-number { color: #E85D75 !important; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(3) .vibe-home-filar-number { color: #2D9CDB !important; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(4) .vibe-home-filar-number { color: #F2A93C !important; }

body.hero-page--home .vibe-home-filar-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 28px 0 !important;
  font-family: 'Fraunces', serif !important;
  font-size: 28px !important;
}

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(1) .vibe-home-filar-icon { background: rgba(123, 63, 228, 0.12); color: #7B3FE4; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(2) .vibe-home-filar-icon { background: rgba(232, 93, 117, 0.12); color: #E85D75; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(3) .vibe-home-filar-icon { background: rgba(45, 156, 219, 0.12); color: #2D9CDB; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(4) .vibe-home-filar-icon { background: rgba(242, 169, 60, 0.12); color: #F2A93C; }

body.hero-page--home .vibe-home-filar-name {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--home .vibe-home-filar-name em { font-style: italic; }

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(1) .vibe-home-filar-name em { color: #7B3FE4; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(2) .vibe-home-filar-name em { color: #E85D75; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(3) .vibe-home-filar-name em { color: #2D9CDB; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(4) .vibe-home-filar-name em { color: #F2A93C; }

body.hero-page--home .vibe-home-filar-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--home .vibe-home-filar-link {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s ease;
}

body.hero-page--home .vibe-home-filar-link:hover { gap: 10px !important; }

body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(1) .vibe-home-filar-link { color: #7B3FE4 !important; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(2) .vibe-home-filar-link { color: #E85D75 !important; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(3) .vibe-home-filar-link { color: #2D9CDB !important; }
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column:nth-child(4) .vibe-home-filar-link { color: #F2A93C !important; }

body.hero-page--home .vibe-home-filar-projects {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.4) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.4) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 20px 0 0 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.06);
}

/* Filar h3: non-em text visible on cream card */
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column h3 {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}
body.hero-page--home .wp-block-columns.vibe-home-filary-grid > .wp-block-column h3 em {
  font-style: italic !important;
  background: none !important;
  -webkit-text-fill-color: inherit !important;
}

/* ═══════ SEKCJA 04: FEATURED IMPACT ═══════ */
body.hero-page--home .vibe-home-impact-grid {
  display: block !important;
}

body.hero-page--home .vibe-home-impact-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: center !important;
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body.hero-page--home .vibe-home-impact-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--home .vibe-home-impact-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(36px, 5vw, 68px) !important;
  font-weight: 350 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--home .vibe-home-impact-h2 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
}

body.hero-page--home .vibe-home-impact-intro {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--home .vibe-home-impact-quote {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  color: rgba(245, 241, 232, 0.85) !important;
  border-left: 3px solid var(--vibe-lime, #C8F542);
  padding-left: 24px !important;
  margin: 32px 0 24px 0 !important;
}

body.hero-page--home .vibe-home-impact-quote-author {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(245, 241, 232, 0.6) !important;
  margin: 16px 0 0 0 !important;
}

body.hero-page--home .vibe-home-impact-quote-author strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 17px;
  color: var(--vibe-lime, #C8F542);
  margin-bottom: 4px;
}

body.hero-page--home .vibe-home-impact-mini-stats {
  display: block !important;
}

body.hero-page--home .vibe-home-impact-mini-stats > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 36px 0 !important;
  padding: 28px 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  border-bottom: 1px solid rgba(245, 241, 232, 0.12);
}

body.hero-page--home .vibe-home-impact-mini-stats > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--home .vibe-home-impact-mini-stat .num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 44px !important;
  line-height: 1 !important;
  color: var(--vibe-lime, #C8F542) !important;
  font-weight: 350 !important;
  display: block;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-impact-mini-stat .label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(245, 241, 232, 0.55) !important;
  margin: 6px 0 0 0 !important;
}

.wp-block-button.vibe-home-impact-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 14px 24px !important;
  background: transparent !important;
  border: 1px solid rgba(200, 245, 66, 0.4) !important;
  border-radius: 999px !important;
  color: var(--vibe-lime, #C8F542) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.wp-block-button.vibe-home-impact-btn .wp-block-button__link:hover {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--home .vibe-home-impact-image {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, #1a1d28 0%, #0E0F14 100%);
  border: 1px solid rgba(245, 241, 232, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.hero-page--home .vibe-home-impact-image::before {
  content: "[ FOTO ]";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.3em;
  color: rgba(245, 241, 232, 0.18);
  text-transform: uppercase;
  border: 1px dashed rgba(245, 241, 232, 0.12);
  padding: 20px 40px;
  border-radius: 8px;
  pointer-events: none;
}

body.hero-page--home .vibe-home-impact-image-caption {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: rgba(245, 241, 232, 0.7);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 12px 16px;
  background: rgba(14, 15, 20, 0.7);
  backdrop-filter: blur(8px);
  border-radius: 8px;
  border: 1px solid rgba(245, 241, 232, 0.12);
  margin: 0 !important;
  z-index: 2;
}

/* ═══════ SEKCJA 05: STATS ═══════ */
body.hero-page--home .vibe-home-stats-header {
  max-width: 880px;
  margin: 0 auto 80px !important;
  text-align: center;
}

body.hero-page--home .vibe-home-stats-grid {
  display: block !important;
}

body.hero-page--home .vibe-home-stats-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  max-width: 1320px;
  margin: 0 auto !important;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  border-bottom: 1px solid rgba(14, 15, 20, 0.12);
}

body.hero-page--home .vibe-home-stats-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--home .vibe-home-stat-block {
  padding: 48px 32px !important;
  border-left: 1px solid rgba(14, 15, 20, 0.12);
  margin: 0 !important;
}

body.hero-page--home .vibe-home-stat-block:first-child { border-left: none; }

body.hero-page--home .vibe-home-stat-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-stat-num {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(56px, 7vw, 88px) !important;
  font-weight: 350 !important;
  line-height: 0.95 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--home .vibe-home-stat-label {
  font-family: 'Fraunces', serif !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 400 !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--home .vibe-home-stat-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.6) !important;
  line-height: 1.5 !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-stat-verify {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 1px dotted var(--vibe-violet, #7B3FE4);
  padding-bottom: 2px;
}

body.hero-page--home .vibe-home-stats-footer {
  text-align: center;
  margin-top: 48px !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(14, 15, 20, 0.6) !important;
}

body.hero-page--home .vibe-home-stats-footer a {
  color: var(--vibe-violet, #7B3FE4);
  text-decoration: underline;
}

/* ═══════ SEKCJA 06: TRUST PARTNERS ═══════ */
body.hero-page--home .vibe-home-partners-header {
  text-align: center;
  max-width: 920px;
  margin: 0 auto 72px !important;
  position: relative;
  z-index: 5;
}

body.hero-page--home .vibe-home-partners-header .vibe-home-h2-big {
  color: var(--vibe-cream, #F5F1E8) !important;
  margin-top: 24px !important;
}

body.hero-page--home .wp-block-columns.vibe-home-partners-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body.hero-page--home .wp-block-columns.vibe-home-partners-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 32px 28px !important;
  background: rgba(245, 241, 232, 0.04) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 16px;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

body.hero-page--home .wp-block-columns.vibe-home-partners-grid > .wp-block-column:hover {
  border-color: rgba(200, 245, 66, 0.35);
  transform: translateY(-6px);
}

body.hero-page--home .vibe-home-partner-logo-text {
  font-family: 'Fraunces', serif !important;
  font-size: 40px !important;
  font-weight: 500 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  letter-spacing: -0.025em !important;
  line-height: 1 !important;
  height: 80px;
  display: flex;
  align-items: center;
  margin: 0 0 24px 0 !important;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(245, 241, 232, 0.08);
}

body.hero-page--home .vibe-home-partner-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px 0 !important;
  font-weight: 500 !important;
}

body.hero-page--home .vibe-home-partner-name {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 19px !important;
  color: rgba(245, 241, 232, 0.9) !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.2 !important;
}

body.hero-page--home .vibe-home-partner-role {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.6) !important;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-partner-stat {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  margin: 24px 0 0 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(245, 241, 232, 0.06);
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

body.hero-page--home .vibe-home-partner-stat strong { color: var(--vibe-lime, #C8F542); }

body.hero-page--home .vibe-home-partners-footer {
  text-align: center;
  margin-top: 56px !important;
}

.wp-block-button.vibe-home-partners-btn .wp-block-button__link {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--vibe-lime, #C8F542) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 14px 28px !important;
  background: transparent !important;
  border: 1px solid rgba(200, 245, 66, 0.35) !important;
  border-radius: 999px !important;
  transition: all 0.2s ease;
}

.wp-block-button.vibe-home-partners-btn .wp-block-button__link:hover {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

/* ═══════ SEKCJA 07: TESTIMONIAL ═══════ */
body.hero-page--home .vibe-home-testimonial-grid {
  display: block !important;
}

body.hero-page--home .vibe-home-testimonial-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 64px !important;
  align-items: start !important;
  max-width: 1320px;
  margin: 0 auto !important;
}

body.hero-page--home .vibe-home-testimonial-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--home .vibe-home-testimonial-q {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(24px, 3vw, 40px) !important;
  font-weight: 350 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--home .vibe-home-testimonial-q em {
  color: var(--vibe-violet, #7B3FE4);
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--home .vibe-home-testimonial-author {
  display: flex !important;
  align-items: center;
  gap: 20px;
  padding-top: 28px;
  border-top: 1px solid rgba(14, 15, 20, 0.12);
  margin: 0 !important;
}

body.hero-page--home .vibe-home-testimonial-author strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 19px;
  color: var(--vibe-violet, #7B3FE4);
  font-weight: 400;
  margin-bottom: 4px;
}

body.hero-page--home .vibe-home-testimonial-author .role {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  /* Sekcja na ciemnym tle → jasny (kremowy) meta zamiast ciemnego ink */
  color: rgba(245, 241, 232, 0.6) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.6) !important;
}

body.hero-page--home .vibe-home-testimonial-side {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

body.hero-page--home .vibe-home-testimonial-mini {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 12px;
  padding: 24px !important;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-testimonial-mini-stars {
  color: var(--vibe-violet, #7B3FE4) !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--home .vibe-home-testimonial-mini-q {
  font-family: 'Fraunces', serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-testimonial-mini-q em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--home .vibe-home-testimonial-mini-author {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  padding-top: 12px;
  border-top: 1px solid rgba(14, 15, 20, 0.06);
  margin: 0 !important;
}

body.hero-page--home .vibe-home-testimonial-mini-author strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 13px;
  color: var(--vibe-violet, #7B3FE4);
  font-weight: 400;
  margin-bottom: 2px;
}

body.hero-page--home .vibe-home-testimonial-cta {
  padding: 20px !important;
  border: 1px dashed rgba(14, 15, 20, 0.2);
  border-radius: 12px;
  text-align: center;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-testimonial-cta .count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: rgba(14, 15, 20, 0.5);
  display: block;
  margin-bottom: 6px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

body.hero-page--home .vibe-home-testimonial-cta a {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--vibe-violet, #7B3FE4);
  text-decoration: none;
}

/* ═══════ SEKCJA 08: ZARZĄD ═══════ */
body.hero-page--home .vibe-home-zarzad-header {
  max-width: 880px;
  margin: 0 auto 80px !important;
  text-align: center;
  position: relative;
  z-index: 5;
}

body.hero-page--home .vibe-home-zarzad-header .vibe-home-h2-big {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--home .vibe-home-zarzad-header .vibe-home-h2-big em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--home .wp-block-columns.vibe-home-zarzad-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body.hero-page--home .wp-block-columns.vibe-home-zarzad-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(245, 241, 232, 0.04) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

body.hero-page--home .wp-block-columns.vibe-home-zarzad-grid > .wp-block-column:hover {
  transform: translateY(-6px);
  border-color: rgba(200, 245, 66, 0.3);
}

body.hero-page--home .vibe-home-person-photo {
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, var(--vibe-cream-warm, #EEE8DA) 0%, #DDD5C4 100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-person-initial {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 88px !important;
  color: rgba(14, 15, 20, 0.15) !important;
  font-weight: 300 !important;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-person-meta {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 4px 10px;
  background: rgba(14, 15, 20, 0.06);
  border-radius: 999px;
  margin: 0 !important;
}

body.hero-page--home .vibe-home-person-info {
  padding: 28px !important;
}

body.hero-page--home .vibe-home-person-name {
  font-family: 'Fraunces', serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 8px 0 !important;
}

body.hero-page--home .vibe-home-person-role {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--vibe-lime, #C8F542) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-person-bio {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.65) !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--home .vibe-home-person-linkedin {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  color: rgba(245, 241, 232, 0.55) !important;
  text-decoration: none !important;
  padding-top: 16px;
  border-top: 1px solid rgba(245, 241, 232, 0.08);
  width: 100%;
  margin: 0 !important;
  transition: color 0.2s ease;
}

body.hero-page--home .vibe-home-person-linkedin:hover { color: var(--vibe-lime, #C8F542) !important; }

body.hero-page--home .vibe-home-zarzad-footer {
  text-align: center;
  margin-top: 64px !important;
}

body.hero-page--home .vibe-home-zarzad-footer a {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--vibe-lime, #C8F542);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(200, 245, 66, 0.3);
  padding-bottom: 4px;
}

/* ═══════ SEKCJA 09: TRANSPARENCY ═══════ */
body.hero-page--home .vibe-home-transparency-header {
  max-width: 880px;
  margin: 0 auto 80px !important;
  text-align: center;
}

body.hero-page--home .wp-block-columns.vibe-home-transparency-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1320px;
  margin: 0 auto !important;
}

body.hero-page--home .wp-block-columns.vibe-home-transparency-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 36px 32px !important;
  background: rgba(14, 15, 20, 0.04) !important;
  border: 1px solid rgba(14, 15, 20, 0.10);
  border-radius: 14px;
}

body.hero-page--home .vibe-home-transparency-card-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-transparency-card-title {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--home .vibe-home-transparency-card-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--home .vibe-home-data-row {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12.5px !important;
  line-height: 1.8 !important;
  display: flex !important;
  justify-content: space-between;
  padding: 6px 0 !important;
  border-bottom: 1px dotted rgba(14, 15, 20, 0.12);
  margin: 0 !important;
}

body.hero-page--home .vibe-home-data-row:last-child { border-bottom: none; }
/* Sekcja transparentności na ciemnym tle → jasne etykiety i wartości */
body.hero-page--home .vibe-home-data-row .key { color: rgba(245, 241, 232, 0.55) !important; -webkit-text-fill-color: rgba(245, 241, 232, 0.55) !important; }
body.hero-page--home .vibe-home-data-row .val { color: rgba(245, 241, 232, 0.92) !important; -webkit-text-fill-color: rgba(245, 241, 232, 0.92) !important; font-weight: 500; text-align: right; }

body.hero-page--home .vibe-home-opp-status {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(242, 169, 60, 0.12);
  border: 1px solid rgba(242, 169, 60, 0.3);
  border-radius: 999px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #C77E20 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 24px 0 20px 0 !important;
}

body.hero-page--home .vibe-home-opp-status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F2A93C;
  animation: vibe-home-pulse 2s ease infinite;
}

@keyframes vibe-home-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

body.hero-page--home .vibe-home-opp-explanation {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--home .vibe-home-transparency-footer {
  text-align: center;
  margin: 56px 0 0 0 !important;
  padding-top: 40px;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
}

body.hero-page--home .vibe-home-transparency-footer .label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: rgba(14, 15, 20, 0.5);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.wp-block-button.vibe-home-transparency-btn .wp-block-button__link {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 14px 28px !important;
  background: var(--vibe-cream-warm, #EEE8DA) !important;
  border: 1px solid rgba(123, 63, 228, 0.3) !important;
  border-radius: 999px !important;
  transition: all 0.2s ease;
}

.wp-block-button.vibe-home-transparency-btn .wp-block-button__link:hover {
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
}

/* ═══════ SEKCJA 10: DUAL CTA ═══════ */
body.hero-page--home .vibe-home-cta-header {
  max-width: 920px;
  margin: 0 auto 72px !important;
  text-align: center;
  position: relative;
  z-index: 5;
}

body.hero-page--home .vibe-home-cta-header .vibe-home-h2-big {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--home .vibe-home-cta-header .vibe-home-h2-big em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1200px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 56px 48px !important;
  border-radius: 20px;
  transition: transform 0.3s ease;
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:nth-child(2) {
  background: rgba(245, 241, 232, 0.05) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:hover { transform: translateY(-4px); }

body.hero-page--home .vibe-home-cta-card-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  opacity: 0.7;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-cta-card-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--home .vibe-home-cta-card-h3 em { font-style: italic; }

body.hero-page--home .vibe-home-cta-card-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  opacity: 0.85;
  margin: 0 0 32px 0 !important;
}

body.hero-page--home .vibe-home-cta-card-amount {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  margin: 20px 0 !important;
  padding: 16px 20px !important;
  background: rgba(14, 15, 20, 0.1);
  border-radius: 12px;
  display: inline-block;
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:nth-child(2) .vibe-home-cta-card-amount {
  background: rgba(245, 241, 232, 0.06);
}

body.hero-page--home .vibe-home-cta-card-amount .num {
  font-size: 30px;
  font-weight: 500;
  color: var(--vibe-ink, #0E0F14);
}

body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:nth-child(2) .vibe-home-cta-card-amount .num {
  color: var(--vibe-lime, #C8F542);
}

.wp-block-button.vibe-home-cta-btn-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 32px !important;
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-lime, #C8F542) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: transform 0.2s ease;
  border: none !important;
}

.wp-block-button.vibe-home-cta-btn-primary .wp-block-button__link:hover { transform: translateX(4px); }

.wp-block-button.vibe-home-cta-btn-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 32px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: transform 0.2s ease;
  border: none !important;
}

.wp-block-button.vibe-home-cta-btn-secondary .wp-block-button__link:hover { transform: translateX(4px); }

/* ═══ TEXT COLOR FIXES ═══ */

/* CTA lime card: override cream text from vibe-light-page rules */
body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child h1,
body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child h2,
body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child h3,
body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child p,
body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child em,
body.hero-page--home .wp-block-columns.vibe-home-cta-grid > .wp-block-column:first-child span {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

/* Testimonial mini-q: force ink on regular text, violet on em */
body.hero-page--home .vibe-home-testimonial-mini-q {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}
body.hero-page--home .vibe-home-testimonial-mini-q em {
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  font-style: italic !important;
}

/* Meta po podpisie ([Olaf]/[Milena]) — wymuszamy czytelny ink, fiolet na podpisie. */
body.hero-page--home .vibe-home-testimonial-mini-author {
  color: rgba(14, 15, 20, 0.6) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.6) !important;
}
body.hero-page--home .vibe-home-testimonial-mini-author strong {
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--home .vibe-home-manifesto-grid > .wp-block-group__inner-container,
  body.hero-page--home .vibe-home-impact-grid > .wp-block-group__inner-container,
  body.hero-page--home .vibe-home-testimonial-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  body.hero-page--home .wp-block-columns.vibe-home-filary-grid,
  body.hero-page--home .wp-block-columns.vibe-home-partners-grid,
  body.hero-page--home .wp-block-columns.vibe-home-zarzad-grid,
  body.hero-page--home .wp-block-columns.vibe-home-transparency-grid,
  body.hero-page--home .wp-block-columns.vibe-home-cta-grid {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--home .vibe-home-stats-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.hero-page--home .vibe-home-manifesto-body > .wp-block-group__inner-container,
  body.hero-page--home .vibe-home-impact-mini-stats > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--home .vibe-home-section-number {
    top: 30px;
    right: 30px;
  }
}

/* === END VIBE HOME === */


/* ============================================
   VIBE /O-NAS/ NGO 2026 — Pełna strona O nas
   Data: 22.05.2026
   9 sekcji (02-10), Hero ZOSTAJE bez zmian
   Scope: body.hero-page--o-nas
   ============================================ */

body.hero-page--o-nas .vibe-onas-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

/* === BACKGROUNDS === */
body.hero-page--o-nas .vibe-onas-section--manifest { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--o-nas .vibe-onas-section--mw { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--o-nas .vibe-onas-section--metoda { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--o-nas .vibe-onas-section--zarzad { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--o-nas .vibe-onas-section--partners { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--o-nas .vibe-onas-section--bezp { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--o-nas .vibe-onas-section--transparency { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--o-nas .vibe-onas-section--cta { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }

/* Light sections — neutralize vibe-light-page wp-block-group override */
body.hero-page--o-nas .vibe-onas-section--mw .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--mw .wp-block-group__inner-container,
body.hero-page--o-nas .vibe-onas-section--zarzad .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--zarzad .wp-block-group__inner-container,
body.hero-page--o-nas .vibe-onas-section--bezp .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--bezp .wp-block-group__inner-container,
body.hero-page--o-nas .vibe-onas-section--transparency .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--transparency .wp-block-group__inner-container {
  background: transparent !important;
}

/* Dark sections — neutralize wp-block-group override */
body.hero-page--o-nas .vibe-onas-section--manifest .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--manifest .wp-block-group__inner-container,
body.hero-page--o-nas .vibe-onas-section--metoda .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--metoda .wp-block-group__inner-container,
body.hero-page--o-nas .vibe-onas-section--partners .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--partners .wp-block-group__inner-container,
body.hero-page--o-nas .vibe-onas-section--cta .wp-block-group,
body.hero-page--o-nas .vibe-onas-section--cta .wp-block-group__inner-container {
  background: transparent !important;
}

/* entry-content-wrap transparent */
body.hero-page--o-nas .entry-content-wrap,
body.hero-page--o-nas .entry.single-entry,
body.hero-page--o-nas .content-area,
body.hero-page--o-nas .site-main,
body.hero-page--o-nas #main {
  background: transparent !important;
  box-shadow: none !important;
}

/* === GLOBAL HYPHENS === */
body.hero-page--o-nas .vibe-onas-section p,
body.hero-page--o-nas .vibe-onas-section h1,
body.hero-page--o-nas .vibe-onas-section h2,
body.hero-page--o-nas .vibe-onas-section h3,
body.hero-page--o-nas .vibe-onas-section h4,
body.hero-page--o-nas .vibe-onas-section li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: manual !important;
  min-width: 0;
}

/* === DARK SECTION TEXT — explicit ink fix for vibe-light-page conflicts === */
body.hero-page--o-nas .vibe-onas-section--manifest h1,
body.hero-page--o-nas .vibe-onas-section--manifest h2,
body.hero-page--o-nas .vibe-onas-section--manifest h3,
body.hero-page--o-nas .vibe-onas-section--manifest p,
body.hero-page--o-nas .vibe-onas-section--metoda h1,
body.hero-page--o-nas .vibe-onas-section--metoda h2,
body.hero-page--o-nas .vibe-onas-section--metoda h3,
body.hero-page--o-nas .vibe-onas-section--metoda p,
body.hero-page--o-nas .vibe-onas-section--partners h1,
body.hero-page--o-nas .vibe-onas-section--partners h2,
body.hero-page--o-nas .vibe-onas-section--partners h3,
body.hero-page--o-nas .vibe-onas-section--partners h4,
body.hero-page--o-nas .vibe-onas-section--partners p,
body.hero-page--o-nas .vibe-onas-section--cta h1,
body.hero-page--o-nas .vibe-onas-section--cta h2,
body.hero-page--o-nas .vibe-onas-section--cta h3,
body.hero-page--o-nas .vibe-onas-section--cta p {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

/* Light section text — explicit ink */
body.hero-page--o-nas .vibe-onas-section--mw h2,
body.hero-page--o-nas .vibe-onas-section--mw h3,
body.hero-page--o-nas .vibe-onas-section--mw p,
body.hero-page--o-nas .vibe-onas-section--zarzad h2,
body.hero-page--o-nas .vibe-onas-section--zarzad h3,
body.hero-page--o-nas .vibe-onas-section--zarzad p,
body.hero-page--o-nas .vibe-onas-section--bezp h2,
body.hero-page--o-nas .vibe-onas-section--bezp h3,
body.hero-page--o-nas .vibe-onas-section--bezp p,
body.hero-page--o-nas .vibe-onas-section--transparency h2,
body.hero-page--o-nas .vibe-onas-section--transparency h3,
body.hero-page--o-nas .vibe-onas-section--transparency p {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

/* === EYEBROW PILL === */
body.hero-page--o-nas .vibe-onas-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--o-nas .vibe-onas-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.4);
  flex-shrink: 0;
}

body.hero-page--o-nas .vibe-onas-section--mw .vibe-onas-eyebrow,
body.hero-page--o-nas .vibe-onas-section--zarzad .vibe-onas-eyebrow,
body.hero-page--o-nas .vibe-onas-section--bezp .vibe-onas-eyebrow,
body.hero-page--o-nas .vibe-onas-section--transparency .vibe-onas-eyebrow {
  background: #FBF7EE !important;
  border-color: rgba(14, 15, 20, 0.12);
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  box-shadow: 0 2px 8px rgba(14, 15, 20, 0.04);
}

body.hero-page--o-nas .vibe-onas-section--mw .vibe-onas-eyebrow::before,
body.hero-page--o-nas .vibe-onas-section--zarzad .vibe-onas-eyebrow::before,
body.hero-page--o-nas .vibe-onas-section--bezp .vibe-onas-eyebrow::before,
body.hero-page--o-nas .vibe-onas-section--transparency .vibe-onas-eyebrow::before {
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 12px rgba(123, 63, 228, 0.5);
}

/* === H2 === */
body.hero-page--o-nas .vibe-onas-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 88px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--o-nas .vibe-onas-h2 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent !important;
}

body.hero-page--o-nas .vibe-onas-section--manifest .vibe-onas-h2 em,
body.hero-page--o-nas .vibe-onas-section--metoda .vibe-onas-h2 em,
body.hero-page--o-nas .vibe-onas-section--partners .vibe-onas-h2 em,
body.hero-page--o-nas .vibe-onas-section--cta .vibe-onas-h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--o-nas .vibe-onas-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 680px !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-header {
  text-align: center;
  max-width: 920px;
  margin: 0 auto 72px !important;
}

body.hero-page--o-nas .vibe-onas-header .vibe-onas-eyebrow { margin: 0 auto 24px !important; }
body.hero-page--o-nas .vibe-onas-header .vibe-onas-lead { margin: 0 auto !important; }

/* ═══ SEKCJA 02: MANIFEST ═══ */
body.hero-page--o-nas .vibe-onas-section--manifest {
  padding: clamp(120px, 18vh, 200px) clamp(40px, 6vw, 100px) !important;
}

body.hero-page--o-nas .vibe-onas-section--manifest::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--o-nas .vibe-onas-section--manifest::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--o-nas .vibe-onas-manifest-grid {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-manifest-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-manifest-side .meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-side .year {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 64px !important;
  font-weight: 350 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  line-height: 1 !important;
  margin: 20px 0 0 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-side .year-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 8px 0 0 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 56px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--o-nas .vibe-onas-manifest-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--o-nas .vibe-onas-manifest-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  margin: 0 0 48px 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-body > .wp-block-group { background: transparent !important; }

body.hero-page--o-nas .vibe-onas-manifest-body p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(245, 241, 232, 0.82) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.82) !important;
  min-width: 0;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-body p:first-letter {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 64px;
  float: left;
  line-height: 0.85;
  padding: 6px 14px 0 0;
  color: var(--vibe-lime, #C8F542);
  -webkit-text-fill-color: var(--vibe-lime, #C8F542);
}

body.hero-page--o-nas .vibe-onas-manifest-sig {
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  padding-top: 28px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-sig .who {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 20px !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-manifest-sig .who small {
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-style: normal;
  font-size: 11.5px;
  color: rgba(245, 241, 232, 0.5);
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-top: 4px;
}

body.hero-page--o-nas .vibe-onas-manifest-sig .date {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 03: MISJA & WIZJA ═══ */
body.hero-page--o-nas .vibe-onas-mw-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-mw-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-mw-separator {
  width: 1px !important;
  background: rgba(14, 15, 20, 0.12) !important;
  align-self: stretch;
  min-height: 400px;
}

body.hero-page--o-nas .vibe-onas-mw-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 88px !important;
  font-weight: 300 !important;
  color: rgba(123, 63, 228, 0.15) !important;
  -webkit-text-fill-color: rgba(123, 63, 228, 0.15) !important;
  line-height: 1 !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.03em !important;
}

body.hero-page--o-nas .vibe-onas-mw-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 6px 14px !important;
  background: #FBF7EE !important;
  border: 1px solid rgba(123, 63, 228, 0.2);
  border-radius: 999px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--o-nas .vibe-onas-mw-pill::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--vibe-violet, #7B3FE4);
}

body.hero-page--o-nas .vibe-onas-mw-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  font-weight: 350 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--o-nas .vibe-onas-mw-h3 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent !important;
}

body.hero-page--o-nas .vibe-onas-mw-body {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(14, 15, 20, 0.75) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.75) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--o-nas .vibe-onas-mw-quote {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 17px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  padding: 16px 0 0 20px !important;
  border-left: 2px solid var(--vibe-violet, #7B3FE4);
  margin: 24px 0 0 0 !important;
  line-height: 1.5;
}

/* ═══ SEKCJA 04: JAK DZIAŁAMY ═══ */
body.hero-page--o-nas .vibe-onas-section--metoda::before {
  content: "";
  position: absolute;
  top: 50%; left: -150px;
  transform: translateY(-50%);
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.08) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--o-nas .vibe-onas-metoda-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-metoda-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-metoda-card {
  background: rgba(245, 241, 232, 0.05) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 16px !important;
  padding: 36px 28px !important;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

body.hero-page--o-nas .vibe-onas-metoda-card:hover {
  border-color: rgba(200, 245, 66, 0.35);
  transform: translateY(-6px);
}

body.hero-page--o-nas .vibe-onas-metoda-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 16px 0 !important;
  font-weight: 600 !important;
}

body.hero-page--o-nas .vibe-onas-metoda-icon {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  font-style: italic !important;
  margin: 0 0 24px 0 !important;
  line-height: 1 !important;
}

body.hero-page--o-nas .vibe-onas-metoda-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--o-nas .vibe-onas-metoda-h3 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--o-nas .vibe-onas-metoda-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.65) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.65) !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 05: ZARZĄD & RADA ═══ */
body.hero-page--o-nas .vibe-onas-zr-container {
  max-width: 1320px;
  margin: 0 auto;
}

body.hero-page--o-nas .vibe-onas-zr-label {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 48px 0 32px 0 !important;
}

body.hero-page--o-nas .vibe-onas-zr-label:first-child { margin-top: 0 !important; }

body.hero-page--o-nas .vibe-onas-zr-label .text {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(14, 15, 20, 0.6) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.6) !important;
  font-weight: 600 !important;
  white-space: nowrap;
}

body.hero-page--o-nas .vibe-onas-zr-label .line {
  flex: 1;
  height: 1px;
  background: rgba(14, 15, 20, 0.12);
  display: block;
}

body.hero-page--o-nas .vibe-onas-zr-label .count {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.4) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.4) !important;
  letter-spacing: 0.15em !important;
  white-space: nowrap;
}

body.hero-page--o-nas .vibe-onas-zr-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  margin: 0 0 0 0 !important;
}

body.hero-page--o-nas .vibe-onas-zr-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-person {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 18px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
}

body.hero-page--o-nas .vibe-onas-person:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--o-nas .vibe-onas-person-photo {
  background: linear-gradient(135deg, #EEE8DA 0%, #E2D9C0 100%) !important;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  flex-direction: column;
  gap: 0;
}

body.hero-page--o-nas .vibe-onas-person-photo .initial {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 96px !important;
  color: rgba(14, 15, 20, 0.15) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.15) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-person-photo .meta-tag {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  background: rgba(255, 255, 255, 0.7) !important;
  border-radius: 999px !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-person-info {
  padding: 32px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.hero-page--o-nas .vibe-onas-person-name {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--o-nas .vibe-onas-person-role {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--o-nas .vibe-onas-person-bio {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 18px 0 !important;
}

body.hero-page--o-nas .vibe-onas-person-linkedin {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  text-decoration: none !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-person-linkedin:hover {
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

/* ═══ SEKCJA 06: PARTNERZY ═══ */
body.hero-page--o-nas .vibe-onas-section--partners::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 700px;
  background: radial-gradient(ellipse, rgba(200, 245, 66, 0.07) 0%, transparent 65%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--o-nas .vibe-onas-partners-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-partners-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-partner {
  background: rgba(245, 241, 232, 0.05) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 18px !important;
  padding: 40px !important;
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

body.hero-page--o-nas .vibe-onas-partner:hover {
  border-color: rgba(200, 245, 66, 0.35);
  transform: translateY(-4px);
}

body.hero-page--o-nas .vibe-onas-partner-logo-area {
  border-right: 1px solid rgba(245, 241, 232, 0.08);
  padding: 0 24px 0 0 !important;
  text-align: center !important;
}

body.hero-page--o-nas .vibe-onas-partner-logo-big {
  font-family: 'Fraunces', serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  margin: 0 0 8px 0 !important;
}

body.hero-page--o-nas .vibe-onas-partner-since {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-partner-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 10px 0 !important;
  font-weight: 500 !important;
}

body.hero-page--o-nas .vibe-onas-partner-name {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 20px !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
}

body.hero-page--o-nas .vibe-onas-partner-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.65) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.65) !important;
  margin: 0 0 18px 0 !important;
}

body.hero-page--o-nas .vibe-onas-partner-stats {
  display: flex !important;
  gap: 20px !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.08);
  margin: 0 !important;
  flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.hero-page--o-nas .vibe-onas-partner-stats strong {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  font-weight: 500;
}

/* ═══ SEKCJA 07: BEZPIECZEŃSTWO ═══ */
body.hero-page--o-nas .vibe-onas-bezp-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 64px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-bezp-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-bezp-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 28px 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-h2 em {
  font-style: italic !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent !important;
}

body.hero-page--o-nas .vibe-onas-bezp-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.75) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.75) !important;
  margin: 0 0 28px 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-points {
  margin: 32px 0 0 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-point {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
  align-items: center !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-point:last-child { border-bottom: none !important; }

body.hero-page--o-nas .vibe-onas-bezp-point .num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.2em !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-point .label {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 19px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 !important;
  line-height: 1.3;
}

body.hero-page--o-nas .vibe-onas-bezp-doc {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.12);
  border-radius: 18px !important;
  padding: 36px !important;
  position: relative;
  margin: 0 0 20px 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-doc-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--o-nas .vibe-onas-bezp-doc-title {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--o-nas .vibe-onas-bezp-doc-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--o-nas .vibe-onas-bezp-doc-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px dotted rgba(14, 15, 20, 0.15);
}

body.hero-page--o-nas .vibe-onas-bezp-doc-meta span { display: block; padding: 3px 0; }

body.hero-page--o-nas .wp-block-button.vibe-onas-bezp-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 24px !important;
  background: var(--vibe-violet, #7B3FE4) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.hero-page--o-nas .wp-block-button.vibe-onas-bezp-btn .wp-block-button__link:hover {
  background: #5C2BB8 !important;
}

/* ═══ SEKCJA 08: TRANSPARENCY ═══ */
body.hero-page--o-nas .vibe-onas-transparency-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-transparency-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-trans-card {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.10);
  border-radius: 14px !important;
  padding: 36px 32px !important;
}

body.hero-page--o-nas .vibe-onas-trans-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--o-nas .vibe-onas-trans-title {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--o-nas .vibe-onas-trans-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent !important;
}

body.hero-page--o-nas .vibe-onas-data-row {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 7px 0 !important;
  border-bottom: 1px dotted rgba(14, 15, 20, 0.12);
  line-height: 1.6;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-data-row:last-child { border-bottom: none; }

body.hero-page--o-nas .vibe-onas-data-row .key {
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.05em;
}

body.hero-page--o-nas .vibe-onas-data-row .val {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 500;
  text-align: right;
}

body.hero-page--o-nas .vibe-onas-doc-row {
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.06);
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 !important;
  gap: 16px;
}

body.hero-page--o-nas .vibe-onas-doc-row:last-child { border-bottom: none; }

body.hero-page--o-nas .vibe-onas-doc-row .doc-name {
  font-family: 'Fraunces', serif !important;
  font-size: 15px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-style: italic !important;
  display: block;
  margin: 0 !important;
}

body.hero-page--o-nas .vibe-onas-doc-row .doc-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  display: block;
  margin: 2px 0 0 0 !important;
}

body.hero-page--o-nas .vibe-onas-doc-row .doc-link {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  text-decoration: none !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

body.hero-page--o-nas .vibe-onas-opp-status {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 6px 14px !important;
  background: rgba(242, 169, 60, 0.12) !important;
  border: 1px solid rgba(242, 169, 60, 0.3);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #C77E20 !important;
  -webkit-text-fill-color: #C77E20 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--o-nas .vibe-onas-opp-status::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #F2A93C;
  animation: vibe-onas-pulse 2s ease infinite;
}

@keyframes vibe-onas-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

body.hero-page--o-nas .vibe-onas-opp-text {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 14px 0 !important;
}

/* ═══ SEKCJA 09: DUAL CTA ═══ */
body.hero-page--o-nas .vibe-onas-section--cta::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px; height: 1000px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.08) 0%, transparent 50%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--o-nas .vibe-onas-cta-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--o-nas .vibe-onas-cta-grid > * { min-width: 0 !important; }

body.hero-page--o-nas .vibe-onas-cta-card {
  padding: 48px 40px !important;
  border-radius: 20px !important;
  transition: transform 0.3s ease;
}

body.hero-page--o-nas .vibe-onas-cta-card:hover { transform: translateY(-4px); }

body.hero-page--o-nas .vibe-onas-cta-primary {
  background: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--o-nas .vibe-onas-cta-primary p,
body.hero-page--o-nas .vibe-onas-cta-primary h3 {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--o-nas .vibe-onas-cta-secondary {
  background: rgba(245, 241, 232, 0.05) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
}

body.hero-page--o-nas .vibe-onas-cta-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  opacity: 0.7;
  margin: 0 0 16px 0 !important;
}

body.hero-page--o-nas .vibe-onas-cta-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--o-nas .vibe-onas-cta-h3 em { font-style: italic; }

body.hero-page--o-nas .vibe-onas-cta-secondary .vibe-onas-cta-h3 em {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--o-nas .vibe-onas-cta-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 0 28px 0 !important;
}

body.hero-page--o-nas .wp-block-button.vibe-onas-cta-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 32px !important;
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  border: none !important;
}

body.hero-page--o-nas .vibe-onas-cta-secondary .wp-block-button.vibe-onas-cta-btn .wp-block-button__link {
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--o-nas .vibe-onas-manifest-grid,
  body.hero-page--o-nas .vibe-onas-mw-grid,
  body.hero-page--o-nas .vibe-onas-bezp-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body.hero-page--o-nas .vibe-onas-manifest-body {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--o-nas .vibe-onas-metoda-grid,
  body.hero-page--o-nas .vibe-onas-zr-grid,
  body.hero-page--o-nas .vibe-onas-partners-grid,
  body.hero-page--o-nas .vibe-onas-transparency-grid,
  body.hero-page--o-nas .vibe-onas-cta-grid {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--o-nas .vibe-onas-partner,
  body.hero-page--o-nas .vibe-onas-person {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--o-nas .vibe-onas-mw-separator { display: none !important; }
}

/* === END /O-NAS/ NGO 2026 === */

/* ═══ GRID FIX: wp:group inner-container dla /o-nas/ ═══
   Gutenberg renderuje wp:group jako outer.wp-block-group > div.wp-block-group__inner-container.
   Grid/flex musi być na inner-container, nie na outer.
*/

/* MANIFEST grid */
body.hero-page--o-nas .vibe-onas-manifest-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-manifest-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-manifest-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* MANIFEST body 2-col */
body.hero-page--o-nas .vibe-onas-manifest-body { display: block !important; }
body.hero-page--o-nas .vibe-onas-manifest-body > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  margin: 0 0 48px 0 !important;
}
body.hero-page--o-nas .vibe-onas-manifest-body > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* MANIFEST sig flex */
body.hero-page--o-nas .vibe-onas-manifest-sig { display: block !important; }
body.hero-page--o-nas .vibe-onas-manifest-sig > .wp-block-group__inner-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
}

/* MISJA & WIZJA grid */
body.hero-page--o-nas .vibe-onas-mw-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-mw-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-mw-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* METODA grid */
body.hero-page--o-nas .vibe-onas-metoda-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-metoda-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-metoda-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* ZR LABEL flex */
body.hero-page--o-nas .vibe-onas-zr-label { display: block !important; }
body.hero-page--o-nas .vibe-onas-zr-label > .wp-block-group__inner-container {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

/* ZR CONTAINER max-width */
body.hero-page--o-nas .vibe-onas-zr-container { display: block !important; }
body.hero-page--o-nas .vibe-onas-zr-container > .wp-block-group__inner-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
}

/* ZR GRID */
body.hero-page--o-nas .vibe-onas-zr-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-zr-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
}
body.hero-page--o-nas .vibe-onas-zr-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* PERSON card grid */
body.hero-page--o-nas .vibe-onas-person { display: block !important; }
body.hero-page--o-nas .vibe-onas-person > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  min-height: 260px;
}

/* PARTNERS grid */
body.hero-page--o-nas .vibe-onas-partners-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-partners-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-partners-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* PARTNER card grid */
body.hero-page--o-nas .vibe-onas-partner { display: block !important; }
body.hero-page--o-nas .vibe-onas-partner > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
}
body.hero-page--o-nas .vibe-onas-partner > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* BEZP grid */
body.hero-page--o-nas .vibe-onas-bezp-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-bezp-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 64px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-bezp-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* BEZP POINT grid */
body.hero-page--o-nas .vibe-onas-bezp-point { display: block !important; }
body.hero-page--o-nas .vibe-onas-bezp-point > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
}

/* TRANSPARENCY grid */
body.hero-page--o-nas .vibe-onas-transparency-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-transparency-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-transparency-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* CTA grid */
body.hero-page--o-nas .vibe-onas-cta-grid { display: block !important; }
body.hero-page--o-nas .vibe-onas-cta-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--o-nas .vibe-onas-cta-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* MOBILE OVERRIDES dla nowych inner-container selektorów */
@media (max-width: 900px) {
  body.hero-page--o-nas .vibe-onas-manifest-grid > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-mw-grid > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-bezp-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body.hero-page--o-nas .vibe-onas-manifest-body > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--o-nas .vibe-onas-metoda-grid > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-zr-grid > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-partners-grid > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-transparency-grid > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-cta-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--o-nas .vibe-onas-partner > .wp-block-group__inner-container,
  body.hero-page--o-nas .vibe-onas-person > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
}

/* === END GRID FIX === */

/* ============================================
   VIBE /CSR-DLA-FIRM/ NGO 2026 — Pełna strona B2B
   Data: 22.05.2026
   9 sekcji (02-10), Hero ZOSTAJE bez zmian
   Scope: body.hero-page--csr
   ============================================ */

body.hero-page--csr .vibe-csr-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--csr .vibe-csr-section > .wp-block-group__inner-container {
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

/* === BACKGROUNDS === */
body.hero-page--csr .vibe-csr-section--manifest { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--csr .vibe-csr-section--modele { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--csr .vibe-csr-section--adopt { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--csr .vibe-csr-section--filary { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--csr .vibe-csr-section--proces { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--csr .vibe-csr-section--deliverables { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--csr .vibe-csr-section--trans { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--csr .vibe-csr-section--cta { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }

/* === wp:group bg override === */
body.hero-page--csr .vibe-csr-section .wp-block-group,
body.hero-page--csr .vibe-csr-section .wp-block-group__inner-container {
  background: transparent !important;
}

/* === ANTI-LITEROWE === */
body.hero-page--csr .vibe-csr-section p,
body.hero-page--csr .vibe-csr-section h1,
body.hero-page--csr .vibe-csr-section h2,
body.hero-page--csr .vibe-csr-section h3,
body.hero-page--csr .vibe-csr-section h4,
body.hero-page--csr .vibe-csr-section li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: manual !important;
  min-width: 0;
}

/* === TEXT COLORS — dark sections === */
body.hero-page--csr .vibe-csr-section--manifest h1,
body.hero-page--csr .vibe-csr-section--manifest h2,
body.hero-page--csr .vibe-csr-section--manifest h3,
body.hero-page--csr .vibe-csr-section--manifest p,
body.hero-page--csr .vibe-csr-section--adopt h1,
body.hero-page--csr .vibe-csr-section--adopt h2,
body.hero-page--csr .vibe-csr-section--adopt h3,
body.hero-page--csr .vibe-csr-section--adopt p,
body.hero-page--csr .vibe-csr-section--proces h1,
body.hero-page--csr .vibe-csr-section--proces h2,
body.hero-page--csr .vibe-csr-section--proces h3,
body.hero-page--csr .vibe-csr-section--proces p,
body.hero-page--csr .vibe-csr-section--cta h1,
body.hero-page--csr .vibe-csr-section--cta h2,
body.hero-page--csr .vibe-csr-section--cta h3,
body.hero-page--csr .vibe-csr-section--cta p {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

/* === TEXT COLORS — light sections === */
body.hero-page--csr .vibe-csr-section--modele h2,
body.hero-page--csr .vibe-csr-section--modele h3,
body.hero-page--csr .vibe-csr-section--modele p,
body.hero-page--csr .vibe-csr-section--filary h2,
body.hero-page--csr .vibe-csr-section--filary h3,
body.hero-page--csr .vibe-csr-section--filary p,
body.hero-page--csr .vibe-csr-section--deliverables h2,
body.hero-page--csr .vibe-csr-section--deliverables h3,
body.hero-page--csr .vibe-csr-section--deliverables p,
body.hero-page--csr .vibe-csr-section--trans h2,
body.hero-page--csr .vibe-csr-section--trans h3,
body.hero-page--csr .vibe-csr-section--trans p {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

/* === EYEBROW === */
body.hero-page--csr .vibe-csr-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--csr .vibe-csr-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.4);
  flex-shrink: 0;
}

body.hero-page--csr .vibe-csr-section--modele .vibe-csr-eyebrow,
body.hero-page--csr .vibe-csr-section--filary .vibe-csr-eyebrow,
body.hero-page--csr .vibe-csr-section--deliverables .vibe-csr-eyebrow,
body.hero-page--csr .vibe-csr-section--trans .vibe-csr-eyebrow {
  background: #FBF7EE !important;
  border-color: rgba(14, 15, 20, 0.12);
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--csr .vibe-csr-section--modele .vibe-csr-eyebrow::before,
body.hero-page--csr .vibe-csr-section--filary .vibe-csr-eyebrow::before,
body.hero-page--csr .vibe-csr-section--deliverables .vibe-csr-eyebrow::before,
body.hero-page--csr .vibe-csr-section--trans .vibe-csr-eyebrow::before {
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 12px rgba(123, 63, 228, 0.5);
}

/* === H2 BIG === */
body.hero-page--csr .vibe-csr-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 88px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--csr .vibe-csr-h2 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.hero-page--csr .vibe-csr-section--manifest .vibe-csr-h2 em,
body.hero-page--csr .vibe-csr-section--adopt .vibe-csr-h2 em,
body.hero-page--csr .vibe-csr-section--proces .vibe-csr-h2 em,
body.hero-page--csr .vibe-csr-section--cta .vibe-csr-h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--csr .vibe-csr-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 680px !important;
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-section--manifest .vibe-csr-lead,
body.hero-page--csr .vibe-csr-section--adopt .vibe-csr-lead,
body.hero-page--csr .vibe-csr-section--proces .vibe-csr-lead,
body.hero-page--csr .vibe-csr-section--cta .vibe-csr-lead {
  color: rgba(245, 241, 232, 0.72) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.72) !important;
}

body.hero-page--csr .vibe-csr-section--modele .vibe-csr-lead,
body.hero-page--csr .vibe-csr-section--filary .vibe-csr-lead,
body.hero-page--csr .vibe-csr-section--deliverables .vibe-csr-lead,
body.hero-page--csr .vibe-csr-section--trans .vibe-csr-lead {
  color: rgba(14, 15, 20, 0.72) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.72) !important;
}

body.hero-page--csr .vibe-csr-header {
  text-align: center;
  max-width: 920px;
  margin: 0 auto 72px !important;
}

body.hero-page--csr .vibe-csr-header > .wp-block-group__inner-container { display: block !important; }
body.hero-page--csr .vibe-csr-header .vibe-csr-eyebrow { margin: 0 auto 24px !important; }
body.hero-page--csr .vibe-csr-header .vibe-csr-lead { margin: 0 auto !important; }

/* ═══ SEKCJA 02: MANIFEST CSR ═══ */
body.hero-page--csr .vibe-csr-section--manifest {
  padding: clamp(120px, 18vh, 200px) clamp(40px, 6vw, 100px) !important;
}

body.hero-page--csr .vibe-csr-section--manifest::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--csr .vibe-csr-section--manifest::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

/* MANIFEST grid — inner-container pattern */
body.hero-page--csr .vibe-csr-manifest-grid { display: block !important; }
body.hero-page--csr .vibe-csr-manifest-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
body.hero-page--csr .vibe-csr-manifest-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-manifest-side .meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--csr .vibe-csr-manifest-side .for-whom {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 28px !important;
  font-weight: 350 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  line-height: 1.1 !important;
  margin: 20px 0 0 0 !important;
}

body.hero-page--csr .vibe-csr-manifest-side .for-whom-sub {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 8px 0 0 0 !important;
}

body.hero-page--csr .vibe-csr-manifest-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 56px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--csr .vibe-csr-manifest-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

/* MANIFEST body 2-col */
body.hero-page--csr .vibe-csr-manifest-body { display: block !important; }
body.hero-page--csr .vibe-csr-manifest-body > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  margin: 0 0 48px 0 !important;
}
body.hero-page--csr .vibe-csr-manifest-body > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-manifest-body p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(245, 241, 232, 0.82) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.82) !important;
  min-width: 0;
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-manifest-body p:first-letter {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 64px;
  float: left;
  line-height: 0.85;
  padding: 6px 14px 0 0;
  color: var(--vibe-lime, #C8F542);
  -webkit-text-fill-color: var(--vibe-lime, #C8F542);
}

/* MANIFEST sig flex */
body.hero-page--csr .vibe-csr-manifest-sig { display: block !important; }
body.hero-page--csr .vibe-csr-manifest-sig > .wp-block-group__inner-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  padding-top: 28px !important;
}

body.hero-page--csr .vibe-csr-manifest-sig .who {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(245, 241, 232, 0.85) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.85) !important;
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-manifest-sig .who small {
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-style: normal;
  font-size: 11.5px;
  color: rgba(245, 241, 232, 0.5);
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-top: 4px;
}

body.hero-page--csr .vibe-csr-manifest-sig .date {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 03: MODELE WSPÓŁPRACY ═══ */
body.hero-page--csr .vibe-csr-modele-grid { display: block !important; }
body.hero-page--csr .vibe-csr-modele-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--csr .vibe-csr-modele-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-model {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 16px !important;
  padding: 36px 32px !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--csr .vibe-csr-model:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--csr .vibe-csr-model::before {
  content: "";
  position: absolute;
  top: 0; left: 32px; right: 32px;
  height: 3px;
  background: var(--vibe-violet, #7B3FE4);
  border-radius: 0 0 4px 4px;
}

body.hero-page--csr .vibe-csr-model-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--csr .vibe-csr-model-icon {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 32px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 0 20px 0 !important;
  line-height: 1 !important;
}

body.hero-page--csr .vibe-csr-model-name {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--csr .vibe-csr-model-name em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--csr .vibe-csr-model-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--csr .vibe-csr-model-fits {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-model-fits strong {
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  font-weight: 500;
}

/* ═══ SEKCJA 04: ADOPTUJ KLASĘ/SZKOŁĘ ═══ */
body.hero-page--csr .vibe-csr-section--adopt::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 800px;
  background: radial-gradient(ellipse, rgba(200, 245, 66, 0.07) 0%, transparent 65%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--csr .vibe-csr-adopt-grid { display: block !important; }
body.hero-page--csr .vibe-csr-adopt-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--csr .vibe-csr-adopt-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-adopt {
  background: rgba(21, 23, 30, 0.8) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 20px !important;
  padding: 48px 40px !important;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

body.hero-page--csr .vibe-csr-adopt:hover {
  border-color: rgba(200, 245, 66, 0.35);
  transform: translateY(-4px);
}

body.hero-page--csr .vibe-csr-adopt-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--csr .vibe-csr-adopt-name {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 44px !important;
  font-weight: 350 !important;
  line-height: 1 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--csr .vibe-csr-adopt-name em {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--csr .vibe-csr-adopt-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.7) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.7) !important;
  margin: 0 0 28px 0 !important;
}

body.hero-page--csr .vibe-csr-adopt-amount { display: block !important; }
body.hero-page--csr .vibe-csr-adopt-amount > .wp-block-group__inner-container {
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  padding: 20px 24px !important;
  background: rgba(200, 245, 66, 0.06) !important;
  border: 1px solid rgba(200, 245, 66, 0.2);
  border-radius: 14px !important;
  margin: 0 0 28px 0 !important;
}

body.hero-page--csr .vibe-csr-adopt-amount .from {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

body.hero-page--csr .vibe-csr-adopt-amount .num {
  font-family: 'Fraunces', serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: -0.02em;
}

body.hero-page--csr .vibe-csr-adopt-amount .unit {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
  margin-left: auto !important;
}

body.hero-page--csr .vibe-csr-adopt-features { display: block !important; }

body.hero-page--csr .vibe-csr-adopt-feature {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.75) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.75) !important;
  padding: 10px 0 10px 28px !important;
  position: relative;
  border-bottom: 1px solid rgba(245, 241, 232, 0.06);
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-adopt-feature:last-child { border-bottom: none !important; }

body.hero-page--csr .vibe-csr-adopt-feature::before {
  content: "✓";
  position: absolute;
  left: 0; top: 10px;
  color: var(--vibe-lime, #C8F542);
  -webkit-text-fill-color: var(--vibe-lime, #C8F542);
  font-weight: 600;
  font-size: 14px;
}

/* ═══ SEKCJA 05: OBSZARY WSPARCIA ═══ */
body.hero-page--csr .vibe-csr-filary-grid { display: block !important; }
body.hero-page--csr .vibe-csr-filary-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--csr .vibe-csr-filary-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-filar {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 16px !important;
  padding: 36px 32px !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--csr .vibe-csr-filar:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--csr .vibe-csr-filar::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  border-radius: 16px 16px 0 0;
  background: var(--filar-color);
}

body.hero-page--csr .vibe-csr-filar-01 { --filar-color: #7B3FE4; }
body.hero-page--csr .vibe-csr-filar-02 { --filar-color: #E85D75; }
body.hero-page--csr .vibe-csr-filar-03 { --filar-color: #2D9CDB; }
body.hero-page--csr .vibe-csr-filar-04 { --filar-color: #F2A93C; }

body.hero-page--csr .vibe-csr-filar-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--filar-color) !important;
  -webkit-text-fill-color: var(--filar-color) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--csr .vibe-csr-filar-icon {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  color: var(--filar-color) !important;
  -webkit-text-fill-color: var(--filar-color) !important;
  margin: 0 0 20px 0 !important;
  line-height: 1 !important;
}

body.hero-page--csr .vibe-csr-filar-name {
  font-family: 'Fraunces', serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--csr .vibe-csr-filar-name em {
  font-style: italic;
  color: var(--filar-color) !important;
  -webkit-text-fill-color: var(--filar-color) !important;
}

body.hero-page--csr .vibe-csr-filar-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 18px 0 !important;
}

body.hero-page--csr .vibe-csr-filar-tag {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.4) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.4) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 14px 0 0 0 !important;
  border-top: 1px solid rgba(14, 15, 20, 0.06);
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-filar-tag strong {
  color: var(--filar-color) !important;
  -webkit-text-fill-color: var(--filar-color) !important;
  font-weight: 500;
}

/* ═══ SEKCJA 06: PROCES 5 KROKÓW ═══ */
body.hero-page--csr .vibe-csr-section--proces::before {
  content: "";
  position: absolute;
  top: 50%; left: -150px;
  transform: translateY(-50%);
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--csr .vibe-csr-proces-timeline { display: block !important; }
body.hero-page--csr .vibe-csr-proces-timeline > .wp-block-group__inner-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  position: relative;
}

body.hero-page--csr .vibe-csr-proces-line {
  position: absolute;
  top: 56px; left: 56px; right: 56px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(200, 245, 66, 0.3) 10%, rgba(200, 245, 66, 0.3) 90%, transparent 100%);
  z-index: 1;
}

body.hero-page--csr .vibe-csr-proces-grid { display: block !important; }
body.hero-page--csr .vibe-csr-proces-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px !important;
  position: relative;
  z-index: 2;
}
body.hero-page--csr .vibe-csr-proces-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-step { text-align: center; }

body.hero-page--csr .vibe-csr-step-circle {
  width: 56px; height: 56px;
  border-radius: 50% !important;
  background: #15171E !important;
  border: 2px solid var(--vibe-lime, #C8F542) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--csr .vibe-csr-step-name {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 10px 0 !important;
}

body.hero-page--csr .vibe-csr-step-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.6) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.6) !important;
  max-width: 180px;
  margin: 0 auto !important;
}

body.hero-page--csr .vibe-csr-step-time {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(200, 245, 66, 0.7) !important;
  -webkit-text-fill-color: rgba(200, 245, 66, 0.7) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 14px auto 0 !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.08);
  max-width: 180px;
}

/* ═══ SEKCJA 07: CO DOSTAJE FIRMA ═══ */
body.hero-page--csr .vibe-csr-deliv-grid { display: block !important; }
body.hero-page--csr .vibe-csr-deliv-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--csr .vibe-csr-deliv-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-deliv {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 16px !important;
  padding: 36px 30px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--csr .vibe-csr-deliv:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(14, 15, 20, 0.06);
}

body.hero-page--csr .vibe-csr-deliv-icon {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 32px !important;
  /* Ikona ciemna (wymuszana przez regułę sekcji) na ciemnym creamie zamiast czerni */
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  background: #D8CDB3 !important;
  width: 60px; height: 60px;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 0 24px 0 !important;
  line-height: 1 !important;
}

body.hero-page--csr .vibe-csr-deliv-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 12px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--csr .vibe-csr-deliv-title {
  font-family: 'Fraunces', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--csr .vibe-csr-deliv-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--csr .vibe-csr-deliv-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.65) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.65) !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--csr .vibe-csr-deliv-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.4) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.4) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 14px 0 0 0 !important;
  border-top: 1px solid rgba(14, 15, 20, 0.06);
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-deliv-meta strong {
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  font-weight: 500;
}

/* ═══ SEKCJA 08: TRANSPARENCY + CASE ═══ */
body.hero-page--csr .vibe-csr-trans-grid { display: block !important; }
body.hero-page--csr .vibe-csr-trans-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) !important;
  gap: 48px !important;
  align-items: stretch !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--csr .vibe-csr-trans-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--csr .vibe-csr-trans-card {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.10);
  border-radius: 18px !important;
  padding: 40px 36px !important;
}

body.hero-page--csr .vibe-csr-trans-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--csr .vibe-csr-trans-title {
  font-family: 'Fraunces', serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--csr .vibe-csr-trans-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent !important;
}

body.hero-page--csr .vibe-csr-data-row {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12.5px !important;
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  border-bottom: 1px dotted rgba(14, 15, 20, 0.12);
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-data-row .key {
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.05em;
}

body.hero-page--csr .vibe-csr-data-row .val {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 500;
  text-align: right;
}

body.hero-page--csr .vibe-csr-trans-note {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.65) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.65) !important;
  padding: 16px 18px !important;
  background: rgba(123, 63, 228, 0.06) !important;
  border-left: 3px solid var(--vibe-violet, #7B3FE4);
  border-radius: 6px !important;
  margin: 20px 0 0 0 !important;
}

body.hero-page--csr .vibe-csr-case {
  background: var(--vibe-ink, #0E0F14) !important;
  border-radius: 18px !important;
  padding: 48px 40px !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--csr .vibe-csr-case > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100%;
}

body.hero-page--csr .vibe-csr-case::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.12) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

body.hero-page--csr .vibe-csr-case-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  position: relative; z-index: 2;
}

body.hero-page--csr .vibe-csr-case-quote {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 26px !important;
  line-height: 1.3 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 28px 0 !important;
  position: relative; z-index: 2;
}

body.hero-page--csr .vibe-csr-case-quote em {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--csr .vibe-csr-case-author { display: block !important; }
body.hero-page--csr .vibe-csr-case-author > .wp-block-group__inner-container {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  position: relative; z-index: 2;
}

body.hero-page--csr .vibe-csr-case-avatar {
  width: 48px; height: 48px;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--vibe-lime, #C8F542) 0%, #8FAE2C 100%) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  flex-shrink: 0;
}

body.hero-page--csr .vibe-csr-case-author-info .name {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 16px;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin-bottom: 4px;
}

body.hero-page--csr .vibe-csr-case-author-info .role {
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  color: rgba(245, 241, 232, 0.55) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.55) !important;
}

/* ═══ SEKCJA 09: CTA FINALNY ═══ */
body.hero-page--csr .vibe-csr-section--cta::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 1200px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 50%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--csr .vibe-csr-cta-big { display: block !important; }
body.hero-page--csr .vibe-csr-cta-big > .wp-block-group__inner-container {
  max-width: 960px !important;
  margin: 0 auto !important;
  text-align: center;
  position: relative; z-index: 5;
}

body.hero-page--csr .vibe-csr-cta-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--csr .vibe-csr-cta-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--csr .vibe-csr-cta-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
  max-width: 720px;
  margin: 0 auto 48px !important;
}

body.hero-page--csr .vibe-csr-cta-buttons {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  flex-wrap: wrap;
  margin: 0 0 48px 0 !important;
}

body.hero-page--csr .wp-block-button.vibe-csr-cta-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 36px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  border: none !important;
}

body.hero-page--csr .wp-block-button.vibe-csr-cta-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 32px !important;
  background: transparent !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(245, 241, 232, 0.3) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.hero-page--csr .vibe-csr-cta-contacts { display: block !important; }
body.hero-page--csr .vibe-csr-cta-contacts > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 880px;
  margin: 0 auto !important;
  padding: 48px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
}

body.hero-page--csr .vibe-csr-cta-contact { text-align: center; }

body.hero-page--csr .vibe-csr-cta-contact .label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
}

body.hero-page--csr .vibe-csr-cta-contact .value {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 !important;
}

body.hero-page--csr .vibe-csr-cta-contact .value a {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  text-decoration: none !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--csr .vibe-csr-manifest-grid > .wp-block-group__inner-container,
  body.hero-page--csr .vibe-csr-trans-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  body.hero-page--csr .vibe-csr-manifest-body > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--csr .vibe-csr-modele-grid > .wp-block-group__inner-container,
  body.hero-page--csr .vibe-csr-adopt-grid > .wp-block-group__inner-container,
  body.hero-page--csr .vibe-csr-filary-grid > .wp-block-group__inner-container,
  body.hero-page--csr .vibe-csr-deliv-grid > .wp-block-group__inner-container,
  body.hero-page--csr .vibe-csr-cta-contacts > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--csr .vibe-csr-proces-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  body.hero-page--csr .vibe-csr-proces-line { display: none !important; }
}

/* === END /CSR-DLA-FIRM/ NGO 2026 === */

/* ============================================
   VIBE /OFERTA-DLA-SZKOL/ NGO 2026
   Data: 22.05.2026
   8 sekcji (02-09), Hero ZOSTAJE bez zmian
   Scope: body.hero-page--oferta-dla-szkol
   ============================================ */

body.hero-page--oferta-dla-szkol .vibe-szkol-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section > .wp-block-group__inner-container {
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

/* === BACKGROUNDS === */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest     { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs     { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo    { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki   { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy    { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin         { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv       { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta         { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }

/* === wp:group bg override === */
body.hero-page--oferta-dla-szkol .vibe-szkol-section .wp-block-group,
body.hero-page--oferta-dla-szkol .vibe-szkol-section .wp-block-group__inner-container {
  background: transparent !important;
}

/* === ANTI-LITEROWE === */
body.hero-page--oferta-dla-szkol .vibe-szkol-section p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section h1,
body.hero-page--oferta-dla-szkol .vibe-szkol-section h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section h4,
body.hero-page--oferta-dla-szkol .vibe-szkol-section li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: manual !important;
  min-width: 0;
}

/* === TEXT COLORS dark sections === */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest h1,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo h1,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy h1,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta h1,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta p {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

/* === TEXT COLORS light sections === */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin p,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv h2,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv h3,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv h4,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv p {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

/* === EYEBROW === */
body.hero-page--oferta-dla-szkol .vibe-szkol-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.4);
  flex-shrink: 0;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs .vibe-szkol-eyebrow,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki .vibe-szkol-eyebrow,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin .vibe-szkol-eyebrow,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv .vibe-szkol-eyebrow {
  background: #FBF7EE !important;
  border-color: rgba(14, 15, 20, 0.12);
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs .vibe-szkol-eyebrow::before,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki .vibe-szkol-eyebrow::before,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin .vibe-szkol-eyebrow::before,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv .vibe-szkol-eyebrow::before {
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 12px rgba(123, 63, 228, 0.5);
}

/* === H2 BIG === */
body.hero-page--oferta-dla-szkol .vibe-szkol-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 88px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-h2 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest .vibe-szkol-h2 em,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo .vibe-szkol-h2 em,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy .vibe-szkol-h2 em,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta .vibe-szkol-h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 680px !important;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest .vibe-szkol-lead,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo .vibe-szkol-lead,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy .vibe-szkol-lead,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta .vibe-szkol-lead {
  color: rgba(245, 241, 232, 0.72) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.72) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--programs .vibe-szkol-lead,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wyrozniki .vibe-szkol-lead,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--fin .vibe-szkol-lead,
body.hero-page--oferta-dla-szkol .vibe-szkol-section--deliv .vibe-szkol-lead {
  color: rgba(14, 15, 20, 0.72) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.72) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-header { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-header > .wp-block-group__inner-container {
  text-align: center;
  max-width: 920px;
  margin: 0 auto 72px !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-header .vibe-szkol-eyebrow { margin: 0 auto 24px !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-header .vibe-szkol-lead    { margin: 0 auto !important; }

/* ═══ SEKCJA 02: MANIFEST DLA SZKÓŁ ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest {
  padding: clamp(120px, 18vh, 200px) clamp(40px, 6vw, 100px) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-section--manifest::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

/* MANIFEST grid — inner-container pattern */
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: start !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-side .meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-side .for-whom {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 24px !important;
  font-weight: 350 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  line-height: 1.2 !important;
  margin: 20px 0 0 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-side .for-whom-sub {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 8px 0 0 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 56px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

/* MANIFEST body 2-col */
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-body { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-body > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  margin: 0 0 48px 0 !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-body > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-body p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(245, 241, 232, 0.82) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.82) !important;
  min-width: 0;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-body p:first-letter {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 64px;
  float: left;
  line-height: 0.85;
  padding: 6px 14px 0 0;
  color: var(--vibe-lime, #C8F542);
  -webkit-text-fill-color: var(--vibe-lime, #C8F542);
}

/* MANIFEST sig */
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-sig { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-sig > .wp-block-group__inner-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  padding-top: 28px !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-sig .who {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(245, 241, 232, 0.85) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.85) !important;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-sig .who small {
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-style: normal;
  font-size: 11.5px;
  color: rgba(245, 241, 232, 0.5);
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-top: 4px;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-sig .date {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.18em !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 03: 4 PROGRAMY ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-programs-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-programs-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-programs-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-program {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 20px !important;
  padding: 44px 40px !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program::before {
  content: "";
  position: absolute;
  top: 0; left: 40px;
  width: 64px; height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--prog-color);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-01 { --prog-color: #7B3FE4; }
body.hero-page--oferta-dla-szkol .vibe-szkol-program-02 { --prog-color: #E85D75; }
body.hero-page--oferta-dla-szkol .vibe-szkol-program-03 { --prog-color: #2D9CDB; }
body.hero-page--oferta-dla-szkol .vibe-szkol-program-04 { --prog-color: #F2A93C; }

body.hero-page--oferta-dla-szkol .vibe-szkol-program-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--prog-color) !important;
  -webkit-text-fill-color: var(--prog-color) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-icon {
  width: 60px; height: 60px;
  border-radius: 14px;
  background: rgba(14, 15, 20, 0.06) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 0 24px 0 !important;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 30px;
  color: var(--prog-color) !important;
  -webkit-text-fill-color: var(--prog-color) !important;
  line-height: 1 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-name {
  font-family: 'Fraunces', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-name em {
  font-style: italic;
  color: var(--prog-color) !important;
  -webkit-text-fill-color: var(--prog-color) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.72) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.72) !important;
  margin: 0 0 24px 0 !important;
}

/* program meta grid — inner-container */
body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px 24px !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
  margin: 0 0 24px 0 !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-item { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-item > .wp-block-group__inner-container { display: block !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-item .label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-meta-item .value {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 600 !important;
  line-height: 1.3;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-examples {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.05em !important;
  line-height: 1.5;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-program-examples strong {
  color: var(--prog-color) !important;
  -webkit-text-fill-color: var(--prog-color) !important;
  font-weight: 600;
}

/* ═══ SEKCJA 04: DLA JAKICH SZKÓŁ ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--dla-kogo::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 800px;
  background: radial-gradient(ellipse, rgba(200, 245, 66, 0.07) 0%, transparent 65%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-audience-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-audience-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-audience {
  background: rgba(21, 23, 30, 0.8) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 20px !important;
  padding: 44px 36px !important;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience:hover {
  border-color: rgba(200, 245, 66, 0.35);
  transform: translateY(-4px);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-age {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-grade {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 56px !important;
  font-weight: 350 !important;
  line-height: 0.9 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-grade em {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-title {
  font-family: 'Fraunces', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.2 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.7) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.7) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-themes { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-audience-themes > .wp-block-group__inner-container {
  padding-top: 20px !important;
  border-top: 1px solid rgba(245, 241, 232, 0.08);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-themes .label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 10px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-themes .list {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.85) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.85) !important;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-audience-themes .list strong {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  font-weight: 500;
}

/* ═══ SEKCJA 05: CO WYRÓŻNIA VIBE ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-wyrozniki-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-wyrozniki-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-wyrozniki-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 16px !important;
  padding: 36px 28px !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  border-radius: 16px 16px 0 0;
  background: var(--vibe-violet, #7B3FE4);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 12px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik-stat {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 49px !important;
  font-weight: 350 !important;
  line-height: 0.9 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik-stat-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9.5px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik-title {
  font-family: 'Fraunces', serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wyroznik-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.65) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.65) !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 06: JAK WDRAŻAMY (5 kroków) ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--wdrazamy::before {
  content: "";
  position: absolute;
  top: 50%; left: -150px;
  transform: translateY(-50%);
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-timeline { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-timeline > .wp-block-group__inner-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  position: relative;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-line {
  position: absolute !important;
  top: 56px; left: 56px; right: 56px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(200, 245, 66, 0.3) 10%, rgba(200, 245, 66, 0.3) 90%, transparent 100%);
  z-index: 1;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px !important;
  position: relative;
  z-index: 2;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-step { text-align: center; }
body.hero-page--oferta-dla-szkol .vibe-szkol-step > .wp-block-group__inner-container { display: block !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-step-circle {
  width: 56px; height: 56px;
  border-radius: 50% !important;
  background: #15171E !important;
  border: 2px solid var(--vibe-lime, #C8F542) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-step-name {
  font-family: 'Fraunces', serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 10px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-step-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.6) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.6) !important;
  max-width: 180px;
  margin: 0 auto !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-step-time {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(200, 245, 66, 0.7) !important;
  -webkit-text-fill-color: rgba(200, 245, 66, 0.7) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 14px auto 0 !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.08);
  max-width: 180px;
}

/* ═══ SEKCJA 07: FINANSOWANIE (3 modele) ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-fin-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-fin-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-fin-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-fin {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 18px !important;
  padding: 40px 32px !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(14, 15, 20, 0.06);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-recommended {
  border: 2px solid var(--vibe-violet, #7B3FE4) !important;
  background: linear-gradient(180deg, #FBF7EE 0%, rgba(123, 63, 228, 0.04) 100%) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-recommended::after {
  content: "POLECANE";
  position: absolute;
  top: -12px; left: 32px;
  padding: 6px 14px;
  background: var(--vibe-violet, #7B3FE4);
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 14px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-name {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-name em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-source {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin: 0 0 20px 0 !important;
  padding: 8px 14px !important;
  background: rgba(123, 63, 228, 0.06) !important;
  border-radius: 6px !important;
  display: inline-block !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-pros { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-fin-pros > .wp-block-group__inner-container {
  padding-top: 16px !important;
  border-top: 1px solid rgba(14, 15, 20, 0.08);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-pro {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  color: rgba(14, 15, 20, 0.75) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.75) !important;
  padding: 6px 0 6px 24px !important;
  position: relative;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-fin-pro::before {
  content: "✓";
  position: absolute;
  left: 0; top: 6px;
  color: var(--vibe-violet, #7B3FE4);
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4);
  font-weight: 600;
}

/* ═══ SEKCJA 08: CO DOSTAJE SZKOŁA + KRS ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-wrapper { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-wrapper > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: stretch !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-wrapper > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-grid { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 14px !important;
  padding: 24px 22px !important;
  transition: transform 0.3s ease;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv:hover { transform: translateY(-3px); }

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.45) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.45) !important;
  letter-spacing: 0.2em !important;
  margin: 0 0 8px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-title {
  font-family: 'Fraunces', serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-title em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: rgba(14, 15, 20, 0.65) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.65) !important;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-card {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 18px !important;
  padding: 40px 36px !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100%;
  position: relative;
  z-index: 2;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-card::before {
  content: "";
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.12) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 14px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-title {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 24px 0 !important;
  letter-spacing: -0.01em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-title em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-data-row {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  /* Sekcja na jasnym tle → ciemna kreska zamiast kremowej */
  border-bottom: 1px dotted rgba(14, 15, 20, 0.15);
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-data-row .key {
  /* jasne tło → ciemny ink zamiast kremowego */
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.05em;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-data-row .val {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 500;
  text-align: right;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-trans-note {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: rgba(245, 241, 232, 0.7) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.7) !important;
  padding: 14px 16px !important;
  background: rgba(200, 245, 66, 0.08) !important;
  border-left: 3px solid var(--vibe-lime, #C8F542);
  border-radius: 6px !important;
  margin: 20px 0 0 0 !important;
}

/* ═══ SEKCJA 09: CTA FINALNY ═══ */
body.hero-page--oferta-dla-szkol .vibe-szkol-section--cta::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 1200px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 50%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-big { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-cta-big > .wp-block-group__inner-container {
  max-width: 960px !important;
  margin: 0 auto !important;
  text-align: center;
  position: relative;
  z-index: 5;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
  max-width: 720px;
  margin: 0 auto 48px !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-buttons {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 48px 0 !important;
}

body.hero-page--oferta-dla-szkol .wp-block-button.vibe-szkol-cta-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 36px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  border: none !important;
}

body.hero-page--oferta-dla-szkol .wp-block-button.vibe-szkol-cta-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 32px !important;
  background: transparent !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(245, 241, 232, 0.3) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.hero-page--oferta-dla-szkol .wp-block-button.vibe-szkol-cta-secondary .wp-block-button__link:hover {
  border-color: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contacts { display: block !important; }
body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contacts > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 880px;
  margin: 0 auto !important;
  padding: 48px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contact { text-align: center; }
body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contact > .wp-block-group__inner-container { display: block !important; }

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contact .label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(245, 241, 232, 0.4) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.4) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contact .value {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 !important;
}

body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contact .value a {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  text-decoration: none !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-grid > .wp-block-group__inner-container,
  body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-wrapper > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  body.hero-page--oferta-dla-szkol .vibe-szkol-manifest-body > .wp-block-group__inner-container,
  body.hero-page--oferta-dla-szkol .vibe-szkol-deliv-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--oferta-dla-szkol .vibe-szkol-programs-grid > .wp-block-group__inner-container,
  body.hero-page--oferta-dla-szkol .vibe-szkol-audience-grid > .wp-block-group__inner-container,
  body.hero-page--oferta-dla-szkol .vibe-szkol-wyrozniki-grid > .wp-block-group__inner-container,
  body.hero-page--oferta-dla-szkol .vibe-szkol-fin-grid > .wp-block-group__inner-container,
  body.hero-page--oferta-dla-szkol .vibe-szkol-cta-contacts > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  body.hero-page--oferta-dla-szkol .vibe-szkol-wdrazamy-line { display: none !important; }
}

/* === END /OFERTA-DLA-SZKOL/ NGO 2026 === */

/* ============================================
   VIBE /KONTAKT/ NGO 2026 — BEZ HERO
   Data: 25.05.2026
   6 sekcji (01-06), brak Hero, zachowany Fluent Forms shortcode
   Scope: body.hero-page--kontakt
   ============================================ */

body.hero-page--kontakt .vibe-kontakt-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--kontakt .vibe-kontakt-section > .vibe-kontakt-inner,
body.hero-page--kontakt .vibe-kontakt-section > .wp-block-group {
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

/* === BACKGROUNDS === */
body.hero-page--kontakt .vibe-kontakt-section--intro { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); padding-top: clamp(140px, 22vh, 240px) !important; }
body.hero-page--kontakt .vibe-kontakt-section--form { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--kontakt .vibe-kontakt-section--quick { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }
body.hero-page--kontakt .vibe-kontakt-section--dla { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--kontakt .vibe-kontakt-section--dane { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--kontakt .vibe-kontakt-section--cta { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }

/* === ANTI-LITEROWE === */
body.hero-page--kontakt .vibe-kontakt-section p,
body.hero-page--kontakt .vibe-kontakt-section h1,
body.hero-page--kontakt .vibe-kontakt-section h2,
body.hero-page--kontakt .vibe-kontakt-section h3,
body.hero-page--kontakt .vibe-kontakt-section h4,
body.hero-page--kontakt .vibe-kontakt-section li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  min-width: 0;
}

/* === EYEBROW === */
body.hero-page--kontakt .vibe-kontakt-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--kontakt .vibe-kontakt-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.4);
  flex-shrink: 0;
}

body.hero-page--kontakt .vibe-kontakt-section--dla .vibe-kontakt-eyebrow,
body.hero-page--kontakt .vibe-kontakt-section--dane .vibe-kontakt-eyebrow {
  background: #FBF7EE !important;
  border-color: rgba(14, 15, 20, 0.12);
  color: var(--vibe-violet, #7B3FE4) !important;
}

body.hero-page--kontakt .vibe-kontakt-section--dla .vibe-kontakt-eyebrow::before,
body.hero-page--kontakt .vibe-kontakt-section--dane .vibe-kontakt-eyebrow::before {
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 12px rgba(123, 63, 228, 0.5);
}

/* === H2 BIG === */
body.hero-page--kontakt .vibe-kontakt-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 88px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--kontakt .vibe-kontakt-section--quick .vibe-kontakt-h2,
body.hero-page--kontakt .vibe-kontakt-section--cta .vibe-kontakt-h2 {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--kontakt .vibe-kontakt-h2 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.hero-page--kontakt .vibe-kontakt-section--quick .vibe-kontakt-h2 em,
body.hero-page--kontakt .vibe-kontakt-section--cta .vibe-kontakt-h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--kontakt .vibe-kontakt-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.72) !important;
  max-width: 680px !important;
  margin: 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-section--quick .vibe-kontakt-lead,
body.hero-page--kontakt .vibe-kontakt-section--cta .vibe-kontakt-lead {
  color: rgba(245, 241, 232, 0.72) !important;
}

body.hero-page--kontakt .vibe-kontakt-header {
  text-align: center;
  max-width: 920px;
  margin: 0 auto 72px !important;
}

body.hero-page--kontakt .vibe-kontakt-header .vibe-kontakt-eyebrow { margin: 0 auto 24px !important; }
body.hero-page--kontakt .vibe-kontakt-header .vibe-kontakt-lead { margin: 0 auto !important; }

/* ═══ SEKCJA 01: INTRO BIG (quasi-hero) ═══ */
body.hero-page--kontakt .vibe-kontakt-section--intro::before {
  content: "";
  position: absolute;
  top: -100px; right: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.12) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--kontakt .vibe-kontakt-section--intro::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -100px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--kontakt .vibe-kontakt-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: end !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--kontakt .vibe-kontakt-intro-grid > * { min-width: 0 !important; }

body.hero-page--kontakt .vibe-kontakt-intro-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.45) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 32px 0 !important;
  display: flex !important;
  align-items: center;
  gap: 16px;
}

body.hero-page--kontakt .vibe-kontakt-intro-meta::before {
  content: "";
  width: 40px; height: 1px;
  background: var(--vibe-lime, #C8F542);
  flex-shrink: 0;
}

body.hero-page--kontakt .vibe-kontakt-intro-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(56px, 10vw, 144px) !important;
  font-weight: 300 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.04em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 40px 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-intro-h1 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--kontakt .vibe-kontakt-intro-sub {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.75) !important;
  max-width: 580px;
  margin: 0 0 32px 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-intro-email {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 26px !important;
  background: rgba(200, 245, 66, 0.08) !important;
  border: 1px solid rgba(200, 245, 66, 0.3);
  border-radius: 999px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 14px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  text-decoration: none !important;
  letter-spacing: 0.05em !important;
  transition: all 0.3s ease;
  width: auto !important;
}

body.hero-page--kontakt .vibe-kontakt-intro-email:hover {
  background: rgba(200, 245, 66, 0.15) !important;
  transform: translateY(-2px);
}

body.hero-page--kontakt .vibe-kontakt-intro-email .label {
  color: rgba(245, 241, 232, 0.5);
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin-right: 4px;
}

body.hero-page--kontakt .vibe-kontakt-stat-card {
  background: var(--vibe-ink-2, #15171E) !important;
  border: 1px solid rgba(245, 241, 232, 0.10);
  border-radius: 24px !important;
  padding: 40px 36px !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--kontakt .vibe-kontakt-stat-card::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.15) 0%, transparent 60%);
  filter: blur(40px);
}

body.hero-page--kontakt .vibe-kontakt-stat-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--kontakt .vibe-kontakt-stat-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 96px !important;
  font-weight: 350 !important;
  line-height: 0.9 !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.04em;
  position: relative;
  z-index: 2;
}

body.hero-page--kontakt .vibe-kontakt-stat-unit {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  color: rgba(245, 241, 232, 0.55) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.55) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 0 0 24px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--kontakt .vibe-kontakt-stat-desc {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  padding: 24px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.12);
  position: relative;
  z-index: 2;
  margin: 0 !important;
}

/* ═══ SEKCJA 02: FORMULARZ + REASSURANCE ═══ */
body.hero-page--kontakt .vibe-kontakt-form-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 64px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  align-items: start !important;
}

body.hero-page--kontakt .vibe-kontakt-form-grid > * { min-width: 0 !important; }

body.hero-page--kontakt .vibe-kontakt-form-card {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 24px !important;
  padding: 56px 48px !important;
  position: relative;
}

body.hero-page--kontakt .vibe-kontakt-form-card::before {
  content: "";
  position: absolute;
  top: 0; left: 56px;
  width: 80px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--vibe-violet, #7B3FE4);
}

body.hero-page--kontakt .vibe-kontakt-form-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  font-weight: 600 !important;
}

body.hero-page--kontakt .vibe-kontakt-form-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--kontakt .vibe-kontakt-form-h2 em {
  font-style: italic !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4) !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.hero-page--kontakt .vibe-kontakt-form-sub {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.65) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.65) !important;
  margin: 0 0 40px 0 !important;
  padding: 0 0 32px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
}

/* === FLUENT FORMS STYLING === */
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform .ff-el-input--label label,
body.hero-page--kontakt .vibe-kontakt-form-card .frm-fluent-form label {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.02em;
}

body.hero-page--kontakt .vibe-kontakt-form-card .fluentform input[type="text"],
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform input[type="email"],
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform input[type="tel"],
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform input[type="url"],
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform textarea,
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform select {
  width: 100% !important;
  padding: 14px 18px !important;
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.15) !important;
  border-radius: 12px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  transition: border-color 0.2s ease;
}

body.hero-page--kontakt .vibe-kontakt-form-card .fluentform input:focus,
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform textarea:focus,
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform select:focus {
  outline: none !important;
  border-color: var(--vibe-violet, #7B3FE4) !important;
  background: #fff !important;
}

body.hero-page--kontakt .vibe-kontakt-form-card .fluentform textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

body.hero-page--kontakt .vibe-kontakt-form-card .fluentform .ff-el-form-check {
  padding: 16px 20px !important;
  background: rgba(123, 63, 228, 0.05) !important;
  border-radius: 12px !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-form-card .fluentform button[type="submit"],
body.hero-page--kontakt .vibe-kontakt-form-card .fluentform .ff-btn-submit {
  padding: 18px 36px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: all 0.2s ease;
  width: 100% !important;
}

body.hero-page--kontakt .vibe-kontakt-form-card .fluentform button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(200, 245, 66, 0.3);
}

/* Reassurance column */
body.hero-page--kontakt .vibe-kontakt-reassure-wrapper {
  position: sticky;
  top: 32px;
}

body.hero-page--kontakt .vibe-kontakt-reassure-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  font-weight: 600 !important;
}

body.hero-page--kontakt .vibe-kontakt-reassure-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 40px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--kontakt .vibe-kontakt-reassure-h3 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--kontakt .vibe-kontakt-reassure-list {
  display: flex !important;
  flex-direction: column;
  gap: 24px !important;
}

body.hero-page--kontakt .vibe-kontakt-reassure-item {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 20px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
}

body.hero-page--kontakt .vibe-kontakt-reassure-item:last-child { border-bottom: none !important; }

body.hero-page--kontakt .vibe-kontakt-reassure-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(123, 63, 228, 0.1);
  border: 1px solid rgba(123, 63, 228, 0.25);
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  flex-shrink: 0;
  margin: 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-reassure-content h4 {
  font-family: 'Fraunces', serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
}

body.hero-page--kontakt .vibe-kontakt-reassure-content h4 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--kontakt .vibe-kontakt-reassure-content p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 03: SZYBKI KONTAKT ═══ */
body.hero-page--kontakt .vibe-kontakt-section--quick::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 600px;
  background: radial-gradient(ellipse, rgba(200, 245, 66, 0.07) 0%, transparent 65%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--kontakt .vibe-kontakt-quick-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--kontakt .vibe-kontakt-quick-grid > * { min-width: 0 !important; }

body.hero-page--kontakt .vibe-kontakt-quick-card {
  background: var(--vibe-ink-2, #15171E) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 20px !important;
  padding: 44px 36px !important;
  position: relative;
  transition: border-color 0.3s ease, transform 0.3s ease;
  display: block !important;
}

body.hero-page--kontakt .vibe-kontakt-quick-card:hover {
  border-color: rgba(200, 245, 66, 0.4);
  transform: translateY(-4px);
}

body.hero-page--kontakt .vibe-kontakt-quick-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(200, 245, 66, 0.08);
  border: 1px solid rgba(200, 245, 66, 0.25);
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 0 24px 0 !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 26px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--kontakt .vibe-kontakt-quick-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-quick-value {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: -0.01em;
  word-break: break-word;
}

body.hero-page--kontakt .vibe-kontakt-quick-value em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
  -webkit-text-fill-color: var(--vibe-lime, #C8F542);
}

body.hero-page--kontakt .vibe-kontakt-quick-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.65) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.65) !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid rgba(245, 241, 232, 0.08);
  margin: 0 !important;
}

/* ═══ SEKCJA 04: DLA KOGO TA STRONA ═══ */
body.hero-page--kontakt .vibe-kontakt-dla-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-grid > * { min-width: 0 !important; }

body.hero-page--kontakt .vibe-kontakt-dla-card {
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 20px !important;
  padding: 40px 36px !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: block !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 56px rgba(14, 15, 20, 0.08);
}

body.hero-page--kontakt .vibe-kontakt-dla-card::before {
  content: "";
  position: absolute;
  top: 0; left: 36px;
  width: 64px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--dla-color);
}

body.hero-page--kontakt .vibe-kontakt-dla-01 { --dla-color: #2D9CDB; }
body.hero-page--kontakt .vibe-kontakt-dla-02 { --dla-color: #7B3FE4; }
body.hero-page--kontakt .vibe-kontakt-dla-03 { --dla-color: #F2A93C; }
body.hero-page--kontakt .vibe-kontakt-dla-04 { --dla-color: #E85D75; }

body.hero-page--kontakt .vibe-kontakt-dla-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--dla-color) !important;
  -webkit-text-fill-color: var(--dla-color) !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-inner {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-inner > * { min-width: 0 !important; }

body.hero-page--kontakt .vibe-kontakt-dla-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--dla-color) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--dla-color) 30%, transparent);
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 32px !important;
  color: var(--dla-color) !important;
  -webkit-text-fill-color: var(--dla-color) !important;
  margin: 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-name {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em;
}

body.hero-page--kontakt .vibe-kontakt-dla-name em {
  font-style: italic;
  color: var(--dla-color);
  -webkit-text-fill-color: var(--dla-color);
}

body.hero-page--kontakt .vibe-kontakt-dla-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.7) !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--dla-color) !important;
  -webkit-text-fill-color: var(--dla-color) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  text-decoration: none !important;
}

body.hero-page--kontakt .vibe-kontakt-dla-link::after {
  content: "→";
  transition: transform 0.2s ease;
  margin-left: 4px;
}

body.hero-page--kontakt .vibe-kontakt-dla-card:hover .vibe-kontakt-dla-link::after {
  transform: translateX(4px);
}

/* ═══ SEKCJA 05: DANE + SOCIAL ═══ */
body.hero-page--kontakt .vibe-kontakt-dane-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}

body.hero-page--kontakt .vibe-kontakt-dane-grid > * { min-width: 0 !important; }

body.hero-page--kontakt .vibe-kontakt-dane-card {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border-radius: 22px !important;
  padding: 48px 44px !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--kontakt .vibe-kontakt-dane-card::before {
  content: "";
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.12) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

body.hero-page--kontakt .vibe-kontakt-dane-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--kontakt .vibe-kontakt-dane-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 32px 0 !important;
  letter-spacing: -0.02em;
  position: relative;
  z-index: 2;
}

body.hero-page--kontakt .vibe-kontakt-dane-h3 em {
  font-style: italic;
  color: var(--vibe-lime, #C8F542);
  -webkit-text-fill-color: var(--vibe-lime, #C8F542);
}

body.hero-page--kontakt .vibe-kontakt-data-row {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 13px !important;
  display: flex !important;
  justify-content: space-between !important;
  padding: 12px 0 !important;
  border-bottom: 1px dotted rgba(245, 241, 232, 0.15);
  position: relative;
  z-index: 2;
  margin: 0 !important;
  gap: 16px;
}

body.hero-page--kontakt .vibe-kontakt-data-row:last-of-type { border-bottom: none !important; margin-bottom: 32px !important; }

body.hero-page--kontakt .vibe-kontakt-data-row .key {
  color: rgba(245, 241, 232, 0.5);
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5);
  letter-spacing: 0.05em;
  flex-shrink: 0;
}

body.hero-page--kontakt .vibe-kontakt-data-row .val {
  color: var(--vibe-cream, #F5F1E8);
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8);
  font-weight: 500;
  text-align: right;
  word-break: break-word;
}

body.hero-page--kontakt .vibe-kontakt-dane-note {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: rgba(245, 241, 232, 0.65) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.65) !important;
  padding: 16px 18px !important;
  background: rgba(200, 245, 66, 0.08) !important;
  border-left: 3px solid var(--vibe-lime, #C8F542);
  border-radius: 6px !important;
  position: relative;
  z-index: 2;
  margin: 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-social-card {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.10);
  border-radius: 22px !important;
  padding: 48px 40px !important;
  display: flex !important;
  flex-direction: column;
}

body.hero-page--kontakt .vibe-kontakt-social-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
  font-weight: 600 !important;
}

body.hero-page--kontakt .vibe-kontakt-social-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.02em;
}

body.hero-page--kontakt .vibe-kontakt-social-h3 em {
  font-style: italic;
  color: var(--vibe-violet, #7B3FE4);
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4);
}

body.hero-page--kontakt .vibe-kontakt-social-sub {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.65) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.65) !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-social-list {
  display: flex !important;
  flex-direction: column;
  gap: 12px !important;
  margin: auto 0 0 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-social-item {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 14px 18px !important;
  background: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 12px !important;
  text-decoration: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  transition: all 0.2s ease;
}

body.hero-page--kontakt .vibe-kontakt-social-item:hover {
  border-color: var(--vibe-violet, #7B3FE4) !important;
  background: rgba(123, 63, 228, 0.04) !important;
}

body.hero-page--kontakt .vibe-kontakt-social-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(123, 63, 228, 0.1);
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  flex-shrink: 0;
  margin: 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-social-name {
  display: block;
  font-family: 'Fraunces', serif !important;
  font-size: 16px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  margin: 0 !important;
}

body.hero-page--kontakt .vibe-kontakt-social-handle {
  display: block;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  margin: 2px 0 0 0 !important;
  letter-spacing: 0.02em;
}

body.hero-page--kontakt .vibe-kontakt-social-arrow {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 14px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

/* ═══ SEKCJA 06: CTA FINALNY ═══ */
body.hero-page--kontakt .vibe-kontakt-section--cta::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 1200px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 50%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--kontakt .vibe-kontakt-cta-big {
  max-width: 960px;
  margin: 0 auto !important;
  text-align: center;
  position: relative;
  z-index: 5;
}

body.hero-page--kontakt .vibe-kontakt-cta-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--kontakt .vibe-kontakt-cta-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--kontakt .vibe-kontakt-cta-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
  max-width: 720px;
  margin: 0 auto 48px !important;
}

body.hero-page--kontakt .vibe-kontakt-cta-buttons {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 !important;
}

body.hero-page--kontakt .wp-block-button.vibe-kontakt-cta-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 36px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: all 0.2s ease;
}

body.hero-page--kontakt .wp-block-button.vibe-kontakt-cta-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(200, 245, 66, 0.3);
}

body.hero-page--kontakt .wp-block-button.vibe-kontakt-cta-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 32px !important;
  background: transparent !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(245, 241, 232, 0.3) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

body.hero-page--kontakt .wp-block-button.vibe-kontakt-cta-secondary .wp-block-button__link:hover {
  border-color: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--kontakt .vibe-kontakt-intro-grid,
  body.hero-page--kontakt .vibe-kontakt-form-grid,
  body.hero-page--kontakt .vibe-kontakt-dane-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  body.hero-page--kontakt .vibe-kontakt-quick-grid,
  body.hero-page--kontakt .vibe-kontakt-dla-grid {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--kontakt .vibe-kontakt-dla-inner {
    grid-template-columns: 1fr !important;
  }

  body.hero-page--kontakt .vibe-kontakt-reassure-wrapper { position: static !important; }

  body.hero-page--kontakt .vibe-kontakt-intro-h1 {
    font-size: clamp(40px, 12vw, 80px) !important;
  }
}

/* === END /KONTAKT/ NGO 2026 === */

/* ============================================
   PATCH /KONTAKT/ — grid inner-container + hyphens fix
   ============================================ */

/* HYPHENS: manual (nie auto) */
body.hero-page--kontakt .vibe-kontakt-section p,
body.hero-page--kontakt .vibe-kontakt-section h1,
body.hero-page--kontakt .vibe-kontakt-section h2,
body.hero-page--kontakt .vibe-kontakt-section h3,
body.hero-page--kontakt .vibe-kontakt-section h4,
body.hero-page--kontakt .vibe-kontakt-section li {
  hyphens: manual !important;
}

/* GRID FIX — wszystkie gridy przez inner-container */

/* Intro grid (1.6fr + 1fr) */
body.hero-page--kontakt .vibe-kontakt-intro-grid { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-intro-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: end !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--kontakt .vibe-kontakt-intro-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Form grid (1.4fr + 1fr) */
body.hero-page--kontakt .vibe-kontakt-form-grid { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-form-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 64px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  align-items: start !important;
}
body.hero-page--kontakt .vibe-kontakt-form-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Quick grid (3-col) */
body.hero-page--kontakt .vibe-kontakt-quick-grid { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-quick-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--kontakt .vibe-kontakt-quick-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Dla grid (2-col) */
body.hero-page--kontakt .vibe-kontakt-dla-grid { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-dla-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.hero-page--kontakt .vibe-kontakt-dla-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Dla inner (icon + content) */
body.hero-page--kontakt .vibe-kontakt-dla-inner { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-dla-inner > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
body.hero-page--kontakt .vibe-kontakt-dla-inner > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Dane grid (1.3fr + 1fr) */
body.hero-page--kontakt .vibe-kontakt-dane-grid { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-dane-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important;
  gap: 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}
body.hero-page--kontakt .vibe-kontakt-dane-grid > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Reassure list (flex col) */
body.hero-page--kontakt .vibe-kontakt-reassure-list { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-reassure-list > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
}

/* Reassure item (48px + content) */
body.hero-page--kontakt .vibe-kontakt-reassure-item { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-reassure-item > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 20px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
}
body.hero-page--kontakt .vibe-kontakt-reassure-item > .wp-block-group__inner-container > * { min-width: 0 !important; }

/* Social list (flex col) */
body.hero-page--kontakt .vibe-kontakt-social-list { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-social-list > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column;
  gap: 12px !important;
}

/* CTA big (centered) */
body.hero-page--kontakt .vibe-kontakt-cta-big { display: block !important; }
body.hero-page--kontakt .vibe-kontakt-cta-big > .wp-block-group__inner-container {
  max-width: 960px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Mobile patch */
@media (max-width: 900px) {
  body.hero-page--kontakt .vibe-kontakt-intro-grid > .wp-block-group__inner-container,
  body.hero-page--kontakt .vibe-kontakt-form-grid > .wp-block-group__inner-container,
  body.hero-page--kontakt .vibe-kontakt-dane-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body.hero-page--kontakt .vibe-kontakt-quick-grid > .wp-block-group__inner-container,
  body.hero-page--kontakt .vibe-kontakt-dla-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--kontakt .vibe-kontakt-dla-inner > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
}

/* === END PATCH /KONTAKT/ === */

/* ============================================
   FIX2 /KONTAKT/ — transparent inner groups + social + colors
   ============================================ */

/* 1. Wszystkie inner-containery wewnątrz sekcji kontakt — transparent */
body.hero-page--kontakt .vibe-kontakt-section .wp-block-group__inner-container {
  background: transparent !important;
  color: inherit !important;
}

/* 2. Sekcja's bezpośredni inner-container — bez paddingu Kadence */
body.hero-page--kontakt .vibe-kontakt-section > .wp-block-group__inner-container {
  padding: 0 !important;
  max-width: 100% !important;
  background: transparent !important;
}

/* 3. Wszystkie nested wp-block-group — transparent (oprócz kart) */
body.hero-page--kontakt .vibe-kontakt-intro-grid,
body.hero-page--kontakt .vibe-kontakt-form-grid,
body.hero-page--kontakt .vibe-kontakt-quick-grid,
body.hero-page--kontakt .vibe-kontakt-dla-grid,
body.hero-page--kontakt .vibe-kontakt-dane-grid,
body.hero-page--kontakt .vibe-kontakt-header,
body.hero-page--kontakt .vibe-kontakt-cta-big,
body.hero-page--kontakt .vibe-kontakt-reassure-wrapper,
body.hero-page--kontakt .vibe-kontakt-reassure-list,
body.hero-page--kontakt .vibe-kontakt-reassure-item,
body.hero-page--kontakt .vibe-kontakt-reassure-content,
body.hero-page--kontakt .vibe-kontakt-dla-inner,
body.hero-page--kontakt .vibe-kontakt-social-list {
  background: transparent !important;
}

/* 4. Przywróć tła kart (nadpisz transparent powyżej) */
body.hero-page--kontakt .vibe-kontakt-form-card { background: #FBF7EE !important; }
body.hero-page--kontakt .vibe-kontakt-stat-card { background: #15171E !important; }
body.hero-page--kontakt .vibe-kontakt-quick-card { background: #15171E !important; }
body.hero-page--kontakt .vibe-kontakt-dla-card  { background: var(--vibe-cream, #F5F1E8) !important; }
body.hero-page--kontakt .vibe-kontakt-dane-card { background: var(--vibe-ink, #0E0F14) !important; }
body.hero-page--kontakt .vibe-kontakt-social-card { background: #FBF7EE !important; }

/* 5. Social items — białe tło (odróżnialny od karty #FBF7EE) */
body.hero-page--kontakt .vibe-kontakt-social-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(14, 15, 20, 0.10) !important;
}
body.hero-page--kontakt .vibe-kontakt-social-item:hover {
  background: rgba(123, 63, 228, 0.06) !important;
  border-color: var(--vibe-violet, #7B3FE4) !important;
}

/* 6. Form h2 em — inline, nie blokowy */
body.hero-page--kontakt .vibe-kontakt-form-h2 em {
  display: inline !important;
  font-style: italic !important;
  background: linear-gradient(180deg, #5C2BB8, #7B3FE4) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* 7. Typy headingów wewnątrz kart — inherit color (nie nadpisuj) */
body.hero-page--kontakt .vibe-kontakt-form-card .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-stat-card .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-quick-card .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-dla-card .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-dane-card .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-social-card .wp-block-group__inner-container {
  background: transparent !important;
  padding: 0 !important;
}

/* 8. CTA h2 — wyraźne kolory na dark tle */
body.hero-page--kontakt .vibe-kontakt-cta-h2 {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}
body.hero-page--kontakt .vibe-kontakt-cta-h2 em {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

/* 9. Reassure icons — inline-flex, nie block */
body.hero-page--kontakt .vibe-kontakt-reassure-icon {
  display: inline-flex !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(123, 63, 228, 0.10) !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

/* 10. Quick card inner-container — transparent + no extra padding */
body.hero-page--kontakt .vibe-kontakt-quick-card > .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-dla-card > .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-stat-card > .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-form-card > .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-dane-card > .wp-block-group__inner-container,
body.hero-page--kontakt .vibe-kontakt-social-card > .wp-block-group__inner-container {
  background: transparent !important;
  padding: 0 !important;
}

/* === END FIX2 /KONTAKT/ === */

/* ============================================
   FIX3 /KONTAKT/ — zero gap between sections
   ============================================ */

/* Sekcje: margin top/bottom = 0 (Kadence dodaje domyślnie margin-block) */
body.hero-page--kontakt .vibe-kontakt-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  display: block !important;
}

/* Kadence var spacing override */
body.hero-page--kontakt .vibe-kontakt-section {
  --kb-block-top-margin: 0px;
  --kb-block-bottom-margin: 0px;
  --kb-block-top-margin-sm: 0px;
  --kb-block-bottom-margin-sm: 0px;
  --kb-block-top-margin-md: 0px;
  --kb-block-bottom-margin-md: 0px;
}

/* Parent content area: zero block-gap między sekcjami */
body.hero-page--kontakt .entry-content,
body.hero-page--kontakt .entry-content > .wp-block-group__inner-container {
  --wp--style--block-gap: 0px !important;
}

/* Między sąsiadującymi sekcjami: 0 */
body.hero-page--kontakt .vibe-kontakt-section + .vibe-kontakt-section {
  margin-top: 0 !important;
}

/* Sekcja-kontener (jeśli sekcje wewnątrz wp-block-group) */
body.hero-page--kontakt .wp-block-group:has(.vibe-kontakt-section) {
  display: contents !important;
}

/* Kadence content-wrapper padding override (jeśli obrasta content) */
body.hero-page--kontakt .content-container .wp-block-group__inner-container {
  padding: 0 !important;
}

/* === END FIX3 /KONTAKT/ === */

/* FIX3b — agresywne zerowanie odstępów między sekcjami kontakt */

/* Reset Gutenberg block gap w article/entry */
body.hero-page--kontakt article.wp-block-post-content,
body.hero-page--kontakt .entry-content,
body.hero-page--kontakt .post-content {
  --wp--style--block-gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Usuń display:contents (za agresywne) — zastąp selektywnym */
body.hero-page--kontakt .wp-block-group:has(.vibe-kontakt-section) {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Sekcje bezpośrednio po innych sekcjach — zero gap */
body.hero-page--kontakt .vibe-kontakt-section ~ .vibe-kontakt-section {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Kadence: między blokami jest row-gap na flex-parent */
body.hero-page--kontakt .entry-content > .wp-block-group__inner-container {
  gap: 0 !important;
  row-gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}

/* === END FIX3b === */

/* ============================================
   VIBE /PROGRAMY/ NGO 2026 — CLEAN SLATE
   Data: 25.05.2026
   v3 — CLEAN SLATE: Hero NGO 2026 + 6 sekcji (wszystko od zera)
   Scope: body.hero-page--programy
   ============================================ */

/* ⚠️ KRYTYCZNY RESET — KADENCE MARGIN-BLOCK NA TOP-LEVEL GROUPS  
   Kadence dodaje domyślnie margin-block-start/end na każdym .wp-block-group,
   co powoduje widoczne "ramki" w kolorze body bg pomiędzy full-bleed sekcjami.
   Zerujemy wszystkie pionowe marginesy na top-level grupach w /programy/. */
body.hero-page--programy .entry-content > .wp-block-group,
body.hero-page--programy .entry-content > .wp-block-cover,
body.hero-page--programy .entry-content > section.wp-block-group,
body.hero-page--programy .site-main > .wp-block-group,
body.hero-page--programy .site-main > .wp-block-cover,
body.hero-page--programy .content-container > .wp-block-group,
body.hero-page--programy .content-container > .wp-block-cover,
body.hero-page--programy .vibe-programy-section {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.hero-page--programy .vibe-programy-section + .vibe-programy-section,
body.hero-page--programy .wp-block-group + .vibe-programy-section,
body.hero-page--programy .wp-block-cover + .vibe-programy-section,
body.hero-page--programy .vibe-programy-section + .wp-block-group,
body.hero-page--programy .vibe-programy-section + .wp-block-cover {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

body.hero-page--programy .entry-content,
body.hero-page--programy .site-main,
body.hero-page--programy .content-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* === FULL-BLEED SECTION BASE === */
body.hero-page--programy .vibe-programy-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--programy .vibe-programy-section > .wp-block-group__inner-container {
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
  background: transparent !important;
}

body.hero-page--programy .vibe-programy-section .wp-block-group__inner-container {
  background: transparent !important;
}

/* === BACKGROUNDS === */
body.hero-page--programy .vibe-programy-section--hero { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); padding: clamp(140px, 22vh, 240px) clamp(40px, 6vw, 100px) !important; }
body.hero-page--programy .vibe-programy-section--intro { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); }
body.hero-page--programy .vibe-programy-section--filar-01 { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); --pc: #7B3FE4; }
body.hero-page--programy .vibe-programy-section--filar-02 { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); --pc: #E85D75; }
body.hero-page--programy .vibe-programy-section--filar-03 { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); --pc: #2D9CDB; }
body.hero-page--programy .vibe-programy-section--filar-04 { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); --pc: #F2A93C; }
body.hero-page--programy .vibe-programy-section--cta { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }

/* === ANTI-LITEROWE === */
body.hero-page--programy .vibe-programy-section p,
body.hero-page--programy .vibe-programy-section h1,
body.hero-page--programy .vibe-programy-section h2,
body.hero-page--programy .vibe-programy-section h3,
body.hero-page--programy .vibe-programy-section h4 {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: manual !important;
  min-width: 0;
}

/* === SECTION NUMBER === */
body.hero-page--programy .vibe-programy-section-number {
  position: absolute !important;
  top: 32px;
  right: 32px;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  color: rgba(245, 241, 232, 0.35) !important;
  z-index: 10;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-section--intro .vibe-programy-section-number,
body.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-section-number,
body.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-section-number {
  color: rgba(14, 15, 20, 0.35) !important;
}

/* ═══ SEKCJA 01: HERO NGO 2026 ═══ */
body.hero-page--programy .vibe-programy-section--hero::before {
  content: "";
  position: absolute;
  top: -100px; right: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--programy .vibe-programy-section--hero::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -100px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.10) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--programy .vibe-programy-hero-wrap {
  max-width: 1320px !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body.hero-page--programy .vibe-programy-hero-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 40px 0 !important;
  width: auto !important;
}

body.hero-page--programy .vibe-programy-hero-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.4);
  flex-shrink: 0;
}

body.hero-page--programy .vibe-programy-hero-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 8vw, 120px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 32px 0 !important;
  max-width: 1100px !important;
}

body.hero-page--programy .vibe-programy-hero-h1 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  display: inline !important;
}

body.hero-page--programy .vibe-programy-hero-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
  max-width: 680px !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 02: INTRO DO FILARÓW ═══ */
body.hero-page--programy .vibe-programy-intro-grid {
  display: block !important;
}

body.hero-page--programy .vibe-programy-intro-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) !important;
  gap: 80px !important;
  align-items: end !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--programy .vibe-programy-intro-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--programy .vibe-programy-intro-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

body.hero-page--programy .vibe-programy-intro-label {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 32px !important;
  font-weight: 350 !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  line-height: 1.1 !important;
  margin: 0 0 12px 0 !important;
}

body.hero-page--programy .vibe-programy-intro-label-sub {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.4) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.4) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-intro-mini-grid {
  display: block !important;
}

body.hero-page--programy .vibe-programy-intro-mini-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 40px 0 0 0 !important;
}

body.hero-page--programy .vibe-programy-intro-mini-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--programy .vibe-programy-intro-mini {
  padding: 14px 12px !important;
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 12px !important;
  border-left: 3px solid var(--pc-mini) !important;
  text-align: center !important;
}

body.hero-page--programy .vibe-programy-intro-mini--01 { --pc-mini: #7B3FE4; }
body.hero-page--programy .vibe-programy-intro-mini--02 { --pc-mini: #E85D75; }
body.hero-page--programy .vibe-programy-intro-mini--03 { --pc-mini: #2D9CDB; }
body.hero-page--programy .vibe-programy-intro-mini--04 { --pc-mini: #F2A93C; }

body.hero-page--programy .vibe-programy-intro-mini-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--pc-mini) !important;
  -webkit-text-fill-color: var(--pc-mini) !important;
  letter-spacing: 0.18em !important;
  font-weight: 600 !important;
  display: block !important;
  margin: 0 0 4px 0 !important;
}

body.hero-page--programy .vibe-programy-intro-mini-name {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  line-height: 1.1 !important;
  display: block !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-intro-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 5.5vw, 76px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--programy .vibe-programy-intro-h2 em {
  font-style: italic !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
  display: inline !important;
}

body.hero-page--programy .vibe-programy-intro-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(14, 15, 20, 0.72) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.72) !important;
  max-width: 580px !important;
  margin: 0 !important;
}

/* ═══ SEKCJE 03-06: FILARY — GRID ═══ */
body.hero-page--programy .vibe-programy-filar-grid {
  display: block !important;
}

body.hero-page--programy .vibe-programy-filar-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: stretch !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

body.hero-page--programy .vibe-programy-filar-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--programy .vibe-programy-filar-grid--reverse > .wp-block-group__inner-container {
  direction: rtl !important;
}

body.hero-page--programy .vibe-programy-filar-grid--reverse > .wp-block-group__inner-container > * {
  direction: ltr !important;
}

body.hero-page--programy .vibe-programy-filar-content { padding: 20px 0 !important; }

body.hero-page--programy .vibe-programy-filar-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 28px 0 !important;
  background: color-mix(in srgb, var(--pc) 12%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--pc) 30%, transparent) !important;
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
  width: auto !important;
}

body.hero-page--programy .vibe-programy-filar-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--pc);
  flex-shrink: 0;
}

body.hero-page--programy .vibe-programy-filar-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 5.5vw, 76px) !important;
  font-weight: 350 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--programy .vibe-programy-section--filar-01 .vibe-programy-filar-h2,
body.hero-page--programy .vibe-programy-section--filar-03 .vibe-programy-filar-h2 {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-filar-h2,
body.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-filar-h2 {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--programy .vibe-programy-filar-h2 em {
  font-style: italic !important;
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
  display: inline !important;
}

body.hero-page--programy .vibe-programy-filar-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  margin: 0 0 40px 0 !important;
}

body.hero-page--programy .vibe-programy-section--filar-01 .vibe-programy-filar-desc,
body.hero-page--programy .vibe-programy-section--filar-03 .vibe-programy-filar-desc {
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
}

body.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-filar-desc,
body.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-filar-desc {
  color: rgba(14, 15, 20, 0.72) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.72) !important;
}

/* === META TABLE === */
body.hero-page--programy .vibe-programy-filar-meta {
  padding: 24px 0 !important;
  margin: 0 0 32px 0 !important;
}

body.hero-page--programy .vibe-programy-section--filar-01 .vibe-programy-filar-meta,
body.hero-page--programy .vibe-programy-section--filar-03 .vibe-programy-filar-meta {
  border-top: 1px solid rgba(245, 241, 232, 0.12) !important;
  border-bottom: 1px solid rgba(245, 241, 232, 0.12) !important;
}

body.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-filar-meta,
body.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-filar-meta {
  border-top: 1px solid rgba(14, 15, 20, 0.12) !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.12) !important;
}

body.hero-page--programy .vibe-programy-meta-row {
  display: block !important;
}

body.hero-page--programy .vibe-programy-meta-row > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 140px minmax(0, 1fr) !important;
  gap: 14px 24px !important;
  padding: 8px 0 !important;
}

body.hero-page--programy .vibe-programy-meta-row > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body.hero-page--programy .vibe-programy-meta-key {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding-top: 3px !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-section--filar-01 .vibe-programy-meta-key,
body.hero-page--programy .vibe-programy-section--filar-03 .vibe-programy-meta-key {
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
}

body.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-meta-key,
body.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-meta-key {
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
}

body.hero-page--programy .vibe-programy-meta-val {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-section--filar-01 .vibe-programy-meta-val,
body.hero-page--programy .vibe-programy-section--filar-03 .vibe-programy-meta-val {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-meta-val,
body.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-meta-val {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--programy .vibe-programy-meta-val strong {
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
  font-weight: 600 !important;
}

/* === CTA BUTTON === */
body.hero-page--programy .wp-block-button.vibe-programy-filar-cta .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 28px !important;
  background: var(--pc) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: transform 0.2s ease;
}

body.hero-page--programy .wp-block-button.vibe-programy-filar-cta .wp-block-button__link:hover {
  transform: translateY(-2px);
}

/* ═══ POSTER PANEL — FLEX COLUMN ═══ */
body.hero-page--programy .vibe-programy-poster {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--pc) 20%, #EEE8DA) 0%,
    color-mix(in srgb, var(--pc) 10%, #F5F1E8) 100%) !important;
  border-radius: 28px !important;
  padding: 56px 48px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 520px !important;
  box-shadow: 0 24px 60px rgba(14, 15, 20, 0.10) !important;
  border: 1px solid color-mix(in srgb, var(--pc) 25%, transparent) !important;
}

body.hero-page--programy .vibe-programy-poster > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  flex: 1 !important;
  background: transparent !important;
}

body.hero-page--programy .vibe-programy-poster-top {
  display: block !important;
}

body.hero-page--programy .vibe-programy-poster-top > .wp-block-group__inner-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  background: transparent !important;
}

body.hero-page--programy .vibe-programy-poster-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 56px !important;
  font-weight: 350 !important;
  line-height: 0.9 !important;
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
  letter-spacing: -0.04em !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-poster-brand {
  text-align: right !important;
}

body.hero-page--programy .vibe-programy-poster-ngo {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin: 0 0 6px 0 !important;
}

body.hero-page--programy .vibe-programy-poster-since {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
  display: block !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-poster-icon {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 200px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
  margin: 32px 0 !important;
  opacity: 0.92 !important;
  text-align: center !important;
}

body.hero-page--programy .vibe-programy-poster-bottom {
  border-top: 1px solid color-mix(in srgb, var(--pc) 25%, transparent) !important;
  padding: 24px 0 0 0 !important;
}

body.hero-page--programy .vibe-programy-poster-name {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.01em !important;
}

body.hero-page--programy .vibe-programy-poster-tag {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* ═══ SEKCJA 07: CTA FINALNY ═══ */
body.hero-page--programy .vibe-programy-section--cta::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 1200px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.10) 0%, transparent 50%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--programy .vibe-programy-cta-big {
  max-width: 1000px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative;
  z-index: 5;
}

body.hero-page--programy .vibe-programy-cta-chips {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  margin: 0 0 40px 0 !important;
  flex-wrap: wrap !important;
}

body.hero-page--programy .vibe-programy-cta-chip {
  padding: 10px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid var(--cc) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--cc) !important;
  -webkit-text-fill-color: var(--cc) !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
}

body.hero-page--programy .vibe-programy-cta-chip--01 { --cc: #7B3FE4; }
body.hero-page--programy .vibe-programy-cta-chip--02 { --cc: #E85D75; }
body.hero-page--programy .vibe-programy-cta-chip--03 { --cc: #2D9CDB; }
body.hero-page--programy .vibe-programy-cta-chip--04 { --cc: #F2A93C; }

body.hero-page--programy .vibe-programy-cta-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 32px 0 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--programy .vibe-programy-cta-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  display: inline !important;
}

body.hero-page--programy .vibe-programy-cta-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
  max-width: 720px !important;
  margin: 0 auto 48px !important;
}

body.hero-page--programy .vibe-programy-cta-actions {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

body.hero-page--programy .wp-block-button.vibe-programy-cta-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 36px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

body.hero-page--programy .wp-block-button.vibe-programy-cta-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(200, 245, 66, 0.3);
}

body.hero-page--programy .wp-block-button.vibe-programy-cta-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 32px !important;
  background: transparent !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border: 1px solid rgba(245, 241, 232, 0.3) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.hero-page--programy .wp-block-button.vibe-programy-cta-secondary .wp-block-button__link:hover {
  border-color: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--programy .vibe-programy-intro-grid > .wp-block-group__inner-container,
  body.hero-page--programy .vibe-programy-filar-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body.hero-page--programy .vibe-programy-filar-grid--reverse > .wp-block-group__inner-container { direction: ltr !important; }
  body.hero-page--programy .vibe-programy-intro-mini-grid > .wp-block-group__inner-container { grid-template-columns: repeat(2, 1fr) !important; }
  body.hero-page--programy .vibe-programy-meta-row > .wp-block-group__inner-container { grid-template-columns: 1fr !important; gap: 4px 0 !important; }
  body.hero-page--programy .vibe-programy-meta-key { padding-top: 12px !important; }
  body.hero-page--programy .vibe-programy-poster {
    min-height: 420px !important;
    padding: 40px 32px !important;
  }
  body.hero-page--programy .vibe-programy-poster-icon { font-size: 140px !important; }
  body.hero-page--programy .vibe-programy-poster-num { font-size: 44px !important; }
  body.hero-page--programy .vibe-programy-hero-h1 { font-size: clamp(40px, 12vw, 80px) !important; }
}

/* === END /PROGRAMY/ NGO 2026 CLEAN === */

/* ============================================================
   FIX-VOID /PROGRAMY/ — hero-page--void specyficzność override
   Problem: body ma OBIE klasy (--void + --programy).
   Reguła void: body.hero-page--void .entry-content > .wp-block-group
   ma specyficzność 0-5-1 i bije nasze 0-2-1.
   Fix: html body.hero-page--void.hero-page--programy = 0-5-2 WIN.
   ============================================================ */

/* Backgrounds + color dla każdej sekcji — override void transparent */
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--hero {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--intro {
  background: #F5F1E8 !important;
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-02 {
  background: #EEE8DA !important;
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-04 {
  background: #F5F1E8 !important;
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--cta {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

/* Tekst cream sekcji (dark bg) — override void color */
html body.hero-page--void.hero-page--programy .vibe-programy-section--hero p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--hero h1,
html body.hero-page--void.hero-page--programy .vibe-programy-section--hero h2,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-01 p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-01 h2,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-03 p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-03 h2,
html body.hero-page--void.hero-page--programy .vibe-programy-section--cta p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--cta h2 {
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

/* Tekst ink sekcji (cream bg) — override void cream color */
html body.hero-page--void.hero-page--programy .vibe-programy-section--intro p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--intro h2,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-02 p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-02 h2,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-04 p,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-04 h2 {
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}

/* Poster panel — zawsze ink text (jasne tło), niezależnie od sekcji */
html body.hero-page--void.hero-page--programy .vibe-programy-poster p {
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}

/* Poster num, since, icon — kolor pilara */
html body.hero-page--void.hero-page--programy .vibe-programy-poster-num,
html body.hero-page--void.hero-page--programy .vibe-programy-poster-since,
html body.hero-page--void.hero-page--programy .vibe-programy-poster-icon {
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
}

/* Meta key — półprzezroczysty ink */
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-02 .vibe-programy-meta-key,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-04 .vibe-programy-meta-key {
  color: rgba(14, 15, 20, 0.5) !important;
  -webkit-text-fill-color: rgba(14, 15, 20, 0.5) !important;
}

html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-01 .vibe-programy-meta-key,
html body.hero-page--void.hero-page--programy .vibe-programy-section--filar-03 .vibe-programy-meta-key {
  color: rgba(245, 241, 232, 0.5) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.5) !important;
}

/* Hero lead — półprzezroczysty cream */
html body.hero-page--void.hero-page--programy .vibe-programy-hero-lead {
  color: rgba(245, 241, 232, 0.78) !important;
  -webkit-text-fill-color: rgba(245, 241, 232, 0.78) !important;
}

/* Eyebrow hero — lime */
html body.hero-page--void.hero-page--programy .vibe-programy-hero-eyebrow {
  color: #C8F542 !important;
  -webkit-text-fill-color: #C8F542 !important;
}

/* === END FIX-VOID /PROGRAMY/ === */

/* FIX-EMOJI: Wymuszamy text rendering zamiast emoji pictograph */
body.hero-page--programy .vibe-programy-poster-icon {
  font-variant-emoji: text !important;
  font-family: 'Fraunces', serif, 'Apple Color Emoji' !important;
}
/* ============================================
   VIBE /POMOC-I-WAZNE-KONTAKTY/ NGO 2026 — CLEAN SLATE
   Data: 25.05.2026
   v3 — EMERGENCY-FIRST UX: numery dla dzieci od razu w Hero
   Scope: body.hero-page--pomoc-i-wazne-kontakty
   ============================================ */

/* ⚠️ KRYTYCZNY RESET — KADENCE MARGIN-BLOCK NA TOP-LEVEL GROUPS */
body.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group,
body.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-cover,
body.hero-page--pomoc-i-wazne-kontakty .entry-content > section.wp-block-group,
body.hero-page--pomoc-i-wazne-kontakty .site-main > .wp-block-group,
body.hero-page--pomoc-i-wazne-kontakty .site-main > .wp-block-cover,
body.hero-page--pomoc-i-wazne-kontakty .content-container > .wp-block-group,
body.hero-page--pomoc-i-wazne-kontakty .content-container > .wp-block-cover,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section + .vibe-pomoc-section,
body.hero-page--pomoc-i-wazne-kontakty .wp-block-group + .vibe-pomoc-section,
body.hero-page--pomoc-i-wazne-kontakty .wp-block-cover + .vibe-pomoc-section,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section + .wp-block-group,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section + .wp-block-cover {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .entry-content,
body.hero-page--pomoc-i-wazne-kontakty .site-main,
body.hero-page--pomoc-i-wazne-kontakty .content-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* === FULL-BLEED SECTION BASE === */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 14vh, 160px) clamp(40px, 6vw, 100px) !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section > .wp-block-group {
  max-width: 1320px;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

/* === BACKGROUNDS === */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); padding: clamp(120px, 18vh, 200px) clamp(40px, 6vw, 100px) clamp(100px, 14vh, 160px) !important; --pc: #7B3FE4; }
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--kryzys { background: var(--vibe-cream-warm, #EEE8DA) !important; color: var(--vibe-ink, #0E0F14); --pc: #E85D75; }
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); --pc: #2D9CDB; }
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm { background: var(--vibe-cream, #F5F1E8) !important; color: var(--vibe-ink, #0E0F14); --pc: #DC3545; }
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta { background: var(--vibe-ink, #0E0F14) !important; color: var(--vibe-cream, #F5F1E8); }

/* === ANTI-LITEROWE === */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section p,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section h1,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section h2,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section h3 {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  min-width: 0;
}

/* === SECTION NUMBER === */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section-number {
  position: absolute !important;
  top: 32px;
  right: 32px;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  color: rgba(245, 241, 232, 0.35) !important;
  z-index: 10;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--kryzys .vibe-pomoc-section-number,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm .vibe-pomoc-section-number {
  color: rgba(14, 15, 20, 0.35) !important;
}

/* ═══ SEKCJA 01: HERO EMERGENCY-FIRST ═══ */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero::before {
  content: "";
  position: absolute;
  top: -150px; right: -150px;
  width: 900px; height: 900px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.20) 0%, transparent 60%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -150px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.06) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-wrap {
  max-width: 1320px !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

/* Emergency pill 112 */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-emergency-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 22px 12px 18px !important;
  background: rgba(220, 53, 69, 0.12) !important;
  border: 1px solid rgba(220, 53, 69, 0.45);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #FF6B7A !important;
  text-decoration: none !important;
  margin: 0 0 36px 0 !important;
  transition: all 0.2s ease;
  width: auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-emergency-pill:hover {
  background: rgba(220, 53, 69, 0.2) !important;
  border-color: rgba(220, 53, 69, 0.7) !important;
  transform: translateY(-1px);
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-emergency-pill .icon {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: #DC3545;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  flex-shrink: 0;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-emergency-pill .label {
  color: rgba(245, 241, 232, 0.7);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 10.5px;
  margin-right: 4px;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-emergency-pill .num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 18px;
  font-weight: 500;
  color: #FF6B7A;
  letter-spacing: 0.02em;
}

/* Hero intro grid (H1 + lead 2-col) */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important;
  gap: 60px !important;
  align-items: end !important;
  margin: 0 0 80px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro > * { min-width: 0 !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  background: rgba(123, 63, 228, 0.15) !important;
  border: 1px solid rgba(123, 63, 228, 0.4);
  color: #A57FFF !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #7B3FE4;
  box-shadow: 0 0 12px rgba(123, 63, 228, 0.6);
  flex-shrink: 0;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(48px, 7.5vw, 110px) !important;
  font-weight: 300 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-h1 em {
  font-style: italic !important;
  color: #7B3FE4 !important;
  background: linear-gradient(180deg, #A57FFF, #7B3FE4) !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.82) !important;
  max-width: 480px !important;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-lead strong {
  color: var(--vibe-cream, #F5F1E8) !important;
  font-weight: 600 !important;
}

/* Hero contacts grid (2 wielkie karty) */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-contacts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-contacts > * { min-width: 0 !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card {
  background: var(--vibe-ink-2, #15171E) !important;
  border: 1px solid rgba(123, 63, 228, 0.25) !important;
  border-radius: 24px !important;
  padding: 40px 36px !important;
  position: relative;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(123, 63, 228, 0.15) 0%, transparent 60%);
  filter: blur(40px);
  pointer-events: none;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card:hover {
  border-color: rgba(123, 63, 228, 0.6) !important;
  transform: translateY(-4px);
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  color: rgba(165, 127, 255, 0.85) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
  font-weight: 600 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-name {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 24px 0 !important;
  letter-spacing: -0.01em !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-phone {
  display: block !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(48px, 5.5vw, 64px) !important;
  font-weight: 350 !important;
  color: #A57FFF !important;
  text-decoration: none !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 20px 0 !important;
  position: relative;
  z-index: 2;
  word-break: keep-all;
  white-space: nowrap;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-phone:hover {
  color: #C2A0FF !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: rgba(245, 241, 232, 0.7) !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid rgba(123, 63, 228, 0.2);
  margin: 0 0 12px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-note {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: #A57FFF !important;
  line-height: 1.4 !important;
  margin: 0 0 18px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(245, 241, 232, 0.6) !important;
  text-decoration: none !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-link::after {
  content: "↗";
  font-size: 14px;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-link:hover {
  color: #A57FFF !important;
}

/* ═══ SEKCJE 02-04: SHARED ELEMENTS ═══ */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 24px 0 !important;
  background: color-mix(in srgb, var(--pc) 12%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--pc) 30%, transparent) !important;
  color: var(--pc) !important;
  width: auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--pc);
  box-shadow: 0 0 12px color-mix(in srgb, var(--pc) 50%, transparent);
  flex-shrink: 0;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-header {
  text-align: center !important;
  max-width: 920px !important;
  margin: 0 auto 64px !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-header .vibe-pomoc-eyebrow { margin: 0 auto 24px !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 6vw, 76px) !important;
  font-weight: 350 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--kryzys .vibe-pomoc-h2,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm .vibe-pomoc-h2 {
  color: var(--vibe-ink, #0E0F14) !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice .vibe-pomoc-h2 {
  color: var(--vibe-cream, #F5F1E8) !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-h2 em {
  font-style: italic !important;
  color: var(--pc) !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--kryzys .vibe-pomoc-lead,
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm .vibe-pomoc-lead {
  color: rgba(14, 15, 20, 0.72) !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice .vibe-pomoc-lead {
  color: rgba(245, 241, 232, 0.72) !important;
}

/* ═══ SEKCJA 02: KRYZYS PSYCHICZNY DOROŚLI (CREAM-WARM + RÓŻOWY) ═══ */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-grid-2 > * { min-width: 0 !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card {
  background: #FBF7EE !important;
  border: 1px solid rgba(14, 15, 20, 0.08);
  border-radius: 24px !important;
  padding: 48px 40px !important;
  position: relative;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card:hover {
  border-color: var(--pc) !important;
  transform: translateY(-4px);
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card::before {
  content: "";
  position: absolute;
  top: 0; left: 40px;
  width: 80px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--pc);
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-name {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(20px, 2vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 32px 0 !important;
  letter-spacing: -0.01em !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-phone {
  display: block !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(40px, 5vw, 56px) !important;
  font-weight: 350 !important;
  color: var(--pc) !important;
  text-decoration: none !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 24px 0 !important;
  word-break: break-word;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-phone:hover { text-decoration: underline !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: rgba(14, 15, 20, 0.7) !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.1);
  margin: 0 0 16px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-note {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--pc) !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.4 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--pc) !important;
  text-decoration: none !important;
  padding: 4px 0 0 0 !important;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-card-link::after {
  content: "↗";
  font-size: 14px;
}

/* ═══ SEKCJA 03: RODZICE I NAUCZYCIELE (DARK + CYAN) ═══ */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-card {
  background: var(--vibe-ink-2, #15171E) !important;
  border: 1px solid rgba(245, 241, 232, 0.08);
  border-radius: 24px !important;
  padding: 56px 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important;
  gap: 56px !important;
  position: relative;
  align-items: start !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-card > * { min-width: 0 !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-card::before {
  content: "";
  position: absolute;
  top: 0; left: 48px;
  width: 80px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--pc);
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-name {
  font-family: 'Fraunces', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 24px 0 !important;
  letter-spacing: -0.01em !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-phone {
  display: inline-block !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 72px !important;
  font-weight: 350 !important;
  color: var(--pc) !important;
  text-decoration: none !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 28px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-phone:hover { text-decoration: underline !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.7) !important;
  margin: 0 0 20px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-note {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--pc) !important;
  line-height: 1.5 !important;
  padding: 20px 24px !important;
  background: color-mix(in srgb, var(--pc) 8%, transparent) !important;
  border-left: 3px solid var(--pc);
  border-radius: 4px !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--pc) !important;
  text-decoration: none !important;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-link::after { content: "↗"; }

/* ═══ SEKCJA 04: ALARMOWE (CREAM + RED) ═══ */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 600px;
  background: radial-gradient(ellipse, rgba(220, 53, 69, 0.08) 0%, transparent 60%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-warning {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 20px !important;
  background: rgba(220, 53, 69, 0.1) !important;
  border: 1px solid rgba(220, 53, 69, 0.4);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: #B02A37 !important;
  margin: 0 0 32px 0 !important;
  width: auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-warning::before {
  content: "!";
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #DC3545;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  flex-shrink: 0;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-grid > * { min-width: 0 !important; }

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-card {
  background: #FBF7EE !important;
  border: 1px solid rgba(220, 53, 69, 0.25);
  border-radius: 28px !important;
  padding: 56px 48px !important;
  text-align: center !important;
  position: relative;
  overflow: hidden;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-card::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(220, 53, 69, 0.12) 0%, transparent 60%);
  filter: blur(40px);
  pointer-events: none;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin: 0 0 20px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-name {
  font-family: 'Fraunces', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-number {
  display: block !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(80px, 12vw, 144px) !important;
  font-weight: 350 !important;
  color: #DC3545 !important;
  text-decoration: none !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 16px 0 !important;
  position: relative;
  z-index: 2;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-number:hover {
  color: #B02A37 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-hint {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13px !important;
  color: rgba(14, 15, 20, 0.55) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  position: relative;
  z-index: 2;
}

/* ═══ SEKCJA 05: CTA FUNDACJA (DARK + LIME) ═══ */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px; height: 1000px;
  background: radial-gradient(circle, rgba(200, 245, 66, 0.08) 0%, transparent 50%);
  filter: blur(100px);
  pointer-events: none;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-wrap {
  max-width: 900px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative;
  z-index: 5;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 18px !important;
  background: rgba(245, 241, 232, 0.06) !important;
  border: 1px solid rgba(245, 241, 232, 0.12);
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 24px 0 !important;
  width: auto !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-lime, #C8F542);
  box-shadow: 0 0 12px rgba(200, 245, 66, 0.5);
  flex-shrink: 0;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(40px, 5.5vw, 72px) !important;
  font-weight: 350 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  margin: 0 0 24px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-h2 em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-desc {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: rgba(245, 241, 232, 0.78) !important;
  max-width: 660px !important;
  margin: 0 auto 40px !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-cta-buttons {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .wp-block-button.vibe-pomoc-cta-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 18px 32px !important;
  background: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

body.hero-page--pomoc-i-wazne-kontakty .wp-block-button.vibe-pomoc-cta-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(200, 245, 66, 0.3);
}

body.hero-page--pomoc-i-wazne-kontakty .wp-block-button.vibe-pomoc-cta-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 18px 28px !important;
  background: transparent !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  border: 1.5px solid rgba(245, 241, 232, 0.3) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.hero-page--pomoc-i-wazne-kontakty .wp-block-button.vibe-pomoc-cta-secondary .wp-block-button__link:hover {
  border-color: var(--vibe-lime, #C8F542) !important;
  color: var(--vibe-lime, #C8F542) !important;
}

/* ═══ MOBILE ═══ */
@media (max-width: 900px) {
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    margin-bottom: 56px !important;
  }
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-contacts,
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-grid-2,
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-grid {
    grid-template-columns: 1fr !important;
  }
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-card {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 40px 28px !important;
  }
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-card-phone { font-size: 48px !important; }
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-wide-phone { font-size: 56px !important; }
  body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-alarm-number { font-size: 80px !important; }
}

/* === END /POMOC-I-WAZNE-KONTAKTY/ NGO 2026 CLEAN === */
/* ═══════════════════════════════════════════════════════════════
   FIX-LIGHT /POMOC-I-WAZNE-KONTAKTY/ — Override vibe-light-page
   Problem: body.vibe-light-page forces cream bg na WSZYSTKICH .wp-block-group
   + entry-content-wrap kremowe pudełko blokuje full-bleed
   ───────────────────────────────────────────────────────────────
   Spec: vibe-light-page .wp-block-group = 0-2-1
   Nasze sekcje outer (0-5-2) > 0-2-1 ✅
   Nasze inner groups (0-4-2+) > 0-2-1 ✅
   ═══════════════════════════════════════════════════════════════ */

/* 1. entry-content-wrap transparent — usuń kremowe pudełko */
body.hero-page--pomoc-i-wazne-kontakty .entry-content-wrap,
body.hero-page--pomoc-i-wazne-kontakty .entry.single-entry,
body.hero-page--pomoc-i-wazne-kontakty .content-area,
body.hero-page--pomoc-i-wazne-kontakty .site-main,
body.hero-page--pomoc-i-wazne-kontakty #main {
  background: transparent !important;
  box-shadow: none !important;
}

/* 2. Usuń border-top między sekcjami (vibe-light-page dodaje separator) */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group + .wp-block-group {
  border-top: none !important;
}

/* 3. Sekcje outer — poprawne tła (spec 0-5-2) */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group.vibe-pomoc-section--hero {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group.vibe-pomoc-section--kryzys {
  background: #EEE8DA !important;
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group.vibe-pomoc-section--rodzice {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group.vibe-pomoc-section--alarm {
  background: #F5F1E8 !important;
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .entry-content > .wp-block-group.vibe-pomoc-section--cta {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

/* 4. Wszystkie nested wp-block-group w CIEMNYCH sekcjach → transparent (spec 0-4-2) */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero .wp-block-group,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice .wp-block-group,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta .wp-block-group {
  background: transparent !important;
}

/* 5. Headings w ciemnych sekcjach — jasny kolor */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero h1,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero h2,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero h3,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice h1,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice h2,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice h3,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta h1,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta h2,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta h3 {
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

/* 6. Paragrafy i linki w ciemnych sekcjach */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero p,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero a:not(.wp-block-button__link),
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice p,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice a:not(.wp-block-button__link),
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta p,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--cta a:not(.wp-block-button__link) {
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

/* 7. Przywróć karty hero — specyficzne tła (override transparent z reguły 4) */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--hero .vibe-pomoc-hero-card {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(123,63,228,0.30) !important;
}

/* 8. Karty w sekcji kryzys — jasne tło cream-warm */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--kryzys .wp-block-group,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm .wp-block-group {
  background: transparent !important;
}

/* 9. Karty kontaktu w kryzys — białe */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--kryzys .vibe-pomoc-contact-card {
  background: #FFFFFF !important;
}

/* 10. wide-card w rodzice — przywróć */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--rodzice .vibe-pomoc-wide-card {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(45,156,219,0.30) !important;
}

/* 11. alarm-card — biały z cieniem */
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-section--alarm .vibe-pomoc-alarm-card {
  background: #FFFFFF !important;
}

/* === END FIX-LIGHT /POMOC-I-WAZNE-KONTAKTY/ === */

/* ============================================
   VIBE GALERIE — BENTO GRID
   Data: 25.05.2026
   Scope: body.vibe-gallery-page
   Per-pillar: cyan (03) / amber (04) via --pillar var
   ============================================ */

/* ⚠️ KILL KADENCE MARGIN-BLOCK */
body.vibe-gallery-page .entry-content > .wp-block-group,
body.vibe-gallery-page .entry-content > section.wp-block-group,
body.vibe-gallery-page .site-main > .wp-block-group,
body.vibe-gallery-page .content-container > .wp-block-group,
body.vibe-gallery-page .vibe-bento {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* === PER-PILLAR --pillar VARIABLE === */
body.vibe-gallery-page.pillar-03 {
  --pillar:        #2D9CDB;
  --pillar-line:   rgba(45, 156, 219, 0.4);
  --pillar-glow:   rgba(45, 156, 219, 0.25);
  --pillar-bg-soft:rgba(45, 156, 219, 0.08);
}
body.vibe-gallery-page.pillar-04 {
  --pillar:        #F2A93C;
  --pillar-line:   rgba(242, 169, 60, 0.4);
  --pillar-glow:   rgba(242, 169, 60, 0.25);
  --pillar-bg-soft:rgba(242, 169, 60, 0.08);
}

/* === BENTO GRID — 12 ZDJĘĆ ASYMMETRIC 4-col === */
body.vibe-gallery-page .vibe-bento {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 220px !important;
  gap: 16px !important;
  margin: 60px auto !important;
  max-width: 1320px;
  padding: 0 clamp(20px, 4vw, 60px);
  width: 100%;
  box-sizing: border-box;
}

body.vibe-gallery-page .vibe-bento > * {
  min-width: 0;
}

/* Asymmetric placement: 1 duże 2×2 + 2 wysokie + 2 szerokie + 7 normal */
body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}
body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(4) {
  grid-row: span 2;
}
body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(6) {
  grid-column: span 2;
}
body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(9) {
  grid-row: span 2;
}
body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(11) {
  grid-column: span 2;
}

/* === VIBE-PHOTO BASE === */
body.vibe-gallery-page .vibe-photo {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  cursor: zoom-in;
  background: #ECE7D8;
  border: 1px solid rgba(14, 15, 20, 0.06);
  box-shadow: 0 4px 12px -4px rgba(14, 15, 20, 0.06);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

body.vibe-gallery-page .vibe-photo:hover {
  transform: translateY(-4px);
  border-color: var(--pillar-line, rgba(45,156,219,0.4));
  box-shadow: 0 30px 60px -20px var(--pillar-glow, rgba(45,156,219,0.25));
}

/* Kadence/Gutenberg image wrappers inside photo */
body.vibe-gallery-page .vibe-photo .wp-block-image,
body.vibe-gallery-page .vibe-photo figure {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  display: block;
}

body.vibe-gallery-page .vibe-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.6s ease;
}

body.vibe-gallery-page .vibe-photo:hover img {
  transform: scale(1.05);
}

/* === NUMER ZDJĘCIA (lewy górny róg) === */
body.vibe-gallery-page .vibe-photo-number {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--vibe-ink, #0E0F14);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 5px 10px;
  border-radius: 100px;
  z-index: 2;
  pointer-events: none;
}

/* === CAPTION REVEAL ON HOVER === */
body.vibe-gallery-page .vibe-photo-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(14, 15, 20, 0.80) 55%,
    rgba(14, 15, 20, 0.95) 100%
  );
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 2;
  color: var(--vibe-cream, #F5F1E8);
}

body.vibe-gallery-page .vibe-photo:hover .vibe-photo-caption {
  transform: translateY(0);
}

body.vibe-gallery-page .vibe-photo-caption-label {
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--pillar, #2D9CDB) !important;
  -webkit-text-fill-color: var(--pillar, #2D9CDB) !important;
  margin-bottom: 4px;
  margin-top: 0;
}

body.vibe-gallery-page .vibe-photo-caption-text {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 15px;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  line-height: 1.3;
  font-style: italic;
  margin: 0;
}

/* === RESPONSIVE === */
@media (max-width: 900px) {
  body.vibe-gallery-page .vibe-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 180px !important;
    gap: 12px !important;
  }
  body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
  }
  body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(4),
  body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(6),
  body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(9),
  body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(11) {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 600px) {
  body.vibe-gallery-page .vibe-bento {
    grid-template-columns: 1fr !important;
    grid-auto-rows: 240px !important;
    gap: 10px !important;
  }
  body.vibe-gallery-page .vibe-bento .vibe-photo:nth-child(1) {
    grid-column: auto;
    grid-row: span 2;
  }
  body.vibe-gallery-page .vibe-bento .vibe-photo-caption {
    transform: translateY(0);
    background: linear-gradient(180deg, transparent 30%, rgba(14,15,20,0.85) 100%);
  }
}

/* === END VIBE GALERIE BENTO === */

/* ═══════════════════════════════════════════════
   FIX-HERO-POMOC v2
   1. em gradient — dodać !important do clip/fill
   2. hero-intro full-width (1 col, nie 2)
   ═══════════════════════════════════════════════ */

/* FIX 1 — em "siła" gradient text (fioletowy kwadrat → gradient text) */
html body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-h1 em,
html body.vibe-light-page.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-h1 em {
  font-style: italic !important;
  color: #7B3FE4 !important;
  background: linear-gradient(180deg, #A57FFF 0%, #7B3FE4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  display: inline !important;
}

/* FIX 2 — hero-intro pełna szerokość (H1 na całą, lead pod spodem) */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro {
  display: block !important;
  margin: 0 0 64px 0 !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro > .wp-block-group__inner-container {
  display: block !important;
  background: transparent !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro > .wp-block-group__inner-container > .wp-block-group {
  display: block !important;
  background: transparent !important;
  margin-bottom: 24px !important;
}

/* H1 pełna szerokość */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-h1 {
  max-width: 100% !important;
}

/* lead max-width ograniczony do czytelności */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-lead {
  max-width: 680px !important;
}

/* hero-contacts — 2 karty obok siebie (grid) */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-contacts {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  margin-top: 56px !important;
}

body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-contacts > .wp-block-group__inner-container {
  display: contents !important;
  background: transparent !important;
}

/* === END FIX-HERO-POMOC v2 === */

/* ═══ FIX-HERO-POMOC v3 — H1 jedna linia + lead full-width ═══ */

/* H1 mniejszy font żeby "o pomoc to siła, nie słabość." zmieścił się w 1 linii */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-h1 {
  font-size: clamp(44px, 5.5vw, 84px) !important;
  line-height: 1.0 !important;
  max-width: 100% !important;
}

/* Lead — pełna szerokość, nie ściśnięty */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-lead {
  max-width: 100% !important;
  font-size: 19px !important;
}

/* Mniejszy gap pod intro żeby karty były bliżej */
body.hero-page--pomoc-i-wazne-kontakty .vibe-pomoc-hero-intro {
  margin: 0 0 48px 0 !important;
}

/* === END FIX-HERO-POMOC v3 === */

/* ╔══════════════════════════════════════════════════
   ║ VIBE HERO SYSTEM NGO 2026 — BAZA (FAZA 1)
   ║ Data: 25.05.2026
   ║ Scope: body[class*="hero-page--"] .vibe-hero
   ║ Warianty: --dark (lime) / --cream (violet)
   ╚══════════════════════════════════════════════════ */

/* ⚠️ KILL KADENCE MARGIN-BLOCK — hero-page--* first block */
body[class*="hero-page--"] .entry-content > .wp-block-group:first-child,
body[class*="hero-page--"] .entry-content > .wp-block-cover:first-child,
body[class*="hero-page--"] .entry-content > section.wp-block-group:first-child,
body[class*="hero-page--"] .vibe-hero {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body[class*="hero-page--"] .vibe-hero + .wp-block-group,
body[class*="hero-page--"] .vibe-hero + .wp-block-cover,
body[class*="hero-page--"] .vibe-hero + section {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* === FULL-BLEED BASE === */
body[class*="hero-page--"] .vibe-hero {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: clamp(80px, 12vh, 140px) clamp(40px, 6vw, 80px) !important;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

body[class*="hero-page--"] .vibe-hero-wrap {
  max-width: 1320px !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 5;
}

body[class*="hero-page--"] .vibe-hero-wrap > .wp-block-group__inner-container,
body[class*="hero-page--"] .vibe-hero > .wp-block-group__inner-container {
  background: transparent !important;
}

/* === GRID LAYOUT === */
body[class*="hero-page--"] .vibe-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: clamp(40px, 6vw, 80px) !important;
  align-items: center !important;
}

body[class*="hero-page--"] .vibe-hero-grid > *,
body[class*="hero-page--"] .vibe-hero-grid > .wp-block-group__inner-container > * {
  min-width: 0 !important;
}

body[class*="hero-page--"] .vibe-hero-grid > .wp-block-group__inner-container {
  display: contents !important;
  background: transparent !important;
}

body[class*="hero-page--"] .vibe-hero-grid--full {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* === VARIANT DARK === */
body[class*="hero-page--"] .vibe-hero--dark {
  background: var(--vibe-ink, #0E0F14) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  --hero-pc: var(--vibe-lime, #C8F542);
}

body[class*="hero-page--"] .vibe-hero--dark::before {
  content: "";
  position: absolute;
  top: -150px; right: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(200,245,66,0.10) 0%, transparent 60%);
  filter: blur(100px);
  pointer-events: none;
  z-index: 0;
}

body[class*="hero-page--"] .vibe-hero--dark::after {
  content: "";
  position: absolute;
  bottom: -200px; left: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(123,63,228,0.06) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}

/* Wszystkie inner groups w dark hero → transparent */
body[class*="hero-page--"] .vibe-hero--dark .wp-block-group {
  background: transparent !important;
}

/* === VARIANT CREAM (FAZA 2) === */
body[class*="hero-page--"] .vibe-hero--cream {
  background: var(--vibe-cream, #F5F1E8) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  --hero-pc: var(--vibe-violet, #7B3FE4);
}

body[class*="hero-page--"] .vibe-hero--cream::before {
  content: "";
  position: absolute;
  top: -150px; right: -150px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(123,63,228,0.08) 0%, transparent 60%);
  filter: blur(100px);
  pointer-events: none;
}

body[class*="hero-page--"] .vibe-hero--cream .wp-block-group {
  background: transparent !important;
}

/* === SECTION NUMBER === */
body[class*="hero-page--"] .vibe-hero-section-number {
  position: absolute !important;
  top: 32px; right: 32px;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(245,241,232,0.35) !important;
  -webkit-text-fill-color: rgba(245,241,232,0.35) !important;
  z-index: 10;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-section-number {
  color: rgba(14,15,20,0.35) !important;
  -webkit-text-fill-color: rgba(14,15,20,0.35) !important;
}

/* === EYEBROW PILL === */
body[class*="hero-page--"] .vibe-hero-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 32px 0 !important;
  width: auto !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-eyebrow {
  background: rgba(245,241,232,0.06) !important;
  border: 1px solid rgba(245,241,232,0.12) !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-eyebrow {
  background: rgba(123,63,228,0.08) !important;
  border: 1px solid rgba(123,63,228,0.25) !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  -webkit-text-fill-color: var(--vibe-violet, #7B3FE4) !important;
}

body[class*="hero-page--"] .vibe-hero-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--hero-pc, #C8F542);
  box-shadow: 0 0 12px color-mix(in srgb, var(--hero-pc, #C8F542) 50%, transparent);
  flex-shrink: 0;
}

/* === H1 EDITORIAL === */
body[class*="hero-page--"] .vibe-hero-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(44px, 6.5vw, 96px) !important;
  font-weight: 300 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 28px 0 !important;
  max-width: 920px !important;
  hyphens: manual !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-h1 {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-h1 {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

body[class*="hero-page--"] .vibe-hero-h1 em {
  font-style: italic !important;
  color: var(--hero-pc, #C8F542) !important;
  -webkit-text-fill-color: var(--hero-pc, #C8F542) !important;
}

/* === LEAD === */
body[class*="hero-page--"] .vibe-hero-lead {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  max-width: 540px !important;
  margin: 0 0 40px 0 !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-lead {
  color: rgba(245,241,232,0.78) !important;
  -webkit-text-fill-color: rgba(245,241,232,0.78) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-lead {
  color: rgba(14,15,20,0.72) !important;
  -webkit-text-fill-color: rgba(14,15,20,0.72) !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-lead strong {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-lead strong {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
}

/* === CTA ROW === */
body[class*="hero-page--"] .vibe-hero-cta-row {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin: 0 0 48px 0 !important;
}

body[class*="hero-page--"] .wp-block-button.vibe-hero-cta-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 18px 32px !important;
  background: var(--hero-pc, #C8F542) !important;
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  border: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body[class*="hero-page--"] .wp-block-button.vibe-hero-cta-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--hero-pc, #C8F542) 30%, transparent);
}

body[class*="hero-page--"] .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 17px 28px !important;
  background: transparent !important;
  border-radius: 999px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, color 0.2s ease;
}

body[class*="hero-page--"] .vibe-hero--dark .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link {
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  border: 1.5px solid rgba(245,241,232,0.3) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link {
  color: var(--vibe-ink, #0E0F14) !important;
  -webkit-text-fill-color: var(--vibe-ink, #0E0F14) !important;
  border: 1.5px solid rgba(14,15,20,0.25) !important;
}

body[class*="hero-page--"] .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link:hover {
  border-color: var(--hero-pc, #C8F542) !important;
  color: var(--hero-pc, #C8F542) !important;
  -webkit-text-fill-color: var(--hero-pc, #C8F542) !important;
}

/* === STAT STRIP === */
body[class*="hero-page--"] .vibe-hero-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding-top: 36px !important;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero-stats > .wp-block-group__inner-container {
  display: contents !important;
  background: transparent !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-stats {
  border-top: 1px solid rgba(245,241,232,0.12) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-stats {
  border-top: 1px solid rgba(14,15,20,0.12) !important;
}

body[class*="hero-page--"] .vibe-hero-stat {
  padding: 0 20px !important;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-stat {
  border-right: 1px solid rgba(245,241,232,0.08);
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-stat {
  border-right: 1px solid rgba(14,15,20,0.08);
}

body[class*="hero-page--"] .vibe-hero-stat:first-child { padding-left: 0 !important; }
body[class*="hero-page--"] .vibe-hero-stat:last-child { border-right: none !important; }

body[class*="hero-page--"] .vibe-hero-stat-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 350 !important;
  color: var(--hero-pc, #C8F542) !important;
  -webkit-text-fill-color: var(--hero-pc, #C8F542) !important;
  line-height: 1 !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: -0.02em !important;
}

body[class*="hero-page--"] .vibe-hero-stat-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-stat-label {
  color: rgba(245,241,232,0.55) !important;
  -webkit-text-fill-color: rgba(245,241,232,0.55) !important;
}

body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-stat-label {
  color: rgba(14,15,20,0.55) !important;
  -webkit-text-fill-color: rgba(14,15,20,0.55) !important;
}

/* === VISUAL PANEL (foto z prawej) === */
body[class*="hero-page--"] .vibe-hero-visual {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: linear-gradient(135deg, #2a3340 0%, #1a1f28 50%, #15171E 100%);
  border: 1px solid rgba(245,241,232,0.10);
  display: flex;
  align-items: flex-end;
  z-index: 5;
}

body[class*="hero-page--"] .vibe-hero-visual img,
body[class*="hero-page--"] .vibe-hero-visual figure,
body[class*="hero-page--"] .vibe-hero-visual .wp-block-image {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  display: block;
  z-index: 1;
}

body[class*="hero-page--"] .vibe-hero-visual-caption {
  position: relative;
  z-index: 3;
  padding: 28px;
  width: 100%;
  background: linear-gradient(180deg, transparent 0%, rgba(14,15,20,0.5) 50%, rgba(14,15,20,0.92) 100%);
}

body[class*="hero-page--"] .vibe-hero-visual-caption-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
  margin: 0 0 6px 0 !important;
}

body[class*="hero-page--"] .vibe-hero-visual-caption-text {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* === PILLARS LIST (oferta-dla-szkol) === */
body[class*="hero-page--"] .vibe-hero-pillars-list {
  background: rgba(245,241,232,0.03);
  border: 1px solid rgba(245,241,232,0.08);
  border-radius: 20px;
  padding: 8px 0;
  z-index: 5;
}

body[class*="hero-page--"] .vibe-hero-pillar-link {
  display: grid !important;
  grid-template-columns: 60px 1fr 30px !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 24px 32px !important;
  border-bottom: 1px solid rgba(245,241,232,0.06) !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
  text-decoration: none !important;
  transition: background 0.2s ease, padding-left 0.2s ease;
}

body[class*="hero-page--"] .vibe-hero-pillar-link:last-child { border-bottom: none !important; }

body[class*="hero-page--"] .vibe-hero-pillar-link:hover {
  background: rgba(245,241,232,0.04) !important;
  padding-left: 40px !important;
}

body[class*="hero-page--"] .vibe-hero-pillar-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: rgba(245,241,232,0.5) !important;
  -webkit-text-fill-color: rgba(245,241,232,0.5) !important;
}

body[class*="hero-page--"] .vibe-hero-pillar-name {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--vibe-cream, #F5F1E8) !important;
  -webkit-text-fill-color: var(--vibe-cream, #F5F1E8) !important;
}

body[class*="hero-page--"] .vibe-hero-pillar-name em {
  font-style: italic !important;
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

body[class*="hero-page--"] .vibe-hero-pillar-arrow {
  font-size: 22px !important;
  color: rgba(245,241,232,0.4) !important;
  -webkit-text-fill-color: rgba(245,241,232,0.4) !important;
  text-align: right !important;
  transition: color 0.2s ease;
}

body[class*="hero-page--"] .vibe-hero-pillar-link:hover .vibe-hero-pillar-arrow {
  color: var(--vibe-lime, #C8F542) !important;
  -webkit-text-fill-color: var(--vibe-lime, #C8F542) !important;
}

/* ─── FIX-VOID: HOME + PROGRAMY mają hero-page--void na body ───
   body.hero-page--void .entry-content > .wp-block-group = spec 0-5-1
   Nasz override z html prefix = 0-5-2 ✅
   ─────────────────────────────────────────────────────────────── */
html body.hero-page--void.hero-page--home .entry-content > .wp-block-group.vibe-hero,
html body.hero-page--void.hero-page--home .entry-content > section.wp-block-group.vibe-hero {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}
html body.hero-page--void.hero-page--void .entry-content > .wp-block-group.vibe-hero,
html body.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-hero,
html body.hero-page--void.hero-page--programy .entry-content > section.wp-block-group.vibe-hero {
  background: #0E0F14 !important;
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

html body.hero-page--void.hero-page--home .vibe-hero .wp-block-group,
html body.hero-page--void.hero-page--programy .vibe-hero .wp-block-group {
  background: transparent !important;
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 900px) {
  body[class*="hero-page--"] .vibe-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body[class*="hero-page--"] .vibe-hero-stats {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  body[class*="hero-page--"] .vibe-hero-stat {
    border-right: none !important;
    padding: 16px 0 !important;
  }
  body[class*="hero-page--"] .vibe-hero--dark .vibe-hero-stat {
    border-bottom: 1px solid rgba(245,241,232,0.08);
  }
  body[class*="hero-page--"] .vibe-hero--cream .vibe-hero-stat {
    border-bottom: 1px solid rgba(14,15,20,0.08) !important;
  }
  body[class*="hero-page--"] .vibe-hero-stat:last-child {
    border-bottom: none !important;
  }
  body[class*="hero-page--"] .vibe-hero-h1 {
    font-size: clamp(36px, 10vw, 56px) !important;
  }
  body[class*="hero-page--"] .vibe-hero-pillar-link {
    grid-template-columns: 50px 1fr 30px !important;
    padding: 18px 24px !important;
    gap: 16px !important;
  }
  body[class*="hero-page--"] .vibe-hero-pillar-name { font-size: 18px !important; }
}

/* === END VIBE HERO SYSTEM NGO 2026 BAZA === */


/* ─── HOTFIX: PROGRAMY dark sections — nth-child shifted after FAZA 1 hero replace ───
   Stary hero = 2 elementy DOM (p-komentarz + section). Nowy = 1 element.
   → filar-01 przesunął się na pozycję 5 i jest przykrywany przez nth-child(5) (krem, spec 0-6-1).
   Override: spec 0-7-2 dla wewnętrznych grup + spec 0-6-3 dla tekstu.
   ─────────────────────────────────────────────────────────────────────────────────── */

/* Inner wp-block-group → transparent w ciemnych sekcjach */
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 .wp-block-group,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 .wp-block-group,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--cta .wp-block-group {
  background: transparent !important;
}

/* Inner wp-block-column → transparent */
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 .wp-block-column,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 .wp-block-column,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--cta .wp-block-column {
  background: transparent !important;
}

/* Kolor tekstu cream w ciemnych sekcjach (spec 0-6-3 > nth-child text override 0-5-2) */
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 p,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 h2,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 h3,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 a:not(.wp-block-button__link),
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 p,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 h2,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 h3,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 a:not(.wp-block-button__link),
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--cta p,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--cta h2,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--cta h3 {
  color: #F5F1E8 !important;
  -webkit-text-fill-color: #F5F1E8 !important;
}

/* em w ciemnych sekcjach = kolor pilara (--pc) */
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-01 em,
html body.page-id-417.hero-page--void.hero-page--programy .entry-content > .wp-block-group.vibe-programy-section--filar-03 em {
  color: var(--pc) !important;
  -webkit-text-fill-color: var(--pc) !important;
}

/* === END HOTFIX PROGRAMY === */

/* ╔══════════════════════════════════════════════════
   ║ VIBE HERO SYSTEM NGO 2026 — FAZA 2 (CREAM)
   ║ Data: 25.05.2026
   ║ Dodatek: .vibe-hero-proof (proof panel po prawej)
   ╚══════════════════════════════════════════════════ */

/* === PROOF PANEL — visual right dla CREAM Relationship === */
body[class*="hero-page--"] .vibe-hero-proof {
  position: relative;
  background: #FBF7EE;
  border: 1px solid rgba(123, 63, 228, 0.20);
  border-radius: 20px;
  padding: 40px 36px;
  z-index: 5;
}

body[class*="hero-page--"] .vibe-hero-proof::before {
  content: "";
  position: absolute;
  top: 0; left: 36px;
  width: 60px; height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--hero-pc);
}

body[class*="hero-page--"] .vibe-hero-proof-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(14, 15, 20, 0.5) !important;
  margin: 0 0 16px 0 !important;
  font-weight: 600 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-big {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(40px, 5vw, 60px) !important;
  font-weight: 350 !important;
  color: var(--hero-pc) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 14px 0 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-sub {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14.5px !important;
  color: rgba(14, 15, 20, 0.65) !important;
  line-height: 1.5 !important;
  padding-bottom: 22px !important;
  border-bottom: 1px solid rgba(14, 15, 20, 0.08);
  margin: 0 0 20px 0 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-rows {
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-row {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 10px 0 !important;
  font-size: 13.5px !important;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-row > * { min-width: 0 !important; }

body[class*="hero-page--"] .vibe-hero-proof-row-key {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(14, 15, 20, 0.55) !important;
  padding-top: 2px;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-row-val {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 14px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

body[class*="hero-page--"] .vibe-hero-proof-row-val a {
  color: var(--vibe-violet, #7B3FE4) !important;
  text-decoration: none !important;
}

body[class*="hero-page--"] .vibe-hero-proof-row-val a:hover {
  text-decoration: underline !important;
}

/* Variant: full bullets (lista, nie key:val) */
body[class*="hero-page--"] .vibe-hero-proof-bullet {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  color: rgba(14, 15, 20, 0.78) !important;
  align-items: start;
}

body[class*="hero-page--"] .vibe-hero-proof-bullet > * { min-width: 0 !important; }

body[class*="hero-page--"] .vibe-hero-proof-bullet::before {
  content: "✓";
  color: var(--hero-pc) !important;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.45;
}

/* === MOBILE === */
@media (max-width: 900px) {
  body[class*="hero-page--"] .vibe-hero-proof {
    padding: 28px 24px !important;
  }
  body[class*="hero-page--"] .vibe-hero-proof-row {
    grid-template-columns: 1fr !important;
    gap: 4px 0 !important;
  }
  body[class*="hero-page--"] .vibe-hero-proof-row-key {
    padding-top: 8px !important;
  }
}

/* === END VIBE HERO FAZA 2 CSS PATCH === */

/* ╔══════════════════════════════════════════════════
   ║ VIBE BLOG EDITORIAL — FAZA 4A
   ║ Data: 25.05.2026
   ║ Single Post — 12 elementów spine
   ║ Scope: body.editorial-post
   ╚══════════════════════════════════════════════════ */

/* === KILL KADENCE single post defaults === */
body.editorial-post .entry-hero,
body.editorial-post .entry-header,
body.editorial-post .single-featured-image-container,
body.editorial-post .breadcrumb,
body.editorial-post .entry-meta {
  display: none !important;
}
body.editorial-post .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
body.editorial-post .content-area,
body.editorial-post .site-content,
body.editorial-post .content-container,
body.editorial-post .site-main {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
body.editorial-post #primary { padding: 0 !important; }

/* === KILL old in-content elements (eyebrow+H1 block + author columns) === */
body.editorial-post .vibe-post-content .vibe-article-content > .wp-block-group:first-child {
  display: none !important;
}
body.editorial-post .vibe-post-content .vibe-article-content > .wp-block-columns:first-of-type {
  display: none !important;
}
body.editorial-post .vibe-post-content h1 {
  display: none !important;
}
body.editorial-post .vibe-post-content .vibe-eyebrow {
  display: none !important;
}

/* === 01 PROGRESS BAR (sticky top) === */
.vibe-post-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0;
  background: var(--vibe-violet, #7B3FE4);
  z-index: 9999;
  transition: width 100ms ease;
}

/* === 02 POST HERO === */
.vibe-post-hero {
  background: var(--vibe-cream, #F5F1E8);
  padding: clamp(60px, 10vh, 100px) clamp(24px, 6vw, 80px) clamp(40px, 6vh, 60px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-bottom: 1px solid rgba(14,15,20,0.06);
}
.vibe-post-hero-wrap {
  max-width: 900px;
  margin: 0 auto;
}
.vibe-post-meta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px;
  background: rgba(123,63,228,0.08);
  border: 1px solid rgba(123,63,228,0.25);
  border-radius: 999px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--vibe-violet, #7B3FE4);
  margin-bottom: 28px;
}
.vibe-post-meta::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vibe-violet, #7B3FE4);
  box-shadow: 0 0 12px rgba(123,63,228,0.4);
}
.vibe-post-meta-sep {
  display: inline-block;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(123,63,228,0.4);
}
.vibe-post-h1 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 300 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 24px 0 !important;
  max-width: 900px;
}
.vibe-post-h1 em {
  font-style: italic !important;
  color: var(--vibe-violet, #7B3FE4) !important;
}
.vibe-post-lead {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 350 !important;
  line-height: 1.4 !important;
  color: rgba(14,15,20,0.7) !important;
  max-width: 720px;
  margin: 0 0 40px 0 !important;
}
.vibe-post-byline {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid rgba(14,15,20,0.1);
}
.vibe-post-avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vibe-violet,#7B3FE4) 0%, #5C2BB8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  flex-shrink: 0;
  overflow: hidden;
}
.vibe-post-avatar img { width: 100%; height: 100%; object-fit: cover; }
.vibe-post-byline-name {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--vibe-ink, #0E0F14) !important;
  margin: 0 0 2px 0 !important;
}
.vibe-post-byline-role {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(14,15,20,0.55) !important;
  margin: 0 !important;
}

/* === 03–08 BODY LAYOUT (TOC + Content + Share) === */
.vibe-post-body {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: grid;
  grid-template-columns: 200px minmax(0, 760px) 80px;
  gap: clamp(24px, 4vw, 60px);
  padding: clamp(40px, 6vh, 80px) clamp(24px, 6vw, 80px) clamp(60px, 8vh, 100px);
  max-width: 1320px;
  margin-inline: auto;
  background: var(--vibe-cream, #F5F1E8);
  justify-content: center;
}
.vibe-post-body > * { min-width: 0; }

/* === TOC sticky left === */
.vibe-post-toc {
  position: sticky;
  top: 40px;
  align-self: start;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
}
.vibe-post-toc-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(14,15,20,0.4);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(14,15,20,0.08);
}
.vibe-post-toc-list { list-style: none; padding: 0; margin: 0; }
.vibe-post-toc-item {
  display: block;
  padding: 8px 0 8px 14px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13.5px;
  line-height: 1.4;
  color: rgba(14,15,20,0.6);
  text-decoration: none;
  border-left: 2px solid transparent;
  margin-left: -16px;
  transition: all 0.2s ease;
}
.vibe-post-toc-item:hover { color: var(--vibe-ink,#0E0F14); border-left-color: rgba(123,63,228,0.4); }
.vibe-post-toc-item.is-active { border-left-color: var(--vibe-violet,#7B3FE4); color: var(--vibe-ink,#0E0F14); font-weight: 500; }
.vibe-post-toc-item.is-h3 { padding-left: 28px; font-size: 12.5px; opacity: 0.7; }

/* === 04–06 ARTICLE CONTENT === */
.vibe-post-content {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: clamp(17px, 1.6vw, 19px) !important;
  line-height: 1.75 !important;
  color: rgba(14,15,20,0.88) !important;
  max-width: 720px;
}
.vibe-post-content > * { max-width: 720px; }
.vibe-post-content p { margin: 0 0 24px 0 !important; }

/* 04 Drop cap */
.vibe-post-content .vibe-article-content > .wp-block-group > p:first-of-type::first-letter,
.vibe-post-content > p:first-of-type::first-letter {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(72px, 8vw, 96px);
  line-height: 0.85;
  float: left;
  margin: 6px 16px 0 -4px;
  color: var(--vibe-violet, #7B3FE4);
}

/* 05 H2 editorial */
.vibe-post-content h2 {
  font-family: 'Fraunces', serif !important;
  font-weight: 350 !important;
  font-size: clamp(30px, 3.5vw, 40px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  margin: 56px 0 24px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  scroll-margin-top: 80px;
}
.vibe-post-content h2 em { font-style: italic !important; color: var(--vibe-violet,#7B3FE4) !important; }
.vibe-post-content h3 {
  font-family: 'Fraunces', serif !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 2.5vw, 26px) !important;
  line-height: 1.25 !important;
  margin: 40px 0 16px !important;
  color: var(--vibe-ink, #0E0F14) !important;
  scroll-margin-top: 80px;
}

/* 06 Pull quotes */
.vibe-post-content blockquote,
.vibe-post-content .wp-block-quote,
.vibe-post-content .wp-block-pullquote {
  border-left: 4px solid var(--vibe-violet,#7B3FE4) !important;
  padding: 12px 0 12px 28px !important;
  margin: 40px 0 !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: clamp(22px, 2.6vw, 28px) !important;
  font-weight: 350 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  color: var(--vibe-ink, #0E0F14) !important;
  background: transparent !important;
  text-align: left !important;
}
.vibe-post-content blockquote p { margin-bottom: 12px !important; }
.vibe-post-content blockquote cite,
.vibe-post-content blockquote .wp-block-quote__citation {
  display: block;
  margin-top: 12px;
  font-family: 'JetBrains Mono', monospace !important;
  font-style: normal !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(14,15,20,0.5) !important;
  font-weight: 600 !important;
}

/* Lists */
.vibe-post-content ul, .vibe-post-content ol { margin: 0 0 24px 24px !important; padding-left: 8px !important; }
.vibe-post-content li { margin-bottom: 12px !important; line-height: 1.65 !important; }

/* Images */
.vibe-post-content img,
.vibe-post-content .wp-block-image { border-radius: 12px; margin: 32px 0 !important; max-width: 100% !important; height: auto; }
.vibe-post-content figcaption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(14,15,20,0.5);
  margin-top: 10px;
  text-align: center;
}

/* === 07 INLINE CTA DONATE === */
.vibe-post-inline-cta {
  background: var(--vibe-ink, #0E0F14);
  color: var(--vibe-cream, #F5F1E8);
  padding: 36px;
  border-radius: 16px;
  margin: 48px 0 !important;
  position: relative;
  overflow: hidden;
  max-width: 720px;
}
.vibe-post-inline-cta::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(200,245,66,0.15) 0%, transparent 60%);
  filter: blur(40px);
}
.vibe-post-inline-cta-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vibe-lime, #C8F542);
  margin-bottom: 12px;
  position: relative; z-index: 2;
}
.vibe-post-inline-cta-text {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 350;
  line-height: 1.3;
  color: var(--vibe-cream, #F5F1E8);
  margin: 0 0 24px 0;
  position: relative; z-index: 2;
}
.vibe-post-inline-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border-radius: 999px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  position: relative; z-index: 2;
  transition: transform 0.2s ease;
}
.vibe-post-inline-cta-btn:hover { transform: translateY(-2px); color: var(--vibe-ink,#0E0F14); }

/* === 08 SHARE RAIL right === */
.vibe-post-share { position: sticky; top: 40px; align-self: start; }
.vibe-post-share-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(14,15,20,0.4);
  margin: 0 auto 14px;
  writing-mode: vertical-rl;
  display: block;
  width: 14px;
}
.vibe-post-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  background: white;
  border: 1px solid rgba(14,15,20,0.1);
  border-radius: 50%;
  margin: 0 auto 10px;
  color: rgba(14,15,20,0.6);
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}
.vibe-post-share-btn:hover { border-color: var(--vibe-violet,#7B3FE4); color: var(--vibe-violet,#7B3FE4); transform: translateY(-2px); }

/* === 09 AUTHOR BIO === */
.vibe-post-author-bio {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 24px;
  background: #FBF7EE;
  border: 1px solid rgba(123,63,228,0.2);
  border-radius: 16px;
  padding: 32px;
  margin-top: 60px;
  max-width: 720px;
  position: relative;
}
.vibe-post-author-bio::before {
  content: "";
  position: absolute;
  top: 0; left: 32px;
  width: 60px; height: 3px;
  background: var(--vibe-violet, #7B3FE4);
  border-radius: 0 0 3px 3px;
}
.vibe-post-author-bio-avatar {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vibe-violet,#7B3FE4) 0%, #5C2BB8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 32px;
  overflow: hidden;
}
.vibe-post-author-bio-avatar img { width: 100%; height: 100%; object-fit: cover; }
.vibe-post-author-bio-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(14,15,20,0.45);
  margin-bottom: 8px;
}
.vibe-post-author-bio-name {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 24px !important;
  margin: 0 0 6px 0 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}
.vibe-post-author-bio-role {
  font-size: 13px !important;
  color: var(--vibe-violet, #7B3FE4) !important;
  font-weight: 600 !important;
  margin: 0 0 12px 0 !important;
  font-family: 'Source Sans 3', sans-serif !important;
}
.vibe-post-author-bio-text { font-size: 14.5px; color: rgba(14,15,20,0.7); line-height: 1.55; margin: 0 0 12px 0; }
.vibe-post-author-bio-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--vibe-violet, #7B3FE4);
  text-decoration: none;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* === 10 RELATED POSTS === */
.vibe-post-related {
  background: var(--vibe-cream-warm, #EEE8DA);
  padding: clamp(60px,8vh,80px) clamp(24px,6vw,60px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.vibe-post-related-wrap { max-width: 1240px; margin: 0 auto; }
.vibe-post-related-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(14,15,20,0.1);
}
.vibe-post-related-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(28px,3.6vw,40px) !important;
  font-weight: 350 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}
.vibe-post-related-h2 em { font-style: italic !important; color: var(--vibe-violet,#7B3FE4) !important; }
.vibe-post-related-link {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--vibe-violet, #7B3FE4);
  text-decoration: none;
}
.vibe-post-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.vibe-post-related-grid > * { min-width: 0; }
.vibe-related-card {
  background: white;
  border: 1px solid rgba(14,15,20,0.08);
  border-radius: 16px;
  padding: 24px;
  text-decoration: none;
  color: var(--vibe-ink, #0E0F14);
  transition: all 0.2s ease;
  display: block;
}
.vibe-related-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(14,15,20,0.08); border-color: var(--vibe-violet,#7B3FE4); }
.vibe-related-card-cat {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 12px 0;
}
.vibe-related-card-cat--p01 { color: #7B3FE4; }
.vibe-related-card-cat--p02 { color: #E85D75; }
.vibe-related-card-cat--p03 { color: #2D9CDB; }
.vibe-related-card-cat--p04 { color: #F2A93C; }
.vibe-related-card-h3 {
  font-family: 'Fraunces', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 12px 0 !important;
  color: var(--vibe-ink, #0E0F14) !important;
}
.vibe-related-card-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(14,15,20,0.5);
  padding-top: 12px;
  border-top: 1px solid rgba(14,15,20,0.08);
}

/* === 11 FINAL DONATE CTA === */
.vibe-post-final-cta {
  background: var(--vibe-ink, #0E0F14);
  color: var(--vibe-cream, #F5F1E8);
  padding: clamp(60px,8vh,100px) clamp(24px,6vw,80px);
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.vibe-post-final-cta::before {
  content: "";
  position: absolute;
  top: -150px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 600px;
  background: radial-gradient(circle, rgba(200,245,66,0.12) 0%, transparent 60%);
  filter: blur(80px);
}
.vibe-post-final-cta-eyebrow {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vibe-lime, #C8F542);
  margin-bottom: 16px;
  position: relative;
}
.vibe-post-final-cta-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(32px,4vw,52px) !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
  position: relative;
  color: var(--vibe-cream, #F5F1E8) !important;
}
.vibe-post-final-cta-h2 em { font-style: italic !important; color: var(--vibe-lime,#C8F542) !important; }
.vibe-post-final-cta-lead { font-size: 16px; color: rgba(245,241,232,0.7); margin: 0 auto 32px; max-width: 540px; position: relative; }
.vibe-post-final-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  background: var(--vibe-lime, #C8F542);
  color: var(--vibe-ink, #0E0F14);
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.02em;
  position: relative;
  transition: transform 0.2s ease;
}
.vibe-post-final-cta-btn:hover { transform: translateY(-2px); color: var(--vibe-ink,#0E0F14); }

/* === MOBILE === */
@media (max-width: 1024px) {
  .vibe-post-body {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 32px !important;
  }
  .vibe-post-toc {
    position: static !important;
    max-height: none !important;
    margin-bottom: 24px;
    padding: 20px;
    background: #FBF7EE;
    border-radius: 12px;
  }
  .vibe-post-share {
    position: static !important;
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 32px 0;
    border-top: 1px solid rgba(14,15,20,0.08);
    margin-top: 32px;
  }
  .vibe-post-share-btn { margin: 0; }
  .vibe-post-share-label { display: none; }
  .vibe-post-related-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
  .vibe-post-content > p:first-of-type::first-letter {
    font-size: 64px;
    margin: 4px 12px 0 0;
  }
  .vibe-post-author-bio {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
  .vibe-post-author-bio-avatar { margin: 0 auto; }
}

/* === END VIBE BLOG EDITORIAL FAZA 4A === */

/* ============================================================
   VIBE BLOG ARCHIVE — FAZA 4B
   scope: body.editorial-archive
   ============================================================ */

/* ---------- 00. Reset Kadence archive defaults ---------- */
body.editorial-archive #inner-wrap {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* ---------- 01. Archive root wrapper ---------- */
.vibe-archive-root {
  background: var(--vibe-cream, #F5F1E8);
  min-height: 60vh;
  padding-bottom: clamp(48px, 8vw, 96px);
}

/* ---------- 02. Archive Hero header (kremowe tło) ---------- */
.vibe-archive-hero {
  background: var(--vibe-cream, #F5F1E8);
  color: var(--vibe-dark, #1A1A2E);
  padding: clamp(48px, 8vw, 96px) clamp(16px, 5vw, 80px) clamp(32px, 5vw, 56px);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(26,26,46,.08);
}
.vibe-archive-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 90% at 90% 60%, rgba(123,63,228,.07) 0%, transparent 70%);
  pointer-events: none;
}
.vibe-archive-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.vibe-archive-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--vibe-dark, #1A1A2E);
  opacity: .5;
  margin-bottom: 16px;
}
.vibe-archive-eyebrow::before {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: var(--vibe-purple, #7B3FE4);
  flex-shrink: 0;
  opacity: 1;
}
.vibe-archive-h1 {
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  color: var(--vibe-dark, #1A1A2E);
}
.vibe-archive-h1 em {
  font-style: normal;
  color: var(--vibe-purple, #7B3FE4);
}
.vibe-archive-desc {
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.6;
  color: rgba(26,26,46,.65);
  max-width: 560px;
  margin: 0 0 28px;
}
.vibe-archive-meta-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 32px;
  font-size: 13px;
  color: rgba(26,26,46,.45);
}
.vibe-archive-meta-bar span strong {
  color: var(--vibe-dark, #1A1A2E);
  font-weight: 700;
}

/* Pillar hero eyebrow accent colors */
body.editorial-archive-p01 .vibe-archive-eyebrow::before { background: #7B3FE4; }
body.editorial-archive-p02 .vibe-archive-eyebrow::before { background: #E85D75; }
body.editorial-archive-p02 .vibe-archive-h1              { color: #E85D75; }
body.editorial-archive-p03 .vibe-archive-eyebrow::before { background: #2D9CDB; }
body.editorial-archive-p03 .vibe-archive-h1              { color: #2D9CDB; }
body.editorial-archive-p04 .vibe-archive-eyebrow::before { background: #F2A93C; }
body.editorial-archive-p04 .vibe-archive-h1              { color: var(--vibe-dark, #1A1A2E); }

/* Pillar hero tint (subtle background accent) */
body.editorial-archive-p01 .vibe-archive-hero::before {
  background: radial-gradient(ellipse 55% 90% at 90% 60%, rgba(123,63,228,.08) 0%, transparent 70%);
}
body.editorial-archive-p02 .vibe-archive-hero::before {
  background: radial-gradient(ellipse 55% 90% at 90% 60%, rgba(232,93,117,.08) 0%, transparent 70%);
}
body.editorial-archive-p03 .vibe-archive-hero::before {
  background: radial-gradient(ellipse 55% 90% at 90% 60%, rgba(45,156,219,.08) 0%, transparent 70%);
}
body.editorial-archive-p04 .vibe-archive-hero::before {
  background: radial-gradient(ellipse 55% 90% at 90% 60%, rgba(242,169,60,.08) 0%, transparent 70%);
}

/* ---------- 03. Filter bar (kremowy) ---------- */
.vibe-filter-bar {
  background: var(--vibe-cream, #F5F1E8);
  border-top: 1px solid rgba(26,26,46,.08);
  border-bottom: 1px solid rgba(26,26,46,.08);
  padding: 0 clamp(16px, 5vw, 80px);
  position: sticky;
  top: 0;
  z-index: 90;
}
.vibe-filter-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 10px 0;
}
.vibe-filter-bar-inner::-webkit-scrollbar { display: none; }

.vibe-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  border: 1.5px solid rgba(26,26,46,.15);
  background: transparent;
  color: rgba(26,26,46,.6);
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
  flex-shrink: 0;
}
.vibe-filter-chip:hover {
  background: rgba(26,26,46,.06);
  color: var(--vibe-dark, #1A1A2E);
  border-color: rgba(26,26,46,.25);
  text-decoration: none;
}
.vibe-filter-chip.is-active {
  background: var(--vibe-dark, #1A1A2E);
  color: #fff;
  border-color: var(--vibe-dark, #1A1A2E);
}
.vibe-filter-chip .vibe-chip-count {
  font-size: 11px;
  opacity: .55;
  font-weight: 500;
}
/* Pillar chip active colors */
.vibe-filter-chip[data-pillar="01"].is-active { background: #7B3FE4; border-color: #7B3FE4; }
.vibe-filter-chip[data-pillar="02"].is-active { background: #E85D75; border-color: #E85D75; }
.vibe-filter-chip[data-pillar="03"].is-active { background: #2D9CDB; border-color: #2D9CDB; }
.vibe-filter-chip[data-pillar="04"].is-active { background: #F2A93C; border-color: #F2A93C; color: #1A1A2E; }

/* ---------- 04. Archive content area ---------- */
.vibe-archive-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 56px) clamp(16px, 5vw, 80px) 0;
}

/* ---------- 05. Sort/count bar ---------- */
.vibe-sort-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 12px;
}
.vibe-sort-bar-count {
  font-size: 14px;
  color: rgba(26,26,46,.55);
  font-weight: 500;
}
.vibe-sort-bar-count strong {
  color: var(--vibe-dark, #1A1A2E);
  font-weight: 700;
}
.vibe-sort-select {
  font-size: 13px;
  padding: 6px 32px 6px 12px;
  border: 1.5px solid rgba(26,26,46,.15);
  border-radius: 8px;
  background: #fff;
  color: var(--vibe-dark, #1A1A2E);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A2E' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}

/* ---------- 06. Cards grid ---------- */
.vibe-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 48px;
}

/* ---------- 07. Single card ---------- */
.vibe-archive-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(26,26,46,.06);
  box-shadow: 0 2px 8px rgba(26,26,46,.05);
  transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s;
  text-decoration: none;
  color: inherit;
}
.vibe-archive-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26,26,46,.12);
  text-decoration: none;
}
.vibe-archive-card:focus-visible {
  outline: 2px solid var(--vibe-purple, #7B3FE4);
  outline-offset: 3px;
}

/* Card image */
.vibe-card-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--vibe-dark, #1A1A2E);
  position: relative;
  flex-shrink: 0;
}
.vibe-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .38s ease;
  display: block;
}
.vibe-archive-card:hover .vibe-card-thumb img {
  transform: scale(1.04);
}
.vibe-card-thumb-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1A1A2E 0%, #2D2D4E 100%);
}
.vibe-card-thumb-placeholder svg {
  opacity: .2;
}

/* Card pillar bar */
.vibe-card-pillar-bar {
  height: 3px;
  background: var(--vibe-purple, #7B3FE4);
  flex-shrink: 0;
}
.vibe-archive-card[data-pillar="02"] .vibe-card-pillar-bar { background: #E85D75; }
.vibe-archive-card[data-pillar="03"] .vibe-card-pillar-bar { background: #2D9CDB; }
.vibe-archive-card[data-pillar="04"] .vibe-card-pillar-bar { background: #F2A93C; }

/* Card body */
.vibe-card-body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.vibe-card-category {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--vibe-purple, #7B3FE4);
  margin-bottom: 10px;
}
.vibe-archive-card[data-pillar="02"] .vibe-card-category { color: #E85D75; }
.vibe-archive-card[data-pillar="03"] .vibe-card-category { color: #2D9CDB; }
.vibe-archive-card[data-pillar="04"] .vibe-card-category { color: #F2A93C; }

.vibe-card-title {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: var(--vibe-dark, #1A1A2E);
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.vibe-card-excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(26,26,46,.6);
  margin: 0 0 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.vibe-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid rgba(26,26,46,.07);
  gap: 8px;
  flex-wrap: wrap;
}
.vibe-card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.vibe-card-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--vibe-dark, #1A1A2E);
  flex-shrink: 0;
}
.vibe-card-author-name {
  font-size: 12px;
  font-weight: 600;
  color: rgba(26,26,46,.7);
}
.vibe-card-read-time {
  font-size: 12px;
  color: rgba(26,26,46,.4);
  display: flex;
  align-items: center;
  gap: 4px;
}
.vibe-card-read-time::before {
  content: '';
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  opacity: .5;
}
.vibe-card-arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(26,26,46,.05);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .18s;
}
.vibe-archive-card:hover .vibe-card-arrow {
  background: var(--vibe-purple, #7B3FE4);
}
.vibe-archive-card:hover .vibe-card-arrow svg path {
  stroke: #fff;
}
.vibe-archive-card[data-pillar="02"]:hover .vibe-card-arrow { background: #E85D75; }
.vibe-archive-card[data-pillar="03"]:hover .vibe-card-arrow { background: #2D9CDB; }
.vibe-archive-card[data-pillar="04"]:hover .vibe-card-arrow { background: #F2A93C; }

/* ---------- 08. Featured card (first card — wider) ---------- */
.vibe-archive-grid .vibe-archive-card:first-child {
  grid-column: 1 / -1;
  flex-direction: row;
  max-height: 340px;
}
.vibe-archive-grid .vibe-archive-card:first-child .vibe-card-thumb {
  width: 45%;
  flex-shrink: 0;
  aspect-ratio: auto;
}
.vibe-archive-grid .vibe-archive-card:first-child .vibe-card-title {
  font-size: clamp(20px, 2.5vw, 28px);
  -webkit-line-clamp: 2;
}
.vibe-archive-grid .vibe-archive-card:first-child .vibe-card-excerpt {
  -webkit-line-clamp: 3;
}
.vibe-archive-grid .vibe-archive-card:first-child .vibe-card-pillar-bar {
  height: 0;
  width: 3px;
  writing-mode: unset;
}

/* ---------- 09. No-posts state ---------- */
.vibe-archive-empty {
  text-align: center;
  padding: 80px 20px;
  color: rgba(26,26,46,.45);
}
.vibe-archive-empty svg {
  margin: 0 auto 20px;
  display: block;
  opacity: .25;
}
.vibe-archive-empty h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--vibe-dark, #1A1A2E);
  margin-bottom: 8px;
}

/* ---------- 10. Load More ---------- */
.vibe-load-more-wrap {
  display: flex;
  justify-content: center;
  padding-top: 8px;
}
.vibe-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  background: var(--vibe-dark, #1A1A2E);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: background .2s, transform .18s;
  letter-spacing: -.01em;
}
.vibe-load-more-btn:hover {
  background: #2D2D4E;
  transform: translateY(-2px);
}
.vibe-load-more-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}
.vibe-load-more-btn .vibe-spinner {
  width: 18px;
  height: 18px;
  border: 2.5px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: vibe-spin .7s linear infinite;
  display: none;
}
.vibe-load-more-btn.is-loading .vibe-spinner { display: block; }
.vibe-load-more-btn.is-loading .vibe-btn-label { display: none; }
.vibe-load-more-btn.is-hidden { display: none; }

@keyframes vibe-spin {
  to { transform: rotate(360deg); }
}

/* ---------- 11. CTA bottom strip ---------- */
.vibe-archive-cta-strip {
  background: var(--vibe-dark, #1A1A2E);
  margin-top: clamp(48px, 8vw, 80px);
  padding: clamp(40px, 6vw, 72px) clamp(16px, 5vw, 80px);
  text-align: center;
}
.vibe-archive-cta-strip h2 {
  font-size: clamp(22px, 4vw, 36px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  margin-bottom: 12px;
}
.vibe-archive-cta-strip p {
  color: rgba(255,255,255,.65);
  font-size: clamp(15px, 2vw, 17px);
  max-width: 480px;
  margin: 0 auto 28px;
}
.vibe-archive-cta-strip .vibe-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--vibe-purple, #7B3FE4);
  color: #fff;
  font-weight: 700;
  border-radius: 100px;
  text-decoration: none;
  font-size: 15px;
  transition: background .18s, transform .18s;
}
.vibe-archive-cta-strip .vibe-btn-primary:hover {
  background: #6B2FD4;
  transform: translateY(-2px);
  text-decoration: none;
}

/* ---------- 12. Responsive ---------- */
@media (max-width: 1024px) {
  .vibe-archive-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .vibe-archive-grid .vibe-archive-card:first-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 768px) {
  .vibe-archive-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .vibe-archive-grid .vibe-archive-card:first-child {
    flex-direction: column;
    max-height: none;
  }
  .vibe-archive-grid .vibe-archive-card:first-child .vibe-card-thumb {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .vibe-filter-bar {
    padding: 0 16px;
  }
  .vibe-archive-hero {
    padding: 40px 16px 28px;
  }
}
@media (max-width: 480px) {
  .vibe-card-body { padding: 16px 16px 20px; }
  .vibe-sort-bar { flex-direction: column; align-items: flex-start; }
}

/* === END VIBE BLOG ARCHIVE FAZA 4B === */

/* ╔══════════════════════════════════════════════════
   ║ VIBE BLOG HOMEPAGE — FAZA 4C
   ║ Featured post + Categories strip + Latest 6 grid
   ║ Scope: page-blog.php (page slug: blog)
   ╚══════════════════════════════════════════════════ */

/* === BLOG HERO WRAPPER (kasuje fullscreen override z entry-content) === */
.vibe-blog-hero-wrapper .entry-content > .wp-block-group,
.vibe-blog-hero-wrapper article > .entry-content > .wp-block-group {
  min-height: unset !important;
  padding: 0 !important;
}

/* === FEATURED POST === */
.vibe-blog-featured {
  background: var(--vibe-cream, #F5F1E8);
  padding: clamp(40px, 6vh, 80px) clamp(24px, 6vw, 60px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.vibe-blog-featured-wrap {
  max-width: 1240px;
  margin: 0 auto;
}
.vibe-blog-section-h2 {
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 28px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(14,15,20,.1);
  color: var(--vibe-dark, #1A1A2E) !important;
}
.vibe-blog-section-h2 em {
  font-style: normal !important;
  color: var(--vibe-purple, #7B3FE4) !important;
}

.vibe-blog-featured-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0;
  background: #fff;
  border: 1px solid rgba(14,15,20,.08);
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  color: var(--vibe-dark, #1A1A2E);
  transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s;
}
.vibe-blog-featured-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(14,15,20,.1);
  text-decoration: none;
}

.vibe-blog-featured-img {
  background: linear-gradient(135deg, rgba(123,63,228,.15) 0%, rgba(200,245,66,.12) 100%);
  min-height: 340px;
  position: relative;
  overflow: hidden;
}
.vibe-blog-featured-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  position: absolute; top: 0; left: 0;
  transition: transform .38s ease;
}
.vibe-blog-featured-card:hover .vibe-blog-featured-img img { transform: scale(1.04); }
.vibe-blog-featured-img--p01 { background: linear-gradient(135deg, rgba(123,63,228,.2) 0%, rgba(123,63,228,.05) 100%); }
.vibe-blog-featured-img--p02 { background: linear-gradient(135deg, rgba(232,93,117,.2) 0%, rgba(232,93,117,.05) 100%); }
.vibe-blog-featured-img--p03 { background: linear-gradient(135deg, rgba(45,156,219,.2) 0%, rgba(45,156,219,.05) 100%); }
.vibe-blog-featured-img--p04 { background: linear-gradient(135deg, rgba(242,169,60,.2) 0%, rgba(242,169,60,.05) 100%); }

.vibe-blog-featured-badge {
  position: absolute;
  top: 20px; left: 20px;
  padding: 5px 12px;
  background: var(--vibe-dark, #1A1A2E);
  color: #C8F542;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  border-radius: 999px;
  z-index: 2;
}

.vibe-blog-featured-body {
  padding: clamp(28px, 4vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}

.vibe-blog-featured-cat {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 0;
}
.vibe-blog-featured-cat--p01 { color: #7B3FE4; }
.vibe-blog-featured-cat--p02 { color: #E85D75; }
.vibe-blog-featured-cat--p03 { color: #2D9CDB; }
.vibe-blog-featured-cat--p04 { color: #F2A93C; }

.vibe-blog-featured-h3 {
  font-size: clamp(22px, 2.8vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
  color: var(--vibe-dark, #1A1A2E) !important;
}

.vibe-blog-featured-excerpt {
  font-size: 15px;
  color: rgba(26,26,46,.65);
  line-height: 1.6;
  margin: 0;
}

.vibe-blog-featured-meta {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(26,26,46,.45);
  margin: 0;
}

/* === CATEGORIES STRIP === */
.vibe-blog-categories {
  background: #EEE8DA;
  padding: clamp(40px, 6vh, 80px) clamp(24px, 6vw, 60px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.vibe-blog-categories-wrap {
  max-width: 1240px;
  margin: 0 auto;
}
.vibe-blog-categories-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.vibe-blog-cat-card {
  padding: 28px 24px;
  background: #fff;
  border: 1px solid rgba(14,15,20,.08);
  border-radius: 16px;
  text-decoration: none;
  color: var(--vibe-dark, #1A1A2E);
  display: flex;
  flex-direction: column;
  min-height: 200px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.vibe-blog-cat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(14,15,20,.08);
  text-decoration: none;
}
.vibe-blog-cat-card--p01:hover { border-color: rgba(123,63,228,.35); }
.vibe-blog-cat-card--p02:hover { border-color: rgba(232,93,117,.35); }
.vibe-blog-cat-card--p03:hover { border-color: rgba(45,156,219,.35); }
.vibe-blog-cat-card--p04:hover { border-color: rgba(242,169,60,.35); }

.vibe-blog-cat-num {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.vibe-blog-cat-card--p01 .vibe-blog-cat-num { color: #7B3FE4; }
.vibe-blog-cat-card--p02 .vibe-blog-cat-num { color: #E85D75; }
.vibe-blog-cat-card--p03 .vibe-blog-cat-num { color: #2D9CDB; }
.vibe-blog-cat-card--p04 .vibe-blog-cat-num { color: #F2A93C; }

.vibe-blog-cat-name {
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
  color: var(--vibe-dark, #1A1A2E) !important;
}

.vibe-blog-cat-desc {
  font-size: 13px;
  color: rgba(26,26,46,.6);
  line-height: 1.5;
  margin: 0 0 14px;
  flex: 1;
}

.vibe-blog-cat-count {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(26,26,46,.45);
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(14,15,20,.08);
}

/* === LATEST 6 GRID === */
.vibe-blog-latest {
  background: var(--vibe-cream, #F5F1E8);
  padding: clamp(40px, 6vh, 80px) clamp(24px, 6vw, 60px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.vibe-blog-latest-wrap {
  max-width: 1240px;
  margin: 0 auto;
}
.vibe-blog-latest-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(14,15,20,.1);
  flex-wrap: wrap;
  gap: 12px;
}
.vibe-blog-latest-link {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--vibe-purple, #7B3FE4);
  text-decoration: none;
  transition: opacity .18s;
}
.vibe-blog-latest-link:hover { opacity: .7; text-decoration: none; }

.vibe-blog-latest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* === MOBILE === */
@media (max-width: 1024px) {
  .vibe-blog-categories-grid { grid-template-columns: repeat(2, 1fr); }
  .vibe-blog-latest-grid     { grid-template-columns: repeat(2, 1fr); }
  .vibe-blog-featured-card   { grid-template-columns: 1fr; }
  .vibe-blog-featured-img    { min-height: 240px; }
}
@media (max-width: 640px) {
  .vibe-blog-categories-grid,
  .vibe-blog-latest-grid { grid-template-columns: 1fr; }
}

/* === END VIBE BLOG HOMEPAGE FAZA 4C === */

/* ============================================================
   FAZA 4D — FAQ PAGE  (page-faq.php / body.editorial-faq)
   Appended 2026-05-25
   ============================================================ */

/* ── Body reset ────────────────────────────────────────────── */
body.editorial-faq #inner-wrap {
  padding: 0;
  margin: 0;
  max-width: 100%;
}
body.editorial-faq .entry-content-wrap,
body.editorial-faq .content-wrap,
body.editorial-faq .wp-block-post-content {
  padding: 0;
  margin: 0;
}

/* ── HERO ─────────────────────────────────────────────────── */
.vibe-faq-hero {
  background: var(--vibe-cream, #F5F1E8);
  border-bottom: 1px solid rgba(26,26,46,.08);
  padding: clamp(56px,9vw,112px) clamp(16px,5vw,80px) clamp(40px,6vw,72px);
  text-align: center;
}
.vibe-faq-hero-eyebrow {
  font-family: var(--vibe-mono, 'IBM Plex Mono', monospace);
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--vibe-dark, #1A1A2E);
  opacity: .55;
  margin: 0 0 16px;
}
.vibe-faq-hero-h1 {
  font-family: var(--vibe-serif, 'Playfair Display', serif);
  font-size: clamp(2rem,5vw,3.5rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--vibe-dark, #1A1A2E);
  margin: 0 0 20px;
}
.vibe-faq-hero-h1 em {
  font-style: italic;
  color: var(--vibe-gold, #C9A84C);
}
.vibe-faq-hero-lead {
  font-size: clamp(.95rem,2vw,1.125rem);
  color: var(--vibe-dark, #1A1A2E);
  opacity: .7;
  max-width: 560px;
  margin: 0 auto 36px;
  line-height: 1.65;
}

/* ── SEARCH ───────────────────────────────────────────────── */
.vibe-faq-search-wrap {
  max-width: 520px;
  margin: 0 auto;
  position: relative;
}
.vibe-faq-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 14px 48px 14px 20px;
  border: 1.5px solid rgba(26,26,46,.2);
  border-radius: 8px;
  background: #fff;
  font-family: var(--vibe-sans, 'Inter', sans-serif);
  font-size: 1rem;
  color: var(--vibe-dark, #1A1A2E);
  outline: none;
  transition: border-color .2s;
  box-shadow: 0 2px 8px rgba(26,26,46,.06);
}
.vibe-faq-search-input::placeholder { color: rgba(26,26,46,.38); }
.vibe-faq-search-input:focus { border-color: var(--vibe-gold, #C9A84C); }
.vibe-faq-search-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(26,26,46,.38);
  pointer-events: none;
  font-size: 1rem;
}
.vibe-faq-no-results {
  text-align: center;
  padding: 48px 16px;
  font-family: var(--vibe-mono, 'IBM Plex Mono', monospace);
  font-size: .875rem;
  color: rgba(26,26,46,.45);
  display: none;
}

/* ── MAIN WRAPPER ──────────────────────────────────────────── */
.vibe-faq-main {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(40px,6vw,80px) clamp(16px,5vw,40px) clamp(56px,8vw,96px);
}

/* ── GROUP ────────────────────────────────────────────────── */
.vibe-faq-group {
  margin-bottom: 48px;
  transition: opacity .2s;
}
.vibe-faq-group.is-hidden { display: none; }
.vibe-faq-group-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--vibe-dark, #1A1A2E);
}
.vibe-faq-group-icon {
  font-size: 1.4rem;
  line-height: 1;
  flex-shrink: 0;
}
.vibe-faq-group-title {
  font-family: var(--vibe-mono, 'IBM Plex Mono', monospace);
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--vibe-dark, #1A1A2E);
  margin: 0;
  font-weight: 600;
}

/* ── ACCORDION ITEM ───────────────────────────────────────── */
.vibe-faq-item {
  border-bottom: 1px solid rgba(26,26,46,.1);
}
.vibe-faq-item.is-hidden { display: none; }
.vibe-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  background: none;
  border: none;
  padding: 20px 0;
  cursor: pointer;
  text-align: left;
  color: var(--vibe-dark, #1A1A2E);
  transition: color .18s;
}
.vibe-faq-question:hover { color: var(--vibe-gold, #C9A84C); }
.vibe-faq-question-text {
  font-family: var(--vibe-serif, 'Playfair Display', serif);
  font-size: clamp(1rem,2.5vw,1.15rem);
  font-weight: 600;
  line-height: 1.4;
  flex: 1;
}
.vibe-faq-chevron {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  font-size: .7rem;
  margin-top: 2px;
  transition: transform .28s ease, background .18s, color .18s;
}
.vibe-faq-item.is-open .vibe-faq-chevron {
  transform: rotate(180deg);
  background: var(--vibe-dark, #1A1A2E);
  color: var(--vibe-cream, #F5F1E8);
  border-color: var(--vibe-dark, #1A1A2E);
}
.vibe-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .32s ease;
}
.vibe-faq-answer-inner {
  padding: 0 0 24px;
  font-size: .975rem;
  line-height: 1.75;
  color: rgba(26,26,46,.75);
}

/* ── FINAL CTA ────────────────────────────────────────────── */
.vibe-faq-cta {
  background: var(--vibe-dark, #1A1A2E);
  color: var(--vibe-cream, #F5F1E8);
  text-align: center;
  padding: clamp(48px,7vw,88px) clamp(16px,5vw,80px);
}
.vibe-faq-cta-eyebrow {
  font-family: var(--vibe-mono, 'IBM Plex Mono', monospace);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .5;
  margin: 0 0 16px;
}
.vibe-faq-cta-h2 {
  font-family: var(--vibe-serif, 'Playfair Display', serif);
  font-size: clamp(1.75rem,4vw,2.75rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
  color: var(--vibe-cream, #F5F1E8);
}
.vibe-faq-cta-h2 em {
  font-style: italic;
  color: var(--vibe-gold, #C9A84C);
}
.vibe-faq-cta-lead {
  font-size: 1rem;
  opacity: .7;
  max-width: 480px;
  margin: 0 auto 32px;
  line-height: 1.65;
}
.vibe-faq-cta-btn {
  display: inline-block;
  background: var(--vibe-gold, #C9A84C);
  color: var(--vibe-dark, #1A1A2E);
  font-family: var(--vibe-mono, 'IBM Plex Mono', monospace);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 6px;
  text-decoration: none;
  transition: opacity .18s;
}
.vibe-faq-cta-btn:hover { opacity: .88; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 600px) {
  .vibe-faq-group-header { gap: 8px; }
  .vibe-faq-question-text { font-size: .975rem; }
}
/* ============================================================
   END FAZA 4D FAQ
   ============================================================ */

/* ╔══════════════════════════════════════════════════
   ║ VIBE LEGAL PAGES — Polityka + Statut + Standardy
   ║ Data: 25.05.2026
   ║ Scope: body.vibe-legal-page
   ║ Strategy: CSS-only, brak custom templates
   ╚══════════════════════════════════════════════════ */

/* === KILL KADENCE default centered / narrow wrapper === */
body.vibe-legal-page .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.vibe-legal-page .content-area,
body.vibe-legal-page .site-content,
body.vibe-legal-page .content-container,
body.vibe-legal-page .site-main,
body.vibe-legal-page #primary {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}
body.vibe-legal-page .entry-hero,
body.vibe-legal-page .entry-header,
body.vibe-legal-page .single-featured-image-container,
body.vibe-legal-page .breadcrumb-trail {
    display: none !important;
}

/* === FULL-BLEED cream background === */
body.vibe-legal-page {
    background: var(--vibe-cream, #F5F1E8);
}
body.vibe-legal-page .site-main,
body.vibe-legal-page main,
body.vibe-legal-page #inner-wrap {
    background: var(--vibe-cream, #F5F1E8);
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* === BODY CONTENT — centered column 720px === */
body.vibe-legal-page .entry-content > * {
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(24px, 6vw, 60px) !important;
    padding-right: clamp(24px, 6vw, 60px) !important;
    box-sizing: border-box !important;
}
body.vibe-legal-page .entry-content > .wp-block-group {
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* === TOP PADDING for first block === */
body.vibe-legal-page .entry-content > *:first-child {
    padding-top: clamp(56px, 9vw, 100px) !important;
}

/* === H1 — left align, Fraunces light === */
body.vibe-legal-page h1,
body.vibe-legal-page h1.wp-block-heading {
    font-family: 'Fraunces', 'Playfair Display', serif !important;
    font-size: clamp(36px, 5vw, 60px) !important;
    font-weight: 300 !important;
    font-style: normal !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
    color: var(--vibe-dark, #1A1A2E) !important;
    margin: 0 0 20px !important;
}
body.vibe-legal-page h1 em {
    font-style: italic !important;
    color: #7B3FE4 !important;
}

/* === H2 — italic violet editorial accent === */
body.vibe-legal-page h2,
body.vibe-legal-page h2.wp-block-heading {
    font-family: 'Fraunces', 'Playfair Display', serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(24px, 3.2vw, 36px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.015em !important;
    text-align: left !important;
    color: #7B3FE4 !important;
    margin: 52px auto 20px !important;
    padding: 0 !important;
}
body.vibe-legal-page h2 em {
    font-style: normal !important;
    color: var(--vibe-dark, #1A1A2E) !important;
}

/* === H3 === */
body.vibe-legal-page h3,
body.vibe-legal-page h3.wp-block-heading {
    font-family: 'Fraunces', 'Playfair Display', serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-size: clamp(18px, 2.2vw, 22px) !important;
    line-height: 1.3 !important;
    text-align: left !important;
    color: var(--vibe-dark, #1A1A2E) !important;
    margin: 36px 0 12px !important;
}

/* === BODY TEXT === */
body.vibe-legal-page p,
body.vibe-legal-page li {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
    color: rgba(26, 26, 46, 0.82) !important;
    text-align: left !important;
}
body.vibe-legal-page p {
    margin: 0 0 16px !important;
}

/* === LISTS === */
body.vibe-legal-page ol,
body.vibe-legal-page ul {
    margin: 0 0 20px !important;
    padding-left: 22px !important;
}
body.vibe-legal-page li {
    margin-bottom: 8px !important;
}
body.vibe-legal-page ul ul,
body.vibe-legal-page ol ol,
body.vibe-legal-page ul ol,
body.vibe-legal-page ol ul {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

/* === INLINE LINKS === */
body.vibe-legal-page p a,
body.vibe-legal-page li a {
    color: #7B3FE4 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}
body.vibe-legal-page p a:hover,
body.vibe-legal-page li a:hover {
    color: #5C2BB8 !important;
}

/* === BUTTONS — Pobierz PDF (lime) + Outline === */
body.vibe-legal-page .wp-block-buttons {
    margin: 28px 0 !important;
    gap: 12px !important;
}
body.vibe-legal-page .wp-block-button__link {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    padding: 13px 26px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: transform 0.18s ease, opacity 0.18s !important;
    border: 1.5px solid transparent !important;
}
body.vibe-legal-page .wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    opacity: .9 !important;
}

/* PRIMARY — lime PDF button */
body.vibe-legal-page .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: #C8F542 !important;
    color: #0E0F14 !important;
    border-color: #C8F542 !important;
}

/* OUTLINE button — kontakt / secondary */
body.vibe-legal-page .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--vibe-dark, #1A1A2E) !important;
    border-color: var(--vibe-dark, #1A1A2E) !important;
}
body.vibe-legal-page .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--vibe-dark, #1A1A2E) !important;
    color: var(--vibe-cream, #F5F1E8) !important;
}

/* === HORIZONTAL RULES === */
body.vibe-legal-page hr,
body.vibe-legal-page .wp-block-separator {
    border: none !important;
    border-top: 1px solid rgba(26,26,46,.1) !important;
    margin: 44px auto !important;
    max-width: 720px !important;
}

/* === BOTTOM SPACING === */
body.vibe-legal-page .entry-content > *:last-child {
    padding-bottom: clamp(60px, 8vh, 96px) !important;
}

/* === STATUT — Dane rejestrowe KRS/NIP monospace === */
body.legal-statut strong {
    font-weight: 700 !important;
    color: var(--vibe-dark, #1A1A2E) !important;
}

/* === MOBILE === */
@media (max-width: 640px) {
    body.vibe-legal-page h1 {
        font-size: 32px !important;
    }
    body.vibe-legal-page h2 {
        font-size: 22px !important;
        margin: 40px auto 16px !important;
    }
    body.vibe-legal-page h3 {
        font-size: 18px !important;
    }
    body.vibe-legal-page p,
    body.vibe-legal-page li {
        font-size: 15.5px !important;
    }
}

/* === END VIBE LEGAL PAGES === */

/* ============================================================
   MOBILE DRAWER — wymuszone jasne napisy niezależnie od body
   Fix: na cream pages drawer dziedziczył ciemny kolor tekstu
   Struktura Kadence: #mobile-drawer > .drawer-inner > .drawer-content
   Body class gdy otwarty: .showing-popup-drawer-from-right
   ============================================================ */

/* --- Panel drawera — dark background --- */
#mobile-drawer .drawer-inner {
  background: rgba(7, 8, 12, 0.97) !important;
  -webkit-backdrop-filter: saturate(140%) blur(14px) !important;
  backdrop-filter: saturate(140%) blur(14px) !important;
}

/* --- Zawsze cream: zwykłe linki menu --- */
#mobile-drawer .menu li > a,
#mobile-drawer .drawer-nav-drop-wrap > a {
  color: #F5F1E8 !important;
  opacity: 1 !important;
}

/* --- Hover → lime --- */
#mobile-drawer .menu li > a:hover,
#mobile-drawer .drawer-nav-drop-wrap > a:hover {
  color: #C8F542 !important;
}

/* --- Current page / active → lime --- */
#mobile-drawer .menu .current-menu-item > a,
#mobile-drawer .menu .current_page_item > a,
#mobile-drawer .menu a[aria-current="page"],
#mobile-drawer .drawer-nav-drop-wrap a[aria-current="page"] {
  color: #C8F542 !important;
}

/* --- Submenu linki (np. pod Blog) --- */
#mobile-drawer .sub-menu li > a {
  color: rgba(245, 241, 232, 0.75) !important;
}
#mobile-drawer .sub-menu li > a:hover {
  color: #C8F542 !important;
}

/* --- Separator między pozycjami --- */
#mobile-drawer .menu > li {
  border-bottom: 1px solid rgba(245, 241, 232, 0.08) !important;
}

/* --- Strzałka submenu toggle (Blog ▾) --- */
#mobile-drawer .drawer-sub-toggle {
  color: #F5F1E8 !important;
  opacity: 0.65 !important;
}
#mobile-drawer .drawer-sub-toggle:hover {
  color: #C8F542 !important;
  opacity: 1 !important;
}
/* SVG arrow fill dziedziczy currentColor */
#mobile-drawer .drawer-sub-toggle svg {
  fill: currentColor !important;
}

/* --- Przycisk X (zamknij drawer) --- */
#mobile-drawer .menu-toggle-close .toggle-close-bar {
  background-color: #F5F1E8 !important;
}
#mobile-drawer .menu-toggle-close:hover .toggle-close-bar {
  background-color: #C8F542 !important;
}

/* --- Hamburger ikona gdy drawer otwarty (overlay ciemny) --- */
body.showing-popup-drawer-from-right #mobile-toggle .menu-toggle-icon,
body.showing-popup-drawer-from-right #mobile-toggle .menu-toggle-icon::before,
body.showing-popup-drawer-from-right #mobile-toggle .menu-toggle-icon::after {
  background-color: #F5F1E8 !important;
}

/* ============================================================
   END MOBILE DRAWER FIX
   ============================================================ */

/* ============================================================
   VIBE DESIGN SYSTEM — KROK 1: TOKENY + UNIFIED HERO
   Added: 2026-05-25
   ============================================================ */

/* ─── Extended Design Tokens ───────────────────────────────── */
:root {
  /* Paleta Editorial (jasna, kremowa) */
  --ed-bg:           #F5F1E8;
  --ed-bg-section:   #EDE9DF;
  --ed-bg-card:      #FFFFFF;
  --ed-text:         #07080C;
  --ed-text-muted:   #5A5A6A;
  --ed-border:       #DDD9CF;
  --ed-accent:       #C8F542;
  --ed-accent-dark:  #A8D520;

  /* Paleta Corporate (ciemna) */
  --corp-bg:         #07080C;
  --corp-bg-panel:   #12141A;
  --corp-bg-card:    #1A1B21;
  --corp-text:       #F5F1E8;
  --corp-text-muted: #9A9AAA;
  --corp-border:     #2A2B35;
  --corp-accent:     #C8F542;
  --corp-accent-dark:#A8D520;

  /* Wspólne */
  --vibe-accent:     #C8F542;
  --vibe-accent-dark:#A8D520;
  --vibe-radius-sm:  6px;
  --vibe-radius-md:  12px;
  --vibe-radius-lg:  20px;
  --vibe-shadow-sm:  0 2px 8px rgba(0,0,0,.08);
  --vibe-shadow-md:  0 4px 20px rgba(0,0,0,.14);
  --vibe-shadow-lg:  0 8px 40px rgba(0,0,0,.22);
  --vibe-transition: 0.22s ease;

  /* Spacing scale */
  --sp-xs:  8px;
  --sp-sm:  16px;
  --sp-md:  32px;
  --sp-lg:  64px;
  --sp-xl:  96px;
  --sp-2xl: 128px;
}

/* ─── Page-type base resets ────────────────────────────────── */
body.page-editorial,
body.page-editorial #page,
body.page-editorial .site,
body.page-editorial .wp-site-blocks {
  background-color: var(--ed-bg) !important;
  color: var(--ed-text) !important;
}

body.page-corporate,
body.page-corporate #page,
body.page-corporate .site,
body.page-corporate .wp-site-blocks {
  background-color: var(--corp-bg) !important;
  color: var(--corp-text) !important;
}

/* Editorial typography override */
body.page-editorial h1,
body.page-editorial h2,
body.page-editorial h3,
body.page-editorial h4,
body.page-editorial h5,
body.page-editorial h6 {
  color: var(--ed-text) !important;
}

body.page-editorial p,
body.page-editorial li,
body.page-editorial td {
  color: var(--ed-text) !important;
}

/* Corporate typography override */
body.page-corporate h1,
body.page-corporate h2,
body.page-corporate h3,
body.page-corporate h4,
body.page-corporate h5,
body.page-corporate h6 {
  color: var(--corp-text) !important;
}

body.page-corporate p,
body.page-corporate li,
body.page-corporate td {
  color: var(--corp-text) !important;
}

/* Transparent entry backgrounds for both types */
body.page-editorial .site-main,
body.page-editorial .content-area,
body.page-editorial .entry-content,
body.page-editorial .wp-block-group:not([class*="vibe-"]):not(.has-background),
body.page-corporate .site-main,
body.page-corporate .content-area,
body.page-corporate .entry-content,
body.page-corporate .wp-block-group:not([class*="vibe-"]):not(.has-background) {
  background-color: transparent !important;
}

/* ─── Unified Section Wrapper ───────────────────────────────── */
.vibe-section {
  padding: var(--sp-lg) var(--sp-md);
  width: 100%;
}

.vibe-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 var(--sp-sm);
}

/* ─── UNIFIED HERO ─────────────────────────────────────────── */
.vibe-hero {
  position: relative;
  overflow: hidden;
  padding: var(--sp-xl) var(--sp-md) var(--sp-lg);
  display: flex;
  align-items: center;
  min-height: 440px;
}

/* Editorial hero — kremowe tło */
.vibe-hero--editorial {
  background-color: var(--ed-bg);
  color: var(--ed-text);
}

.vibe-hero--editorial::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 80% 50%, rgba(200,245,66,.18) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 10% 20%, rgba(200,245,66,.10) 0%, transparent 60%);
  pointer-events: none;
}

/* Corporate hero — ciemne tło */
.vibe-hero--corporate {
  background-color: var(--corp-bg);
  color: var(--corp-text);
}

.vibe-hero--corporate::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 75% 50%, rgba(200,245,66,.12) 0%, transparent 65%),
    radial-gradient(ellipse 35% 45% at 5% 15%, rgba(200,245,66,.07) 0%, transparent 55%);
  pointer-events: none;
}

.vibe-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
}

.vibe-hero__eyebrow {
  display: inline-block;
  font-family: var(--vibe-font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 100px;
  margin-bottom: var(--sp-sm);
}

.vibe-hero--editorial .vibe-hero__eyebrow {
  background: rgba(200,245,66,.25);
  color: #4A6A00;
  border: 1px solid rgba(200,245,66,.5);
}

.vibe-hero--corporate .vibe-hero__eyebrow {
  background: rgba(200,245,66,.15);
  color: var(--corp-accent);
  border: 1px solid rgba(200,245,66,.3);
}

.vibe-hero__title {
  font-family: var(--vibe-font-display) !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  margin: 0 0 var(--sp-sm) !important;
  max-width: 760px;
}

.vibe-hero--editorial .vibe-hero__title {
  color: var(--ed-text) !important;
}

.vibe-hero--corporate .vibe-hero__title {
  color: var(--corp-text) !important;
}

.vibe-hero__title em,
.vibe-hero__title i {
  font-style: normal;
  color: var(--vibe-accent) !important;
}

.vibe-hero__lead {
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  line-height: 1.65 !important;
  max-width: 620px;
  margin: 0 0 var(--sp-md) !important;
}

.vibe-hero--editorial .vibe-hero__lead {
  color: var(--ed-text-muted) !important;
}

.vibe-hero--corporate .vibe-hero__lead {
  color: rgba(245,241,232,.75) !important;
}

/* Hero CTA buttons */
.vibe-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.vibe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 100px;
  font-family: var(--vibe-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all var(--vibe-transition);
}

.vibe-btn--primary {
  background-color: var(--vibe-accent);
  color: #07080C !important;
  border-color: var(--vibe-accent);
}

.vibe-btn--primary:hover {
  background-color: var(--vibe-accent-dark);
  border-color: var(--vibe-accent-dark);
  transform: translateY(-1px);
  box-shadow: var(--vibe-shadow-md);
}

.vibe-btn--outline-dark {
  background: transparent;
  color: var(--ed-text) !important;
  border-color: var(--ed-border);
}

.vibe-btn--outline-dark:hover {
  border-color: var(--ed-text);
  background: rgba(7,8,12,.06);
}

.vibe-btn--outline-light {
  background: transparent;
  color: var(--corp-text) !important;
  border-color: rgba(245,241,232,.3);
}

.vibe-btn--outline-light:hover {
  border-color: var(--corp-text);
  background: rgba(245,241,232,.08);
}

/* Hero accent bar — decorative vertical line */
.vibe-hero::after {
  content: '';
  position: absolute;
  right: 5%;
  top: 15%;
  width: 3px;
  height: 55%;
  border-radius: 2px;
  opacity: .25;
}

.vibe-hero--editorial::after {
  background: linear-gradient(to bottom, transparent, var(--vibe-accent), transparent);
}

.vibe-hero--corporate::after {
  background: linear-gradient(to bottom, transparent, var(--vibe-accent), transparent);
}

/* ─── Section headings ─────────────────────────────────────── */
.vibe-section-title {
  font-family: var(--vibe-font-display) !important;
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 var(--sp-sm) !important;
}

.vibe-section-lead {
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 680px;
  margin: 0 0 var(--sp-md) !important;
}

.page-editorial .vibe-section-title { color: var(--ed-text) !important; }
.page-editorial .vibe-section-lead  { color: var(--ed-text-muted) !important; }
.page-corporate .vibe-section-title { color: var(--corp-text) !important; }
.page-corporate .vibe-section-lead  { color: var(--corp-text-muted) !important; }

/* Accent underline on section titles */
.vibe-section-title--accent {
  display: inline-block;
  border-bottom: 3px solid var(--vibe-accent);
  padding-bottom: 6px;
}

/* ─── Hero responsive ──────────────────────────────────────── */
@media (max-width: 768px) {
  .vibe-hero {
    min-height: auto;
    padding: var(--sp-lg) var(--sp-sm) var(--sp-md);
  }

  .vibe-hero::after {
    display: none;
  }

  .vibe-hero__cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .vibe-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================================
   END KROK 1
   ============================================================ */

/* ============================================================
   VIBE DESIGN SYSTEM — KROK 2: EDITORIAL KOMPONENTY
   stat cards · citation box · donut chart · bank box · calculator
   Added: 2026-05-25
   ============================================================ */

/* ─── STAT CARDS GRID ──────────────────────────────────────── */
.vibe-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--sp-sm);
  margin: var(--sp-md) 0;
}

.vibe-stat-card {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-md) var(--sp-sm);
  text-align: center;
  transition: transform var(--vibe-transition), box-shadow var(--vibe-transition);
}

.vibe-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--vibe-shadow-md);
}

/* Editorial stat card */
.page-editorial .vibe-stat-card,
.vibe-stat-card--editorial {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
  box-shadow: var(--vibe-shadow-sm);
}

/* Corporate stat card */
.page-corporate .vibe-stat-card,
.vibe-stat-card--corporate {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

.vibe-stat-card__number {
  font-family: var(--vibe-font-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--vibe-accent) !important;
  display: block;
  margin-bottom: 8px;
}

.vibe-stat-card__label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.page-editorial .vibe-stat-card__label { color: var(--ed-text) !important; }
.page-corporate .vibe-stat-card__label { color: var(--corp-text) !important; }
.vibe-stat-card--editorial .vibe-stat-card__label { color: var(--ed-text) !important; }
.vibe-stat-card--corporate .vibe-stat-card__label { color: var(--corp-text) !important; }

.vibe-stat-card__desc {
  font-size: 13px;
  line-height: 1.5;
  display: block;
}

.page-editorial .vibe-stat-card__desc { color: var(--ed-text-muted) !important; }
.page-corporate .vibe-stat-card__desc { color: var(--corp-text-muted) !important; }
.vibe-stat-card--editorial .vibe-stat-card__desc { color: var(--ed-text-muted) !important; }
.vibe-stat-card--corporate .vibe-stat-card__desc { color: var(--corp-text-muted) !important; }

/* Accent top-border variant */
.vibe-stat-card--accented {
  border-top: 3px solid var(--vibe-accent) !important;
}

/* ─── CITATION / SOURCE BOX ────────────────────────────────── */
.vibe-cite-box {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-md);
  margin: var(--sp-md) 0;
  position: relative;
  overflow: hidden;
}

.vibe-cite-box::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 16px;
  font-family: var(--vibe-font-display);
  font-size: 120px;
  line-height: 1;
  opacity: .08;
  pointer-events: none;
}

.page-editorial .vibe-cite-box,
.vibe-cite-box--editorial {
  background: var(--ed-bg-section);
  border-left: 4px solid var(--vibe-accent);
  color: var(--ed-text);
}

.page-corporate .vibe-cite-box,
.vibe-cite-box--corporate {
  background: var(--corp-bg-panel);
  border-left: 4px solid var(--vibe-accent);
  color: var(--corp-text);
}

.vibe-cite-box__text {
  font-size: 1.1rem;
  line-height: 1.7;
  font-style: italic;
  margin: 0 0 var(--sp-sm) !important;
}

.vibe-cite-box__source {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}

.page-editorial .vibe-cite-box__source { color: var(--ed-text-muted); }
.page-corporate .vibe-cite-box__source { color: var(--corp-text-muted); }

/* Partners row in cite-box / fact page */
.vibe-partners {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: var(--sp-sm) 0;
  align-items: center;
}

.vibe-partner-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all var(--vibe-transition);
}

.page-editorial .vibe-partner-badge,
.vibe-partner-badge--editorial {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
  color: var(--ed-text) !important;
}

.page-editorial .vibe-partner-badge:hover,
.vibe-partner-badge--editorial:hover {
  border-color: var(--vibe-accent);
  background: rgba(200,245,66,.1);
}

/* ─── DONUT CHART (CSS/SVG) ─────────────────────────────────── */
.vibe-donut-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-md);
  align-items: center;
  margin: var(--sp-md) 0;
}

.vibe-donut {
  flex-shrink: 0;
  width: 220px;
  height: 220px;
  position: relative;
}

.vibe-donut svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.vibe-donut__center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

.vibe-donut__center-num {
  font-family: var(--vibe-font-display);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--vibe-accent);
}

.vibe-donut__center-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 4px;
}

.page-editorial .vibe-donut__center-label { color: var(--ed-text-muted); }
.page-corporate .vibe-donut__center-label { color: var(--corp-text-muted); }

/* Donut legend */
.vibe-donut-legend {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vibe-donut-legend__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}

.vibe-donut-legend__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

.vibe-donut-legend__name {
  flex: 1;
}

.page-editorial .vibe-donut-legend__name { color: var(--ed-text); }
.page-corporate .vibe-donut-legend__name { color: var(--corp-text); }

.vibe-donut-legend__pct {
  font-weight: 700;
  font-size: 14px;
}

.page-editorial .vibe-donut-legend__pct { color: var(--ed-text); }
.page-corporate .vibe-donut-legend__pct { color: var(--corp-text); }

/* Donut track colors */
.vibe-donut-track--bg {
  fill: none;
}
.page-editorial .vibe-donut-track--bg { stroke: var(--ed-border); }
.page-corporate .vibe-donut-track--bg { stroke: var(--corp-border); }

/* ─── BANK BOX (dane do przelewu) ──────────────────────────── */
.vibe-bank-box {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-md);
  margin: var(--sp-md) 0;
}

.page-editorial .vibe-bank-box,
.vibe-bank-box--editorial {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
  box-shadow: var(--vibe-shadow-sm);
}

.page-corporate .vibe-bank-box,
.vibe-bank-box--corporate {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

.vibe-bank-box__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-editorial .vibe-bank-box__title { color: var(--ed-text-muted); }
.page-corporate .vibe-bank-box__title { color: var(--corp-text-muted); }

.vibe-bank-box__title::after {
  content: '';
  flex: 1;
  height: 1px;
}

.page-editorial .vibe-bank-box__title::after { background: var(--ed-border); }
.page-corporate .vibe-bank-box__title::after { background: var(--corp-border); }

.vibe-bank-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid;
}

.page-editorial .vibe-bank-row { border-color: var(--ed-border); }
.page-corporate .vibe-bank-row { border-color: var(--corp-border); }

.vibe-bank-row:last-child {
  border-bottom: none;
}

.vibe-bank-row__key {
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}

.page-editorial .vibe-bank-row__key { color: var(--ed-text-muted); }
.page-corporate .vibe-bank-row__key { color: var(--corp-text-muted); }

.vibe-bank-row__val {
  font-size: 14px;
  font-weight: 700;
  font-family: var(--vibe-font-body);
  letter-spacing: .03em;
  text-align: right;
  word-break: break-all;
}

.page-editorial .vibe-bank-row__val { color: var(--ed-text); }
.page-corporate .vibe-bank-row__val { color: var(--corp-text); }

/* Copy-to-clipboard button */
.vibe-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 100px;
  border: 1px solid var(--ed-border);
  background: transparent;
  cursor: pointer;
  transition: all var(--vibe-transition);
  vertical-align: middle;
  margin-left: 8px;
}

.page-editorial .vibe-copy-btn { color: var(--ed-text-muted); border-color: var(--ed-border); }
.page-corporate .vibe-copy-btn { color: var(--corp-text-muted); border-color: var(--corp-border); }

.vibe-copy-btn:hover {
  border-color: var(--vibe-accent);
  color: var(--vibe-accent);
}

/* Amount options */
.vibe-amount-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 10px;
  margin: var(--sp-sm) 0;
}

.vibe-amount-btn {
  padding: 14px 10px;
  border-radius: var(--vibe-radius-sm);
  text-align: center;
  cursor: pointer;
  transition: all var(--vibe-transition);
  font-size: 1.1rem;
  font-weight: 700;
  border: 2px solid;
  background: transparent;
  text-decoration: none !important;
  display: block;
}

.page-editorial .vibe-amount-btn {
  border-color: var(--ed-border);
  color: var(--ed-text) !important;
  background: var(--ed-bg-card);
}

.page-editorial .vibe-amount-btn:hover,
.vibe-amount-btn--active {
  border-color: var(--vibe-accent) !important;
  background: rgba(200,245,66,.15) !important;
  color: var(--ed-text) !important;
}

/* ─── CALCULATOR UI ─────────────────────────────────────────── */
.vibe-calc {
  border-radius: var(--vibe-radius-lg);
  padding: var(--sp-md);
  margin: var(--sp-md) 0;
  position: relative;
  overflow: hidden;
}

.page-editorial .vibe-calc,
.vibe-calc--editorial {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
  box-shadow: var(--vibe-shadow-md);
}

.page-corporate .vibe-calc,
.vibe-calc--corporate {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

.vibe-calc__label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
}

.page-editorial .vibe-calc__label { color: var(--ed-text-muted); }
.page-corporate .vibe-calc__label { color: var(--corp-text-muted); }

.vibe-calc__input {
  width: 100%;
  padding: 14px 16px;
  border-radius: var(--vibe-radius-sm);
  border: 2px solid;
  font-size: 1.1rem;
  font-family: var(--vibe-font-body);
  font-weight: 600;
  outline: none;
  transition: border-color var(--vibe-transition);
  margin-bottom: var(--sp-sm);
}

.page-editorial .vibe-calc__input {
  border-color: var(--ed-border);
  background: var(--ed-bg);
  color: var(--ed-text);
}

.page-editorial .vibe-calc__input:focus {
  border-color: var(--vibe-accent);
}

.page-corporate .vibe-calc__input {
  border-color: var(--corp-border);
  background: var(--corp-bg);
  color: var(--corp-text);
}

.page-corporate .vibe-calc__input:focus {
  border-color: var(--vibe-accent);
}

.vibe-calc__result {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-sm) var(--sp-md);
  margin-top: var(--sp-sm);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.page-editorial .vibe-calc__result {
  background: rgba(200,245,66,.12);
  border: 1px solid rgba(200,245,66,.4);
}

.page-corporate .vibe-calc__result {
  background: rgba(200,245,66,.1);
  border: 1px solid rgba(200,245,66,.25);
}

.vibe-calc__result-label {
  font-size: 14px;
  font-weight: 600;
}

.page-editorial .vibe-calc__result-label { color: var(--ed-text-muted); }
.page-corporate .vibe-calc__result-label { color: var(--corp-text-muted); }

.vibe-calc__result-val {
  font-family: var(--vibe-font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--vibe-accent) !important;
}

/* Slider */
.vibe-calc__slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  outline: none;
  cursor: pointer;
  margin: 12px 0;
}

.page-editorial .vibe-calc__slider {
  background: linear-gradient(to right, var(--vibe-accent) 0%, var(--ed-border) 0%);
}

.page-corporate .vibe-calc__slider {
  background: linear-gradient(to right, var(--vibe-accent) 0%, var(--corp-border) 0%);
}

.vibe-calc__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--vibe-accent);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  transition: transform var(--vibe-transition);
}

.vibe-calc__slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

/* ─── INFO ALERT / NOTICE BOX ──────────────────────────────── */
.vibe-alert {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-sm) var(--sp-md);
  margin: var(--sp-sm) 0;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.6;
}

.vibe-alert__icon {
  font-size: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}

.vibe-alert--info {
  background: rgba(200,245,66,.1);
  border: 1px solid rgba(200,245,66,.35);
}

.vibe-alert--warning {
  background: rgba(255,190,50,.1);
  border: 1px solid rgba(255,190,50,.35);
}

.vibe-alert--success {
  background: rgba(50,200,100,.1);
  border: 1px solid rgba(50,200,100,.3);
}

.page-editorial .vibe-alert { color: var(--ed-text); }
.page-corporate .vibe-alert { color: var(--corp-text); }

/* ─── PROCESS STEPS LIST ───────────────────────────────────── */
.vibe-steps {
  list-style: none;
  padding: 0;
  margin: var(--sp-md) 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.vibe-step {
  display: flex;
  gap: var(--sp-sm);
  align-items: flex-start;
  padding: var(--sp-sm) 0;
  position: relative;
}

.vibe-step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 19px;
  top: 48px;
  width: 2px;
  height: calc(100% - 28px);
  border-radius: 1px;
}

.page-editorial .vibe-step:not(:last-child)::after { background: var(--ed-border); }
.page-corporate .vibe-step:not(:last-child)::after { background: var(--corp-border); }

.vibe-step__num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
  flex-shrink: 0;
  z-index: 1;
}

.page-editorial .vibe-step__num {
  background: rgba(200,245,66,.2);
  border: 2px solid var(--vibe-accent);
  color: #4A6A00;
}

.page-corporate .vibe-step__num {
  background: rgba(200,245,66,.12);
  border: 2px solid var(--vibe-accent);
  color: var(--vibe-accent);
}

.vibe-step__body { padding-top: 8px; }

.vibe-step__title {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 4px !important;
}

.page-editorial .vibe-step__title { color: var(--ed-text); }
.page-corporate .vibe-step__title { color: var(--corp-text); }

.vibe-step__desc {
  font-size: 14px;
  line-height: 1.6;
}

.page-editorial .vibe-step__desc { color: var(--ed-text-muted); }
.page-corporate .vibe-step__desc { color: var(--corp-text-muted); }

/* ─── TAG / BADGE chips ─────────────────────────────────────── */
.vibe-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
}

.vibe-tag--accent {
  background: rgba(200,245,66,.2);
  color: #4A6A00;
  border: 1px solid rgba(200,245,66,.5);
}

.page-corporate .vibe-tag--accent {
  color: var(--corp-accent);
}

/* ─── EDITORIAL KROK 2 responsive ─────────────────────────── */
@media (max-width: 768px) {
  .vibe-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vibe-donut-wrap {
    flex-direction: column;
    align-items: flex-start;
  }

  .vibe-donut {
    width: 180px;
    height: 180px;
    align-self: center;
  }

  .vibe-bank-row {
    flex-direction: column;
    gap: 4px;
  }

  .vibe-bank-row__val {
    text-align: left;
  }

  .vibe-calc__result {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .vibe-stat-grid {
    grid-template-columns: 1fr;
  }

  .vibe-amount-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ============================================================
   END KROK 2
   ============================================================ */

/* ============================================================
   VIBE DESIGN SYSTEM — KROK 3: CORPORATE + HYPERLOCAL + FAQ
   pricing table · ESG table · CSR CTA · hubs · accordion
   Added: 2026-05-25
   ============================================================ */

/* ─── PRICING TABLE ────────────────────────────────────────── */
.vibe-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--sp-sm);
  margin: var(--sp-md) 0;
  align-items: start;
}

.vibe-pricing-card {
  border-radius: var(--vibe-radius-lg);
  padding: var(--sp-md);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: transform var(--vibe-transition), box-shadow var(--vibe-transition);
}

.vibe-pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--vibe-shadow-lg);
}

.page-editorial .vibe-pricing-card,
.vibe-pricing-card--editorial {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
  box-shadow: var(--vibe-shadow-sm);
}

.page-corporate .vibe-pricing-card,
.vibe-pricing-card--corporate {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

/* Featured/highlighted card */
.vibe-pricing-card--featured {
  border-color: var(--vibe-accent) !important;
  border-width: 2px !important;
}

.vibe-pricing-card--featured::before {
  content: attr(data-badge);
  position: absolute;
  top: 0;
  right: 0;
  background: var(--vibe-accent);
  color: #07080C;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-bottom-left-radius: var(--vibe-radius-sm);
}

.vibe-pricing-card__tier {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: var(--vibe-accent) !important;
}

.vibe-pricing-card__name {
  font-family: var(--vibe-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
  line-height: 1.2 !important;
}

.page-editorial .vibe-pricing-card__name { color: var(--ed-text) !important; }
.page-corporate .vibe-pricing-card__name { color: var(--corp-text) !important; }

.vibe-pricing-card__price {
  margin: var(--sp-sm) 0;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.vibe-pricing-card__amount {
  font-family: var(--vibe-font-display);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: var(--vibe-accent) !important;
}

.vibe-pricing-card__period {
  font-size: 13px;
}

.page-editorial .vibe-pricing-card__period { color: var(--ed-text-muted); }
.page-corporate .vibe-pricing-card__period { color: var(--corp-text-muted); }

.vibe-pricing-card__divider {
  height: 1px;
  margin: var(--sp-sm) 0;
}

.page-editorial .vibe-pricing-card__divider { background: var(--ed-border); }
.page-corporate .vibe-pricing-card__divider { background: var(--corp-border); }

.vibe-pricing-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--sp-md);
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.vibe-pricing-card__feature {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.5;
}

.page-editorial .vibe-pricing-card__feature { color: var(--ed-text); }
.page-corporate .vibe-pricing-card__feature { color: var(--corp-text); }

.vibe-pricing-card__feature::before {
  content: '✓';
  color: var(--vibe-accent);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

.vibe-pricing-card__feature--muted::before {
  content: '–';
  color: currentColor;
  opacity: .4;
}

.vibe-pricing-card__feature--muted {
  opacity: .5;
}

.vibe-pricing-card__cta {
  margin-top: auto;
}

/* ─── ESG TABLE ─────────────────────────────────────────────── */
.vibe-esg-table-wrap {
  overflow-x: auto;
  margin: var(--sp-md) 0;
  border-radius: var(--vibe-radius-md);
}

.vibe-esg-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.vibe-esg-table th,
.vibe-esg-table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: middle;
}

.vibe-esg-table th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.page-editorial .vibe-esg-table th {
  background: var(--ed-bg-section);
  color: var(--ed-text-muted);
  border-bottom: 2px solid var(--ed-border);
}

.page-corporate .vibe-esg-table th {
  background: var(--corp-bg-panel);
  color: var(--corp-text-muted);
  border-bottom: 2px solid var(--corp-border);
}

.vibe-esg-table tr {
  transition: background var(--vibe-transition);
}

.page-editorial .vibe-esg-table tbody tr { border-bottom: 1px solid var(--ed-border); }
.page-editorial .vibe-esg-table tbody tr:hover { background: rgba(200,245,66,.05); }
.page-editorial .vibe-esg-table td { color: var(--ed-text); }

.page-corporate .vibe-esg-table tbody tr { border-bottom: 1px solid var(--corp-border); }
.page-corporate .vibe-esg-table tbody tr:hover { background: rgba(200,245,66,.04); }
.page-corporate .vibe-esg-table td { color: var(--corp-text); }

/* ESG pillar badge in table */
.vibe-esg-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.vibe-esg-pill--e { background: rgba(50,190,100,.15); color: #1A8A50; }
.vibe-esg-pill--s { background: rgba(80,130,250,.15); color: #2050C0; }
.vibe-esg-pill--g { background: rgba(200,245,66,.2);  color: #4A6A00; }
.page-corporate .vibe-esg-pill--g { color: var(--corp-accent); }

/* ESG metric value highlight */
.vibe-esg-val {
  font-family: var(--vibe-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--vibe-accent) !important;
}

/* ─── CSR CTA BLOCK ─────────────────────────────────────────── */
.vibe-csr-cta {
  border-radius: var(--vibe-radius-lg);
  padding: var(--sp-lg) var(--sp-md);
  margin: var(--sp-lg) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.vibe-csr-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 50% 50%, rgba(200,245,66,.12) 0%, transparent 70%);
  pointer-events: none;
}

.page-editorial .vibe-csr-cta {
  background: var(--ed-bg-section);
  border: 1px solid var(--ed-border);
}

.page-corporate .vibe-csr-cta {
  background: var(--corp-bg-panel);
  border: 1px solid var(--corp-border);
}

.vibe-csr-cta__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--vibe-accent) !important;
  display: block;
  margin-bottom: 12px;
}

.vibe-csr-cta__title {
  font-family: var(--vibe-font-display) !important;
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  margin: 0 0 var(--sp-sm) !important;
  max-width: 680px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-editorial .vibe-csr-cta__title { color: var(--ed-text) !important; }
.page-corporate .vibe-csr-cta__title { color: var(--corp-text) !important; }

.vibe-csr-cta__lead {
  font-size: 1rem;
  line-height: 1.7;
  max-width: 560px;
  margin: 0 auto var(--sp-md) !important;
}

.page-editorial .vibe-csr-cta__lead { color: var(--ed-text-muted); }
.page-corporate .vibe-csr-cta__lead { color: var(--corp-text-muted); }

.vibe-csr-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* ─── HYPERLOCAL HUB LAYOUT ─────────────────────────────────── */
.vibe-hub-header {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-md);
  margin-bottom: var(--sp-md);
  flex-wrap: wrap;
}

.vibe-hub-icon {
  width: 72px;
  height: 72px;
  border-radius: var(--vibe-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  flex-shrink: 0;
}

.page-editorial .vibe-hub-icon {
  background: rgba(200,245,66,.18);
  border: 1px solid rgba(200,245,66,.4);
}

.page-corporate .vibe-hub-icon {
  background: rgba(200,245,66,.1);
  border: 1px solid rgba(200,245,66,.25);
}

.vibe-hub-meta {
  flex: 1;
  min-width: 220px;
}

.vibe-hub-meta__region {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--vibe-accent) !important;
  margin-bottom: 6px;
}

.vibe-hub-meta__title {
  font-family: var(--vibe-font-display) !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin: 0 0 8px !important;
}

.page-editorial .vibe-hub-meta__title { color: var(--ed-text) !important; }
.page-corporate .vibe-hub-meta__title { color: var(--corp-text) !important; }

.vibe-hub-meta__lead {
  font-size: 1rem;
  line-height: 1.65;
}

.page-editorial .vibe-hub-meta__lead { color: var(--ed-text-muted); }
.page-corporate .vibe-hub-meta__lead { color: var(--corp-text-muted); }

/* Hub program cards */
.vibe-hub-programs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--sp-sm);
  margin: var(--sp-md) 0;
}

.vibe-hub-program-card {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-sm);
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-decoration: none !important;
  transition: all var(--vibe-transition);
}

.page-editorial .vibe-hub-program-card {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
}

.page-editorial .vibe-hub-program-card:hover {
  border-color: var(--vibe-accent);
  box-shadow: var(--vibe-shadow-sm);
  transform: translateY(-2px);
}

.page-corporate .vibe-hub-program-card {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

.page-corporate .vibe-hub-program-card:hover {
  border-color: var(--vibe-accent);
  transform: translateY(-2px);
}

.vibe-hub-program-card__icon {
  font-size: 1.6rem;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
}

.vibe-hub-program-card__name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 4px;
}

.page-editorial .vibe-hub-program-card__name { color: var(--ed-text) !important; }
.page-corporate .vibe-hub-program-card__name { color: var(--corp-text) !important; }

.vibe-hub-program-card__age {
  font-size: 12px;
}

.page-editorial .vibe-hub-program-card__age { color: var(--ed-text-muted); }
.page-corporate .vibe-hub-program-card__age { color: var(--corp-text-muted); }

/* Hub schools / partner list */
.vibe-hub-schools {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-sm) var(--sp-md);
  margin: var(--sp-sm) 0;
}

.page-editorial .vibe-hub-schools {
  background: var(--ed-bg-section);
  border: 1px solid var(--ed-border);
}

.page-corporate .vibe-hub-schools {
  background: var(--corp-bg-panel);
  border: 1px solid var(--corp-border);
}

.vibe-hub-schools__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.page-editorial .vibe-hub-schools__title { color: var(--ed-text-muted); }
.page-corporate .vibe-hub-schools__title { color: var(--corp-text-muted); }

.vibe-hub-schools__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vibe-hub-schools__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
}

.page-editorial .vibe-hub-schools__item { color: var(--ed-text); }
.page-corporate .vibe-hub-schools__item { color: var(--corp-text); }

.vibe-hub-schools__item::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vibe-accent);
  flex-shrink: 0;
}

/* ─── FAQ ACCORDION ─────────────────────────────────────────── */
.vibe-faq-list {
  margin: var(--sp-md) 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vibe-faq-item {
  border-radius: var(--vibe-radius-md);
  overflow: hidden;
  transition: box-shadow var(--vibe-transition);
}

.page-editorial .vibe-faq-item {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
}

.page-editorial .vibe-faq-item[open],
.page-editorial .vibe-faq-item:focus-within {
  border-color: rgba(200,245,66,.5);
  box-shadow: 0 0 0 3px rgba(200,245,66,.12);
}

.page-corporate .vibe-faq-item {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

.page-corporate .vibe-faq-item[open],
.page-corporate .vibe-faq-item:focus-within {
  border-color: rgba(200,245,66,.3);
  box-shadow: 0 0 0 3px rgba(200,245,66,.07);
}

/* Override existing details/summary styles for vibe-faq-item */
.vibe-faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 20px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  user-select: none;
  transition: background var(--vibe-transition);
}

.vibe-faq-item summary::-webkit-details-marker { display: none; }

.page-editorial .vibe-faq-item summary { color: var(--ed-text); }
.page-editorial .vibe-faq-item summary:hover { background: var(--ed-bg-section); }
.page-corporate .vibe-faq-item summary { color: var(--corp-text); }
.page-corporate .vibe-faq-item summary:hover { background: rgba(200,245,66,.04); }

/* Chevron icon */
.vibe-faq-item summary::after {
  content: '+';
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  color: var(--vibe-accent);
  flex-shrink: 0;
  transition: transform var(--vibe-transition);
}

.vibe-faq-item[open] summary::after {
  transform: rotate(45deg);
}

.vibe-faq-item__body {
  padding: 4px 20px 20px;
  font-size: 14px;
  line-height: 1.7;
}

.page-editorial .vibe-faq-item__body { color: var(--ed-text-muted); }
.page-corporate .vibe-faq-item__body { color: var(--corp-text-muted); }

.vibe-faq-item__body p { margin: 0 0 10px !important; }
.vibe-faq-item__body p:last-child { margin-bottom: 0 !important; }

/* FAQ separator between open item content and next */
.vibe-faq-item[open] {
  margin-bottom: 4px;
}

/* ─── TWO-COLUMN CONTENT LAYOUT ─────────────────────────────── */
.vibe-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  margin: var(--sp-md) 0;
  align-items: start;
}

.vibe-two-col--60-40 {
  grid-template-columns: 3fr 2fr;
}

.vibe-two-col--40-60 {
  grid-template-columns: 2fr 3fr;
}

@media (max-width: 768px) {
  .vibe-two-col,
  .vibe-two-col--60-40,
  .vibe-two-col--40-60 {
    grid-template-columns: 1fr;
  }
}

/* ─── HIGHLIGHT ROW (icon + text) ───────────────────────────── */
.vibe-highlights {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  margin: var(--sp-md) 0;
}

.vibe-highlight-row {
  display: flex;
  gap: var(--sp-sm);
  align-items: flex-start;
}

.vibe-highlight-row__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--vibe-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
  background: rgba(200,245,66,.12);
}

.vibe-highlight-row__body {}

.vibe-highlight-row__title {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 2px;
}

.page-editorial .vibe-highlight-row__title { color: var(--ed-text); }
.page-corporate .vibe-highlight-row__title { color: var(--corp-text); }

.vibe-highlight-row__desc {
  font-size: 14px;
  line-height: 1.5;
}

.page-editorial .vibe-highlight-row__desc { color: var(--ed-text-muted); }
.page-corporate .vibe-highlight-row__desc { color: var(--corp-text-muted); }

/* ─── CONTACT CTA STRIP ─────────────────────────────────────── */
.vibe-contact-strip {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-md);
  flex-wrap: wrap;
  margin: var(--sp-md) 0;
}

.page-editorial .vibe-contact-strip {
  background: var(--ed-bg-section);
  border: 1px solid var(--ed-border);
}

.page-corporate .vibe-contact-strip {
  background: var(--corp-bg-panel);
  border: 1px solid var(--corp-border);
}

.vibe-contact-strip__text {}

.vibe-contact-strip__title {
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 4px;
}

.page-editorial .vibe-contact-strip__title { color: var(--ed-text); }
.page-corporate .vibe-contact-strip__title { color: var(--corp-text); }

.vibe-contact-strip__email {
  font-size: 14px;
}

.page-editorial .vibe-contact-strip__email { color: var(--ed-text-muted); }
.page-corporate .vibe-contact-strip__email { color: var(--corp-text-muted); }

.vibe-contact-strip__email a {
  color: var(--vibe-accent) !important;
  text-decoration: none;
  font-weight: 600;
}

/* ─── TRANSPARENCY / REPORT LAYOUT ─────────────────────────── */
.vibe-report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--sp-sm);
  margin: var(--sp-md) 0;
}

.vibe-report-card {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-md);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.page-editorial .vibe-report-card {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
  box-shadow: var(--vibe-shadow-sm);
}

.page-corporate .vibe-report-card {
  background: var(--corp-bg-card);
  border: 1px solid var(--corp-border);
}

.vibe-report-card__year {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--vibe-accent) !important;
}

.vibe-report-card__title {
  font-family: var(--vibe-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.page-editorial .vibe-report-card__title { color: var(--ed-text) !important; }
.page-corporate .vibe-report-card__title { color: var(--corp-text) !important; }

.vibe-report-card__desc {
  font-size: 13px;
  line-height: 1.6;
}

.page-editorial .vibe-report-card__desc { color: var(--ed-text-muted); }
.page-corporate .vibe-report-card__desc { color: var(--corp-text-muted); }

.vibe-report-card__footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-editorial .vibe-report-card__footer { border-color: var(--ed-border); }
.page-corporate .vibe-report-card__footer { border-color: var(--corp-border); }

/* ─── MEDIA KIT download cards ──────────────────────────────── */
.vibe-download-card {
  border-radius: var(--vibe-radius-md);
  padding: var(--sp-sm) var(--sp-md);
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  text-decoration: none !important;
  transition: all var(--vibe-transition);
  margin-bottom: 10px;
}

.page-editorial .vibe-download-card {
  background: var(--ed-bg-card);
  border: 1px solid var(--ed-border);
}

.page-editorial .vibe-download-card:hover {
  border-color: var(--vibe-accent);
  transform: translateX(4px);
}

.vibe-download-card__icon {
  font-size: 2rem;
  flex-shrink: 0;
}

.vibe-download-card__body { flex: 1; }

.vibe-download-card__name {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 2px;
}

.page-editorial .vibe-download-card__name { color: var(--ed-text) !important; }

.vibe-download-card__meta {
  font-size: 12px;
}

.page-editorial .vibe-download-card__meta { color: var(--ed-text-muted); }

.vibe-download-card__arrow {
  color: var(--vibe-accent);
  font-size: 1.2rem;
  flex-shrink: 0;
}

/* ─── GLOBAL FINAL RESPONSIVE ───────────────────────────────── */
@media (max-width: 900px) {
  .vibe-pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vibe-hub-programs {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .vibe-section {
    padding: var(--sp-md) var(--sp-sm);
  }

  .vibe-pricing-grid {
    grid-template-columns: 1fr;
  }

  .vibe-hub-programs {
    grid-template-columns: 1fr;
  }

  .vibe-hub-header {
    flex-direction: column;
    gap: var(--sp-sm);
  }

  .vibe-csr-cta {
    padding: var(--sp-md) var(--sp-sm);
  }

  .vibe-csr-cta__actions {
    flex-direction: column;
    align-items: center;
  }

  .vibe-contact-strip {
    flex-direction: column;
    align-items: flex-start;
  }

  .vibe-esg-table th,
  .vibe-esg-table td {
    padding: 10px 12px;
    font-size: 13px;
  }

  .vibe-report-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .vibe-hub-programs {
    grid-template-columns: 1fr;
  }

  .vibe-pricing-card__amount {
    font-size: 1.8rem;
  }

  .vibe-faq-item summary {
    padding: 14px 16px;
    font-size: 14px;
  }

  .vibe-faq-item__body {
    padding: 4px 16px 16px;
  }
}

/* ─── PRINT UTILITY ─────────────────────────────────────────── */
@media print {
  .vibe-hero::before,
  .vibe-hero::after,
  .vibe-csr-cta::before {
    display: none;
  }

  .vibe-pricing-card,
  .vibe-stat-card,
  .vibe-report-card {
    break-inside: avoid;
    box-shadow: none !important;
  }

  body.page-editorial,
  body.page-editorial #page {
    background: #fff !important;
  }

  .vibe-btn {
    border: 1px solid #ccc !important;
  }
}

/* ============================================================
   END KROK 3
   ============================================================ */

/* ============================================================
   FIX TEKSTU NIEWIDOCZNEGO — Kadence specificity override
   Added: 2026-05-26
   ============================================================ */

/* === EDITORIAL: force dark text on cream bg === */
body.page-editorial .entry-content,
body.page-editorial .entry-content p,
body.page-editorial .entry-content li,
body.page-editorial .entry-content span:not(.vibe-stat-card__number):not(.vibe-tag):not(.vibe-hero__eyebrow),
body.page-editorial .entry-content div:not([class*="vibe-hero"]):not([class*="vibe-btn"]) {
  color: var(--ed-text) !important;
}

/* Headings */
body.page-editorial .entry-content h1,
body.page-editorial .entry-content h2,
body.page-editorial .entry-content h3,
body.page-editorial .entry-content h4,
body.page-editorial .entry-content h5 {
  color: var(--ed-text) !important;
}

/* Muted text helpers */
body.page-editorial .vibe-section-lead,
body.page-editorial .vibe-stat-card__desc,
body.page-editorial .vibe-hero__lead {
  color: var(--ed-text-muted) !important;
}

/* Accent elements stay lime */
body.page-editorial .vibe-stat-card__number,
body.page-editorial .vibe-hero__title em,
body.page-editorial .vibe-section-title--accent,
body.page-editorial .vibe-donut__center-num,
body.page-editorial .vibe-calc__result-val,
body.page-editorial .vibe-esg-val,
body.page-editorial .vibe-report-card__year,
body.page-editorial .vibe-pricing-card__tier {
  color: var(--vibe-accent) !important;
}

/* Hero eyebrow stays accented */
body.page-editorial .vibe-hero__eyebrow {
  color: #4A6A00 !important;
}

/* Labels & keys muted */
body.page-editorial .vibe-stat-card__label,
body.page-editorial .vibe-bank-row__key,
body.page-editorial .vibe-calc__label,
body.page-editorial .vibe-bank-box__title,
body.page-editorial .vibe-hub-schools__title,
body.page-editorial .vibe-report-card__desc,
body.page-editorial .vibe-download-card__meta,
body.page-editorial .vibe-contact-strip__email,
body.page-editorial .vibe-highlight-row__desc,
body.page-editorial .vibe-step__desc,
body.page-editorial .vibe-cite-box__source,
body.page-editorial .vibe-donut__center-label,
body.page-editorial .vibe-donut-legend__name {
  color: var(--ed-text-muted) !important;
}

/* Dark text on white cards */
body.page-editorial .vibe-stat-card,
body.page-editorial .vibe-bank-box,
body.page-editorial .vibe-report-card,
body.page-editorial .vibe-calc,
body.page-editorial .vibe-download-card,
body.page-editorial .vibe-hub-schools,
body.page-editorial .vibe-hub-program-card {
  color: var(--ed-text) !important;
}

/* Link colors in editorial */
body.page-editorial a:not(.vibe-btn) {
  color: #4A6A00 !important;
}

body.page-editorial a:not(.vibe-btn):hover {
  color: var(--vibe-accent-dark) !important;
}

/* Contact strip links */
body.page-editorial .vibe-contact-strip__email a,
body.page-editorial .vibe-alert a,
body.page-editorial .vibe-cite-box a {
  color: var(--vibe-accent-dark) !important;
  font-weight: 600;
}

/* === CORPORATE: force cream text on dark bg === */
body.page-corporate .entry-content,
body.page-corporate .entry-content p,
body.page-corporate .entry-content li,
body.page-corporate .entry-content span:not(.vibe-esg-pill),
body.page-corporate .entry-content div:not([class*="vibe-hero"]):not([class*="vibe-btn"]) {
  color: var(--corp-text) !important;
}

body.page-corporate .entry-content h1,
body.page-corporate .entry-content h2,
body.page-corporate .entry-content h3,
body.page-corporate .entry-content h4,
body.page-corporate .entry-content h5 {
  color: var(--corp-text) !important;
}

/* Muted text corporate */
body.page-corporate .vibe-section-lead,
body.page-corporate .vibe-stat-card__desc,
body.page-corporate .vibe-hero__lead,
body.page-corporate .vibe-pricing-card__period,
body.page-corporate .vibe-highlight-row__desc,
body.page-corporate .vibe-step__desc,
body.page-corporate .vibe-contact-strip__email,
body.page-corporate .vibe-csr-cta__lead {
  color: var(--corp-text-muted) !important;
}

/* Accent elements corporate */
body.page-corporate .vibe-stat-card__number,
body.page-corporate .vibe-hero__title em,
body.page-corporate .vibe-pricing-card__amount,
body.page-corporate .vibe-pricing-card__tier,
body.page-corporate .vibe-esg-val,
body.page-corporate .vibe-csr-cta__eyebrow,
body.page-corporate .vibe-hub-meta__region,
body.page-corporate .vibe-report-card__year,
body.page-corporate .vibe-section-title--accent {
  color: var(--corp-accent) !important;
}

/* Corporate card text */
body.page-corporate .vibe-stat-card,
body.page-corporate .vibe-pricing-card,
body.page-corporate .vibe-report-card {
  color: var(--corp-text) !important;
}

body.page-corporate .vibe-stat-card__label,
body.page-corporate .vibe-pricing-card__name,
body.page-corporate .vibe-hub-meta__title,
body.page-corporate .vibe-highlight-row__title,
body.page-corporate .vibe-step__title,
body.page-corporate .vibe-contact-strip__title,
body.page-corporate .vibe-csr-cta__title {
  color: var(--corp-text) !important;
}

/* Featured pricing card CTA (dark text on lime btn) */
body.page-corporate .vibe-pricing-card--featured .vibe-btn--primary {
  color: #07080C !important;
}

/* Corporate links */
body.page-corporate a:not(.vibe-btn) {
  color: var(--corp-accent) !important;
}

body.page-corporate a:not(.vibe-btn):hover {
  color: var(--vibe-accent-dark) !important;
}

body.page-corporate .vibe-contact-strip__email a,
body.page-corporate .vibe-alert a {
  color: var(--corp-accent) !important;
  font-weight: 600;
}

/* === SHARED: buttons always have correct text === */
body.page-editorial .vibe-btn--primary,
body.page-corporate .vibe-btn--primary {
  color: #07080C !important;
}

body.page-editorial .vibe-btn--outline-dark {
  color: var(--ed-text) !important;
}

body.page-corporate .vibe-btn--outline-light {
  color: var(--corp-text) !important;
}

/* === HERO always correct regardless of entry-content === */
.vibe-hero--editorial .vibe-hero__title {
  color: var(--ed-text) !important;
}

.vibe-hero--corporate .vibe-hero__title {
  color: var(--corp-text) !important;
}

.vibe-hero--editorial .vibe-hero__lead {
  color: var(--ed-text-muted) !important;
}

.vibe-hero--corporate .vibe-hero__lead {
  color: rgba(245,241,232,.75) !important;
}

/* ============================================================
   END FIX TEKSTU NIEWIDOCZNEGO
   ============================================================ */

/* ============================================================
   FIX STAT CARD NUMBER OVERFLOW (długi tekst)
   Added: 2026-05-26
   ============================================================ */

/* Bazowy fix — zawsze wrap jeśli za długie */
.vibe-stat-card__number {
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  hyphens: auto !important;
}

/* Gdy numer jest krótki (cyfry) — trzymaj w 1 linii */
.vibe-stat-card__number--numeric {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Gdy tekst jest długi (np. "RAPORT", "GRI 413-1", "SDG 4") — skaluj font */
.vibe-stat-card__number--text {
  font-size: clamp(1.2rem, 3.5vw, 2rem) !important;
  letter-spacing: -0.01em;
  line-height: 1.2 !important;
}

/* Gdy bardzo długi — jeszcze mniejszy */
.vibe-stat-card__number--xs {
  font-size: clamp(1rem, 2.5vw, 1.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0;
}

/* Autofix dla kart z krótkim contentem (np. "GRI", "SDG 4", "78%") */
.vibe-stat-card__number:empty { display: none; }

/* ============================================================
   END FIX OVERFLOW
   ============================================================ */

/* ════════════════════════════════════════════════════════════
   FIX czytelności: ciemny tekst w limonkowych przyciskach
   — strony home / programy / oferta-dla-szkol (na końcu = wygrywa kolejnością)
   ════════════════════════════════════════════════════════════ */
body.hero-page--home .vibe-hero-cta-row .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link,
body.hero-page--home .vibe-hero-cta-row .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link:hover,
body.hero-page--programy .vibe-hero-cta-row .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link,
body.hero-page--programy .vibe-hero-cta-row .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link:hover,
body.hero-page--oferta-dla-szkol .vibe-hero-cta-row .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link,
body.hero-page--oferta-dla-szkol .vibe-hero-cta-row .wp-block-button.vibe-hero-cta-secondary .wp-block-button__link:hover {
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}

body.home .main-navigation .menu-item-1018 > a,
body.home #site-navigation .menu-item-1018 > a,
body.home .main-navigation .menu-item-1018 > a:hover,
body.hero-page--home .main-navigation .menu-item-1018 > a,
body.hero-page--home #site-navigation .menu-item-1018 > a,
body.hero-page--home .main-navigation .menu-item-1018 > a:hover,
body.hero-page--home #site-navigation .menu-item-1018 > a:hover,
body.hero-page--programy .main-navigation .menu-item-1018 > a,
body.hero-page--programy #site-navigation .menu-item-1018 > a,
body.hero-page--programy .main-navigation .menu-item-1018 > a:hover,
body.hero-page--programy #site-navigation .menu-item-1018 > a:hover,
body.hero-page--oferta-dla-szkol .main-navigation .menu-item-1018 > a,
body.hero-page--oferta-dla-szkol #site-navigation .menu-item-1018 > a,
body.hero-page--oferta-dla-szkol .main-navigation .menu-item-1018 > a:hover,
body.hero-page--oferta-dla-szkol #site-navigation .menu-item-1018 > a:hover {
  color: #0E0F14 !important;
  -webkit-text-fill-color: #0E0F14 !important;
}

/* ════════════════════════════════════════════════════════════
   Ramka widgetu FaniMani (strona /wesprzyj-fundacje-vibe/)
   Tekst i skrypt są osobnymi blokami w treści; tu tylko styl ramki.
   ════════════════════════════════════════════════════════════ */
.vibe-fanimani-box {
  max-width: 680px !important;
  margin: 0 auto 56px !important;
  padding: 36px 32px !important;
  background: #FFFFFF !important;
  border: 2px solid #C8F542 !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 40px rgba(14, 15, 20, .10) !important;
  text-align: center !important;
}
.vibe-fanimani-box .vibe-fanimani-eyebrow {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #7B3FE4 !important;
  margin: 0 0 10px !important;
}
.vibe-fanimani-box .vibe-fanimani-title {
  font-family: 'Fraunces', serif !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 3vw, 28px) !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
  color: #0E0F14 !important;
}
.vibe-fanimani-box .vibe-fanimani-title em {
  font-style: italic !important;
  color: #7B3FE4 !important;
}
