/*
 * BP Test Engine — style silnika testów
 * Design system: Bliska Psychologia
 * Kolory, typografia zgodne z podsumowanie_projektu.md
 */

/* ── Zmienne z design systemu ──────────────────────────────────────────────── */
:root {
    --bpt-teal:        #3D7E8F;
    --bpt-teal-light:  #6AAFBC;
    --bpt-teal-dark:   #2A6070;
    --bpt-navy:        #1B3A4B;
    --bpt-bg:          #F4F1EC;
    --bpt-card:        #FDFCFA;
    --bpt-border:      #E8E4DC;
    --bpt-text:        #1B2E38;
    --bpt-muted:       #7A8B95;
    --bpt-urgent:      #D97706;
    --bpt-critical:    #DC2626;
    --bpt-radius:      12px;
    --bpt-shadow:      0 2px 16px rgba(27,58,75,0.10);
    --bpt-transition:  0.18s ease;
    --bpt-font-body:   'Source Sans 3', sans-serif;
    --bpt-font-head:   'Lora', serif;
    --bpt-max-width:   1120px;
    --bpt-content-width: 760px;
    --bpt-result-width: 1060px;
}

/* ── Strona testu ─────────────────────────────────────────────────────────── */
.bp-test-page {
    background: var(--bpt-bg);
    min-height: 60vh;
    padding: 32px 16px 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 1200px) {
    .bp-test-page {
        padding: 0 0 40px;
    }
}

/* Wyrwanie poza .site-content tylko na szerokich ekranach */
@media (min-width: 1201px) {
    .site-content .bp-test-page {
        margin-left:  calc(-1 * ((100vw - 1200px) / 2) - 27.5px);
        margin-right: calc(-1 * ((100vw - 1200px) / 2) - 27.5px);
        width: 100vw;
        max-width: 100vw;
        box-sizing: border-box;
    }
}

.bp-test-engine {
    width: 100%;
}

/* ── Silnik testu — główny wrapper ─────────────────────────────────────────── */
.bp-test-engine {
    max-width: var(--bpt-max-width);
    margin: 0 auto;
    background: var(--bpt-card);
    border-radius: var(--bpt-radius);
    border: 1px solid var(--bpt-border);
    box-shadow: var(--bpt-shadow);
    padding: 40px 48px 40px;
    font-family: var(--bpt-font-body);
    color: var(--bpt-text);
    outline: none;
}

/* Karta intro — bez własnego paddingu, hero i body mają swój */
.bp-test-engine:has(.bpt-intro) {
    padding: 0;
    overflow: hidden;
    min-height: 760px;
}

/* Pytania i wynik — węższa kolumna dla czytelności */
.bpt-question,
.bpt-sending,
.bpt-error,
.bpt-resume {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.bp-test-engine:has(.bpt-result) {
    max-width: var(--bpt-max-width);
    padding: 30px;
}

.bpt-result {
    max-width: min(var(--bpt-result-width), 100%);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 600px) {
    .bp-test-engine { padding: 28px 20px 28px; }
    .bp-test-engine:has(.bpt-intro) {
        padding: 0;
        min-height: 1450px;
    }
}

/* ── Statyczny blok SEO — ukryty wizualnie, widoczny dla Googlebot ────────── */
/* Ważne: display:none ukrywa przed Google. visibility:hidden + height:0       */
/* sprawia że Google indeksuje treść, ale użytkownik jej nie widzi.             */
.bp-test-seo-content {
    visibility: hidden;
    height: 0;
    overflow: hidden;
    position: absolute;
    left: -9999px;
    width: 1px;
}

/* ── Disclaimer poza silnikiem ─────────────────────────────────────────────── */
.bp-test-disclaimer {
    max-width: var(--bpt-max-width);
    margin: 20px auto 0;
    font-size: 13px;
    color: var(--bpt-muted);
    text-align: center;
    line-height: 1.5;
}

/* ── Skeleton loader ───────────────────────────────────────────────────────── */
.bp-test-static-links {
    width: 100%;
    max-width: var(--bpt-max-width);
    margin: 28px auto 0;
    padding: 28px 32px 32px;
    background: #FDFCFA;
    border: 1px solid var(--bpt-border);
    border-radius: var(--bpt-radius);
    box-shadow: 0 8px 26px rgba(27,58,75,0.06);
    font-family: var(--bpt-font-body);
    color: var(--bpt-text);
    box-sizing: border-box;
}

.bp-test-static-links__header {
    max-width: 720px;
    margin-bottom: 22px;
}

.bp-test-static-links__eyebrow {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bpt-teal-dark);
}

.bp-test-static-links__title {
    margin: 0 0 10px;
    font-family: var(--bpt-font-head);
    font-size: clamp(22px, 2.8vw, 28px);
    line-height: 1.22;
    color: var(--bpt-navy);
}

.bp-test-static-links__desc {
    margin: 0;
    font-size: 15px;
    line-height: 1.66;
    color: #556670;
}

.bp-test-static-links__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.bp-test-static-link-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 18px 20px 20px;
    background: #F8F4EC;
    border: 1px solid rgba(27,58,75,.08);
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
    transition: transform var(--bpt-transition), border-color var(--bpt-transition), box-shadow var(--bpt-transition);
}

.bp-test-static-link-card:hover {
    transform: translateY(-2px);
    border-color: rgba(61,126,143,.26);
    box-shadow: 0 8px 18px rgba(27,58,75,.08);
}

.bp-test-static-link-card:focus-visible {
    outline: 3px solid rgba(61,126,143,.42);
    outline-offset: 3px;
}

.bp-test-static-link-card__label {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 10px;
    padding: 4px 9px;
    background: #EBF4F6;
    border-radius: 999px;
    color: var(--bpt-teal-dark);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.bp-test-static-link-card__title {
    margin-bottom: 8px;
    font-family: var(--bpt-font-head);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.32;
    color: var(--bpt-navy);
}

.bp-test-static-link-card__desc {
    font-size: 13px;
    line-height: 1.58;
    color: #647884;
}

.bp-test-page:has(.bpt-result-premium) .bp-test-static-links,
.bp-test-page:has(.bpt-guest-account) .bp-test-static-links {
    max-width: var(--bpt-result-width);
    margin-top: 22px;
    border-color: rgba(232,228,220,0.78);
    background: rgba(253,252,250,0.72);
    box-shadow: none;
}

.bp-test-page:has(.bpt-result-premium) .bp-test-static-links__title,
.bp-test-page:has(.bpt-guest-account) .bp-test-static-links__title {
    font-size: clamp(20px, 2.2vw, 24px);
}

.bp-test-page:has(.bpt-result-premium) .bp-test-static-link-card,
.bp-test-page:has(.bpt-guest-account) .bp-test-static-link-card {
    background: rgba(248,244,236,0.74);
}

@media (max-width: 900px) {
    .bp-test-static-links {
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .bp-test-static-links__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .bp-test-static-links {
        margin-top: 20px;
        padding: 24px 18px 26px;
    }

    .bp-test-static-links__grid {
        grid-template-columns: 1fr;
    }
}

.bp-test-skeleton { animation: bpt-pulse 1.4s ease-in-out infinite; }
.bp-test-skeleton-title,
.bp-test-skeleton-text,
.bp-test-skeleton-btn {
    background: var(--bpt-border);
    border-radius: 6px;
    margin-bottom: 14px;
}
.bp-test-skeleton-title  { height: 32px; width: 70%; }
.bp-test-skeleton-text   { height: 16px; width: 100%; }
.bp-test-skeleton-text--short { width: 55%; }
.bp-test-skeleton-btn    { height: 48px; width: 180px; margin-top: 24px; }

.bp-test-engine:has(.bp-test-skeleton) {
    min-height: 760px;
}

@media (max-width: 600px) {
    .bp-test-engine:has(.bp-test-skeleton) {
        min-height: 1450px;
    }
}

@keyframes bpt-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.45; }
}

/* ── Baner poprzedniego wyniku ─────────────────────────────────────────────── */
.bpt-prev-result {
    margin-bottom: 24px;
}

.bpt-prev-result__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bpt-bg);
    border: 1px solid var(--bpt-border);
    border-radius: 10px;
    padding: 14px 16px;
    font-size: 14px;
    color: var(--bpt-text);
}

.bpt-prev-result__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.bpt-prev-result__inner > div {
    flex: 1;
    line-height: 1.4;
}

.bpt-prev-result__label {
    display: block;
    color: var(--bpt-muted);
    font-size: 13px;
    margin-top: 2px;
}

