/* ====================================================
   SES Słomczyn — hotfix.css (v1.2.1)
   Forced dark background to fix Astra override (white panels between sections).
   ==================================================== */

/* ---------- 1. Force dark on ALL Astra/WP wrappers ---------- */
html,
html body,
body.ses-theme,
body.ses-frontpage,
body.ses-subpage,
body .site,
body .site-content,
body #content,
body #primary,
body .ast-container,
body .ast-container-inner,
body .site-main,
body .ses-frontpage-main,
body.ses-frontpage > *,
body.ses-subpage > * {
    background-color: var(--bg) !important;
}

/* Astra plain container sometimes has explicit white */
body.ses-theme .ast-plain-container,
body.ses-theme .ast-no-sidebar,
body.ses-theme .ast-article-single,
body.ses-theme .ast-article-post,
body.ses-theme article.ast-article-single,
body.ses-theme .entry-content {
    background-color: transparent !important;
}

/* Astra page-builder / single-post template fallbacks */
body.ses-theme .ast-single-post #primary,
body.ses-theme .ast-single-post #secondary {
    background-color: transparent !important;
}

/* ---------- 2. Dividers — explicit dark background ---------- */
/* Hex-edge — explicit dark behind transparent SVG pattern */
.divider-hex {
    background-color: var(--bg) !important;
    height: 40px !important;
    position: relative !important;
}

/* Light-beam — explicit dark; gradient stays as accent */
.divider-beam {
    background: var(--bg) !important;
    height: 100px !important;
    position: relative;
    display: grid;
    place-items: center;
}
/* Re-create the subtle overlay using box-shadow trick instead of background */
.divider-beam::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(110, 231, 183, 0.08), transparent 70%);
    pointer-events: none;
}

/* Radial-fade — explicit dark */
.divider-radial {
    background-color: var(--bg) !important;
    height: 140px !important;
}
.divider-radial::before {
    /* Backdrop blur with no white prevention */
    background: radial-gradient(ellipse at 50% 0%, rgba(16, 185, 129, 0.18), transparent 70%) !important;
}

/* Diagonal divider — apply background tint on the section, not the divider */
.divider-diagonal {
    background-color: var(--bg);
}

/* ---------- 3. Astra footer + below-footer wrappers — kill white ---------- */
.site-footer,
.ast-footer-wrap,
.ast-small-footer,
.ast-below-footer-wrap,
.footer-widget-area-inner,
.ast-builder-grid-row-container,
.site-below-footer-wrap,
.ast-builder-footer-grid-columns,
.site-primary-footer-wrap,
[data-section="section-footer"],
[data-section="section-below-footer"] {
    background-color: var(--bg) !important;
    border-color: var(--glass-border) !important;
}

/* Kill Astra default copyright "Powered by..." container white */
.ast-footer-copyright {
    background-color: var(--bg) !important;
    color: var(--text-secondary) !important;
}

/* ---------- 4. Ensure all section transitions inherit dark ---------- */
.ses-frontpage-main > section {
    background-color: var(--bg);
}
.ses-frontpage-main > .divider-hex,
.ses-frontpage-main > .divider-beam,
.ses-frontpage-main > .divider-radial {
    /* explicit, supersedes any inline style */
    background-color: var(--bg) !important;
}

/* ---------- 5. SVG paths z-index — make sure no Astra layer covers them ---------- */
.divider-hex::after,
.divider-beam::before,
.divider-radial::before {
    z-index: 1;
    pointer-events: none;
}

/* ---------- 6. Astra: hide stray widget area between content and footer ---------- */
.ast-no-sidebar #primary + #secondary,
.ast-no-sidebar .widget-area {
    display: none !important;
}

/* ---------- 7. Top-edge: kill any tiny strip between body top and nav ---------- */
body.ses-frontpage {
    margin: 0 !important;
    padding: 0 !important;
}
html { margin: 0 !important; padding: 0 !important; }

/* ====================================================
   24. Nav header — dark emerald (v2.0.4-light)
   Spójny ciemny pasek na frontpage + subpages, biały logo text pop.
   ==================================================== */

/* Frontpage + subpages — same dark emerald gradient */
body.ses-frontpage > header.nav,
body.ses-frontpage header.nav,
body.ses-frontpage #nav,
body.ses-subpage > header.nav,
body.ses-subpage header.nav,
body.ses-subpage #nav {
    background: linear-gradient(180deg, #064E3B 0%, #065F46 60%, #047857 100%) !important;
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    border-bottom: 1px solid rgba(16, 185, 129, 0.30) !important;
    box-shadow: 0 4px 20px rgba(6, 78, 59, 0.18) !important;
}

/* Mobile fallback — same dark emerald (no transparent on mobile) */
@media (max-width: 921px) {
    body.ses-frontpage > header.nav,
    body.ses-frontpage header.nav,
    body.ses-frontpage #nav {
        background: linear-gradient(180deg, #064E3B 0%, #047857 100%) !important;
    }
}

/* ====================================================
   25. Subpage content polish — buttons + eyebrows + value cards (v1.4.2)
   ==================================================== */

/* 25.1 WP block button — emerald gradient zamiast Astra blue */
.entry-content .wp-block-button .wp-block-button__link,
.entry-content .wp-block-buttons .wp-block-button__link {
    background: linear-gradient(135deg, var(--emerald-light) 0%, var(--emerald) 50%, var(--emerald-dark) 100%) !important;
    color: var(--heading) !important;
    border: 1px solid rgba(15, 23, 42, 0.148) !important;
    border-radius: var(--radius) !important;
    padding: 0.95rem 1.75rem !important;
    font-weight: 600 !important;
    box-shadow:
        0 4px 14px rgba(16, 185, 129, 0.40),
        inset 0 1px 0 rgba(15, 23, 42, 0.15),
        inset 0 -2px 0 rgba(15, 23, 42, 0.04) !important;
    transition: all 200ms ease !important;
    text-decoration: none !important;
}
.entry-content .wp-block-button .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow:
        0 10px 28px rgba(16, 185, 129, 0.55),
        0 0 30px rgba(52, 211, 153, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

/* 25.2 Section eyebrow nad H2 (injected via filter) */
.entry-content .ses-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.95rem;
    background: rgba(16, 185, 129, 0.10);
    color: var(--emerald-dark);
    font-family: var(--font-mono), monospace;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border-radius: 999px;
    margin: 2rem 0 0.75rem !important;
    border: 1px solid rgba(16, 185, 129, 0.30);
    max-width: max-content !important;
}
.entry-content .ses-eyebrow::before {
    content: "—";
    color: var(--emerald);
    font-weight: 700;
    margin-right: 0.2rem;
}
.entry-content .ses-eyebrow + h2,
.entry-content .ses-eyebrow + h2.wp-block-heading {
    margin-top: 0.5rem !important;
}