.bpt-prev-result__score {
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* INTRO                                                                       */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════ */
/* INTRO                                                                       */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════ */
/* INTRO                                                                       */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* Karta silnika testu — bez paddingu gdy intro (hero ma własny) */
.bp-test-engine:has(.bpt-intro) {
    padding: 0;
    overflow: hidden;
}

/* Hero — ciemny header spójny z homepage */
.bpt-intro__hero {
    background: var(--bpt-navy);
    padding: 48px 48px 36px;
    border-radius: var(--bpt-radius) var(--bpt-radius) 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.bpt-intro__badge {
    display: inline-block;
    background: rgba(106,175,188,0.25);
    color: var(--bpt-teal-light);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 14px;
    border: 1px solid rgba(106,175,188,0.35);
}

.bpt-intro__title {
    font-family: var(--bpt-font-head);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 10px;
    max-width: var(--bpt-content-width);
    overflow-wrap: anywhere;
}

.bpt-intro__description {
    font-size: 18px;
    color: rgba(255,255,255,0.72);
    line-height: 1.65;
    margin: 0 0 18px;
    max-width: 560px;
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .bp-test-engine,
    .bp-test-engine:has(.bpt-intro),
    .bpt-intro,
    .bpt-intro__hero,
    .bpt-intro__body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .bpt-intro__title,
    .bpt-intro__description,
    .bpt-intro__instructions,
    .bpt-intro__topics,
    .bpt-intro__trust-row {
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .bpt-intro__title {
        font-size: 28px;
    }
}

/* Byline autora — E-E-A-T */
.bpt-intro__byline {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 13px;
    color: rgba(255,255,255,0.52);
    margin: 0 0 24px;
    line-height: 1.4;
}

.bpt-intro__byline-icon {
    width: 14px;
    height: 14px;
    color: #6AAFBC;
    flex-shrink: 0;
}

.bpt-intro__byline-link {
    color: #8FCFDB;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s;
}

.bpt-intro__byline-link:hover {
    color: #fff;
    text-decoration: underline;
}

.bpt-intro__byline-sep {
    color: rgba(255,255,255,0.25);
}

/* Statystyki w hero */
.bpt-intro__stats {
    display: flex;
    align-items: center;
    gap: 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.1);
    flex-wrap: nowrap;
    width: 100%;
    max-width: var(--bpt-content-width);
    justify-content: center;
}

.bpt-intro__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 36px;
    min-width: 0;
}

.bpt-intro__stat-value {
    font-family: var(--bpt-font-head);
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    white-space: nowrap;
}

.bpt-intro__stat-label {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    font-weight: 500;
    margin-top: 2px;
    white-space: nowrap;
}

.bpt-intro__stat-sep {
    width: 1px;
    height: 32px;
    background: rgba(255,255,255,0.15);
    flex-shrink: 0;
}

/* Jasna sekcja treści */
.bpt-intro__body {
    padding: 36px 48px 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}

.bpt-intro__instructions {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--bpt-bg);
    border-radius: 10px;
    padding: 14px 20px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--bpt-text);
    width: 100%;
    max-width: var(--bpt-content-width);
    box-sizing: border-box;
}

.bpt-intro__instr-icon {
    width: 20px;
    height: 20px;
    color: var(--bpt-teal);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Co sprawdza ten test */
.bpt-intro__what {
    width: 100%;
    max-width: var(--bpt-content-width);
}

.bpt-intro__what-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--bpt-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 14px;
}

.bpt-intro__what-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bpt-intro__what-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--bpt-text);
    line-height: 1.45;
    padding: 8px 0;
    margin: 0;
}

.bpt-intro__what-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--bpt-text);
    line-height: 1.45;
}

.bpt-intro__what-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bpt-teal);
    flex-shrink: 0;
    margin-top: 5px;
}

/* + Pokaż wszystkie — tylko mobile */
.bpt-intro__what-toggle {
    background: none;
    border: none;
    color: var(--bpt-teal);
    font-family: var(--bpt-font-body);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 8px 0 0;
    text-decoration: none;
    display: none; /* ukryte na desktopie */
}

@media (max-width: 600px) {
    .bpt-intro__what-toggle { display: block; }
    .bpt-intro__what-more-wrap { display: none; } /* JS obsługuje pokazanie */
}

/* Trust chips w hero — pod stats */
.bpt-intro__trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
    width: 100%;
    max-width: var(--bpt-content-width);
}

.bpt-intro__trust-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(106,175,188,0.18);
    border: 1px solid rgba(106,175,188,0.35);
    color: #8FCFDB;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.bpt-intro__trust-chip svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    color: #6AAFBC;
}

/* Topic chips — zamiast bullet listy */
.bpt-intro__topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.bpt-intro__topic {
    display: inline-block;
    background: #EBF4F6;
    color: #2A6070;
    border: 1px solid #C8DDE5;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
}

/* CTA w body — bez listy trust (przeniesiona do hero) */
.bpt-intro__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding-top: 8px;
    border-top: 1px solid var(--bpt-border);
    width: 100%;
    max-width: var(--bpt-content-width);
}

@media (max-width: 600px) {
    .bpt-intro__trust-row { gap: 6px; }
    .bpt-intro__trust-chip { font-size: 12px; padding: 4px 10px; }
    .bpt-intro__topics { gap: 6px; }
}

.bpt-intro__start-btn {
    font-size: 17px;
    padding: 15px 48px;
    white-space: nowrap;
}

.bpt-intro__source {
    font-size: 12px;
    color: var(--bpt-muted);
    font-style: italic;
    margin: 0;
    padding-top: 4px;
    max-width: var(--bpt-content-width);
    width: 100%;
}

/* ── Źródła naukowe ───────────────────────────────────────────────────────── */

.bpt-intro__sources {
    width: 100%;
    max-width: var(--bpt-content-width);
    border-top: 1px solid var(--bpt-sep);
    padding-top: 20px;
    margin-top: 8px;
}

.bpt-intro__sources-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bpt-muted);
    margin: 0 0 12px;
}

.bpt-intro__sources-title svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--bpt-teal);
}

.bpt-intro__sources-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bpt-intro__sources-item {
    display: flex;
    gap: 10px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--bpt-muted);
}

.bpt-intro__sources-num {
    flex-shrink: 0;
    font-weight: 700;
    color: var(--bpt-teal);
    min-width: 16px;
}

.bpt-intro__sources-link {
    color: var(--bpt-teal);
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-all;
}

.bpt-intro__sources-link:hover {
    color: var(--bpt-teal-dark);
}

/* ── FAQ accordion ────────────────────────────────────────────────────────── */

.bpt-intro__faq {
    width: 100%;
    max-width: var(--bpt-content-width);
    border-top: 1px solid var(--bpt-sep);
    padding-top: 20px;
    margin-top: 8px;
}

.bpt-intro__faq-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bpt-muted);
    margin: 0 0 12px;
}

.bpt-intro__faq-title svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--bpt-teal);
}

.bpt-intro__faq-item {
    border: 1px solid var(--bpt-sep);
    border-radius: 8px;
    margin-bottom: 6px;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s;
}

.bpt-intro__faq-item[open] {
    border-color: var(--bpt-teal);
}

.bpt-intro__faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #1B2E38;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.bpt-intro__faq-q::-webkit-details-marker { display: none; }

.bpt-intro__faq-q:hover {
    color: var(--bpt-teal);
}

.bpt-intro__faq-chevron {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--bpt-muted);
    transition: transform 0.2s;
}

.bpt-intro__faq-item[open] .bpt-intro__faq-chevron {
    transform: rotate(180deg);
    color: var(--bpt-teal);
}

.bpt-intro__faq-a {
    padding: 0 16px 14px;
    font-size: 13px;
    line-height: 1.7;
    color: #3D5560;
}

/* Mobile */
@media (max-width: 600px) {
    .bpt-intro__hero  { padding: 28px 20px 24px; text-align: center; align-items: center; }
    .bpt-intro__body  { padding: 24px 20px 28px; align-items: flex-start; }

    .bpt-intro__stats { justify-content: center; }
    .bpt-intro__stat  { padding: 0 16px 0 0; align-items: center; }
    .bpt-intro__stat-value { font-size: 16px; }
    .bpt-intro__stat-label { font-size: 11px; }
    .bpt-intro__stat-sep   { margin: 0 16px 0 0; }

    .bpt-intro__what-grid { grid-template-columns: 1fr; }

    .bpt-intro__start-btn { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* PYTANIE                                                                     */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* Progress bar */
.bpt-progress {
    height: 7px;
    background: var(--bpt-border);
    border-radius: 4px;
    margin-bottom: 10px;
    overflow: hidden;
}

.bpt-progress__bar {
    height: 100%;
    background: var(--bpt-teal);
    border-radius: 4px;
    transition: width 0.35s ease;
}

.bpt-progress__label {
    font-size: 13px;
    color: var(--bpt-muted);
    margin-bottom: 22px;
    text-align: right;
}

.bpt-progress__remaining {
    color: var(--bpt-muted);
    opacity: 0.75;
}

.bpt-progress__remaining--last {
    color: var(--bpt-teal);
    opacity: 1;
    font-weight: 600;
}

/* Instrukcja przypomnienie nad pytaniem */
.bpt-question__instruction {
    font-size: 13px;
    color: var(--bpt-muted);
    margin: 0 0 12px;
    padding: 6px 12px;
    background: var(--bpt-bg);
    border-radius: 6px;
    line-height: 1.4;
}

.bpt-question__text {
    font-family: var(--bpt-font-head);
    font-size: clamp(18px, 4vw, 22px);
    font-weight: 600;
    color: var(--bpt-navy);
    line-height: 1.45;
    margin: 0 0 20px;
    outline: none;
}

/* Odpowiedzi */
.bpt-answers {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 28px;
}

.bpt-answer {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 2px solid var(--bpt-border);
    border-radius: 10px;
    cursor: pointer;
    background: var(--bpt-card);
    transition: border-color var(--bpt-transition), background var(--bpt-transition),
                transform var(--bpt-transition);
    user-select: none;
}

.bpt-answer:hover {
    border-color: var(--bpt-teal-light);
    background: #f0f8fa;
    transform: translateX(2px);
}

.bpt-answer--selected {
    border-color: var(--bpt-teal);
    background: #e8f4f7;
}

.bpt-answer__radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.bpt-answer__dot {
    width: 20px;
    height: 20px;
    border: 2px solid var(--bpt-border);
    border-radius: 50%;
    flex-shrink: 0;
    transition: border-color var(--bpt-transition), background var(--bpt-transition);
    position: relative;
}

.bpt-answer--selected .bpt-answer__dot {
    border-color: var(--bpt-teal);
    background: var(--bpt-teal);
}

.bpt-answer--selected .bpt-answer__dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background: #fff;
    border-radius: 50%;
}

.bpt-answer__label {
    font-size: 16px;
    color: var(--bpt-text);
    font-weight: 500;
}

/* Nawigacja */
.bpt-question__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* WYSYŁKA                                                                     */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-sending {
    text-align: center;
    padding: 40px 0;
    color: var(--bpt-muted);
    font-size: 15px;
}

.bpt-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--bpt-border);
    border-top-color: var(--bpt-teal);
    border-radius: 50%;
    animation: bpt-spin 0.7s linear infinite;
    margin: 0 auto 16px;
}

@keyframes bpt-spin {
    to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* WYNIK                                                                       */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-result__badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bpt-muted);
    margin-bottom: 8px;
}

.bpt-result__score-wrap {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
}

.bpt-result__score {
    font-family: var(--bpt-font-head);
    font-size: 64px;
    font-weight: 700;
    line-height: 1;
}

.bpt-result__score-max {
    font-size: 20px;
    color: var(--bpt-muted);
    font-weight: 500;
}

/* Crisis box */
.bpt-crisis {
    display: flex;
    gap: 14px;
    background: #fff7ed;
    border: 2px solid #fed7aa;
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 20px;
}

.bpt-crisis__icon { font-size: 22px; flex-shrink: 0; }

.bpt-crisis strong {
    display: block;
    margin-bottom: 6px;
    color: #92400e;
}

.bpt-crisis p {
    font-size: 15px;
    line-height: 1.6;
    color: #78350f;
    margin: 0 0 10px;
}

.bpt-crisis__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.bpt-crisis__hotline {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    font-size: 16px;
    color: var(--bpt-urgent);
    text-decoration: none;
    border: 2px solid var(--bpt-urgent);
    border-radius: 8px;
    padding: 6px 14px;
    transition: background var(--bpt-transition);
}

.bpt-crisis__help {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 6px 14px;
    border: 2px solid rgba(192,57,43,0.28);
    border-radius: 8px;
    background: rgba(255,255,255,0.68);
    color: #7F1D1D;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.bpt-crisis__hotline:hover {
    background: var(--bpt-urgent);
    color: #fff;
}

.bpt-crisis__help:hover {
    background: #fff;
}

.bpt-result__crisis-box {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 14px;
    color: #7f1d1d;
    margin-bottom: 20px;
}

.bpt-btn--share svg {
    width: 16px;
    height: 16px;
}

.bpt-btn--copied {
    border-color: var(--bpt-teal) !important;
    color: var(--bpt-teal) !important;
    background: #e8f4f7 !important;
}

/* Zapobiega przyklejaniu :hover po tapnięciu na mobile */
@media (hover: none) {
    .bpt-btn:hover {
        background: initial;
        transform: none;
    }
    .bpt-btn--primary:hover {
        background: var(--bpt-teal);
        border-color: var(--bpt-teal);
        color: #fff;
    }
    .bpt-btn--ghost:hover {
        background: transparent;
        border-color: var(--bpt-border);
        color: var(--bpt-teal);
    }
}

/* ── Podskale (subscales) — Big Five i przyszłe testy wielowymiarowe ──────── */
.bpt-subscales {
    margin: 24px 0;
}

.bpt-subscales__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bpt-subscale__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 6px;
}

.bpt-subscale__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--bpt-text);
}

.bpt-subscale__score {
    font-size: 13px;
    color: var(--bpt-muted);
    font-variant-numeric: tabular-nums;
}

.bpt-subscale__bar-track {
    height: 8px;
    background: var(--bpt-border);
    border-radius: 4px;
    overflow: hidden;
}

.bpt-subscale__bar-fill {
    height: 100%;
    background: var(--bpt-teal);
    border-radius: 4px;
    transition: width 0.6s ease;
    min-width: 2px;
}

.bpt-result__disclaimer {
    font-size: 12px;
    color: var(--bpt-muted);
    text-align: center;
    line-height: 1.5;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* EMAIL GATE                                                                  */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-email-gate {
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
    padding: 8px 0 16px;
}

.bpt-email-gate--inline {
    max-width: none;
    margin: 0;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    gap: 14px;
    text-align: left;
    padding: 20px;
    border: 1px solid var(--bpt-border);
    border-radius: 16px;
    background: #fffdfa;
}

.bpt-email-gate__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    color: var(--bpt-teal);
    display: flex;
    align-items: center;
    justify-content: center;
}

.bpt-email-gate__icon--small {
    width: 44px;
    height: 44px;
    margin: 2px 0 0;
    border-radius: 14px;
    background: rgba(61,126,143,0.10);
}

.bpt-email-gate__icon--small svg {
    width: 24px;
    height: 24px;
}

.bpt-email-gate__icon svg {
    width: 56px;
    height: 56px;
}

.bpt-email-gate__title {
    font-family: var(--bpt-font-head);
    font-size: 22px;
    font-weight: 700;
    color: var(--bpt-navy);
    margin: 0 0 8px;
}

.bpt-email-gate__desc {
    font-size: 15px;
    color: var(--bpt-muted);
    line-height: 1.6;
    margin: 0 0 24px;
}

.bpt-email-gate__success {
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--bpt-teal-dark);
    font-weight: 600;
}

.bpt-email-gate__form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
}

.bpt-email-gate__input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    font-family: var(--bpt-font-body);
    font-size: 15px;
    color: var(--bpt-text);
    background: var(--bpt-card);
    border: 1.5px solid var(--bpt-border);
    border-radius: 8px;
    outline: none;
    transition: border-color var(--bpt-transition);
}

.bpt-email-gate__input:focus {
    border-color: var(--bpt-teal);
}

.bpt-email-gate__input::placeholder {
    color: var(--bpt-muted);
}

.bpt-email-gate__error {
    font-size: 13px;
    color: var(--bpt-critical);
    margin: -4px 0 0;
    line-height: 1.4;
}

.bpt-email-gate__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.bpt-email-gate__checkbox {
    margin-top: 3px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: var(--bpt-teal);
    cursor: pointer;
}

.bpt-email-gate__consent-text {
    font-size: 13px;
    color: var(--bpt-muted);
    line-height: 1.5;
}

.bpt-email-gate__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bpt-email-gate__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--bpt-navy);
}

.bpt-email-gate__consent--marketing {
    border-top: 1px solid var(--bpt-border);
    padding-top: 12px;
    margin-top: 2px;
}

/* Submit button — pełna szerokość */
.bpt-email-gate__form .bpt-btn--primary {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
}

/* Pomiń — link z ikoną strzałki */
.bpt-email-gate__skip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 16px auto 0;
    background: none;
    border: none;
    font-family: var(--bpt-font-body);
    font-size: 14px;
    color: var(--bpt-teal);
    cursor: pointer;
    padding: 6px 8px;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--bpt-transition);
}

.bpt-email-gate__skip:hover,
.bpt-email-gate__skip:focus {
    color: var(--bpt-teal-dark) !important;
    background: transparent !important;
    text-decoration: underline;
}