/* 25.3 Values list → glass cards grid */
.entry-content .values-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.5rem 0 2rem;
    max-width: 720px;
}
.entry-content .values-cards .value-card {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
    padding: 1.25rem 1.4rem;
    background: rgba(255, 255, 255, 0.80);
    backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    transition: all 200ms ease;
}
.entry-content .values-cards .value-card:hover {
    border-color: var(--glass-border-emerald);
    transform: translateY(-2px);
    box-shadow: var(--shadow-card-hover);
}
.entry-content .values-cards .value-card__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 185, 129, 0.10);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: var(--radius);
}
.entry-content .values-cards .value-card__icon svg {
    width: 26px;
    height: 26px;
    filter: drop-shadow(0 0 6px rgba(16, 185, 129, 0.45));
}
.entry-content .values-cards .value-card__icon--gold svg { color: var(--solar-gold); filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.45)); }
.entry-content .values-cards .value-card__icon--sky svg  { color: var(--sky-blue); filter: drop-shadow(0 0 6px rgba(56, 189, 248, 0.45)); }
.entry-content .values-cards .value-card__body { flex: 1; min-width: 0; }
.entry-content .values-cards .value-card__body h3 {
    margin: 0 0 0.35rem !important;
    color: var(--heading) !important;
    font-size: 1rem !important;
    font-weight: 700;
}
.entry-content .values-cards .value-card__body p {
    margin: 0 !important;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.55;
}

/* ====================================================
   26. Header consistency — fixed top, same position on home + subpages (v1.4.3)
   No more position-jump między stronami.
   ==================================================== */

/* Reset wszystkie poprzednie position rules na header */
body header.nav,
body.ses-frontpage header.nav,
body.ses-subpage header.nav,
body.ses-theme header.nav,
header.nav#nav {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    /* Dark emerald — corporate, contrast with white logo text */
    background: linear-gradient(180deg, #064E3B 0%, #065F46 60%, #047857 100%) !important;
    backdrop-filter: blur(12px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
    border-bottom: 1px solid rgba(16, 185, 129, 0.30) !important;
    box-shadow: 0 4px 20px rgba(6, 78, 59, 0.18) !important;
    margin: 0 !important;
}

/* Body kompensacja — push content down żeby nie był pod fixed header */
body.ses-theme {
    padding-top: 76px !important;
}

/* Hero/page-hero zaczyna się od top of viewable area (po fixed header) */
body.ses-frontpage .ses-frontpage-main > section:first-child,
body.ses-frontpage .hero2,
body.ses-subpage .page-hero,
body.ses-subpage .ses-subpage-main > * {
    margin-top: 0 !important;
}

/* Hero kompakt — pull-up pod nav, content od razu pod ciemnym pasem */
body.ses-frontpage .hero2 {
    min-height: auto !important;
    margin-top: -76px !important;     /* wciśnij hero pod body padding-top */
    padding: 102px 0 3rem !important; /* clear nav height (~101px) */
    place-items: start center !important;
}
body.ses-frontpage .hero2__shell {
    padding-top: 0.5rem !important;
    padding-bottom: 2rem !important;
}
/* Astra może wstrzykiwać global ul margin — wyzeruj dla nav__menu */
header.nav .nav__menu,
header.nav .nav__menu li {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Mobile — header zostaje fixed, ale niższy padding ze względu na hamburger */
@media (max-width: 921px) {
    body.ses-theme {
        padding-top: 64px !important;
    }
    body header.nav,
    header.nav#nav {
        min-height: 64px;
    }
}

/* Astra może wstawiać .wp-site-blocks padding — usuń */
body.ses-theme .wp-site-blocks,
body.ses-theme .ast-builder-grid-row-container,
body.ses-theme .ast-main-header-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Astra default: #primary { padding: 4em 0 } — usuń biały pas pod fixed navem */
body.ses-frontpage #primary,
body.ses-frontpage .site-main,
body.ses-frontpage .ses-frontpage-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.ses-subpage #primary,
body.ses-subpage .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ====================================================
   27. Section cards — wrap each H2 + content in glass card (v1.4.4)
   ==================================================== */
.entry-content .ses-section-card {
    background: rgba(255, 255, 255, 0.80) !important;
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    padding: 1.75rem 1.85rem 2rem;
    margin: 1.25rem 0 !important;
    box-shadow: var(--shadow-card);
    max-width: 100%;
}
.entry-content .ses-section-card:first-child { margin-top: 0 !important; }

.entry-content .ses-section-card__num {
    color: var(--text-muted) !important;
    font-family: var(--font-mono), monospace !important;
    font-size: 0.76rem !important;
    letter-spacing: 0.18em !important;
    margin: 0 0 0.85rem !important;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.entry-content .ses-section-card__num::before {
    content: '—';
    color: var(--emerald);
    font-weight: 700;
}

/* H2 wewnątrz section card — flat, no own box */
.entry-content .ses-section-card > h2,
.entry-content .ses-section-card > h2.wp-block-heading {
    margin: 0 0 1rem !important;
    font-size: 1.4rem !important;
    color: var(--heading) !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.25;
}

/* Paragraphs + content wewnątrz card */
.entry-content .ses-section-card > p {
    color: var(--text-primary);
    margin: 0 0 1rem;
}
.entry-content .ses-section-card > p:last-child { margin-bottom: 0; }

/* Intro section card highlight */
.entry-content .ses-section-card--intro {
    border-color: rgba(16, 185, 129, 0.20);
}

/* Summary section card */
.entry-content .ses-section-card--summary {
    border-color: rgba(245, 158, 11, 0.25);
}
.entry-content .ses-section-card--summary .ses-section-card__num {
    color: var(--solar-dark) !important;
}
.entry-content .ses-section-card--summary .ses-section-card__num::before {
    color: var(--solar-gold);
}

/* Disclaimer (pale-cyan-blue background paragraphs) — emerald callout */
.entry-content p.has-pale-cyan-blue-background-color,
.entry-content .has-pale-cyan-blue-background-color {
    background: rgba(16, 185, 129, 0.08) !important;
    border-left: 4px solid var(--emerald) !important;
    border-radius: 0 var(--radius) var(--radius) 0 !important;
    padding: 1rem 1.25rem !important;
    color: var(--text-primary) !important;
}

/* Ses-eyebrow w section card — ma być TYLKO między body i first h2 */
.entry-content .ses-section-card .ses-eyebrow {
    margin: 0 0 0.5rem !important;
}

/* Block columns inside section card */
.entry-content .ses-section-card .wp-block-columns {
    gap: 1.5rem;
    margin: 1.5rem 0;
}

/* ====================================================
   28. Block columns + list legibility (v1.4.5)
   Fix: wartości po ':' w <li> były zbyt wyblakłe;
   kolumny mają być osobnymi glass cards.
   ==================================================== */

/* 28.1 List items in entry-content — readable text color */
.entry-content .wp-block-list li,
.entry-content ul:not(.values-cards) li,
.entry-content ol li,
.entry-content .ses-section-card li {
    color: var(--text-primary) !important;
    line-height: 1.7;
}
.entry-content .wp-block-list li strong,
.entry-content ul li strong,
.entry-content ol li strong,
.entry-content .ses-section-card li strong {
    color: var(--heading) !important;
    font-weight: 700;
}
/* List marker color */
.entry-content .wp-block-list li::marker,
.entry-content .ses-section-card ul li::marker {
    color: var(--emerald) !important;
}

/* 28.2 Block columns inside section card — render as separate glass cards */
.entry-content .ses-section-card .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 1.5rem 0 1rem !important;
}
.entry-content .ses-section-card .wp-block-column {
    background: rgba(255, 255, 255, 0.80) !important;
    border: 1px solid var(--glass-border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 1.4rem 1.5rem !important;
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.064);
}
.entry-content .ses-section-card .wp-block-column h3,
.entry-content .ses-section-card .wp-block-column h3.wp-block-heading {
    margin: 0 0 0.85rem !important;
    font-size: 1.05rem !important;
    color: var(--heading) !important;
    font-weight: 700;
    background: none !important;
    padding: 0 !important;
    border: none !important;
}
.entry-content .ses-section-card .wp-block-column ul.wp-block-list,
.entry-content .ses-section-card .wp-block-column ul {
    margin: 0 !important;
    padding-left: 1.2rem !important;
}
.entry-content .ses-section-card .wp-block-column li {
    margin-bottom: 0.55rem;
    font-size: 0.92rem;
    color: var(--text-primary) !important;
}
.entry-content .ses-section-card .wp-block-column li strong {
    color: var(--heading) !important;
}

/* 28.3 Mobile — single column */
@media (max-width: 768px) {
    .entry-content .ses-section-card .wp-block-columns {
        grid-template-columns: 1fr !important;
    }
}

/* 28.4 General body p inside section card readability */
.entry-content .ses-section-card > p,
.entry-content .ses-section-card p {
    color: var(--text-primary);
}
.entry-content .ses-section-card em,
.entry-content em {
    color: var(--text-secondary);
    font-style: italic;
}

/* 28.5 Small disclaimer paragraphs */
.entry-content p.has-small-font-size,
.entry-content .ses-section-card p.has-small-font-size {
    color: var(--text-muted) !important;
    font-size: 0.85rem !important;
    margin-top: 1rem;
}

/* ====================================================
   29. Inline callouts + summary cards (v1.4.6)
   ==================================================== */

/* 29.1 Inline callout — "Co to oznacza" / "Dlaczego to istotne" / "Ważne zastrzeżenie" */
.entry-content .ses-callout {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin: 1.25rem 0;
    padding: 1.1rem 1.4rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius);
    border-left-width: 4px;
}
.entry-content .ses-callout__icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.entry-content .ses-callout__icon svg {
    width: 26px;
    height: 26px;
}
.entry-content .ses-callout__body {
    flex: 1;
    color: var(--text-primary);
    line-height: 1.65;
}
.entry-content .ses-callout__body strong {
    color: var(--heading);
    margin-right: 0.3rem;
}