@media (max-width: 480px) {
    .bpt-email-gate {
        padding: 4px 0 8px;
    }

    .bpt-email-gate--inline {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .bpt-email-gate__icon--small {
        margin: 0;
    }

    .bpt-email-gate__title {
        font-size: 20px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* PRZYCISKI                                                                   */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--bpt-font-body);
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    padding: 12px 24px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: background var(--bpt-transition), color var(--bpt-transition),
                border-color var(--bpt-transition), transform var(--bpt-transition);
    text-decoration: none;
    line-height: 1.2;
}

/* Blokuje zewnętrzne style (GeneratePress) przed nadpisaniem koloru tekstu */
.bpt-btn:hover,
.bpt-btn:focus,
.bpt-btn:active {
    text-decoration: none;
}

.bpt-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.bpt-btn--primary {
    background: var(--bpt-teal);
    color: #fff;
    border-color: var(--bpt-teal);
}

.bpt-btn--primary:hover:not(:disabled) {
    background: var(--bpt-teal-dark);
    border-color: var(--bpt-teal-dark);
    color: #fff;
    transform: translateY(-1px);
}

.bpt-btn--ghost {
    background: transparent;
    color: var(--bpt-teal);
    border-color: var(--bpt-border);
}

.bpt-btn--ghost:hover {
    border-color: var(--bpt-teal);
    background: #f0f8fa;
    color: var(--bpt-teal);
}

.bpt-btn--lg {
    font-size: 17px;
    padding: 15px 32px;
}

.bpt-btn--cta {
    width: 100%;
    font-size: 18px;
    padding: 16px;
}

.bpt-btn--urgent {
    background: var(--bpt-urgent);
    border-color: var(--bpt-urgent);
}

.bpt-btn--urgent:hover {
    background: #b45309;
    border-color: #b45309;
}

.bpt-btn--disabled,
.bpt-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* BŁĄD                                                                        */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-error {
    text-align: center;
    padding: 32px;
    color: var(--bpt-muted);
}

.bpt-error__detail {
    font-size: 13px;
    color: var(--bpt-critical);
    margin-bottom: 20px;
}

/* ── Segmentowana skala wyniku ─────────────────────────────────────────────── */
.bpt-scale {
    margin: 16px 0 4px;
}

.bpt-scale__track {
    position: relative;
    display: flex;
    height: 12px;
    border-radius: 6px;
    overflow: visible;
    gap: 2px;
    margin-bottom: 20px;
}

.bpt-scale__segment {
    border-radius: 4px;
    height: 12px;
    background: color-mix(in srgb, var(--bpt-scale-color, var(--bpt-teal)) 22%, #fff);
    border: 1px solid color-mix(in srgb, var(--bpt-scale-color, var(--bpt-teal)) 34%, #fff);
    transition: background 0.3s ease, border-color 0.3s ease;
}

.bpt-scale__segment--active {
    background: color-mix(in srgb, var(--bpt-scale-color, var(--bpt-teal)) 72%, #fff);
    border-color: color-mix(in srgb, var(--bpt-scale-color, var(--bpt-teal)) 82%, #fff);
}

.bpt-scale__marker {
    position: absolute;
    top: -4px;
    transform: translateX( -50% );
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

.bpt-scale__marker-line {
    width: 3px;
    height: 24px;
    background: var(--bpt-navy);
    border-radius: 999px;
    box-shadow: 0 0 0 3px rgba(255,255,255,0.86);
}

.bpt-scale__marker-label {
    font-family: var(--bpt-font-head);
    font-size: 13px;
    font-weight: 700;
    margin-top: 4px;
    white-space: nowrap;
    background: var(--bpt-card);
    padding: 2px 7px;
    border: 1px solid var(--bpt-border);
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(27,58,75,0.08);
}

.bpt-scale__labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--bpt-muted);
    margin-top: -14px;
}

/* ── Ekran powrotu do przerwanego testu ────────────────────────────────────── */
.bpt-resume {
    text-align: center;
    padding: 16px 0 8px;
}

.bpt-resume__icon {
    font-size: 36px;
    margin-bottom: 12px;
    color: var(--bpt-teal);
}

.bpt-resume__title {
    font-family: var(--bpt-font-head);
    font-size: 22px;
    color: var(--bpt-navy);
    margin: 0 0 10px;
}

.bpt-resume__info {
    font-size: 16px;
    color: var(--bpt-text);
    line-height: 1.6;
    margin-bottom: 28px;
}

.bpt-resume__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 320px;
    margin: 0 auto;
}

/* Ukrycie labela "Zalecenie:" — zostaje tło i ikona */
/* Ukrycie labela "Zalecenie:" — zostaje tło i ikona */
/* ═══════════════════════════════════════════════════════════════════════════ */
/* CO DALEJ                                                                    */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-next-steps {
    margin: 28px 0 8px;
}

.bpt-next-steps__title {
    font-size: 11px;
    font-weight: 700;
    color: var(--bpt-muted);
    text-transform: uppercase;
    letter-spacing: 0.09em;
    margin: 0 0 12px;
}

/* Wiersz akcji */
.bpt-next-step {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1.5px solid var(--bpt-border);
    border-radius: 10px;
    background: var(--bpt-card);
    text-decoration: none;
    color: var(--bpt-text);
    margin-bottom: 8px;
    transition: border-color var(--bpt-transition), background var(--bpt-transition),
                transform var(--bpt-transition);
    cursor: pointer;
}

.bpt-next-step:hover {
    border-color: var(--bpt-teal);
    background: #f7fcfd;
    transform: translateX(2px);
    text-decoration: none;
    color: var(--bpt-text);
}

/* Wariant primary — wyróżniony */
.bpt-next-step--primary {
    border-color: var(--bpt-teal);
    background: #EBF4F6;
}

.bpt-next-step--primary:hover {
    background: #dff0f4;
    border-color: var(--bpt-teal-dark);
}

/* Wariant urgent */
.bpt-next-step--urgent {
    border-color: var(--bpt-urgent);
    background: #fff8ec;
}

.bpt-next-step--urgent:hover {
    background: #fef0d5;
    border-color: #b45309;
}

.bpt-next-step--urgent .bpt-next-step__icon {
    color: var(--bpt-urgent);
}

.bpt-next-step--urgent .bpt-next-step__arrow {
    color: var(--bpt-urgent);
}

/* Ikona */
.bpt-next-step__icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bpt-teal);
}

.bpt-next-step__icon svg {
    width: 22px;
    height: 22px;
}

/* Treść */
.bpt-next-step__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bpt-next-step__label {
    font-size: 15px;
    font-weight: 600;
    color: var(--bpt-navy);
    line-height: 1.3;
}

.bpt-next-step__desc {
    font-size: 13px;
    color: var(--bpt-muted);
    line-height: 1.4;
}

/* Strzałka */
.bpt-next-step__arrow {
    font-size: 18px;
    color: var(--bpt-teal);
    flex-shrink: 0;
    opacity: 0.6;
    transition: opacity var(--bpt-transition), transform var(--bpt-transition);
}

.bpt-next-step:hover .bpt-next-step__arrow {
    opacity: 1;
    transform: translateX(3px);
}

/* Secondary actions — neutralny link testu + Wypełnij ponownie */
.bpt-result__secondary-actions {
    display: flex;
    gap: 10px;
    margin: 16px 0 20px;
}

.bpt-result__secondary-actions .bpt-btn {
    flex: 1;
    font-size: 14px;
    padding: 10px 16px;
    justify-content: center;
}

@media (max-width: 480px) {
    .bpt-next-step { gap: 12px; padding: 12px 14px; }
    .bpt-next-step__icon { width: 30px; height: 30px; }
    .bpt-next-step__icon svg { width: 18px; height: 18px; }
    .bpt-next-step__label { font-size: 14px; }
    .bpt-result__secondary-actions { flex-direction: column; }
    .bpt-result__secondary-actions .bpt-btn { flex: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* POST-RESULT — BLOK ZAPISU WYNIKU                                           */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* Wrapper wewnątrz .bpt-result — po labelu, przed interpretacją */
.bpt-save-result {
    max-width: 620px;
    margin: 0 auto 20px;
}

/* Wersja dla zalogowanych — pasek potwierdzenia */
.bpt-save-result--logged {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #EBF4F6;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    color: #2A6070;
    font-weight: 500;
}

.bpt-save-result--logged svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.bpt-save-result__link {
    margin-left: auto;
    font-size: 13px;
    color: var(--bpt-teal);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
}

.bpt-save-result__link:hover {
    color: var(--bpt-teal-dark);
}

/* Wersja dla niezalogowanych */
.bpt-save-result__inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bpt-save-result__title {
    font-family: var(--bpt-font-head);
    font-size: 17px;
    font-weight: 700;
    color: var(--bpt-navy);
    margin: 0 0 6px;
}

.bpt-save-result__desc {
    font-size: 14px;
    color: var(--bpt-muted);
    line-height: 1.6;
    margin: 0;
}

.bpt-save-result__cta {
    display: flex;
    gap: 10px;
}

.bpt-save-result__cta .bpt-btn {
    flex: 1;
    justify-content: center;
    font-size: 14px;
    padding: 11px 16px;
}

.bpt-save-result__micro {
    font-size: 12px;
    color: var(--bpt-muted);
    margin: 0;
    text-align: center;
}

@media (max-width: 480px) {
    .bpt-save-result__inner {
        padding: 20px 18px;
    }

    .bpt-save-result__cta {
        flex-direction: column;
    }

    .bpt-save-result__cta .bpt-btn {
        flex: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* RESPONSYWNOŚĆ                                                               */
/* ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 480px) {
    .bpt-result__score { font-size: 52px; }
    .bpt-question__nav { flex-wrap: wrap; }
    .bpt-question__nav .bpt-btn { flex: 1; }

    /* Większe przyciski odpowiedzi na mobile — łatwiejsze w obsłudze kciukiem */
    .bpt-answer {
        min-height: 56px;
        padding: 16px 18px;
    }
}

/* ── Sekcja kupna raportu na ekranie wyniku ─────────────────────────────── */

/* ── Premium blok raportu na ekranie wyniku ─────────────────────────────── */

.bpt-report-premium {
    margin: 24px 0;
    background: #FDFCFA;
    border: 1.5px solid #C5D8DF;
    border-radius: 12px;
    overflow: hidden;
}

.bpt-report-premium__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: #1B3A4B;
}

.bpt-report-premium__badge {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8FCFDB;
}

.bpt-report-premium__price {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.bpt-report-premium__title {
    font-family: 'Lora', Georgia, serif;
    font-size: 18px;
    font-weight: 700;
    color: #1B3A4B;
    margin: 0;
    padding: 20px 20px 6px;
    line-height: 1.3;
}

.bpt-report-premium__lead {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0;
    padding: 0 20px 16px;
}

.bpt-report-premium__benefits {
    list-style: none;
    margin: 0;
    padding: 0 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid #EEE9E2;
}

.bpt-report-premium__benefits li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #444;
    line-height: 1.5;
}

.bpt-report-premium__benefits li svg {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    flex-shrink: 0;
    margin-top: 2px;
    display: block;
}

.bpt-report-premium__footer {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    flex-wrap: wrap;
}

.bpt-report-premium__btn {
    padding: 11px 24px;
    background: #1B3A4B;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s;
    flex-shrink: 0;
}

.bpt-report-premium__btn:hover:not(:disabled) {
    background: #2A6070;
}

.bpt-report-premium__btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.bpt-report-premium__note {
    font-size: 12px;
    color: #888;
}

.bpt-report-premium__error {
    font-size: 12px;
    color: #DC2626;
    padding: 0 20px 12px;
    display: block;
}

@media (max-width: 520px) {
    .bpt-report-premium__btn {
        width: 100%;
        text-align: center;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* DESIGN SYSTEM IMPROVEMENTS — Soft UI Evolution                             */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ── Interpretation card — card treatment z cieniem ─────────────────────── */
/* ── Recommendation box — spójne z interpretation ────────────────────────── */
/* ── Scale — animacja markera przy renderowaniu ─────────────────────────── */
@keyframes bpt-marker-in {
    from { opacity: 0; transform: translateX(-50%) translateY(-6px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.bpt-scale__marker {
    animation: bpt-marker-in 0.35s ease-out both;
    animation-delay: 0.15s;
}

/* ── Subscale bars — animacja szerokości przez CSS (reset do 0 + transition) */
@keyframes bpt-bar-in {
    from { width: 0 !important; }
}

.bpt-subscale__bar-fill {
    animation: bpt-bar-in 0.6s ease-out both;
    animation-delay: 0.2s;
}

/* ── Crisis block — czerwony dla severity severe ─────────────────────────── */
.bpt-crisis {
    background: #FDF2F2;
    border-color: #FECACA;
    border-left-width: 4px;
    border-left-color: #C0392B;
}

.bpt-crisis strong { color: #7F1D1D; }
.bpt-crisis p      { color: #922B21; }

.bpt-crisis__hotline {
    color: #C0392B;
    border-color: #C0392B;
    font-size: 17px;
}

.bpt-crisis__help {
    border-color: rgba(192,57,43,0.28);
    color: #7F1D1D;
}

.bpt-crisis__hotline:hover {
    background: #C0392B;
    color: #fff;
}

.bpt-crisis__help:hover {
    border-color: #C0392B;
}

/* Ukryj emoji — zastąp SVG-owym placeholderem przez ukrycie węzła tekstowego */
.bpt-crisis__icon { font-size: 0; }
.bpt-crisis__icon::before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    background-color: #C0392B;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
}

/* ── Next-steps — bardziej widoczny nagłówek sekcji ─────────────────────── */
.bpt-next-steps__title {
    font-size: 13px;
    color: var(--bpt-navy);
    letter-spacing: 0.06em;
}

/* ── Next-step cards — Soft UI shadow ───────────────────────────────────── */
.bpt-next-step {
    box-shadow: 0 1px 3px rgba(27,58,75,0.05), 0 2px 8px rgba(27,58,75,0.03);
}

/* ── Przyciski — active scale feedback ──────────────────────────────────── */
.bpt-btn:active,
.bpt-report-premium__btn:active {
    transform: scale(0.97);
}

/* ── Focus-visible — WCAG AA+ ───────────────────────────────────────────── */
.bpt-btn:focus-visible,
.bpt-next-step:focus-visible,
.bpt-report-premium__btn:focus-visible,
.bpt-crisis__hotline:focus-visible,
.bpt-crisis__help:focus-visible,
.bpt-email-gate__skip:focus-visible {
    outline: 3px solid var(--bpt-teal);
    outline-offset: 3px;
}

/* ── Reduced motion ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bpt-scale__marker,
    .bpt-subscale__bar-fill {
        animation: none;
    }
    .bpt-btn,
    .bpt-next-step,
    .bpt-report-premium__btn,
    .bpt-crisis__hotline {
        transition: none;
    }
}

/* Result v2 */
.bpt-result {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bpt-result__hero {
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--bpt-border);
    border-radius: 18px;
    background: linear-gradient(180deg, #fcfaf6 0%, #f5f0e8 100%);
}

.bpt-result__hero--score {
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.9fr);
    align-items: center;
}

.bpt-result__hero--profile,
.bpt-result__hero--cluster {
    grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
    align-items: start;
}

.bpt-result--cluster_rule .bpt-result__hero {
    background: linear-gradient(180deg, #f6f8f8 0%, #edf4f2 100%);
}

.bpt-result__hero-copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bpt-result__eyebrow {
    margin: 0;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bpt-muted);
    font-weight: 700;
}

.bpt-result__title {
    margin: 0;
    font-family: var(--bpt-font-head);
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.15;
    color: var(--bpt-navy);
}

.bpt-result__lead {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--bpt-text);
}

.bpt-result__insight {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(61,126,143,0.10);
    color: var(--bpt-navy);
    font-size: 14px;
    line-height: 1.55;
    font-weight: 600;
}

.bpt-result__insight--profile {
    background: rgba(42,96,112,0.08);
}

.bpt-result__insight--cluster {
    background: rgba(106,175,188,0.16);
}

.bpt-result__score-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(255,255,255,0.82);
    border: 1px solid rgba(61,126,143,0.12);
}

.bpt-result__hero-side {
    display: grid;
    gap: 12px;
}

.bpt-result__mini-stat {
    padding: 16px;
    border-radius: 14px;
    background: rgba(255,255,255,0.75);
    border: 1px solid rgba(61,126,143,0.10);
}

.bpt-result__mini-stat strong {
    display: block;
    color: var(--bpt-navy);
    line-height: 1.4;
}

.bpt-result__mini-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--bpt-muted);
    font-weight: 700;
}

.bpt-result__section {
    padding: 20px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--bpt-border);
}

.bpt-result__section--guide {
    background: #f3f7f7;
}

.bpt-result__section--note {
    background: #f8f4ee;
}

.bpt-result__section-title {
    margin: 0 0 12px;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bpt-muted);
    font-weight: 700;
}

.bpt-result__section-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--bpt-text);
}

.bpt-result__card-grid,
.bpt-poles-grid,
.bpt-cluster-grid,
.bpt-cluster-profile-cards,
.bpt-cluster-support {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(190px, 1fr) );
    gap: 14px;
}