/* Info (emerald) — Co to oznacza */
.entry-content .ses-callout--info {
    border-left-color: var(--emerald);
    background: rgba(16, 185, 129, 0.06);
}
.entry-content .ses-callout--info .ses-callout__icon { color: var(--emerald-dark); }

/* Warn (amber) — Dlaczego to istotne */
.entry-content .ses-callout--warn {
    border-left-color: var(--solar-gold);
    background: rgba(245, 158, 11, 0.06);
}
.entry-content .ses-callout--warn .ses-callout__icon { color: var(--solar-gold); }

/* Disclaimer — Ważne zastrzeżenie */
.entry-content .ses-callout--disclaimer {
    border-left-color: var(--emerald);
    background: rgba(16, 185, 129, 0.08);
}
.entry-content .ses-callout--disclaimer .ses-callout__icon { color: var(--emerald-dark); }

/* 29.2 Summary grid cards */
.entry-content .ses-summary-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 1.5rem 0;
}
.entry-content .ses-summary-card {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 0.9rem 1.1rem;
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius);
    transition: all 200ms ease;
}
.entry-content .ses-summary-card:hover {
    border-color: var(--glass-border-emerald);
    transform: translateX(3px);
}
.entry-content .ses-summary-card__check {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.30);
}
.entry-content .ses-summary-card__check svg {
    width: 22px;
    height: 22px;
    color: var(--emerald-dark);
}
.entry-content .ses-summary-card--gold .ses-summary-card__check {
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.30);
}
.entry-content .ses-summary-card--gold .ses-summary-card__check svg {
    color: var(--solar-gold);
}
.entry-content .ses-summary-card__body { flex: 1; min-width: 0; }
.entry-content .ses-summary-card__label {
    color: var(--heading);
    font-weight: 600;
    font-size: 0.98rem;
    line-height: 1.3;
}
.entry-content .ses-summary-card__sub {
    color: var(--text-secondary);
    font-size: 0.83rem;
    margin-top: 0.15rem;
    line-height: 1.4;
}

/* 29.3 Hide legacy disclaimer style — bo nowy ses-callout--disclaimer go zastępuje */
.entry-content p.has-pale-cyan-blue-background-color:has(strong:first-child) {
    /* legacy fallback only — when filter doesn't match */
}

/* ====================================================
   30. Members page transforms — categories, costs, rights (v1.4.7)
   ==================================================== */

/* 30.1 Category cards (Kto może zostać członkiem) — icon + label + sub */
.entry-content .ses-cat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 1.25rem 0 1rem;
}
.entry-content .ses-cat-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.2rem;
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius);
    transition: all 200ms ease;
}
.entry-content .ses-cat-card:hover {
    transform: translateY(-2px);
    border-color: var(--glass-border-emerald);
}
.entry-content .ses-cat-card__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.30);
}
.entry-content .ses-cat-card__icon svg {
    width: 24px;
    height: 24px;
    color: var(--emerald-dark);
}
.entry-content .ses-cat-card--gold .ses-cat-card__icon {
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.30);
}
.entry-content .ses-cat-card--gold .ses-cat-card__icon svg { color: var(--solar-gold); }
.entry-content .ses-cat-card--sky .ses-cat-card__icon {
    background: rgba(14, 165, 233, 0.15);
    border-color: rgba(14, 165, 233, 0.30);
}
.entry-content .ses-cat-card--sky .ses-cat-card__icon svg { color: var(--sky-blue); }
.entry-content .ses-cat-card__body { flex: 1; min-width: 0; }
.entry-content .ses-cat-card__label {
    color: var(--heading);
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.2rem;
}
.entry-content .ses-cat-card__sub {
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* 30.2 Cost cards (Ile to kosztuje) — identical layout to cat-cards */
.entry-content .ses-cost-grid,
.entry-content .ses-right-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 1.25rem 0 1rem;
}
.entry-content .ses-cost-card,
.entry-content .ses-right-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 0.9rem 1.2rem;
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius);
    transition: all 200ms ease;
}
.entry-content .ses-cost-card:hover,
.entry-content .ses-right-card:hover {
    transform: translateY(-2px);
    border-color: var(--glass-border-emerald);
}
.entry-content .ses-cost-card__icon,
.entry-content .ses-right-card__check {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.30);
}
.entry-content .ses-cost-card__icon svg,
.entry-content .ses-right-card__check svg {
    width: 22px;
    height: 22px;
    color: var(--emerald-dark);
}
.entry-content .ses-cost-card--gold .ses-cost-card__icon {
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.30);
}
.entry-content .ses-cost-card--gold .ses-cost-card__icon svg { color: var(--solar-gold); }
.entry-content .ses-cost-card__body,
.entry-content .ses-right-card__body { flex: 1; min-width: 0; }
.entry-content .ses-cost-card__label,
.entry-content .ses-right-card__label {
    color: var(--heading);
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.2rem;
}
.entry-content .ses-cost-card__sub,
.entry-content .ses-right-card__sub {
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* 30.3 Members process — wp-block-columns inside Process section get numbered headers */
.entry-content .ses-section-card .wp-block-columns h3.wp-block-heading {
    position: relative;
    padding-left: 0 !important;
    font-size: 1.05rem !important;
    color: var(--heading) !important;
    margin: 0 0 0.85rem !important;
}

/* ============================================================
   31. /dokumenty/ — document rows (icon + title + sub + button)
   ============================================================ */
.entry-content .ses-doc-grid {
    list-style: none !important;
    padding: 0 !important;
    margin: 1rem 0 0 !important;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}
.entry-content .ses-doc-row {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-md, 12px);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.entry-content .ses-doc-row:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(15, 23, 42, 0.136);
}
.entry-content .ses-doc-row__icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.064);
    border: 1px solid var(--glass-border);
}
.entry-content .ses-doc-row__icon svg {
    width: 24px;
    height: 24px;
}
.entry-content .ses-doc-row--emerald .ses-doc-row__icon { color: var(--cyber-emerald, #10B981); border-color: rgba(16, 185, 129, 0.32); }
.entry-content .ses-doc-row--gold    .ses-doc-row__icon { color: var(--solar-gold,    #F59E0B); border-color: rgba(245, 158, 11, 0.32); }
.entry-content .ses-doc-row--sky     .ses-doc-row__icon { color: var(--sky-blue,      #0EA5E9); border-color: rgba(14, 165, 233, 0.32); }
.entry-content .ses-doc-row__body { min-width: 0; }
.entry-content .ses-doc-row__title {
    color: var(--heading, #fff);
    font-weight: 700;
    font-size: 0.98rem;
    margin: 0 0 0.15rem;
    line-height: 1.3;
}
.entry-content .ses-doc-row__sub {
    color: var(--text-secondary);
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 0;
}
.entry-content .ses-doc-row__sub em { font-style: italic; opacity: 0.85; }
.entry-content .ses-doc-row__action { flex-shrink: 0; }
.entry-content .ses-doc-row__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1rem;
    border-radius: 10px;
    font-family: var(--font-mono, ui-monospace, "JetBrains Mono", monospace);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.entry-content .ses-doc-row__btn--get {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--cyber-emerald, #10B981), #059669) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.18);
}
.entry-content .ses-doc-row__btn--get:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.28);
}
.entry-content .ses-doc-row__btn--soon {
    color: var(--solar-gold, #F59E0B) !important;
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.32);
    cursor: not-allowed;
}

@media (max-width: 560px) {
    .entry-content .ses-doc-row {
        grid-template-columns: 44px 1fr;
        gap: 0.75rem;
    }
    .entry-content .ses-doc-row__action {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
    .entry-content .ses-doc-row__btn { width: 100%; }
}

/* ============================================================
   32. /aktualnosci/ — empty state + news list cards
   ============================================================ */
.entry-content .ses-news-empty p {
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0 0 1rem;
    font-size: 1rem;
}
.entry-content .ses-news-empty p a {
    color: var(--cyber-emerald, #10B981);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(16, 185, 129, 0.4);
}
.entry-content .ses-news-empty p a:hover {
    color: #0f172a;
    text-decoration-color: var(--cyber-emerald, #10B981);
}
.entry-content .ses-news-empty__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}
.entry-content .ses-news-empty__actions .join__btn--ghost {
    padding: 0.85rem 1.4rem;
    font-size: 0.95rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--glass-border);
    color: var(--text-primary, #fff);
    border-radius: 12px;
    text-decoration: none !important;
    transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.entry-content .ses-news-empty__actions .join__btn--ghost:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(16, 185, 129, 0.4);
}

/* News list (when posts exist) */
.entry-content .ses-news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1.25rem;
}
.entry-content .ses-news-item {
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-md, 12px);
    padding: 1.25rem 1.35rem;
    transition: transform 0.18s ease, border-color 0.18s ease;
}
.entry-content .ses-news-item:hover {
    transform: translateY(-2px);
    border-color: rgba(16, 185, 129, 0.32);
}
.entry-content .ses-news-item__title {
    margin: 0 0 0.45rem;
    font-size: 1.15rem;
}
.entry-content .ses-news-item__title a {
    color: var(--heading, #fff);
    text-decoration: none;
}
.entry-content .ses-news-item__title a:hover { color: var(--cyber-emerald, #10B981); }
.entry-content .ses-news-item__meta {
    color: var(--text-muted);
    font-family: var(--font-mono, ui-monospace, "JetBrains Mono", monospace);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 0.85rem;
}
.entry-content .ses-news-item__excerpt {
    color: var(--text-secondary);
    line-height: 1.65;
    margin: 0 0 1rem;
}

/* ============================================================
   33. /faq/ — accordion (native <details>/<summary>)
   ============================================================ */
.entry-content .ses-faq-card > h2.wp-block-heading {
    font-size: 1.85rem;
    margin: 0 0 0.85rem;
}
.entry-content .ses-faq-card > p {
    color: var(--text-secondary);
    margin: 0 0 1.5rem;
    font-size: 1rem;
    line-height: 1.6;
}
.entry-content .ses-faq-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.entry-content .ses-faq-item {
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.entry-content .ses-faq-item[open] {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(16, 185, 129, 0.4);
}
.entry-content .ses-faq-item__summary {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1.1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    color: var(--heading, #fff);
    font-weight: 600;
    font-size: 1rem;
    transition: color 0.15s ease;
}
.entry-content .ses-faq-item__summary::-webkit-details-marker { display: none; }
.entry-content .ses-faq-item__summary::marker { content: ""; }
.entry-content .ses-faq-item__summary:hover { color: var(--cyber-emerald, #10B981); }
.entry-content .ses-faq-item__icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--cyber-emerald, #10B981), #059669);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.22);
    transition: transform 0.22s ease, background 0.22s ease;
}
.entry-content .ses-faq-item__icon svg {
    width: 16px;
    height: 16px;
}
.entry-content .ses-faq-item[open] .ses-faq-item__icon {
    transform: rotate(45deg);
    background: linear-gradient(135deg, var(--solar-gold, #F59E0B), #d97706);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.28);
}
.entry-content .ses-faq-item__q { flex: 1; min-width: 0; line-height: 1.4; }
.entry-content .ses-faq-item__a {
    padding: 0 1.1rem 1rem 4rem;
    color: var(--text-secondary);
    line-height: 1.65;
    font-size: 0.95rem;
}
.entry-content .ses-faq-item__a p { margin: 0 0 0.75rem; }
.entry-content .ses-faq-item__a p:last-child { margin-bottom: 0; }
.entry-content .ses-faq-item__a a {
    color: var(--cyber-emerald, #10B981);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(16, 185, 129, 0.4);
}
.entry-content .ses-faq-item__a strong { color: var(--text-primary, #fff); }

@media (max-width: 560px) {
    .entry-content .ses-faq-item__summary { padding: 0.85rem 0.95rem; font-size: 0.95rem; }
    .entry-content .ses-faq-item__a { padding: 0 0.95rem 0.95rem 0.95rem; }
}

/* ============================================================
   34. /kontakt/ — intro cards + form
   ============================================================ */
.entry-content .ses-section-card__num--gold { color: var(--solar-gold, #F59E0B) !important; }

.entry-content .ses-kontakt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
}
.entry-content .ses-kontakt-card {
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
}
.entry-content .ses-kontakt-card h3 {
    margin: 0 0 0.85rem !important;
    color: var(--heading, #fff) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}
.entry-content .ses-kontakt-card p { color: var(--text-secondary); line-height: 1.55; margin: 0 0 0.7rem; }
.entry-content .ses-kontakt-card p:last-child { margin-bottom: 0; }
.entry-content .ses-kontakt-card__name strong { color: var(--text-primary, #fff); }
.entry-content .ses-kontakt-card__addr em,
.entry-content .ses-kontakt-card__regs em,
.entry-content .ses-kontakt-mail em {
    font-style: italic;
    color: var(--text-muted);
    opacity: 0.85;
}
.entry-content .ses-kontakt-card__regs span {
    color: var(--text-primary);
    font-weight: 600;
    font-family: var(--font-mono, ui-monospace, "JetBrains Mono", monospace);
    font-size: 0.85rem;
    letter-spacing: 0.04em;
}
.entry-content .ses-kontakt-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}
.entry-content .ses-kontakt-list li {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    color: var(--text-secondary);
    line-height: 1.5;
}
.entry-content .ses-kontakt-list strong { color: var(--text-primary, #fff); }
.entry-content .ses-kontakt-list__icon {
    flex-shrink: 0;
    width: 24px; height: 24px;
    display: inline-flex; align-items: center; justify-content: center;
    margin-top: 2px;
}
.entry-content .ses-kontakt-list__icon svg { width: 20px; height: 20px; }
.entry-content .ses-kontakt-list__icon--emerald { color: var(--cyber-emerald, #10B981); }
.entry-content .ses-kontakt-list__icon--gold    { color: var(--solar-gold, #F59E0B); }
.entry-content .ses-kontakt-hours { color: var(--text-muted); font-size: 0.93rem; }

/* Form */
.entry-content .ses-form { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 1.15rem; }
.entry-content .ses-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem;
}
.entry-content .ses-form__field { display: flex; flex-direction: column; gap: 0.5rem; }
.entry-content .ses-form__field label {
    color: var(--text-secondary);
    font-family: var(--font-mono, ui-monospace, "JetBrains Mono", monospace);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
}
.entry-content .ses-form__req { color: var(--solar-gold, #F59E0B); margin-left: 0.35rem; }
.entry-content .ses-form__opt { color: var(--text-muted); margin-left: 0.35rem; font-weight: 400; }
.entry-content .ses-form input[type="text"],
.entry-content .ses-form input[type="email"],
.entry-content .ses-form input[type="tel"],
.entry-content .ses-form select,
.entry-content .ses-form textarea {
    width: 100%;
    background: rgba(241, 245, 249, 0.39) !important;
    border: 1px solid var(--glass-border) !important;
    border-radius: 12px !important;
    padding: 0.85rem 1rem !important;
    color: var(--text-primary, #fff) !important;
    font-size: 0.98rem !important;
    font-family: inherit;
    box-shadow: none !important;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.entry-content .ses-form input::placeholder,
.entry-content .ses-form textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.65;
}
.entry-content .ses-form input:focus,
.entry-content .ses-form select:focus,
.entry-content .ses-form textarea:focus {
    outline: none !important;
    border-color: var(--cyber-emerald, #10B981) !important;
    background: rgba(248, 250, 252, 0.80) !important;
}
.entry-content .ses-form textarea { resize: vertical; min-height: 130px; }
.entry-content .ses-form select {
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M3 6 L8 11 L13 6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 14px !important;
    padding-right: 2.5rem !important;
}
.entry-content .ses-form__check {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    cursor: pointer;
}
.entry-content .ses-form__check input[type="checkbox"] {
    appearance: none;
    flex-shrink: 0;
    width: 20px; height: 20px;
    border: 1.5px solid var(--glass-border);
    border-radius: 5px;
    background: rgba(241, 245, 249, 0.39);
    cursor: pointer;
    margin-top: 2px;
    transition: background 0.15s ease, border-color 0.15s ease;
    position: relative;
}
.entry-content .ses-form__check input[type="checkbox"]:checked {
    background: var(--cyber-emerald, #10B981);
    border-color: var(--cyber-emerald, #10B981);
}
.entry-content .ses-form__check input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px; top: 1px;
    width: 6px; height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.entry-content .ses-form__check a {
    color: var(--cyber-emerald, #10B981);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.entry-content .ses-form__actions { margin-top: 0.25rem; }
.entry-content .ses-form__submit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.95rem 1.65rem;
    background: linear-gradient(135deg, var(--cyber-emerald, #10B981), #059669);
    color: #ffffff;
    border: 1px solid rgba(16, 185, 129, 0.4);
    border-radius: 12px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.22);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.entry-content .ses-form__submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(16, 185, 129, 0.32);
}

@media (max-width: 760px) {
    .entry-content .ses-kontakt-grid { grid-template-columns: 1fr; }
    .entry-content .ses-form__row { grid-template-columns: 1fr; }
}

/* ====================================================
   Unified form-field styling — input, select, textarea
   ==================================================== */
body.ses-subpage .entry-content input[type="text"],
body.ses-subpage .entry-content input[type="email"],
body.ses-subpage .entry-content input[type="tel"],
body.ses-subpage .entry-content input[type="url"],
body.ses-subpage .entry-content input[type="number"],
body.ses-subpage .entry-content textarea,
body.ses-subpage .entry-content select,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
.wpcf7 input[type="url"], .wpcf7 input[type="number"],
.wpcf7 textarea, .wpcf7 select,
.join__field input, .join__field select, .join__field textarea {
    width: 100% !important;
    min-height: 52px !important;
    padding: 0.95rem 1rem !important;
    line-height: 1.5 !important;
    font-family: var(--font-sans, "Inter", sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--white, #fff) !important;
    background: rgba(255, 255, 255, 0.85) !important;
    border: 1px solid var(--glass-border, rgba(15, 23, 42, 0.1)) !important;
    border-radius: var(--radius, 12px) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
    box-sizing: border-box !important;
    vertical-align: middle;
}

/* Select extras — custom chevron + bigger right padding to clear icon */
body.ses-subpage .entry-content select,
.wpcf7 select,
.join__field select {
    padding-right: 2.75rem !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27%3E%3Cpath d=%27M4 6 L8 10 L12 6%27 stroke=%27%2334d399%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px 16px;
    cursor: pointer;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

/* Focus / hover — emerald glow */
body.ses-subpage .entry-content input:focus,
body.ses-subpage .entry-content textarea:focus,
body.ses-subpage .entry-content select:focus,
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus,
.join__field input:focus, .join__field textarea:focus, .join__field select:focus {
    border-color: var(--emerald, #10B981) !important;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.18) !important;
    background-color: rgba(255, 255, 255, 0.95) !important;
    outline: none !important;
}

/* Placeholder */
body.ses-subpage .entry-content input::placeholder,
body.ses-subpage .entry-content textarea::placeholder,
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder,
.join__field input::placeholder, .join__field textarea::placeholder {
    color: var(--text-muted, #64748b) !important;
    font-weight: 400 !important;
}

/* Textarea: extra vertical room */
body.ses-subpage .entry-content textarea,
.wpcf7 textarea,
.join__field textarea {
    min-height: 140px !important;
    resize: vertical;
    line-height: 1.55 !important;
}

/* Dropdown options — light popup */
body.ses-subpage .entry-content select option,
.wpcf7 select option,
.join__field select option {
    background-color: #ffffff;
    color: #0f172a;
}

/* ====================================================
   Dokumenty CPT — list styling
   ==================================================== */

.ses-doc-intro {
    margin-bottom: 2.5rem;
    padding: 1.25rem 1.5rem;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius);
}

.ses-doc-cat {
    margin: 2.5rem 0 1rem;
}

.ses-doc-cat__title {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-family: var(--font-display, "Space Grotesk", sans-serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--heading, #f8fafc);
    margin: 0 0 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--glass-border);
    letter-spacing: -0.02em;
}
.ses-doc-cat__icon {
    font-size: 1.5rem;
    line-height: 1;
}
.ses-doc-cat__count {
    margin-left: auto;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-muted, #64748b);
    background: rgba(16, 185, 129, 0.10);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 999px;
    padding: 0.2rem 0.7rem;
}

.ses-doc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.75rem;
}

.ses-doc-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.1rem 1.25rem;
    background: var(--glass-bg, rgba(30, 41, 59, 0.7));
    border: 1px solid var(--glass-border, rgba(15, 23, 42, 0.1));
    border-radius: var(--radius);
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.ses-doc-item:hover {
    border-color: rgba(16, 185, 129, 0.30);
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.054), 0 0 24px rgba(16, 185, 129, 0.10);
}
.ses-doc-item--pending {
    opacity: 0.75;
}

.ses-doc-item__main {
    flex: 1;
    min-width: 0;
}
.ses-doc-item__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--white, #fff);
    margin: 0 0 0.25rem;
    line-height: 1.35;
}
.ses-doc-item__desc {
    font-size: 0.9rem;
    color: var(--text-secondary, #94a3b8);
    margin: 0 0 0.25rem;
    line-height: 1.5;
}
.ses-doc-item__date {
    font-size: 0.78rem;
    color: var(--text-muted, #64748b);
    margin: 0;
    font-family: var(--font-mono, "JetBrains Mono", monospace);
}

.ses-doc-item__action {
    flex-shrink: 0;
}

.ses-doc-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    transition: transform 200ms ease, box-shadow 200ms ease;
}

.ses-doc-btn--available {
    background: linear-gradient(135deg, var(--emerald-light, #34d399) 0%, var(--emerald, #10B981) 50%, var(--emerald-dark, #059669) 100%);
    color: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.15);
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.40), inset 0 1px 0 rgba(15, 23, 42, 0.15);
}
.ses-doc-btn--available:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(16, 185, 129, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.ses-doc-btn--pending {
    background: rgba(245, 158, 11, 0.12);
    color: var(--solar-dark, #B45309);
    border: 1px solid rgba(245, 158, 11, 0.35);
    cursor: default;
}

@media (max-width: 640px) {
    .ses-doc-item { flex-direction: column; align-items: stretch; }
    .ses-doc-item__action { display: flex; justify-content: flex-end; }
}

/* ===== Formularz kontaktowy — walidacja + captcha + success ===== */
.entry-content .ses-form input.is-invalid,
.entry-content .ses-form select.is-invalid,
.entry-content .ses-form textarea.is-invalid {
  border-color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.08) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18) !important;
}
.entry-content .ses-form input.is-invalid::placeholder,
.entry-content .ses-form textarea.is-invalid::placeholder {
  color: rgba(254, 202, 202, 0.55);
}
.entry-content .ses-form__check.is-invalid {
  background: rgba(239, 68, 68, 0.08);
  border-radius: 8px;
  padding: 8px 10px;
  margin: -8px -10px;
  box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.45);
}

.entry-content .ses-form__error {
  margin: 0.25rem 0 0;
  padding: 0.85rem 1rem;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.45);
  border-radius: 10px;
  color: #fecaca;
  font-size: 0.95rem;
  line-height: 1.45;
  text-align: left;
}

.entry-content .ses-form__captcha {
  margin-top: 0.25rem;
  padding: 1.15rem 1.3rem !important;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(245, 158, 11, 0.05)) !important;
  border: 1px solid rgba(16, 185, 129, 0.30);
  border-radius: 12px !important;
}
.entry-content .ses-form__captcha > label {
  display: flex !important; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-bottom: 12px !important;
  color: var(--text-secondary, #94a3b8) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.entry-content .ses-form__captcha-q {
  display: inline-flex; align-items: center;
  padding: 6px 16px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.35rem; font-weight: 800;
  color: var(--emerald-bright, #34d399);
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(110, 231, 183, 0.45);
  border-radius: 10px;
  letter-spacing: 0.04em;
  box-shadow: inset 0 0 14px rgba(16, 185, 129, 0.15);
}
.entry-content .ses-form__captcha input[type="text"] {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 1.1rem !important; font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.entry-content .ses-form__success {
  padding: 2.5rem 2rem;
  text-align: center;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(110, 231, 183, 0.05));
  border: 1px solid rgba(16, 185, 129, 0.40);
  border-radius: 14px;
  margin-top: 1.5rem;
}
.entry-content .ses-form__success h3 {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  color: var(--white, #fff);
  letter-spacing: -0.02em;
}
.entry-content .ses-form__success p {
  color: var(--text-secondary, #94a3b8);
  margin: 0;
  line-height: 1.6;
}

.entry-content .ses-form__submit[disabled] {
  opacity: 0.6; cursor: progress;
}
/* ====================================================
   Korzyści — symulacja oszczędności (Pan Kowalski + Mroźnia)
   ==================================================== */

.korzysci-sim {
    margin: 2rem 0 1rem;
}

.korzysci-sim__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

@media (max-width: 920px) {
    .korzysci-sim__grid {
        grid-template-columns: 1fr;
    }
}

.sim-card {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
}

.sim-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.10), 0 0 0 1px var(--glass-border-emerald);
}

.sim-card--home .sim-card__head {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-bottom: 2px solid var(--emerald);
}

.sim-card--biz .sim-card__head {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-bottom: 2px solid var(--solar-gold);
}

.sim-card__head {
    padding: 1.5rem 1.75rem 1.25rem;
    text-align: center;
}

.sim-card__icon {
    display: block;
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.sim-card__title {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--heading);
    margin: 0 0 0.25rem;
    letter-spacing: -0.025em;
}

.sim-card__subtitle {
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin: 0 0 1rem;
    line-height: 1.4;
}

.sim-card__usage {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 12px;
    padding: 0.75rem 1rem;
    margin: 0.5rem auto;
    max-width: 260px;
}

.sim-card__usage-value {
    font-family: var(--font-mono);
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1;
    color: var(--heading);
}

.sim-card--home .sim-card__usage-value { color: var(--emerald-dark); }
.sim-card--biz  .sim-card__usage-value { color: var(--solar-dark); }

.sim-card__usage-unit {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-secondary);
    margin-top: 4px;
}

.sim-card__usage-sub {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.sim-card__tariff {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.6);
    padding: 4px 10px;
    border-radius: 999px;
    margin-top: 0.5rem;
}

.sim-card__body {
    padding: 1.5rem 1.75rem;
}

.sim-table__title {
    font-family: var(--font-sans);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--heading);
    margin: 1.25rem 0 0.5rem;
    letter-spacing: -0.01em;
}

.sim-table__title:first-child {
    margin-top: 0;
}

.sim-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    margin-bottom: 0.5rem;
}

.sim-table td {
    padding: 6px 8px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--text-primary);
}

.sim-table td.num {
    text-align: right;
    font-family: var(--font-mono);
    font-weight: 600;
    white-space: nowrap;
    color: var(--text-primary);
}

.sim-table--green td {
    background: rgba(236, 253, 245, 0.4);
}

.sim-table--green .sim-table__sub {
    background: rgba(16, 185, 129, 0.08);
    color: var(--emerald-dark);
    font-size: 0.78rem;
    font-style: italic;
    padding: 6px 8px;
    text-align: center;
}

.sim-table__total td {
    background: rgba(15, 23, 42, 0.04);
    font-weight: 800;
    color: var(--heading);
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: none;
    border-top: 2px solid rgba(15, 23, 42, 0.15);
}

.sim-table--green .sim-table__total td {
    background: rgba(16, 185, 129, 0.12);
    color: var(--emerald-dark);
    border-top-color: var(--emerald);
}

.sim-card__savings {
    margin: 1.5rem 0 1rem;
    padding: 1.25rem 1rem;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.10) 0%, rgba(110, 231, 183, 0.15) 100%);
    border: 2px solid var(--emerald);
    border-radius: 14px;
    text-align: center;
}

.sim-card--biz .sim-card__savings {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.10) 0%, rgba(252, 211, 77, 0.15) 100%);
    border-color: var(--solar-gold);
}

.sim-card__savings-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.sim-card__savings-value {
    display: block;
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
    color: var(--emerald-dark);
    letter-spacing: -0.04em;
    margin: 4px 0;
}

.sim-card--biz .sim-card__savings-value {
    color: var(--solar-dark);
    font-size: 2.25rem;
}

.sim-card__savings-percent {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-weight: 700;
    background: var(--emerald-dark);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 999px;
    margin: 6px 0;
}

.sim-card--biz .sim-card__savings-percent {
    background: var(--solar-dark);
}

.sim-card__savings-sub {
    display: block;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-top: 6px;
}

.sim-card__details {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.03);
    border-radius: 10px;
    font-size: 0.85rem;
    color: var(--text-primary);
}

.sim-card__details strong {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--heading);
    font-weight: 700;
}

.sim-card__details ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sim-card__details ul li {
    padding: 3px 0;
    color: var(--text-primary);
}

.sim-card__details-note {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    font-size: 0.82rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.sim-disclaimer {
    margin-top: 2rem;
    padding: 1.25rem 1.5rem;
    background: rgba(245, 158, 11, 0.06);
    border-left: 3px solid var(--solar-gold);
    border-radius: 8px;
    font-size: 0.85rem;
}

.sim-disclaimer p {
    margin: 0 0 0.5rem;
    color: var(--heading);
    font-weight: 600;
}

.sim-disclaimer ul {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

.sim-disclaimer ul li {
    margin-bottom: 4px;
}

.sim-heading {
    text-align: center;
    margin-top: 2.5rem !important;
}

/* ====================================================
   Hotfix .psection fade-up — CSS-only fallback gdy JS się
   nie wykona (np. autoptimize bundle error po wp:html block).
   Wszystkie .psection animują się automatycznie po 200ms.
   ==================================================== */
.psection {
    animation: psectionFadeUpAuto 600ms cubic-bezier(0.16, 1, 0.3, 1) 200ms forwards;
}
@keyframes psectionFadeUpAuto {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* JS .is-in jeszcze nadal działa — wtedy animation override */
.psection.is-in {
    opacity: 1 !important;
    transform: translateY(0) !important;
    animation: none !important;
}

/* ====================================================
   Custom scroll-to-top — emerald glass, okrągły
   Override Astra default niebieski kwadrat
   ==================================================== */
#ast-scroll-top {
    background: linear-gradient(135deg, #047857 0%, #064E3B 100%) !important;
    color: #ffffff !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(110, 231, 183, 0.4) !important;
    box-shadow: 0 4px 14px rgba(6, 78, 59, 0.30),
                0 0 0 1px rgba(255, 255, 255, 0.1) inset !important;
    bottom: 24px !important;
    right: 24px !important;
    z-index: 999 !important;
    transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease !important;
    opacity: 0.92 !important;
}
#ast-scroll-top:hover,
#ast-scroll-top:focus {
    background: linear-gradient(135deg, #10B981 0%, #047857 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.45),
                0 0 0 1px rgba(255, 255, 255, 0.2) inset !important;
    opacity: 1 !important;
}
#ast-scroll-top .ast-icon,
#ast-scroll-top svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    width: 14px !important;
    height: 14px !important;
}
#ast-scroll-top .ast-icon svg path {
    stroke: #ffffff !important;
    stroke-width: 2.5 !important;
}
@media (max-width: 640px) {
    #ast-scroll-top { width: 40px !important; height: 40px !important; bottom: 18px !important; right: 18px !important; }
}


/* ====================================================
   HOTFIX v1.2.2 (2026-05-22) — Form readability + cookie banner contrast
   Fixes: białe tło + biały tekst w formularzu kontaktowym
          + niewidoczna stopka cookie notice
   ==================================================== */

/* --- 1. Formularz — wymuszone ciemne pole tekstowe na białej karcie --- */
.entry-content .ses-form input[type="text"],
.entry-content .ses-form input[type="email"],
.entry-content .ses-form input[type="tel"],
.entry-content .ses-form input[type="number"],
.entry-content .ses-form input[type="password"],
.entry-content .ses-form select,
.entry-content .ses-form textarea {
    color: #0f172a !important;           /* slate-900 - explicit dark */
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;   /* slate-300 */
    -webkit-text-fill-color: #0f172a !important;  /* iOS/Safari fix */
}

.entry-content .ses-form input::placeholder,
.entry-content .ses-form textarea::placeholder {
    color: #94a3b8 !important;           /* slate-400 — widoczny ale subtelny */
    opacity: 1;
}

.entry-content .ses-form input:focus,
.entry-content .ses-form select:focus,
.entry-content .ses-form textarea:focus {
    background: #f8fafc !important;
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
}

/* Autofill — Chrome przeciwko żółtemu tłu z białym tekstem */
.entry-content .ses-form input:-webkit-autofill,
.entry-content .ses-form input:-webkit-autofill:hover,
.entry-content .ses-form input:-webkit-autofill:focus,
.entry-content .ses-form textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
    -webkit-text-fill-color: #0f172a !important;
}

/* Checkbox + label — wyraźny tekst zgody RODO */
.entry-content .ses-form__check {
    color: #334155 !important;           /* slate-700 */
}
.entry-content .ses-form__check a {
    color: #047857 !important;           /* emerald-700 — wyraźny link */
    text-decoration: underline;
}

/* --- 2. Cookie notice — ciemne tło + biały tekst (override plugin) --- */
#cookie-notice {
    background-color: #1e293b !important;  /* slate-800 — ciemne tło */
}
#cookie-notice .cookie-notice-container {
    color: #f1f5f9 !important;             /* slate-100 — czysty biały */
}
#cookie-notice .cn-text-container,
#cookie-notice #cn-notice-text {
    color: #f1f5f9 !important;
}
#cookie-notice .cn-button {
    color: #ffffff !important;
    font-weight: 600;
    padding: 8px 18px;
}
#cookie-notice .cn-button:hover {
    filter: brightness(1.1);
}
/* Privacy policy link */
#cookie-notice a {
    color: #10b981 !important;             /* emerald — wyróżnia się na ciemnym */
    text-decoration: underline;
}

/* ====================================================
   HOTFIX v1.2.3 (2026-05-22) — Success message + checkbox tick visibility
   ==================================================== */

/* "Wiadomość wysłana" — ciemny tekst na jasnym gradient box */
.entry-content .ses-form__success h3 {
    color: #047857 !important;     /* emerald-700 — wyróżnia się na zielonym tle */
    font-weight: 700 !important;
}
.entry-content .ses-form__success p {
    color: #334155 !important;     /* slate-700 — ciemny ale lżejszy niż h3 */
}
.entry-content .ses-form__success p strong {
    color: #0f172a !important;     /* slate-900 — boldowane słowa wyraźniej */
}

/* Checkbox checked — explicit white tick na emerald tle */
.entry-content .ses-form__check input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #94a3b8 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    flex-shrink: 0;
    margin-top: 2px;
    transition: all 0.15s ease;
}
.entry-content .ses-form__check input[type="checkbox"]:hover {
    border-color: #10b981 !important;
}
.entry-content .ses-form__check input[type="checkbox"]:checked {
    background: #10b981 !important;       /* emerald — zielone wypełnienie */
    border-color: #10b981 !important;
}
.entry-content .ses-form__check input[type="checkbox"]:checked::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 6px !important;
    height: 11px !important;
    border: solid #ffffff !important;
    border-width: 0 2.5px 2.5px 0 !important;
    transform: rotate(45deg) !important;
}