.bpt-result__card-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bpt-result__section--columns {
    display: grid;
    grid-template-columns: repeat( 2, minmax(0, 1fr) );
    gap: 18px;
}

.bpt-area-card,
.bpt-pole-card,
.bpt-cluster-evidence,
.bpt-cluster-profile-card,
.bpt-cluster-grid__item {
    padding: 16px;
    border-radius: 14px;
    border: 1px solid var(--bpt-border);
    background: #fffdfa;
}

.bpt-area-card--dominant,
.bpt-area-card--key {
    background: linear-gradient(180deg, #f8fcfc 0%, #f0f7f8 100%);
}

.bpt-area-card--dominant-low,
.bpt-area-card--contrast-low {
    background: linear-gradient(180deg, #fcf7f2 0%, #f7f0e7 100%);
}

.bpt-area-card__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 8px;
}

.bpt-area-card__title,
.bpt-pole-card__title,
.bpt-cluster-evidence__title,
.bpt-cluster-profile-card h4,
.bpt-cluster-grid__title {
    margin: 0;
    font-size: 16px;
    line-height: 1.35;
    color: var(--bpt-navy);
}

.bpt-cluster-profile-card {
    background: linear-gradient(180deg, #f8fcfc 0%, #f0f7f8 100%);
}

.bpt-cluster-profile-group {
    display: grid;
    gap: 12px;
}

.bpt-cluster-profile-group + .bpt-cluster-profile-group {
    margin-top: 22px;
}

.bpt-cluster-profile-group__head {
    display: grid;
    gap: 4px;
}

.bpt-cluster-profile-group__head h4 {
    margin: 0;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 18px;
    line-height: 1.25;
}

.bpt-cluster-profile-group__head p {
    margin: 0;
    color: #5E747E;
    font-size: 14px;
    line-height: 1.5;
}

.bpt-cluster-profile-card--less {
    background: #fffdfa;
    border-style: dashed;
}

.bpt-cluster-profile-card p {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: #3d5560;
}

.bpt-area-card__pct {
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--bpt-teal-dark);
}

.bpt-area-card__text,
.bpt-pole-card__meaning,
.bpt-cluster-evidence__text,
.bpt-cluster-grid__text,
.bpt-pole-card__stance,
.bpt-subscale__meaning {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #3d5560;
}

.bpt-pole-card__stance {
    margin-bottom: 8px;
    color: var(--bpt-navy);
    font-weight: 600;
}

.bpt-subscales--enhanced .bpt-subscale--row {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--bpt-border);
    background: #fffdfa;
}

.bpt-subscale__meaning {
    margin-top: 10px;
}

.bpt-cluster-path {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bpt-cluster-step {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid var(--bpt-border);
    background: #f9fcfb;
}

.bpt-cluster-step__no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--bpt-teal);
    color: #fff;
    font-weight: 700;
}

.bpt-cluster-step__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bpt-cluster-grid__item--on {
    background: linear-gradient(180deg, #f1faf8 0%, #e9f5f1 100%);
    border-color: rgba(61,126,143,0.22);
}

.bpt-cluster-grid__item--off {
    background: linear-gradient(180deg, #fbf8f4 0%, #f6f0e8 100%);
}

.bpt-cluster-grid__state {
    margin: 6px 0 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--bpt-muted);
    font-weight: 700;
}

.bpt-result__empty {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--bpt-muted);
}

@media (max-width: 760px) {
    .bpt-result {
        gap: 16px;
    }

    .bpt-result__hero,
    .bpt-result__section,
    .bpt-cluster-step {
        padding: 16px;
    }

    .bpt-result__hero--score,
    .bpt-result__hero--profile,
    .bpt-result__hero--cluster,
    .bpt-result__section--columns {
        grid-template-columns: 1fr;
    }

    .bpt-result__card-grid,
    .bpt-poles-grid,
    .bpt-cluster-grid,
    .bpt-cluster-support {
        grid-template-columns: 1fr;
    }

    .bpt-result__score-panel {
        padding: 14px;
    }

    .bpt-cluster-step {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 12px;
    }

    .bpt-cluster-step__no {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════ */
.bpt-consent-note {
    margin: 18px 0 0;
    padding: 13px 15px;
    border: 1px solid rgba(61,126,143,0.18);
    border-radius: 8px;
    background: #FDFCFA;
    color: #40545E;
    font-size: 14px;
    line-height: 1.45;
}

.bpt-consent-box {
    margin: 18px 0 0;
    padding: 16px;
    border: 1px solid rgba(61,126,143,0.2);
    border-radius: 8px;
    background: #FDFCFA;
    color: #1B2E38;
}

.bpt-consent-box__title {
    margin: 0 0 8px;
    color: #1B3A4B;
    font-family: Lora, Georgia, serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.bpt-consent-box__body,
.bpt-consent-box__micro {
    margin: 0;
    color: #40545E;
    font-size: 14px;
    line-height: 1.45;
}

.bpt-consent-box__checks {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.bpt-consent-check {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    font-size: 14px;
    line-height: 1.45;
}

.bpt-consent-check input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #3D7E8F;
}

.bpt-consent-box__micro {
    margin-top: 10px;
}

.bpt-consent-box__error {
    margin: 10px 0 0;
    color: #A33A2A;
    font-size: 14px;
    font-weight: 700;
}

.bpt-gate__btn--secondary {
    background: #FDFCFA;
    color: #1B3A4B;
}

/* REPORT GATE — bramka upsell raportu premium                                */
/* ═══════════════════════════════════════════════════════════════════════════ */

.bpt-report-gate {
    margin: 8px 0 24px;
    border-radius: 18px;
    border: 1.5px solid #C5D8DF;
    background: #FDFCFA;
    overflow: hidden;
}

/* ── Header ─────────────────────────────────────────────────────────────── */

.bpt-gate__eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8FCFDB;
}

.bpt-gate__title {
    margin: 0 0 10px;
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(18px, 3vw, 22px);
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
}

.bpt-gate__lead {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,0.78);
}

/* ── Preview sekcja — lista + blur ──────────────────────────────────────── */

/* ── CTA blok ───────────────────────────────────────────────────────────── */

.bpt-gate__cta {
    padding: 20px 24px 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.bpt-gate__cta-lead {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* ── E-mail row dla niezalogowanych ─────────────────────────────────────── */

.bpt-gate__email-row {
    display: flex;
    gap: 10px;
    width: 100%;
    align-items: stretch;
}

/* ── Główny przycisk CTA ────────────────────────────────────────────────── */

.bpt-gate__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    background: #1B3A4B;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s, transform .1s;
    flex-shrink: 0;
}

.bpt-gate__btn:hover:not(:disabled) {
    background: #2A6070;
}

.bpt-gate__btn:active:not(:disabled) {
    transform: scale(0.97);
}

.bpt-gate__btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.bpt-gate__btn:focus-visible {
    outline: 3px solid #3D7E8F;
    outline-offset: 3px;
}

.bpt-gate__price {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 20px;
    background: rgba(255,255,255,0.18);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

/* ── Wariant drugorzędny ─────────────────────────────────────────────────── */

.bpt-gate__btn--secondary {
    margin-top: 8px;
    background: transparent;
    color: #1B3A4B;
    border: 1.5px solid #C5D8DF;
    padding: 10px 18px;
}

.bpt-gate__btn--secondary:hover:not(:disabled) {
    background: #EEF5F7;
    border-color: #3D7E8F;
}

/* ── Drobne teksty ──────────────────────────────────────────────────────── */

.bpt-gate__note {
    margin: 0;
    font-size: 12px;
    color: #9EB5BC;
    line-height: 1.5;
}

/* ── Error ──────────────────────────────────────────────────────────────── */

.bpt-gate__error {
    margin: 4px 0 0;
    font-size: 13px;
    color: #DC2626;
    font-weight: 500;
}

.bpt-gate__notice {
    margin: 4px 0 0;
    font-size: 13px;
    color: #D8EDF0;
    font-weight: 700;
    line-height: 1.5;
}

/* ── Istniejące konto info ──────────────────────────────────────────────── */

.bpt-gate__existing-account {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #EEF5F7;
    border: 1px solid #C5D8DF;
    width: 100%;
}

.bpt-gate__existing-icon {
    width: 22px;
    height: 22px;
    min-width: 22px;
    flex-shrink: 0;
    margin-top: 1px;
}

.bpt-gate__existing-account strong {
    display: block;
    font-size: 14px;
    color: #1B3A4B;
    margin-bottom: 4px;
}

.bpt-gate__existing-account p {
    margin: 0 0 10px;
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
    .bpt-gate__cta {
        padding: 16px 18px 20px;
    }

    .bpt-gate__email-row {
        flex-direction: column;
    }

    .bpt-gate__btn {
        width: 100%;
        justify-content: center;
    }

}

/* RESULT PREMIUM MAP */
.bpt-result-premium {
    margin: 14px 0 34px;
    overflow: hidden;
    border: 1px solid rgba(61,126,143,0.3);
    border-radius: 28px;
    background: linear-gradient(135deg, #FFFDF8 0%, #F4EFE5 100%);
    box-shadow: 0 28px 70px rgba(27,58,75,0.16);
}

.bpt-result-premium--after-safety {
    margin-top: 18px;
    border-color: rgba(192,57,43,0.22);
    box-shadow: 0 14px 36px rgba(27,58,75,0.1);
}

.bpt-result-premium__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(285px, 320px);
    min-height: 100%;
}

.bpt-result-premium__value {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    padding: 36px 38px 38px;
}

.bpt-result-premium__eyebrow.bpt-gate__eyebrow {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0;
    padding: 6px 11px;
    border: 1px solid rgba(61,126,143,0.28);
    border-radius: 999px;
    background: #EAF6F6;
    color: var(--bpt-teal-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bpt-result-premium__title.bpt-gate__title {
    max-width: 680px;
    margin: -4px 0 0;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: clamp(30px, 4vw, 42px);
    font-weight: 700;
    line-height: 1.12;
}

.bpt-result-premium__lead.bpt-gate__lead {
    max-width: 690px;
    margin: 0;
    color: #40545E;
    font-size: 17px;
    line-height: 1.68;
}

.bpt-result-premium__safety-note {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(192,57,43,0.16);
    border-radius: 10px;
    background: #FFF7F5;
    color: #7F1D1D;
    font-size: 14px;
    line-height: 1.45;
}

.bpt-result-premium__signal,
.bpt-result-premium__why,
.bpt-result-premium__questions,
.bpt-result-premium__contains {
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(232,228,220,0.96);
    border-radius: 18px;
    background: rgba(255,255,255,0.76);
}

.bpt-result-premium__signal {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}

.bpt-result-premium__signal h4,
.bpt-result-premium__why h4,
.bpt-result-premium__questions h4,
.bpt-result-premium__contains h4 {
    margin: 0 0 8px;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 20px;
    line-height: 1.3;
}

.bpt-result-premium__signal p,
.bpt-result-premium__why p,
.bpt-result-premium__product-copy,
.bpt-result-premium__report-item p,
.bpt-result-premium__highlight p {
    margin: 0;
    color: #40545E;
    font-size: 15px;
    line-height: 1.62;
}

.bpt-result-premium__highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bpt-result-premium__highlight {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(61,126,143,0.22);
    border-radius: 14px;
    background: #EEF8F8;
}

.bpt-result-premium__highlight span {
    display: block;
    margin-bottom: 7px;
    color: var(--bpt-teal-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.07em;
    line-height: 1.25;
    text-transform: uppercase;
}

.bpt-result-premium__highlight strong {
    display: block;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.bpt-result-premium__highlight p {
    margin-top: 10px;
}

.bpt-result-premium__highlight ul,
.bpt-result-premium__trust {
    display: grid;
    gap: 8px;
    padding: 0;
    margin: 12px 0 0;
    list-style: none;
}

.bpt-result-premium__highlight li,
.bpt-result-premium__trust li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    line-height: 1.4;
}

.bpt-result-premium__trust {
    margin-top: 2px;
}

.bpt-result-premium__trust li {
    color: rgba(255,255,255,0.82);
    font-weight: 700;
}

.bpt-result-premium__highlight li::before,
.bpt-result-premium__trust li::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--bpt-teal);
}

.bpt-result-premium__flow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 18px 0 0;
    list-style: none;
}

.bpt-result-premium__flow li {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(61,126,143,0.18);
    border-radius: 999px;
    background: rgba(255,255,255,0.7);
    color: var(--bpt-navy);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

.bpt-result-premium__flow li:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -13px;
    color: var(--bpt-teal-dark);
    font-weight: 800;
}

.bpt-result-premium__questions ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.bpt-result-premium__questions li {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(61,126,143,0.14);
    border-radius: 12px;
    background: rgba(255,255,255,0.64);
    color: #2F4650;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.38;
}

.bpt-result-premium__report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bpt-result-premium__report-item {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(61,126,143,0.16);
    border-radius: 14px;
    background: rgba(255,255,255,0.62);
}

.bpt-result-premium__report-item h5 {
    margin: 0 0 8px;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 17px;
    line-height: 1.3;
}

.bpt-result-premium__decision.bpt-gate__cta {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    padding: 30px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,0.18);
    border-radius: 0;
    background: linear-gradient(180deg, var(--bpt-navy) 0%, #215B6C 100%);
    color: #fff;
}

.bpt-result-premium__price-card {
    display: grid;
    gap: 6px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 18px;
    background: rgba(255,255,255,0.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.bpt-result-premium__price-card span {
    color: rgba(255,255,255,0.74);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.bpt-result-premium__price-card strong {
    color: #fff;
    font-family: var(--bpt-font-head);
    font-size: clamp(30px, 4vw, 38px);
    font-weight: 700;
    line-height: 1.1;
}

.bpt-result-premium__cta-lead {
    margin: 0;
    color: rgba(255,255,255,0.8);
    font-size: 15px;
    line-height: 1.6;
}

.bpt-result-premium__product-copy {
    color: rgba(255,255,255,0.8);
    font-size: 14px;
    line-height: 1.58;
}

.bpt-result-premium__microcopy {
    margin: -4px 0 0;
    color: rgba(255,255,255,0.72);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.bpt-result-premium__actions.bpt-gate__email-row {
    display: flex;
    flex-direction: column;
    gap: 11px;
    width: 100%;
}

.bpt-result-premium__btn.bpt-gate__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    min-height: 58px;
    padding: 15px 20px;
    border: 1px solid #fff;
    border-radius: 12px;
    background: #fff;
    color: var(--bpt-navy);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(0,0,0,0.18);
    transition: background .16s, border-color .16s, color .16s, transform .1s, box-shadow .16s;
}

.bpt-result-premium__btn.bpt-gate__btn:hover:not(:disabled) {
    border-color: #EAF6F6;
    background: #EAF6F6;
    color: var(--bpt-navy);
    box-shadow: 0 16px 36px rgba(0,0,0,0.22);
    transform: translateY(-1px);
}

.bpt-result-premium__link-btn.bpt-gate__btn--secondary {
    width: 100%;
    min-height: 48px;
    border-color: rgba(255,255,255,0.34);
    background: rgba(255,255,255,0.08);
    color: #fff;
    box-shadow: none;
    font-size: 15px;
}

.bpt-result-premium__link-btn.bpt-gate__btn--secondary:hover:not(:disabled) {
    border-color: rgba(255,255,255,0.58);
    background: rgba(255,255,255,0.14);
    color: #fff;
}

.bpt-result-premium__contents-link {
    width: 100%;
    max-width: 100%;
    color: #DDF4F6;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bpt-result-premium__note {
    margin: 0;
    color: rgba(255,255,255,0.72);
    font-size: 13px;
    line-height: 1.6;
}

.bpt-result-premium .bpt-gate__error {
    color: #A33A2A;
}

.bpt-result-premium .bpt-gate__notice {
    color: #D8EDF0;
}

.bpt-result__basic-preview {
    margin: 30px 0 0;
    padding: 24px;
    border: 1px solid rgba(61,126,143,0.16);
    border-radius: 22px;
    background: rgba(255,255,255,0.68);
    scroll-margin-top: 28px;
}

.bpt-result__basic-head {
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
}

.bpt-result__basic-kicker {
    color: var(--bpt-teal-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.bpt-result__basic-title {
    margin: 0;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.18;
}

.bpt-guest-account {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 0;
    margin: 30px 0;
    overflow: hidden;
    border: 1px solid rgba(61,126,143,0.18);
    border-radius: 28px;
    background: linear-gradient(135deg, #FFFDF8 0%, #F3FBFA 100%);
    box-shadow: 0 24px 70px rgba(27,58,75,0.14);
}

.bpt-guest-account__value {
    min-width: 0;
    padding: clamp(28px, 4vw, 42px);
}

.bpt-guest-account__eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 14px;
    padding: 7px 12px;
    border: 1px solid rgba(61,126,143,0.18);
    border-radius: 999px;
    background: rgba(61,126,143,0.1);
    color: var(--bpt-teal-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.bpt-guest-account__title {
    max-width: 700px;
    margin: 0;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: clamp(32px, 4.6vw, 48px);
    font-weight: 700;
    line-height: 1.05;
}

.bpt-guest-account__lead {
    max-width: 690px;
    margin: 16px 0 26px;
    color: #40545E;
    font-size: 17px;
    line-height: 1.65;
}

.bpt-guest-account__columns {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(260px, 0.8fr);
    gap: 16px;
}

.bpt-guest-account__benefits,
.bpt-guest-account__report,
.bpt-guest-account__profile {
    min-width: 0;
    padding: 20px;
    border: 1px solid rgba(61,126,143,0.16);
    border-radius: 18px;
    background: rgba(255,255,255,0.72);
}

.bpt-guest-account h4 {
    margin: 0 0 14px;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 19px;
    line-height: 1.25;
}

.bpt-guest-account ul {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.bpt-guest-account li {
    display: flex;
    gap: 10px;
    color: #40545E;
    font-size: 15px;
    line-height: 1.45;
}

.bpt-guest-account li::before {
    content: "";
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: 7px;
    border-radius: 999px;
    background: var(--bpt-teal);
}

.bpt-guest-account__report p {
    margin: 14px 0;
    color: #40545E;
    font-size: 15px;
    line-height: 1.6;
}

.bpt-guest-account__price {
    display: grid;
    gap: 5px;
}

.bpt-guest-account__price span,
.bpt-guest-account__profile span {
    color: var(--bpt-teal-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.bpt-guest-account__price strong {
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 34px;
    line-height: 1.05;
}

.bpt-guest-account__profile {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    background: rgba(238,248,248,0.9);
}

.bpt-guest-account__profile strong {
    color: var(--bpt-navy);
    font-size: 15px;
    line-height: 1.35;
}

.bpt-guest-account__form {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 14px;
    padding: 30px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,0.18);
    background: linear-gradient(180deg, var(--bpt-navy) 0%, #215B6C 100%);
    color: #fff;
}

.bpt-guest-account__form h4 {
    color: #fff;
    font-size: 24px;
}

.bpt-guest-account__field {
    display: grid;
    gap: 7px;
}

.bpt-guest-account__field label {
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    font-weight: 800;
}

.bpt-guest-account__field input,
.bpt-guest-account__field select {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,0.24);
    border-radius: 12px;
    background: rgba(255,255,255,0.96);
    color: var(--bpt-navy);
    font-family: var(--bpt-font-body);
    font-size: 15px;
}

.bpt-guest-account__field input:focus,
.bpt-guest-account__field select:focus {
    border-color: #fff;
    outline: 3px solid rgba(255,255,255,0.22);
}

.bpt-guest-account__check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: rgba(255,255,255,0.8);
    font-size: 13px;
    line-height: 1.45;
}

.bpt-guest-account__check input {
    flex: 0 0 auto;
    margin-top: 3px;
    accent-color: var(--bpt-teal);
}

.bpt-guest-account__check a {
    color: #EAF6F6;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.bpt-guest-account__submit,
.bpt-guest-account__login,
.bpt-guest-account__basic {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 50px;
    padding: 12px 16px;
    border-radius: 12px;
    font-family: var(--bpt-font-body);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
}

.bpt-guest-account__submit {
    min-height: 58px;
    margin-top: 4px;
    border: 1px solid #fff;
    background: #fff;
    color: var(--bpt-navy);
    box-shadow: 0 14px 32px rgba(0,0,0,0.2);
}

.bpt-guest-account__submit:hover:not(:disabled) {
    background: #EAF6F6;
}

.bpt-guest-account__submit:active:not(:disabled),
.bpt-guest-account__login:active,
.bpt-guest-account__basic:active {
    transform: scale(.98);
}

.bpt-guest-account__submit:disabled {
    cursor: wait;
    opacity: 0.72;
}

.bpt-guest-account__login {
    border: 1px solid rgba(255,255,255,0.34);
    background: rgba(255,255,255,0.08);
    color: #fff;
}

.bpt-guest-account__login:hover,
.bpt-guest-account__login:focus-visible {
    border-color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.16);
    color: #fff;
}

.bpt-guest-account__basic {
    min-height: 38px;
    padding: 4px 8px;
    border: 0;
    background: transparent;
    color: #DDF4F6;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bpt-guest-account__basic:hover,
.bpt-guest-account__basic:focus-visible {
    color: #fff;
    text-decoration-thickness: 2px;
}

.bpt-guest-account__submit:focus-visible,
.bpt-guest-account__login:focus-visible,
.bpt-guest-account__basic:focus-visible,
.bpt-report-checkout__btn:focus-visible,
.bpt-report-checkout__link:focus-visible,
.bpt-report-checkout__close:focus-visible {
    outline: 3px solid rgba(143,207,219,0.72);
    outline-offset: 3px;
}

.bpt-guest-account__error {
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,0.1);
    color: #FFE6DE;
    font-size: 13px;
    line-height: 1.45;
}

.bpt-guest-account--compact {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin: 22px 0 28px;
    padding: 18px;
    border-radius: 20px;
    background: #F7FBFA;
    box-shadow: 0 14px 36px rgba(27,58,75,0.08);
}

.bpt-guest-account--compact .bpt-guest-account__copy {
    min-width: 0;
    padding: 0 0 0 4px;
}

.bpt-guest-account--compact .bpt-guest-account__title {
    max-width: none;
    font-size: clamp(20px, 2.2vw, 26px);
    line-height: 1.16;
}

.bpt-guest-account--compact .bpt-guest-account__lead {
    max-width: 660px;
    margin: 7px 0 0;
    font-size: 14px;
    line-height: 1.5;
}

.bpt-guest-account--compact .bpt-guest-account__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    min-width: min(100%, 410px);
}

.bpt-guest-account--compact .bpt-guest-account__submit,
.bpt-guest-account--compact .bpt-guest-account__login,
.bpt-guest-account--compact .bpt-guest-account__basic {
    width: auto;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    box-shadow: none;
}

.bpt-guest-account--compact .bpt-guest-account__submit {
    border-color: var(--bpt-navy);
    background: var(--bpt-navy);
    color: #fff;
}

.bpt-guest-account--compact .bpt-guest-account__submit:hover:not(:disabled) {
    border-color: var(--bpt-teal-dark);
    background: var(--bpt-teal-dark);
    color: #fff;
}

.bpt-guest-account--compact .bpt-guest-account__login {
    border-color: rgba(61,126,143,0.28);
    background: #fff;
    color: var(--bpt-navy);
}

.bpt-guest-account--compact .bpt-guest-account__login:hover,
.bpt-guest-account--compact .bpt-guest-account__login:focus-visible {
    border-color: var(--bpt-teal);
    background: #EAF6F6;
    color: var(--bpt-navy);
}

.bpt-guest-account--compact .bpt-guest-account__basic {
    color: var(--bpt-teal-dark);
}

.bpt-guest-account--compact .bpt-guest-account__basic:hover,
.bpt-guest-account--compact .bpt-guest-account__basic:focus-visible {
    color: var(--bpt-navy);
}

.bpt-report-checkout {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    z-index: 9999;
    width: 100%;
    box-sizing: border-box;
    background: rgba(16, 43, 56, 0.42);
    backdrop-filter: blur(3px);
}

.bpt-report-checkout__panel {
    width: min(560px, 100%);
    max-height: min(760px, calc(100vh - 48px));
    overflow: auto;
    padding: 24px;
    border: 1px solid rgba(61,126,143,0.26);
    border-radius: 18px;
    background: #FFFDF8;
    box-shadow: 0 28px 90px rgba(13,39,50,0.34);
}

.bpt-report-checkout__head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.bpt-report-checkout__head h4 {
    margin: 0;
    color: var(--bpt-navy);
    font-family: var(--bpt-font-head);
    font-size: 18px;
    line-height: 1.25;
}

.bpt-report-checkout__close,
.bpt-report-checkout__link {
    border: 0;
    background: transparent;
    color: var(--bpt-teal-dark);
    cursor: pointer;
    font-weight: 800;
}

.bpt-report-checkout__close {
    padding: 0 4px;
    color: #5E747E;
    font-size: 24px;
    line-height: 1;
}

.bpt-report-checkout__close:hover,
.bpt-report-checkout__link:hover {
    color: var(--bpt-navy);
}

.bpt-report-checkout__body {
    margin: 0 0 12px;
    color: #40545E;
    font-size: 14px;
    line-height: 1.5;
}

.bpt-report-checkout .bpt-consent-box {
    margin: 0;
}

.bpt-report-checkout__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 14px;
}

.bpt-report-checkout__btn {
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid var(--bpt-navy);
    border-radius: 8px;
    background: var(--bpt-navy);
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
}

.bpt-report-checkout__btn:hover {
    border-color: var(--bpt-teal-dark);
    background: var(--bpt-teal-dark);
}

.bpt-result-premium__btn:focus-visible,
.bpt-result-premium__contents-link:focus-visible {
    outline: 3px solid var(--bpt-teal);
    outline-offset: 3px;
}

@media (max-width: 760px) {
    .bpt-guest-account {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }

    .bpt-guest-account--compact {
        padding: 16px;
    }

    .bpt-guest-account--compact .bpt-guest-account__actions {
        justify-content: stretch;
        min-width: 0;
    }

    .bpt-guest-account--compact .bpt-guest-account__submit,
    .bpt-guest-account--compact .bpt-guest-account__login,
    .bpt-guest-account--compact .bpt-guest-account__basic {
        width: 100%;
    }

    .bpt-guest-account__form {
        order: -1;
        border-left: 0;
        border-bottom: 1px solid rgba(255,255,255,0.16);
        padding: 24px;
    }

    .bpt-guest-account__value {
        padding: 26px 22px 28px;
    }

    .bpt-guest-account__columns {
        grid-template-columns: 1fr;
    }

    .bpt-result__basic-preview {
        padding: 18px;
        border-radius: 18px;
    }

    .bpt-result-premium__layout {
        grid-template-columns: 1fr;
    }

    .bpt-result-premium__decision.bpt-gate__cta {
        order: -1;
        border-left: 0;
        border-bottom: 1px solid rgba(255,255,255,0.16);
        padding: 24px;
    }

    .bpt-result-premium__value {
        padding: 26px 24px 28px;
    }

    .bpt-result-premium__highlights,
    .bpt-result-premium__questions ul,
    .bpt-result-premium__report-grid {
        grid-template-columns: 1fr;
    }

    .bpt-result-premium__flow {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bpt-result-premium__flow li {
        border-radius: 12px;
    }

    .bpt-result-premium__flow li:not(:last-child)::after {
        right: auto;
        left: 14px;
        bottom: -17px;
        transform: rotate(90deg);
    }

    .bpt-result-premium__actions.bpt-gate__email-row {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .bp-test-engine:has(.bpt-result) {
        padding: 24px 16px 28px;
    }

    .bpt-result,
    .bpt-result *,
    .bpt-result-premium,
    .bpt-result-premium * {
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .bpt-guest-account {
        margin: 22px 0;
        border-radius: 16px;
    }

    .bpt-guest-account__form,
    .bpt-guest-account__value {
        padding: 22px 18px;
    }

    .bpt-guest-account__title {
        font-size: 30px;
    }

    .bpt-guest-account__lead {
        font-size: 15px;
    }

    .bpt-guest-account__benefits,
    .bpt-guest-account__report,
    .bpt-guest-account__profile {
        padding: 16px;
    }

    .bpt-result-premium {
        border-radius: 16px;
    }

    .bpt-result-premium__decision.bpt-gate__cta {
        padding: 22px 18px;
    }

    .bpt-result-premium__value {
        padding: 24px 18px 24px;
    }

    .bpt-result-premium__title.bpt-gate__title {
        font-size: 29px;
    }

    .bpt-result-premium__lead.bpt-gate__lead {
        font-size: 15px;
    }

    .bpt-result-premium__signal,
    .bpt-result-premium__why,
    .bpt-result-premium__questions,
    .bpt-result-premium__highlight,
    .bpt-result-premium__report-item,
    .bpt-result-premium__contains {
        padding: 16px;
    }

    .bpt-result-premium__btn.bpt-gate__btn,
    .bpt-result-premium__link-btn.bpt-gate__btn--secondary,
    .bpt-result-premium__contents-link {
        width: 100%;
    }

    .bpt-crisis__actions,
    .bpt-crisis__hotline,
    .bpt-crisis__help {
        width: 100%;
    }

    .bpt-crisis__hotline,
    .bpt-crisis__help {
        justify-content: center;
        text-align: center;
        white-space: normal;
    }

    .bpt-report-checkout {
        inset: 0;
        width: 100%;
        padding: 12px;
    }

    .bpt-report-checkout__panel {
        width: 100%;
        max-height: calc(100vh - 24px);
        overflow: auto;
        padding: 18px;
    }

    .bpt-report-checkout__btn,
    .bpt-report-checkout__link {
        width: 100%;
    }
}
