:root {
    --ivory: #F6F1EA;
    --plum: #3B2534;
    --wine: #6F465D;
    --gold: #B89B67;
    --text: #2B2528;

    --white: #FFFFFF;
    --soft-white: #FCFAF7;
    --line: rgba(59, 37, 52, 0.13);
    --muted: rgba(43, 37, 40, 0.66);

    --radius-small: 14px;
    --radius: 22px;
    --radius-large: 30px;

    --shadow:
        0 20px 60px rgba(59, 37, 52, 0.09);
}


/* ========================= */
/* БАЗА */
/* ========================= */

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--ivory);
}

body {
    margin: 0;
    min-height: 100vh;

    color: var(--text);
    background:
        radial-gradient(circle at 50% -10%,
            rgba(184, 155, 103, 0.12),
            transparent 38%),
        var(--ivory);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
}

button,
input {
    font: inherit;
}

button {
    -webkit-tap-highlight-color: transparent;
}


/* ========================= */
/* ЭКРАНЫ */
/* ========================= */

.app {
    min-height: 100vh;
}

.screen {
    display: none;
    min-height: 100vh;
}

.screen.active {
    display: flex;
    animation: screenFade 0.45s ease;
}

@keyframes screenFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ========================= */
/* КНОПКИ */
/* ========================= */

.button {
    width: 100%;
    min-height: 58px;

    padding: 16px 20px;

    border: 0;
    border-radius: 18px;

    font-weight: 700;
    font-size: 15px;

    letter-spacing: 0.015em;

    cursor: pointer;

    transition:
        transform 0.18s ease,
        opacity 0.18s ease,
        box-shadow 0.18s ease;
}

.button:active:not(:disabled) {
    transform: scale(0.985);
}

.button:disabled {
    opacity: 0.35;
    cursor: default;
}

.button-primary {
    color: var(--white);
    background: var(--plum);

    box-shadow:
        0 12px 30px rgba(59, 37, 52, 0.17);
}

.button-gold {
    color: var(--plum);
    background: var(--gold);

    box-shadow:
        0 14px 34px rgba(184, 155, 103, 0.24);
}

.text-button {
    width: 100%;

    margin-top: 28px;
    padding: 14px;

    color: var(--wine);
    background: transparent;

    border: 0;

    font-weight: 600;

    cursor: pointer;
}


/* ========================= */
/* ОБЩИЕ ТЕКСТЫ */
/* ========================= */

.eyebrow,
.result-label {
    margin: 0 0 10px;

    color: var(--wine);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.section-description {
    margin: 14px 0 28px;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.55;
}


/* ========================= */
/* ГЛАВНАЯ */
/* ========================= */

#home-screen {
    align-items: center;
    justify-content: center;

    padding: 32px 22px;
}

.hero {
    width: 100%;
    max-width: 540px;

    text-align: center;
}

.brand {
    margin-bottom: 34px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;
    font-weight: 700;

    letter-spacing: 0.17em;
}

.hero-symbol {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    margin: 0 auto 26px;

    color: var(--gold);

    border: 1px solid rgba(184, 155, 103, 0.35);
    border-radius: 50%;

    font-size: 22px;
}

.hero h1 {
    margin: 0 0 20px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(38px, 11vw, 58px);
    font-weight: 500;

    line-height: 1.02;
    letter-spacing: -0.035em;
}

.hero-text {
    max-width: 460px;

    margin: 0 auto 24px;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.6;
}

.hero-facts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 7px;

    margin-bottom: 30px;
}

.hero-facts span {
    padding: 7px 10px;

    color: var(--wine);
    background: rgba(111, 70, 93, 0.07);

    border-radius: 999px;

    font-size: 12px;
    font-weight: 600;
}

.hero .button {
    max-width: 390px;
}

.small-note {
    max-width: 390px;

    margin: 16px auto 0;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.5;
}


/* ========================= */
/* ВОПРОСЫ */
/* ========================= */

#question-screen {
    justify-content: center;
}

.question-layout {
    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 620px;

    min-height: 100vh;

    padding:
        max(20px, env(safe-area-inset-top)) 20px max(22px, env(safe-area-inset-bottom));
}

.question-header {
    display: flex;
    align-items: center;

    gap: 12px;
}

.back-button {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    padding: 0;

    color: var(--plum);
    background: transparent;

    border: 1px solid var(--line);
    border-radius: 50%;

    font-size: 20px;

    cursor: pointer;
}

.progress-info {
    flex: 1;
}

#question-counter {
    margin-bottom: 8px;

    color: var(--muted);

    font-size: 12px;
    font-weight: 600;
}

.progress-track {
    width: 100%;
    height: 4px;

    overflow: hidden;

    background: rgba(59, 37, 52, 0.1);

    border-radius: 999px;
}

.progress-fill {
    width: 0;
    height: 100%;

    background: var(--gold);

    border-radius: inherit;

    transition: width 0.3s ease;
}

.question-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;

    padding: 38px 2px;
}

.question-number-decoration {
    margin-bottom: 20px;

    color: var(--gold);

    font-size: 21px;
}

.question-content h2 {
    margin: 0;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(28px, 8vw, 39px);
    font-weight: 500;

    line-height: 1.18;
    letter-spacing: -0.025em;
}

.slider-block {
    margin-top: 54px;
}


/* ========================= */
/* RANGE */
/* ========================= */

.answer-slider {
    --slider-percent: 50%;

    width: 100%;
    height: 40px;

    margin: 0;

    appearance: none;
    -webkit-appearance: none;

    background: transparent;

    cursor: pointer;
}

.answer-slider::-webkit-slider-runnable-track {
    height: 6px;

    background:
        linear-gradient(to right,
            var(--gold) 0,
            var(--gold) var(--slider-percent),
            rgba(59, 37, 52, 0.13) var(--slider-percent),
            rgba(59, 37, 52, 0.13) 100%);

    border-radius: 999px;
}

.answer-slider::-moz-range-track {
    height: 6px;

    background: rgba(59, 37, 52, 0.13);

    border-radius: 999px;
}

.answer-slider::-moz-range-progress {
    height: 6px;

    background: var(--gold);

    border-radius: 999px;
}

.answer-slider::-webkit-slider-thumb {
    width: 26px;
    height: 26px;

    margin-top: -10px;

    appearance: none;
    -webkit-appearance: none;

    background: var(--plum);

    border: 5px solid var(--ivory);
    border-radius: 50%;

    box-shadow:
        0 0 0 2px var(--plum),
        0 5px 14px rgba(59, 37, 52, 0.22);

    transition:
        opacity 0.2s ease,
        transform 0.15s ease;
}

.answer-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;

    background: var(--plum);

    border: 5px solid var(--ivory);
    border-radius: 50%;

    box-shadow:
        0 0 0 2px var(--plum);
}

.answer-slider.untouched::-webkit-slider-thumb {
    opacity: 0;
}

.answer-slider.untouched::-moz-range-thumb {
    opacity: 0;
}

.slider-labels {
    display: flex;
    justify-content: space-between;

    gap: 20px;

    margin-top: 5px;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.3;
}

.slider-labels span:last-child {
    text-align: right;
}

.slider-answer-text {
    min-height: 23px;

    margin-top: 20px;

    color: var(--wine);

    font-size: 14px;
    font-weight: 600;

    text-align: center;
}


/* ========================= */
/* ТЕМА */
/* ========================= */

#topic-screen,
#error-screen {
    align-items: center;
    justify-content: center;

    padding: 28px 20px;
}

.simple-screen {
    width: 100%;
    max-width: 560px;
}

.simple-screen h2 {
    margin: 0;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(32px, 9vw, 46px);
    font-weight: 500;

    line-height: 1.1;
}

.topic-list {
    display: grid;

    gap: 10px;

    margin-bottom: 26px;
}

.topic-button {
    width: 100%;

    padding: 17px 18px;

    color: var(--text);
    background: rgba(255, 255, 255, 0.5);

    border: 1px solid var(--line);
    border-radius: 17px;

    font-size: 15px;
    font-weight: 600;

    text-align: left;

    cursor: pointer;

    transition:
        background 0.18s ease,
        border 0.18s ease,
        transform 0.18s ease;
}

.topic-button:active {
    transform: scale(0.985);
}

.topic-button.selected {
    color: var(--plum);
    background: rgba(184, 155, 103, 0.14);

    border-color: var(--gold);
}


/* ========================= */
/* АНАЛИЗ */
/* ========================= */

#analysis-screen {
    align-items: center;
    justify-content: center;

    padding: 30px 22px;

    text-align: center;
}

.analysis-layout {
    width: 100%;
    max-width: 500px;
}

.analysis-orbit {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 150px;
    height: 150px;

    margin: 0 auto 32px;

    border:
        1px solid rgba(184, 155, 103, 0.42);

    border-radius: 50%;

    animation: orbitPulse 2.3s ease-in-out infinite;
}

.analysis-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    width: 106px;
    height: 106px;

    color: var(--plum);
    background: var(--soft-white);

    border-radius: 50%;

    box-shadow: var(--shadow);
}

.analysis-center span {
    font-size: 11px;

    letter-spacing: 0.2em;
}

.analysis-center strong {
    margin-top: 2px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
}

@keyframes orbitPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.045);
    }
}

.analysis-layout h2 {
    margin: 0 0 28px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 34px;
    font-weight: 500;
}

.analysis-steps {
    display: grid;

    gap: 9px;

    text-align: left;
}

.analysis-step {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 10px 12px;

    color: rgba(43, 37, 40, 0.38);

    border-radius: 12px;

    font-size: 14px;

    transition:
        color 0.3s ease,
        background 0.3s ease;
}

.analysis-dot {
    flex: 0 0 8px;

    width: 8px;
    height: 8px;

    background: rgba(59, 37, 52, 0.15);

    border-radius: 50%;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.analysis-step.active {
    color: var(--plum);
    background: rgba(184, 155, 103, 0.09);

    font-weight: 600;
}

.analysis-step.active .analysis-dot {
    background: var(--gold);

    transform: scale(1.3);
}

.analysis-step.done {
    color: var(--muted);
}

.analysis-step.done .analysis-dot {
    background: var(--wine);
}


/* ========================= */
/* RESULT */
/* ========================= */

#result-screen {
    justify-content: center;

    padding: 0 18px 50px;
}

.result-page {
    width: 100%;
    max-width: 650px;
}

.result-complete {
    padding: 48px 0 30px;

    text-align: center;
}

.result-check {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin: 0 auto 14px;

    color: var(--plum);
    background: rgba(184, 155, 103, 0.16);

    border-radius: 50%;

    font-size: 22px;
    font-weight: 700;
}

.result-complete p {
    margin: 0 0 6px;

    color: var(--wine);

    font-weight: 700;
}

#result-stats {
    color: var(--muted);

    font-size: 13px;
}

.result-hero-card,
.result-section,
.paywall-box {
    margin-bottom: 16px;
    padding: 24px 20px;

    background:
        rgba(255, 255, 255, 0.55);

    border: 1px solid var(--line);
    border-radius: var(--radius);

    box-shadow:
        0 10px 36px rgba(59, 37, 52, 0.035);
}

.result-hero-card {
    padding: 30px 22px;

    background:
        linear-gradient(145deg,
            rgba(255, 255, 255, 0.72),
            rgba(184, 155, 103, 0.09));
}

.result-hero-card h1 {
    margin: 0 0 20px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(34px, 9vw, 49px);
    font-weight: 500;

    line-height: 1.05;
    letter-spacing: -0.025em;
}

.result-main-text p {
    margin: 0 0 14px;

    font-size: 16px;
    line-height: 1.65;
}

.result-main-text p:last-child {
    margin-bottom: 0;
}

.result-section h2 {
    margin: 0;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;
    font-weight: 500;
}

.section-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;
}

.free-badge {
    padding: 6px 9px;

    color: var(--wine);
    background: rgba(111, 70, 93, 0.08);

    border-radius: 999px;

    font-size: 10px;
    font-weight: 700;

    white-space: nowrap;
}

.why-result {
    display: grid;

    gap: 12px;

    margin-top: 12px;
}

.why-item {
    display: flex;

    gap: 10px;

    font-size: 15px;
    line-height: 1.5;
}

.why-item::before {
    content: "✦";

    flex: 0 0 auto;

    color: var(--gold);
}


/* ========================= */
/* TRAITS */
/* ========================= */

.traits-list {
    display: grid;

    gap: 24px;

    margin-top: 24px;
}

.trait-item {
    display: grid;

    gap: 8px;
}

.trait-header {
    display: flex;
    justify-content: space-between;

    gap: 14px;
}

.trait-name {
    color: var(--text);

    font-size: 14px;
    font-weight: 700;
}

.trait-level {
    color: var(--wine);

    font-size: 12px;
    font-weight: 600;

    text-align: right;
}

.trait-track {
    width: 100%;
    height: 7px;

    overflow: hidden;

    background: rgba(59, 37, 52, 0.09);

    border-radius: 999px;
}

.trait-fill {
    height: 100%;

    background:
        linear-gradient(to right,
            var(--wine),
            var(--gold));

    border-radius: inherit;
}


/* ========================= */
/* PATTERN */
/* ========================= */

.pattern-card {
    padding: 20px;

    background: rgba(184, 155, 103, 0.1);

    border-radius: 17px;
}

.pattern-card h3 {
    margin: 0 0 10px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
    font-weight: 500;
}

.pattern-card p {
    margin: 0;

    font-size: 15px;
    line-height: 1.6;
}


/* ========================= */
/* LOCKED */
/* ========================= */

.locked-list {
    display: grid;

    gap: 9px;

    margin-top: 19px;
}

.locked-card {
    display: grid;
    align-items: center;
    grid-template-columns:
        24px minmax(0, 1fr) 22px;

    gap: 12px;

    padding: 14px;

    background:
        rgba(59, 37, 52, 0.035);

    border-radius: 14px;
}

.locked-card>span:first-child {
    color: var(--gold);
}

.locked-card strong {
    display: block;

    margin-bottom: 3px;

    font-size: 13px;
}

.locked-card p {
    margin: 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.4;
}

.lock {
    color: var(--wine);
}


/* ========================= */
/* PAYWALL */
/* ========================= */

.paywall-box {
    margin-top: 26px;
    padding: 28px 21px;

    color: var(--white);
    background: var(--plum);

    text-align: center;
}

.paywall-small {
    margin: 0 0 8px;

    color: rgba(255, 255, 255, 0.62);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.paywall-box h2 {
    margin: 0 0 10px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 31px;
    font-weight: 500;
}

.paywall-box>p:not(.paywall-small):not(.paywall-note) {
    max-width: 390px;

    margin: 0 auto 22px;

    color: rgba(255, 255, 255, 0.73);

    font-size: 14px;
    line-height: 1.5;
}

.paywall-note {
    margin: 12px 0 0;

    color: rgba(255, 255, 255, 0.48);

    font-size: 10px;
}


/* ========================= */
/* ERROR */
/* ========================= */

.error-message {
    padding: 18px;

    color: #7B3941;
    background: rgba(123, 57, 65, 0.08);

    border-radius: 15px;

    font-size: 14px;
    line-height: 1.55;

    white-space: pre-wrap;
}


/* ========================= */
/* DESKTOP */
/* ========================= */

@media (min-width: 760px) {

    #home-screen {
        padding: 60px 30px;
    }

    .question-layout {
        min-height: 760px;

        padding: 32px;
    }

    #question-screen {
        align-items: center;
    }

    .question-content {
        padding-left: 28px;
        padding-right: 28px;
    }

    #result-screen {
        padding-top: 20px;
    }

    .result-hero-card,
    .result-section,
    .paywall-box {
        padding-left: 30px;
        padding-right: 30px;
    }

}

/* =========================================================
   НОВЫЙ ТИЗЕР ПРОДУКТОВОЙ ЭКОСИСТЕМЫ
   ========================================================= */


/* ========================= */
/* ПРОГНОЗ 3 МЕСЯЦА */
/* ========================= */

.forecast-teaser {
    position: relative;

    overflow: hidden;

    background:
        linear-gradient(145deg,
            rgba(255, 255, 255, 0.78),
            rgba(184, 155, 103, 0.12));
}

.forecast-teaser::after {
    content: "";

    position: absolute;
    top: -70px;
    right: -70px;

    width: 180px;
    height: 180px;

    border:
        1px solid rgba(184, 155, 103, 0.14);

    border-radius: 50%;

    pointer-events: none;
}

.forecast-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 15px;
}

.forecast-head h2 {
    max-width: 420px;
}

.forecast-symbol {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    color: var(--gold);

    border:
        1px solid rgba(184, 155, 103, 0.35);

    border-radius: 50%;

    font-size: 18px;
}

.forecast-intro {
    margin: 12px 0 0;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.5;
}

.forecast-main-name {
    display: grid;

    gap: 7px;

    margin-top: 25px;
    padding: 20px;

    background: var(--plum);

    border-radius: 18px;
}

.forecast-main-name span {
    color:
        rgba(255, 255, 255, 0.55);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.forecast-main-name strong {
    color: var(--white);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;
    font-weight: 500;

    line-height: 1.15;
}

.forecast-spheres {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;

    margin-top: 14px;
}

.forecast-sphere {
    display: grid;

    gap: 6px;

    padding: 14px;

    background:
        rgba(59, 37, 52, 0.045);

    border-radius: 14px;
}

.forecast-sphere span {
    font-size: 12px;
    font-weight: 700;
}

.forecast-sphere strong {
    color: var(--wine);

    font-size: 10px;
    font-weight: 600;

    opacity: 0.65;
}

.forecast-note {
    margin:
        15px 0 0;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.5;
}


/* ========================= */
/* PAYWALL */
/* ========================= */

.main-paywall {
    position: relative;

    overflow: hidden;
}

.main-paywall::after {
    content: "✦";

    position: absolute;
    top: 14px;
    right: 18px;

    color:
        rgba(184, 155, 103, 0.3);

    font-size: 30px;
}

.paywall-features {
    display: grid;

    gap: 9px;

    max-width: 390px;

    margin:
        0 auto 24px;

    text-align: left;
}

.paywall-features span {
    color:
        rgba(255, 255, 255, 0.82);

    font-size: 13px;
}


/* ========================= */
/* БУДУЩИЕ ВОЗМОЖНОСТИ */
/* ========================= */

.future-section {
    padding-top: 29px;
}

.future-description {
    margin:
        12px 0 22px;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.55;
}

.future-grid {
    display: grid;

    gap: 11px;
}

.future-card {
    position: relative;

    padding: 19px;

    overflow: hidden;

    background:
        rgba(59, 37, 52, 0.035);

    border:
        1px solid rgba(59, 37, 52, 0.07);

    border-radius: 17px;
}

.future-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 20px;
}

.future-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 35px;
    height: 35px;

    color: var(--gold);

    background:
        rgba(184, 155, 103, 0.11);

    border-radius: 50%;

    font-size: 17px;
}

.status-pill {
    padding: 6px 9px;

    color: var(--wine);
    background:
        rgba(111, 70, 93, 0.07);

    border-radius: 999px;

    font-size: 9px;
    font-weight: 700;
}

.future-kicker {
    margin:
        0 0 5px;

    color: var(--wine);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.future-card h3 {
    margin:
        0 0 9px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
    font-weight: 500;

    line-height: 1.15;
}

.future-card>p:not(.future-kicker) {
    margin:
        0 0 15px;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.5;
}

.future-locked {
    display: inline-flex;

    padding:
        7px 10px;

    color:
        rgba(43, 37, 40, 0.48);

    background:
        rgba(59, 37, 52, 0.05);

    border-radius: 9px;

    font-size: 10px;
    font-weight: 600;
}


/* ========================= */
/* КАРТЫ */
/* ========================= */

.cards-preview {
    display: flex;

    gap: 7px;

    margin-top: 17px;
}

.mini-card-back {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 1;

    height: 72px;

    color:
        rgba(184, 155, 103, 0.7);

    background:
        linear-gradient(145deg,
            #3B2534,
            #543548);

    border:
        1px solid rgba(184, 155, 103, 0.3);

    border-radius: 10px;

    font-size: 14px;

    box-shadow:
        0 7px 18px rgba(59, 37, 52, 0.12);
}

.mini-card-back:nth-child(2) {
    transform:
        translateY(-3px);
}

.mini-card-back:nth-child(3) {
    transform:
        translateY(2px);
}


/* ========================= */
/* Я + Н. */
/* ========================= */

.compatibility-section {
    background:
        linear-gradient(145deg,
            rgba(111, 70, 93, 0.08),
            rgba(255, 255, 255, 0.7));
}

.compatibility-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 16px;
}

.compatibility-header h2 {
    max-width: 390px;
}

.compat-price {
    flex: 0 0 auto;

    padding:
        8px 10px;

    color: var(--plum);
    background:
        rgba(184, 155, 103, 0.17);

    border-radius: 999px;

    font-size: 12px;
    font-weight: 800;
}

.compatibility-text {
    margin:
        13px 0 23px;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.55;
}

.compat-visual {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    margin:
        10px 0 23px;
}

.person-bubble {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    width: 96px;
    height: 96px;

    color: var(--white);
    background: var(--plum);

    border-radius: 50%;

    box-shadow:
        0 10px 25px rgba(59, 37, 52, 0.14);
}

.person-bubble.second {
    color: var(--plum);
    background:
        rgba(184, 155, 103, 0.2);

    border:
        1px solid rgba(184, 155, 103, 0.3);
}

.person-bubble span {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;
}

.person-bubble small {
    margin-top: 4px;

    font-size: 9px;

    opacity: 0.7;
}

.plus-symbol {
    color: var(--gold);

    font-size: 25px;
    font-weight: 300;
}

.compat-points {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

.compat-points span {
    padding:
        7px 9px;

    color: var(--wine);
    background:
        rgba(111, 70, 93, 0.07);

    border-radius: 999px;

    font-size: 10px;
    font-weight: 600;
}

.available-later {
    margin-top: 19px;
    padding: 12px;

    color: var(--plum);
    background:
        rgba(184, 155, 103, 0.11);

    border-radius: 12px;

    font-size: 11px;
    font-weight: 700;

    text-align: center;
}


/* ========================= */
/* РУЧНЫЕ УСЛУГИ */
/* ========================= */

.manual-grid {
    display: grid;

    gap: 9px;
}

.manual-card {
    display: grid;
    grid-template-columns:
        40px minmax(0, 1fr);

    gap: 13px;

    padding: 15px;

    background:
        rgba(59, 37, 52, 0.035);

    border-radius: 14px;
}

.manual-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    color: var(--gold);

    background:
        rgba(184, 155, 103, 0.1);

    border-radius: 50%;
}

.manual-card h3 {
    margin:
        0 0 5px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;
    font-weight: 500;
}

.manual-card p {
    margin:
        0 0 7px;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.45;
}

.manual-card strong {
    color: var(--wine);

    font-size: 10px;
}

.manual-note {
    margin:
        16px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.5;
}


/* ========================= */
/* DESKTOP */
/* ========================= */

@media (min-width: 620px) {

    .future-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .map-preview-card {
        grid-column:
            1 / -1;
    }

    .forecast-spheres {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}

/* =========================================================
   ТАРИФЫ
   ========================================================= */

.pricing-section {
    width: 100%;

    margin: 26px 0 16px;
    padding: 28px 20px;

    background:
        rgba(255, 255, 255, 0.45);

    border: 1px solid var(--line);
    border-radius: var(--radius);

    box-shadow:
        0 12px 40px rgba(59, 37, 52, 0.04);
}


/* ========================= */
/* ЗАГОЛОВОК */
/* ========================= */

.pricing-header {
    max-width: 500px;

    margin:
        0 auto 26px;

    text-align: center;
}

.pricing-header h2 {
    margin:
        0 0 12px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 31px;
    font-weight: 500;

    line-height: 1.1;
}

.pricing-header>p:last-child {
    margin: 0;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.55;
}


/* ========================= */
/* СЕТКА */
/* ========================= */

.pricing-grid {
    display: grid;

    gap: 14px;
}


/* ========================= */
/* ОБЫЧНАЯ КАРТОЧКА */
/* ========================= */

.pricing-card {
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 23px 18px;

    overflow: hidden;

    background:
        rgba(255, 255, 255, 0.7);

    border:
        1px solid rgba(59, 37, 52, 0.1);

    border-radius: 20px;
}


/* ========================= */
/* ЗАГОЛОВКИ ТАРИФОВ */
/* ========================= */

.pricing-card-header {
    margin-bottom: 20px;
}

.pricing-kicker {
    margin:
        0 0 6px;

    color: var(--wine);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}

.pricing-card h3 {
    margin:
        0 0 9px;

    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;
    font-weight: 500;

    line-height: 1.1;
}

.pricing-description {
    margin: 0;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.5;
}


/* ========================= */
/* ЦЕНА */
/* ========================= */

.pricing-price {
    display: flex;
    align-items: baseline;

    gap: 9px;

    margin-bottom: 20px;
}

.pricing-price strong {
    color: var(--plum);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 39px;
    font-weight: 500;

    line-height: 1;
}

.pricing-price span {
    color: var(--muted);

    font-size: 11px;
}


/* ========================= */
/* СПИСОК */
/* ========================= */

.pricing-features {
    display: grid;

    gap: 11px;

    margin-bottom: 23px;
}

.pricing-features>div {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    color: var(--text);

    font-size: 12px;
    line-height: 1.4;
}

.pricing-features>div>span {
    flex: 0 0 auto;

    color: var(--gold);

    font-weight: 800;
}


/* ========================= */
/* КНОПКА */
/* ========================= */

.pricing-button {
    margin-top: auto;
}

.basic-button {
    color: var(--white);
    background: var(--plum);
}


/* =========================================================
   РАСШИРЕННЫЙ 690
   ========================================================= */

.pricing-card-featured {
    padding-top: 48px;

    background:
        linear-gradient(145deg,
            rgba(255, 255, 255, 0.86),
            rgba(184, 155, 103, 0.14));

    border:
        2px solid rgba(184, 155, 103, 0.75);

    box-shadow:
        0 16px 38px rgba(184, 155, 103, 0.13);
}

.popular-badge {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    padding: 9px;

    color: var(--plum);
    background: var(--gold);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.12em;

    text-align: center;
    text-transform: uppercase;
}

.pricing-includes {
    margin:
        -4px 0 15px;

    color: var(--wine);

    font-size: 10px;
    font-weight: 700;
}

.feature-highlight {
    font-weight: 700;
}


/* =========================================================
   ВСЁ ВКЛЮЧЕНО 2490
   ========================================================= */

.pricing-card-max {
    padding-top: 52px;

    color: var(--white);

    background:
        linear-gradient(150deg,
            #3B2534 0%,
            #4C3041 58%,
            #624054 100%);

    border:
        1px solid rgba(184, 155, 103, 0.48);

    box-shadow:
        0 18px 45px rgba(59, 37, 52, 0.18);
}

.max-badge {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    padding: 10px;

    color: var(--gold);

    background:
        rgba(0, 0, 0, 0.13);

    border-bottom:
        1px solid rgba(184, 155, 103, 0.25);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.12em;

    text-align: center;
    text-transform: uppercase;
}

.pricing-card-max .pricing-kicker {
    color: var(--gold);
}

.pricing-card-max h3 {
    color: var(--white);
}

.pricing-card-max .pricing-description {
    color:
        rgba(255, 255, 255, 0.65);
}

.pricing-price-max strong {
    color: var(--white);
}

.pricing-price-max span {
    color:
        rgba(255, 255, 255, 0.55);
}


/* ========================= */
/* ЭКОНОМИЯ */
/* ========================= */

.saving-badge {
    display: grid;

    gap: 3px;

    margin:
        -4px 0 20px;

    padding: 12px;

    color:
        rgba(255, 255, 255, 0.62);

    background:
        rgba(184, 155, 103, 0.11);

    border:
        1px solid rgba(184, 155, 103, 0.17);

    border-radius: 12px;

    font-size: 10px;
}

.saving-badge strong {
    color: var(--gold);

    font-size: 12px;
}


/* ========================= */
/* СПИСОК MAX */
/* ========================= */

.pricing-card-max .pricing-features>div {
    color:
        rgba(255, 255, 255, 0.88);
}

.pricing-card-max .pricing-features>div>span {
    color: var(--gold);
}


/* ========================= */
/* РУЧНЫЕ ПУНКТЫ */
/* ========================= */

.manual-feature {
    padding-top: 4px;
}

.manual-feature>div {
    display: grid;

    gap: 2px;
}

.manual-feature strong {
    color: var(--white);

    font-size: 12px;
}

.manual-feature small {
    color:
        rgba(255, 255, 255, 0.48);

    font-size: 9px;
    line-height: 1.35;
}


/* ========================= */
/* MAX КНОПКА */
/* ========================= */

.max-button {
    color: var(--plum);
    background: var(--gold);

    box-shadow:
        0 13px 32px rgba(184, 155, 103, 0.22);
}

.max-note {
    margin:
        13px 0 0;

    color:
        rgba(255, 255, 255, 0.45);

    font-size: 9px;
    line-height: 1.45;

    text-align: center;
}


/* ========================= */
/* ПРОТОТИП */
/* ========================= */

.pricing-prototype-note {
    margin:
        16px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.4;

    text-align: center;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 900px) {

    .pricing-section {
        padding:
            34px 26px;
    }

    .pricing-grid {
        align-items: stretch;

        grid-template-columns:
            repeat(3,
                minmax(0, 1fr));
    }

    .pricing-card {
        min-height: 590px;
    }

    .pricing-card-featured {
        transform:
            translateY(-7px);
    }

}

/* =========================================================
   LANDING V2 — ВДОХНОВЛЁН МЕХАНИКОЙ ИНТЕРАКТИВНЫХ ONE-PAGE САЙТОВ
   ========================================================= */

html {
    scroll-behavior: smooth;
}

#home-screen {
    min-height: 100vh;
    padding: 0;
    background:
        radial-gradient(circle at 15% 0%, rgba(184, 155, 103, 0.17), transparent 28%),
        radial-gradient(circle at 95% 18%, rgba(111, 70, 93, 0.13), transparent 32%),
        var(--ivory);
}

#home-screen.active {
    display: block;
}

.landing-shell {
    width: min(100%, 1180px);
    margin: 0 auto;
    overflow: hidden;
}

.landing-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 18px;
    background: rgba(246, 241, 234, 0.84);
    border-bottom: 1px solid rgba(59, 37, 52, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.landing-brand {
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.landing-top-cta {
    padding: 10px 16px;
    color: var(--white);
    background: var(--plum);
    border: 0;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.landing-block {
    position: relative;
    padding: 72px 20px;
}

.landing-kicker {
    margin: 0 0 12px;
    color: var(--wine);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.landing-index {
    margin: 0;
    color: rgba(184, 155, 103, 0.9);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 44px;
    line-height: 1;
}

.landing-section-head {
    display: grid;
    gap: 18px;
    margin-bottom: 34px;
}

.landing-section-head h2,
.landing-couple h2,
.landing-price h2,
.landing-final h2 {
    max-width: 790px;
    margin: 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 8vw, 58px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.035em;
}

/* HERO */
.landing-hero {
    display: grid;
    align-items: center;
    min-height: calc(100vh - 64px);
    padding-top: 48px;
    padding-bottom: 72px;
}

.landing-copy {
    position: relative;
    z-index: 2;
}

.landing-copy h1 {
    max-width: 850px;
    margin: 0 0 22px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 11vw, 82px);
    font-weight: 500;
    line-height: 0.96;
    letter-spacing: -0.05em;
}

.landing-lead {
    max-width: 650px;
    margin: 0 0 24px;
    color: rgba(43, 37, 40, 0.72);
    font-size: clamp(16px, 4.4vw, 20px);
    line-height: 1.58;
}

.landing-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.landing-facts span {
    padding: 8px 12px;
    color: var(--plum);
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(59, 37, 52, 0.08);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
}

.landing-main-cta {
    max-width: 390px;
}

.landing-scroll-link {
    display: inline-block;
    margin-top: 18px;
    color: var(--wine);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.landing-hero-visual {
    position: relative;
    min-height: 330px;
    margin-top: 36px;
}

.visual-orbit {
    position: absolute;
    border: 1px solid rgba(184, 155, 103, 0.35);
    border-radius: 50%;
}

.visual-orbit-one {
    inset: 18px 8% 10px 8%;
    animation: landingSpin 22s linear infinite;
}

.visual-orbit-two {
    inset: 55px 18% 44px 18%;
    border-color: rgba(111, 70, 93, 0.22);
    animation: landingSpinReverse 16s linear infinite;
}

.visual-mirror {
    position: absolute;
    top: 44px;
    left: 50%;
    width: 180px;
    height: 240px;
    transform: translateX(-50%) rotate(-4deg);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(184, 155, 103, 0.17));
    border: 7px solid var(--plum);
    border-radius: 86px 86px 28px 28px;
    box-shadow: 0 28px 60px rgba(59, 37, 52, 0.18);
}

.visual-face {
    position: absolute;
    width: 72px;
    height: 100px;
    border-radius: 48% 48% 42% 42%;
}

.visual-face-back {
    top: 64px;
    left: 32px;
    background: var(--gold);
    transform: rotate(10deg);
    opacity: 0.62;
}

.visual-face-front {
    top: 54px;
    right: 26px;
    background: linear-gradient(145deg, var(--wine), var(--plum));
    transform: rotate(-9deg);
}

.visual-star {
    position: absolute;
    right: 22px;
    bottom: 18px;
    color: var(--gold);
    font-size: 32px;
}

.visual-pill {
    position: absolute;
    padding: 9px 13px;
    color: var(--plum);
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(59, 37, 52, 0.09);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(59, 37, 52, 0.08);
    font-size: 11px;
    font-weight: 800;
}

.visual-pill-left { left: 5%; top: 65%; transform: rotate(-7deg); }
.visual-pill-right { right: 4%; top: 24%; transform: rotate(6deg); }

@keyframes landingSpin { to { transform: rotate(360deg); } }
@keyframes landingSpinReverse { to { transform: rotate(-360deg); } }

/* PROFILE DEMO */
.landing-preview {
    background: rgba(255, 255, 255, 0.28);
    border-top: 1px solid rgba(59, 37, 52, 0.07);
    border-bottom: 1px solid rgba(59, 37, 52, 0.07);
}

.profile-demo-card {
    position: relative;
    max-width: 760px;
    padding: 30px 24px 34px;
    overflow: hidden;
    background: linear-gradient(145deg, #3B2534 0%, #543548 100%);
    border: 1px solid rgba(184, 155, 103, 0.36);
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(59, 37, 52, 0.2);
}

.profile-demo-card::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -58px;
    top: -58px;
    border: 1px solid rgba(184, 155, 103, 0.2);
    border-radius: 50%;
}

.profile-demo-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 20px;
    color: var(--plum);
    background: var(--gold);
    border-radius: 50%;
}

.profile-demo-card > p {
    margin: 0 0 10px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.profile-demo-card h3 {
    max-width: 650px;
    margin: 0;
    color: var(--white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(35px, 9vw, 58px);
    font-weight: 500;
    line-height: 1.02;
}

.profile-demo-line {
    width: 76px;
    height: 2px;
    margin: 24px 0;
    background: var(--gold);
}

.profile-demo-card > span {
    display: block;
    max-width: 620px;
    color: rgba(255, 255, 255, 0.73);
    font-size: 14px;
    line-height: 1.6;
}

/* BOLD RELATIONSHIP CARDS */
.landing-shock {
    background: var(--ivory);
}

.shock-grid {
    display: grid;
    gap: 12px;
}

.shock-card {
    min-height: 230px;
    padding: 22px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(59, 37, 52, 0.06);
}

.shock-card > span {
    display: block;
    margin-bottom: 34px;
    font-size: 11px;
    font-weight: 800;
    opacity: 0.6;
}

.shock-card h3 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(31px, 8vw, 45px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.03em;
}

.shock-card p {
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
    opacity: 0.72;
}

.shock-card-dark { color: var(--white); background: var(--plum); }
.shock-card-gold { color: var(--plum); background: var(--gold); }
.shock-card-wine { color: var(--white); background: var(--wine); }
.shock-card-light { color: var(--plum); background: rgba(255,255,255,0.72); border: 1px solid var(--line); }

.landing-legal-mini {
    max-width: 820px;
    margin: 18px 0 0;
    color: rgba(43, 37, 40, 0.5);
    font-size: 10px;
    line-height: 1.5;
}

/* CAROUSEL */
.landing-carousel-section {
    background: linear-gradient(180deg, rgba(111, 70, 93, 0.04), transparent);
}

.landing-section-head-carousel {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.carousel-buttons {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.carousel-arrow {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--plum);
    background: rgba(255,255,255,0.66);
    border: 1px solid var(--line);
    border-radius: 50%;
    cursor: pointer;
}

.landing-carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(270px, 78vw);
    gap: 12px;
    overflow-x: auto;
    padding: 0 20px 14px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.landing-carousel::-webkit-scrollbar { display: none; }

.insight-slide {
    position: relative;
    min-height: 330px;
    padding: 24px;
    overflow: hidden;
    background: rgba(255,255,255,0.65);
    border: 1px solid var(--line);
    border-radius: 24px;
    scroll-snap-align: start;
}

.insight-slide > span {
    color: var(--wine);
    font-size: 11px;
    font-weight: 800;
}

.insight-slide > p {
    margin: 34px 0 8px;
    color: var(--wine);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.insight-slide h3 {
    max-width: 300px;
    margin: 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.05;
}

.slide-symbol {
    position: absolute;
    right: 18px;
    bottom: 8px;
    color: rgba(184,155,103,0.23);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 108px;
    line-height: 1;
}

/* ANALYSIS */
.landing-analysis {
    background: var(--plum);
}

.landing-analysis .landing-index,
.landing-analysis .landing-kicker { color: var(--gold); }
.landing-analysis .landing-section-head h2 { color: var(--white); }

.landing-analysis-grid {
    display: grid;
    gap: 9px;
}

.landing-analysis-grid article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 3px 12px;
    padding: 17px 16px;
    background: rgba(255,255,255,0.055);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
}

.landing-analysis-grid b {
    grid-row: 1 / span 2;
    color: var(--gold);
    font-size: 13px;
}

.landing-analysis-grid span {
    color: var(--white);
    font-weight: 750;
}

.landing-analysis-grid p {
    margin: 0;
    color: rgba(255,255,255,0.54);
    font-size: 11px;
    line-height: 1.4;
}

/* PERIOD */
.period-track {
    display: grid;
    gap: 8px;
}

.period-point {
    position: relative;
    padding: 20px;
    background: rgba(255,255,255,0.64);
    border: 1px solid var(--line);
    border-radius: 18px;
}

.period-point > span {
    display: block;
    margin-bottom: 7px;
    color: var(--wine);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.period-point strong {
    display: block;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 500;
}

.period-point p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.period-point-open {
    color: white;
    background: var(--wine);
    border-color: transparent;
}
.period-point-open > span { color: rgba(255,255,255,0.62); }
.period-point-open strong { color: white; }
.period-point-open p { color: rgba(255,255,255,0.67); }

.period-point-locked::after {
    content: "закрыто";
    position: absolute;
    top: 17px;
    right: 16px;
    padding: 5px 8px;
    color: var(--wine);
    background: rgba(111,70,93,0.07);
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
}

.period-line {
    width: 2px;
    height: 18px;
    margin-left: 24px;
    background: linear-gradient(var(--gold), rgba(184,155,103,0.18));
}

/* COUPLE */
.landing-couple {
    display: grid;
    gap: 34px;
    color: white;
    background: linear-gradient(150deg, #5c3b4e, #3b2534);
}

.landing-couple .landing-index,
.landing-couple .landing-kicker { color: var(--gold); }
.landing-couple h2 { color: white; }

.landing-couple-copy > p:not(.landing-index):not(.landing-kicker) {
    max-width: 650px;
    color: rgba(255,255,255,0.68);
    font-size: 15px;
    line-height: 1.6;
}

.couple-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.couple-tags span {
    padding: 8px 11px;
    color: rgba(255,255,255,0.82);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
}

.couple-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 270px;
}

.couple-person {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 122px;
    height: 160px;
    border-radius: 62px 62px 42px 42px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    box-shadow: 0 24px 50px rgba(0,0,0,0.18);
}
.couple-person-a { color: var(--plum); background: var(--gold); transform: rotate(-6deg); }
.couple-person-b { color: var(--plum); background: var(--soft-white); transform: rotate(6deg); }
.couple-energy { position: relative; z-index: 3; margin: 0 -4px; color: var(--gold); font-size: 36px; }
.couple-wire {
    position: absolute;
    width: 300px;
    height: 150px;
    border: 1px solid rgba(184,155,103,0.35);
    border-radius: 50%;
    animation: landingSpin 18s linear infinite;
}

/* PRICE + FINAL */
.landing-price {
    background: rgba(255,255,255,0.28);
}

.landing-price-copy > p:not(.landing-index):not(.landing-kicker) {
    max-width: 620px;
    color: var(--muted);
    line-height: 1.6;
}

.landing-price-cards {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.landing-price-cards article {
    position: relative;
    padding: 20px;
    background: rgba(255,255,255,0.7);
    border: 1px solid var(--line);
    border-radius: 18px;
}

.landing-price-cards span,
.landing-price-cards strong {
    display: block;
}

.landing-price-cards span {
    margin-bottom: 6px;
    color: var(--wine);
    font-size: 11px;
    font-weight: 800;
}

.landing-price-cards strong {
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    font-weight: 500;
}

.landing-price-cards p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 11px;
}

.landing-price-featured {
    border: 2px solid rgba(184,155,103,0.72) !important;
    background: linear-gradient(145deg, white, rgba(184,155,103,0.16)) !important;
}

.landing-price-featured em {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 5px 8px;
    color: var(--plum);
    background: var(--gold);
    border-radius: 999px;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.landing-bottom-cta {
    max-width: 430px;
    margin-top: 22px;
}

.landing-final {
    text-align: center;
}

.landing-final-symbol {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 20px;
    color: var(--gold);
    border: 1px solid rgba(184,155,103,0.4);
    border-radius: 50%;
    font-size: 24px;
}

.landing-final h2 {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.landing-final .button {
    max-width: 390px;
    margin-top: 28px;
}

.landing-footer {
    padding: 28px 20px 42px;
    border-top: 1px solid rgba(59,37,52,0.08);
}

.landing-footer > div {
    margin-bottom: 10px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.landing-footer p {
    max-width: 900px;
    margin: 0;
    color: rgba(43,37,40,0.47);
    font-size: 9px;
    line-height: 1.55;
}

/* REVEAL */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* SHARE RESULT */
.result-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 20px;
    padding: 12px 16px;
    color: var(--plum);
    background: rgba(184,155,103,0.14);
    border: 1px solid rgba(184,155,103,0.38);
    border-radius: 14px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.result-share-note {
    min-height: 16px;
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 10px;
}

/* LANDING DESKTOP */
@media (min-width: 760px) {
    .landing-topbar { padding: 16px 30px; }
    .landing-block { padding: 100px 40px; }
    .landing-hero { grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.8fr); gap: 30px; min-height: 760px; }
    .landing-hero-visual { margin-top: 0; min-height: 520px; }
    .visual-mirror { top: 110px; width: 225px; height: 310px; }
    .visual-face { width: 88px; height: 126px; }
    .visual-face-back { top: 80px; left: 38px; }
    .visual-face-front { top: 68px; right: 31px; }
    .landing-section-head { grid-template-columns: 90px minmax(0, 1fr); align-items: start; }
    .shock-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .landing-carousel { grid-auto-columns: minmax(300px, 34%); }
    .landing-analysis-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .period-track { grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr; align-items: center; }
    .period-line { width: 100%; height: 2px; margin: 0; }
    .landing-couple { grid-template-columns: minmax(0,1fr) minmax(320px,0.75fr); align-items: center; }
    .landing-price-cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (min-width: 1040px) {
    .shock-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .shock-card { min-height: 330px; }
    .landing-analysis-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; transition: none; }
    .visual-orbit, .couple-wire { animation: none; }
}


/* =========================================================
   COMMERCIAL UX v1.3 — КОНСТРУКТОР И ЖИВАЯ КОРЗИНА
   ========================================================= */

.pricing-price-bundle .bundle-price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.pricing-price-bundle s {
    color: rgba(43, 37, 40, 0.42);
    font-size: 20px;
    font-weight: 700;
    text-decoration-thickness: 2px;
}

.constructor-entry {
    margin-top: 18px;
}

.constructor-entry-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding: 17px 18px;
    color: var(--plum);
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(111, 70, 93, 0.18);
    border-radius: 16px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.constructor-entry-button span {
    color: var(--wine);
    font-size: 11px;
    font-weight: 700;
    text-align: right;
}

.constructor-section {
    margin-top: 18px;
    padding: 24px 18px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
}

.constructor-section[hidden],
.constructor-live-cart[hidden],
.constructor-client-banner[hidden],
.constructor-bundle-note[hidden],
.subscription-consent[hidden],
#constructor-cart-recurring[hidden] {
    display: none !important;
}

.constructor-head h2 {
    margin: 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 500;
}

.constructor-head > p:last-child {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.constructor-client-banner,
.constructor-bundle-note {
    margin-top: 16px;
    padding: 14px;
    border-radius: 14px;
}

.constructor-client-banner {
    display: grid;
    gap: 4px;
    color: var(--plum);
    background: rgba(184, 155, 103, 0.16);
    border: 1px solid rgba(184, 155, 103, 0.28);
}

.constructor-client-banner strong,
.constructor-bundle-note strong {
    font-size: 13px;
}

.constructor-client-banner span,
.constructor-bundle-note span {
    font-size: 11px;
    line-height: 1.45;
}

.constructor-bundle-note {
    color: var(--plum);
    background: rgba(111, 70, 93, 0.08);
    border: 1px solid rgba(111, 70, 93, 0.14);
}

.constructor-bundle-note s {
    margin-right: 6px;
    color: var(--muted);
}

.constructor-base-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 16px;
    color: var(--white);
    background: var(--plum);
    border-radius: 16px;
}

.constructor-base-row > div:first-child {
    display: grid;
    gap: 3px;
}

.constructor-type {
    color: rgba(255, 255, 255, 0.58);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.constructor-base-row strong {
    font-size: 13px;
}

.constructor-base-row small {
    color: rgba(255, 255, 255, 0.58);
    font-size: 9px;
}

.constructor-base-price {
    flex: 0 0 auto;
    color: var(--gold);
    font-size: 18px;
    font-weight: 800;
}

.constructor-options {
    display: grid;
    gap: 9px;
    margin-top: 14px;
}

.constructor-option {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 14px;
    background: rgba(59, 37, 52, 0.035);
    border: 1px solid rgba(59, 37, 52, 0.07);
    border-radius: 14px;
    cursor: pointer;
}

.constructor-option:hover {
    border-color: rgba(184, 155, 103, 0.36);
}

.constructor-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.constructor-check {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(59, 37, 52, 0.25);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.72);
}

.constructor-option input:checked + .constructor-check {
    color: var(--plum);
    background: var(--gold);
    border-color: var(--gold);
}

.constructor-option input:checked + .constructor-check::after {
    content: "✓";
    font-size: 13px;
    font-weight: 900;
}

.constructor-option input:disabled + .constructor-check {
    opacity: 0.75;
}

.constructor-copy {
    display: grid;
    gap: 3px;
}

.constructor-copy strong {
    color: var(--plum);
    font-size: 13px;
}

.constructor-copy small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.4;
}

.constructor-copy b {
    margin-top: 5px;
    color: var(--wine);
    font-size: 10px;
    line-height: 1.45;
}

.constructor-option-price {
    max-width: 92px;
    color: var(--wine);
    font-size: 11px;
    font-weight: 800;
    text-align: right;
}

.constructor-option-price s {
    display: block;
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
}

.constructor-option-manual::after {
    content: "ручная работа";
    grid-column: 2 / -1;
    color: rgba(43, 37, 40, 0.45);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.constructor-option-subscription {
    background: linear-gradient(145deg, rgba(184, 155, 103, 0.13), rgba(255, 255, 255, 0.62));
    border-color: rgba(184, 155, 103, 0.25);
}

.constructor-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 2px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.constructor-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--line);
}

.subscription-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 12px 14px;
    color: var(--text);
    background: rgba(184, 155, 103, 0.1);
    border-radius: 12px;
    font-size: 10px;
    line-height: 1.45;
    cursor: pointer;
}

.subscription-consent input {
    flex: 0 0 auto;
    margin-top: 2px;
}

.constructor-note {
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.5;
}

.constructor-live-cart {
    position: fixed;
    z-index: 120;
    left: 50%;
    bottom: max(12px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.75fr);
    align-items: center;
    gap: 12px;
    width: min(calc(100% - 24px), 620px);
    padding: 11px;
    background: rgba(59, 37, 52, 0.97);
    border: 1px solid rgba(184, 155, 103, 0.34);
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(59, 37, 52, 0.32);
    backdrop-filter: blur(12px);
}

.live-cart-copy {
    display: grid;
    gap: 2px;
    padding-left: 5px;
}

.live-cart-copy span {
    color: rgba(255, 255, 255, 0.56);
    font-size: 9px;
    font-weight: 700;
}

.live-cart-copy strong {
    color: var(--white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 500;
}

.live-cart-copy small {
    color: var(--gold);
    font-size: 9px;
    font-weight: 700;
}

.constructor-live-cart .button {
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 13px;
    font-size: 12px;
}

#result-screen.constructor-open .result-page {
    padding-bottom: 115px;
}

@media (max-width: 430px) {
    .constructor-option {
        grid-template-columns: 24px minmax(0, 1fr);
    }

    .constructor-option-price {
        grid-column: 2;
        max-width: none;
        text-align: left;
    }

    .constructor-option-manual::after {
        grid-column: 2;
    }

    .constructor-live-cart {
        grid-template-columns: minmax(0, 1fr) 142px;
    }

    .live-cart-copy strong {
        font-size: 21px;
    }
}


/* v1.3 — честная цена на Landing и карточка подписки */
.landing-bundle-price {
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.landing-bundle-price s {
    color: rgba(43,37,40,0.42);
    font-size: 18px;
    font-weight: 700;
}

.landing-bundle-price strong {
    display: block;
}

.landing-subscription {
    background: linear-gradient(145deg, rgba(59,37,52,0.96), rgba(85,52,70,0.96));
}

.landing-subscription .landing-index,
.landing-subscription .landing-kicker {
    color: var(--gold);
}

.landing-subscription h2 {
    color: var(--white);
}

.landing-subscription-card {
    display: grid;
    gap: 16px;
    margin-top: 28px;
    padding: 22px;
    color: var(--white);
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(184,155,103,0.28);
    border-radius: 20px;
}

.landing-subscription-card span {
    display: block;
    margin-bottom: 6px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.landing-subscription-card strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 500;
}

.landing-subscription-card p,
.landing-subscription-terms {
    color: rgba(255,255,255,.7);
    font-size: 12px;
    line-height: 1.55;
}

.landing-subscription-card p {
    margin: 8px 0 0;
}

.landing-subscription-terms {
    padding: 14px;
    background: rgba(184,155,103,.1);
    border-radius: 13px;
}

.compat-price-v13 {
    display: grid;
    gap: 2px;
    text-align: right;
}

.compat-price-v13 s {
    color: var(--muted);
    font-size: 9px;
}

.compat-price-v13 b {
    color: var(--plum);
    font-size: 11px;
}

@media (min-width:760px) {
    .landing-subscription-card {
        grid-template-columns: minmax(0,1fr) minmax(260px,.75fr);
        align-items: center;
    }
}

/* =========================================================
   v1.4 DRAFT — POST-PAYMENT / MANUAL ORDERS PROTOTYPE
   ========================================================= */

.post-purchase-section {
    margin: 26px 0 18px;
    padding: 22px;
    background: linear-gradient(145deg, rgba(59, 37, 52, 0.98), rgba(86, 53, 73, 0.98));
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(59, 37, 52, 0.18);
}

.post-purchase-section[hidden],
.prototype-modal[hidden],
#compatibility-workspace[hidden],
#manual-orders-workspace[hidden] {
    display: none !important;
}

.post-purchase-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 2px 20px;
}

.post-purchase-hero .result-label { color: rgba(255,255,255,.58); }

.post-purchase-hero h2 {
    margin: 0 0 8px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 8vw, 42px);
    font-weight: 500;
    line-height: 1.08;
}

.post-purchase-hero p:not(.result-label) {
    max-width: 470px;
    margin: 0;
    color: rgba(255,255,255,.72);
    line-height: 1.55;
}

.post-purchase-status {
    flex: 0 0 auto;
    padding: 8px 11px;
    color: var(--plum);
    background: var(--gold);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.prototype-warning {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding: 14px 16px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 16px;
    font-size: 12px;
    line-height: 1.5;
}

.prototype-warning strong { color: #fff; }

.post-purchase-card {
    margin-top: 12px;
    padding: 20px;
    color: var(--text);
    background: var(--soft-white);
    border-radius: 20px;
}

.post-purchase-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.post-purchase-card-head h3 {
    margin: 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 500;
}

.access-badge,
.manual-workflow-badge,
.delivery-icon {
    flex: 0 0 auto;
    padding: 7px 10px;
    color: var(--wine);
    background: rgba(111,70,93,.08);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.delivery-icon {
    color: var(--plum);
    background: rgba(184,155,103,.18);
}

.post-purchase-muted {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.paid-result-content { display: grid; gap: 14px; }

.paid-result-block {
    padding: 16px;
    background: rgba(59,37,52,.035);
    border: 1px solid rgba(59,37,52,.06);
    border-radius: 15px;
}

.paid-result-block h4 {
    margin: 0 0 8px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 500;
}

.paid-result-block p {
    margin: 0 0 9px;
    font-size: 13px;
    line-height: 1.6;
}

.paid-result-block p:last-child { margin-bottom: 0; }

.paid-traits-grid { display: grid; gap: 8px; }

.paid-trait-row {
    display: grid;
    gap: 6px;
    padding: 12px;
    background: rgba(255,255,255,.72);
    border-radius: 12px;
}

.paid-trait-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.paid-trait-top strong { font-size: 12px; }
.paid-trait-top span {
    color: var(--wine);
    font-size: 11px;
    font-weight: 700;
    text-align: right;
}

.paid-trait-row p {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

.paid-pattern-list { display: grid; gap: 8px; }

.paid-pattern-item {
    padding: 11px 12px;
    background: rgba(184,155,103,.1);
    border-radius: 11px;
}

.paid-pattern-item strong {
    display: block;
    margin-bottom: 4px;
    color: var(--plum);
    font-size: 12px;
}

.paid-pattern-item p {
    color: var(--muted);
    font-size: 11px;
}

.paid-forecast-spheres { display: grid; gap: 8px; }

.paid-forecast-sphere {
    padding: 12px;
    background: rgba(111,70,93,.06);
    border-radius: 12px;
}

.paid-forecast-sphere strong {
    display: block;
    margin-bottom: 5px;
    color: var(--wine);
    font-size: 11px;
}

.paid-forecast-sphere p {
    color: var(--text);
    font-size: 11px;
}

.delivery-actions { display: grid; gap: 12px; }

.delivery-email-box {
    display: grid;
    gap: 8px;
    padding: 15px;
    background: rgba(59,37,52,.04);
    border-radius: 15px;
}

.delivery-email-box label {
    color: var(--plum);
    font-size: 12px;
    font-weight: 800;
}

.delivery-email-box small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}

.delivery-email-row { display: grid; gap: 8px; }

.delivery-email-row input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: var(--text);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 13px;
    outline: none;
}

.delivery-email-row input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(184,155,103,.12);
}

.delivery-email-row .button { min-height: 50px; }

.delivery-note {
    min-height: 18px;
    margin: 0;
    color: var(--wine);
    font-size: 11px;
    line-height: 1.45;
}

.secondary-action {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    color: var(--plum);
    background: rgba(184,155,103,.16);
    border: 1px solid rgba(184,155,103,.25);
    border-radius: 13px;
    font-weight: 800;
    cursor: pointer;
}

.manual-orders-list { display: grid; gap: 10px; }

.manual-order-card {
    padding: 15px;
    background: rgba(59,37,52,.035);
    border: 1px solid rgba(59,37,52,.07);
    border-radius: 15px;
}

.manual-order-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.manual-order-head h4 {
    margin: 0 0 4px;
    color: var(--plum);
    font-size: 15px;
}

.manual-order-head small {
    color: var(--muted);
    font-size: 10px;
}

.order-status {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.order-status-waiting {
    color: #805D1D;
    background: rgba(184,155,103,.18);
}
.order-status-processing {
    color: #4A5873;
    background: rgba(74,88,115,.11);
}
.order-status-needs {
    color: #87434A;
    background: rgba(135,67,74,.11);
}
.order-status-ready,
.order-status-delivered {
    color: #35634E;
    background: rgba(53,99,78,.11);
}

.manual-upload-box { display: grid; gap: 8px; }

.manual-upload-box input[type="file"],
.manual-upload-box textarea {
    width: 100%;
    padding: 11px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 11px;
}

.manual-upload-box textarea {
    min-height: 82px;
    resize: vertical;
}

.manual-upload-box small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}

.manual-files-preview {
    display: grid;
    gap: 4px;
    margin-top: 6px;
}

.manual-file-chip {
    padding: 7px 9px;
    color: var(--wine);
    background: rgba(111,70,93,.06);
    border-radius: 9px;
    font-size: 10px;
}

.manual-order-message {
    margin-top: 10px;
    padding: 10px 11px;
    color: var(--wine);
    background: rgba(184,155,103,.11);
    border-radius: 10px;
    font-size: 11px;
    line-height: 1.45;
}

.manual-ready-result {
    margin-top: 10px;
    padding: 12px;
    color: var(--text);
    background: rgba(53,99,78,.08);
    border-radius: 11px;
    font-size: 12px;
    line-height: 1.55;
}

.admin-prototype-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 15px;
    padding: 13px;
    background: rgba(59,37,52,.045);
    border-radius: 13px;
}

.admin-prototype-link div { display: grid; gap: 3px; }
.admin-prototype-link strong { font-size: 11px; }
.admin-prototype-link span {
    color: var(--muted);
    font-size: 10px;
}
.admin-prototype-link a {
    flex: 0 0 auto;
    color: var(--wine);
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.prototype-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.prototype-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(29,20,26,.68);
    backdrop-filter: blur(6px);
}

.prototype-modal-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 500px;
    padding: 24px;
    background: var(--soft-white);
    border-radius: 24px;
    box-shadow: 0 24px 90px rgba(0,0,0,.28);
}

.prototype-modal-card h2 {
    margin: 0 0 12px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 500;
}

.prototype-modal-copy {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.prototype-payment-summary {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
    padding: 14px;
    color: var(--text);
    background: rgba(59,37,52,.04);
    border-radius: 14px;
    font-size: 12px;
}

.prototype-payment-summary strong {
    color: var(--plum);
    font-size: 19px;
}

.prototype-modal-card > small {
    display: block;
    margin-top: 10px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.4;
}

.prototype-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    padding: 0;
    color: var(--plum);
    background: rgba(59,37,52,.06);
    border: 0;
    border-radius: 50%;
    font-size: 22px;
    cursor: pointer;
}

.admin-page {
    max-width: 1050px;
    margin: 0 auto;
    padding: 28px 18px 70px;
}

.admin-page h1 {
    margin: 0 0 8px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 7vw, 54px);
    font-weight: 500;
}

.admin-intro {
    max-width: 720px;
    margin: 0 0 24px;
    color: var(--muted);
    line-height: 1.55;
}

.admin-order-list { display: grid; gap: 14px; }

.admin-order-card {
    padding: 18px;
    background: rgba(255,255,255,.62);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 10px 34px rgba(59,37,52,.04);
}

.admin-order-grid { display: grid; gap: 12px; }
.admin-field { display: grid; gap: 5px; }

.admin-field label {
    color: var(--wine);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.admin-field textarea,
.admin-field input,
.admin-field select {
    width: 100%;
    padding: 10px 11px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.admin-field textarea {
    min-height: 90px;
    resize: vertical;
}

.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.admin-actions button {
    padding: 9px 11px;
    color: var(--plum);
    background: rgba(184,155,103,.15);
    border: 0;
    border-radius: 10px;
    font-weight: 800;
    cursor: pointer;
}

.admin-empty {
    padding: 30px;
    color: var(--muted);
    background: rgba(255,255,255,.55);
    border: 1px solid var(--line);
    border-radius: 18px;
    text-align: center;
}

@media (min-width: 620px) {
    .delivery-email-row {
        grid-template-columns: minmax(0, 1fr) 150px;
    }
    .paid-traits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .paid-forecast-spheres {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-order-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .post-purchase-hero,
    .post-purchase-card-head,
    .manual-order-head,
    .admin-prototype-link {
        flex-direction: column;
    }
    .post-purchase-status,
    .access-badge,
    .manual-workflow-badge {
        align-self: flex-start;
    }
}


/* =========================================================
   v1.4.1 — ACCESSIBILITY / PERSONALIZED UPSELL / REAL FILE QA
   ========================================================= */

.post-purchase-section {
    font-size: 16px;
}

.post-purchase-hero p:not(.result-label) {
    font-size: 16px;
    line-height: 1.65;
}

.post-purchase-hero h2 {
    font-size: clamp(34px, 8vw, 46px);
}

.post-purchase-includes {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.post-purchase-includes span {
    padding: 7px 10px;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.post-purchase-card {
    padding: 24px;
}

.post-purchase-card-head h3 {
    font-size: 28px;
    line-height: 1.14;
}

.post-purchase-muted {
    font-size: 15px;
    line-height: 1.65;
}

.paid-result-block {
    padding: 20px;
}

.paid-result-block h4 {
    font-size: 25px;
    line-height: 1.2;
}

.paid-result-block p {
    font-size: 16px;
    line-height: 1.7;
}

.paid-trait-row {
    padding: 16px;
}

.paid-trait-top strong {
    font-size: 15px;
}

.paid-trait-top span {
    font-size: 14px;
}

.paid-trait-row p,
.paid-pattern-item p,
.paid-forecast-sphere p {
    font-size: 14px;
    line-height: 1.65;
}

.paid-pattern-item strong,
.paid-forecast-sphere strong {
    font-size: 14px;
}

.delivery-email-box label {
    font-size: 15px;
}

.delivery-email-box small,
.manual-upload-box small,
.admin-prototype-link span {
    font-size: 12px;
    line-height: 1.55;
}

.delivery-note {
    font-size: 13px;
}

.client-price-badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    color: var(--plum);
    background: rgba(184,155,103,.2);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.post-purchase-upsell-list {
    display: grid;
    gap: 10px;
}

.post-upsell-card {
    display: grid;
    gap: 12px;
    padding: 17px;
    background: rgba(59,37,52,.035);
    border: 1px solid rgba(59,37,52,.07);
    border-radius: 15px;
}

.post-upsell-card.featured {
    background: rgba(184,155,103,.12);
    border-color: rgba(184,155,103,.28);
}

.post-upsell-copy strong {
    display: block;
    margin-bottom: 5px;
    color: var(--plum);
    font-size: 17px;
}

.post-upsell-copy p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
}

.post-upsell-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.post-upsell-price s {
    color: var(--muted);
    font-size: 13px;
}

.post-upsell-price strong {
    color: var(--wine);
    font-size: 21px;
}

.post-upsell-card button {
    min-height: 47px;
    padding: 12px 14px;
    color: #fff;
    background: var(--plum);
    border: 0;
    border-radius: 12px;
    font-weight: 800;
    cursor: pointer;
}

.manual-files-preview a,
.manual-ready-result a {
    color: var(--wine);
    font-weight: 800;
    text-decoration: none;
}

.manual-server-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    background: rgba(111,70,93,.06);
    border-radius: 10px;
    font-size: 12px;
}

.manual-email-sent {
    margin-top: 10px;
    padding: 11px 12px;
    color: #35634E;
    background: rgba(53,99,78,.1);
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.5;
}

.admin-material-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: rgba(59,37,52,.04);
    border-radius: 10px;
}

.admin-material-actions {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.admin-material-actions a {
    padding: 7px 9px;
    color: var(--wine);
    background: rgba(111,70,93,.08);
    border-radius: 8px;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.admin-result-upload {
    padding: 13px;
    background: rgba(184,155,103,.1);
    border-radius: 12px;
}

@media (min-width: 700px) {
    .post-upsell-card {
        grid-template-columns: minmax(0,1fr) auto 180px;
        align-items: center;
    }
}


/* =========================================================
   v1.5 — IDENTITY + SUBSCRIPTION DELIVERY
   ========================================================= */

.landing-top-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.landing-account-button {
    min-height: 42px;
    padding: 9px 13px;
    color: var(--plum);
    background: rgba(255,255,255,.58);
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.identity-buttons {
    display: grid;
    gap: 9px;
    margin: 18px 0 12px;
}

.identity-button {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    padding: 10px 13px;
    border: 0;
    border-radius: 15px;
    text-align: left;
    cursor: pointer;
}

.identity-button span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 900;
}

.identity-button strong { font-size: 14px; }
.identity-vk { color: #fff; background: #447BBA; }
.identity-vk span { background: rgba(255,255,255,.16); }
.identity-ok { color: #fff; background: #EE8208; }
.identity-ok span { background: rgba(255,255,255,.18); }

.qa-auth-box {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 13px;
    background: rgba(184,155,103,.11);
    border-radius: 13px;
}

.qa-auth-box strong { color: var(--plum); font-size: 11px; }
.qa-auth-box span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.qa-auth-box button {
    justify-self: start;
    padding: 8px 10px;
    color: var(--wine);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;
    font-weight: 800;
    cursor: pointer;
}

.account-profile-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
}

.account-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    overflow: hidden;
    color: #fff;
    background: var(--plum);
    border-radius: 50%;
    font-weight: 900;
}
.account-avatar img { width:100%; height:100%; object-fit:cover; }
.account-profile-row strong { display:block; color:var(--plum); font-size:16px; }
.account-profile-row span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }

.account-summary-card {
    margin-top: 10px;
    padding: 13px;
    background: rgba(59,37,52,.04);
    border-radius: 13px;
    font-size: 11px;
    line-height: 1.55;
}
.account-summary-card strong { display:block; margin-bottom:4px; color:var(--plum); }
.account-actions { margin-top: 13px; }

/* =========================================================
   v1.6.21 — КЛИЕНТСКИЙ КАБИНЕТ
   Один информационный центр: результат → доступ → история → покупки → персонализация.
   ========================================================= */
.account-modal-card{width:min(100%,760px)}
.account-profile-row{margin:14px 0 18px;padding:4px 2px}
.account-profile-copy{min-width:0}.account-profile-row strong{font-size:20px;line-height:1.2}.account-profile-row span{margin-top:4px;font-size:14px;line-height:1.35}.account-profile-row small{display:block;margin-top:7px;color:#52705b;font-size:14px;font-weight:750;line-height:1.35}
.account-avatar{flex-basis:62px;width:62px;height:62px;font-size:19px}
.account-kicker{margin:0 0 7px;color:var(--wine);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.account-feature-card,.account-section-card,.account-modern-summary,.account-personalization{margin-top:14px;border:1px solid rgba(59,37,52,.09);border-radius:20px;background:rgba(255,255,255,.66);box-shadow:0 8px 28px rgba(59,37,52,.045)}
.account-feature-card{padding:22px 20px;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(184,155,103,.12))}
.account-feature-card h3,.account-section-card h3{margin:0;color:var(--plum);font:500 28px/1.12 Georgia,"Times New Roman",serif}.account-feature-card>p:not(.account-kicker){margin:13px 0 0;color:var(--text);font-size:17px;line-height:1.55}.account-result-meta{margin-top:8px;color:var(--muted);font-size:15px;font-weight:650;line-height:1.4}
.account-result-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:18px}.account-result-actions button{min-height:52px;padding:12px 16px;border-radius:14px;font-size:16px;font-weight:850;cursor:pointer}.account-primary-button{border:0;background:var(--plum);color:#fff}.account-secondary-button{border:1px solid rgba(59,37,52,.16);background:#fff;color:var(--plum)}.account-quiet-button{grid-column:1/-1;border:0;background:transparent;color:var(--wine);text-align:left;padding-left:2px!important;min-height:40px!important}.account-pdf-note{display:block;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.45}
.account-section-card{padding:19px 18px}.account-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-section-card h3{font-size:23px}.account-link-button{min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--wine);font-size:14px;font-weight:800;cursor:pointer}
.account-access-list{display:grid;gap:8px;margin-top:15px}.account-access-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-top:1px solid var(--line)}.account-access-row:first-child{border-top:0}.account-access-row>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:15px;font-weight:900}.account-access-row.is-open>span{color:#315d3c;background:rgba(77,126,87,.12)}.account-access-row.is-locked>span{color:var(--muted);background:rgba(59,37,52,.06)}.account-access-row strong{display:block;color:var(--plum);font-size:16px;line-height:1.3}.account-access-row small{display:block;margin-top:3px;color:var(--muted);font-size:14px;line-height:1.4}
.account-results-history{display:grid;margin-top:10px}.account-history-row{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;gap:10px;align-items:center;width:100%;padding:13px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.account-history-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(184,155,103,.13);color:var(--wine);font-size:13px;font-weight:850}.account-history-row strong{display:block;color:var(--plum);font-size:16px;line-height:1.3}.account-history-row small{display:block;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.35}.account-history-row>b{color:var(--gold);font-size:25px;font-weight:400}.account-empty-copy{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.5}
.account-modern-summary{padding:17px 18px;font-size:15px;line-height:1.5}.account-modern-summary[hidden]{display:none!important}.account-modern-summary>p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.48}.account-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.account-summary-head small{display:block;color:var(--wine);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.account-summary-head strong{display:block!important;margin:4px 0 0!important;color:var(--plum)!important;font-size:18px!important;line-height:1.3}.account-summary-head>b{color:var(--plum);font-size:18px;white-space:nowrap}.account-inline-action{margin-top:13px;min-height:46px;padding:10px 14px;border:1px solid rgba(59,37,52,.14);border-radius:12px;background:#fff;color:var(--plum);font-size:15px;font-weight:850;cursor:pointer}.account-inline-action:active{transform:translateY(1px)}
.account-order-list{display:grid;margin-top:10px}.account-order-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.account-order-row strong{font-size:16px!important}.account-order-row small{display:block;margin-top:3px;color:var(--muted);font-size:14px}.account-order-row a{align-self:center;color:var(--wine);font-size:14px;font-weight:800}
.account-personalization{overflow:hidden}.account-personalization>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px;cursor:pointer;list-style:none}.account-personalization>summary::-webkit-details-marker{display:none}.account-personalization>summary span{display:grid;gap:4px}.account-personalization>summary small{color:var(--wine);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.account-personalization>summary strong{color:var(--plum);font-size:17px;line-height:1.35}.account-personalization>summary>b{padding:8px 10px;border-radius:10px;background:rgba(59,37,52,.07);color:var(--wine);font-size:13px}.account-personalization[open]>summary>b{font-size:0}.account-personalization[open]>summary>b::after{content:"Свернуть";font-size:13px}.account-personalization-details{display:grid;gap:10px;padding:0 14px 14px}.account-personalization-details .account-summary-card{margin-top:0}
.account-card-history-slot .account-summary-card{margin-top:14px}.account-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:20px 0 6px;color:var(--muted);font-size:14px}.account-legal-links a{color:var(--wine);font-weight:700}.account-footer-actions{display:grid;gap:6px}.account-footer-actions .text-button{margin-top:4px;font-size:16px}
@media(max-width:560px){.account-modal-card{padding-left:16px;padding-right:16px}.account-profile-row strong{font-size:19px}.account-profile-row span,.account-profile-row small{font-size:15px}.account-feature-card{padding:20px 17px}.account-feature-card h3{font-size:29px}.account-result-actions{grid-template-columns:1fr}.account-result-actions button{font-size:17px;min-height:54px}.account-quiet-button{grid-column:auto}.account-section-card{padding:17px 15px}.account-section-heading{align-items:center}.account-link-button{font-size:15px}.account-access-row strong,.account-history-row strong{font-size:17px}.account-access-row small,.account-history-row small,.account-modern-summary>p{font-size:15px}.account-modern-summary{font-size:16px}.account-personalization>summary{padding:17px 15px}.account-personalization>summary strong{font-size:17px}}


.subscription-channel-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin: 16px 0;
}
.subscription-channel-card {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 12px 7px;
    background: rgba(59,37,52,.035);
    border: 1px solid var(--line);
    border-radius: 14px;
    text-align: center;
    cursor: pointer;
}
.subscription-channel-card input { position:absolute; opacity:0; pointer-events:none; }
.subscription-channel-card:has(input:checked) {
    background: rgba(184,155,103,.15);
    border-color: var(--gold);
    box-shadow: 0 0 0 2px rgba(184,155,103,.08);
}
.channel-mark {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    color:#fff;
    background:var(--plum);
    border-radius:13px;
    font-size:10px;
    font-weight:900;
}
.subscription-channel-card:nth-child(2) .channel-mark { background:#EE8208; }
.subscription-channel-card:nth-child(3) .channel-mark { background:#447BBA; }
.subscription-channel-card strong { color:var(--plum); font-size:11px; }
.subscription-channel-card small { color:var(--muted); font-size:8px; line-height:1.35; }

.subscription-time-grid {
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:8px;
    margin-bottom:12px;
}
.subscription-time-grid label { display:grid; gap:5px; }
.subscription-time-grid span { color:var(--wine); font-size:10px; font-weight:800; }
.subscription-time-grid input,
.subscription-time-grid select {
    width:100%; min-height:44px; padding:9px 10px; color:var(--text); background:#fff;
    border:1px solid var(--line); border-radius:11px;
}

.subscription-explicit-consent {
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:12px 0;
    padding:12px;
    background:rgba(111,70,93,.06);
    border-radius:12px;
    font-size:10px;
    line-height:1.45;
}
.subscription-explicit-consent input { margin-top:2px; }
.subscription-connected-view {
    display:grid;
    gap:8px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--line);
}
.subscription-connected-view h3 { margin:0; color:var(--plum); font-size:14px; }
.subscription-connected-view p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.subscription-connect-link { display:flex; align-items:center; justify-content:center; text-decoration:none; }

.account-bot-log {
    display:grid;
    gap:7px;
    margin-top:10px;
}
.bot-log-item {
    padding:10px;
    background:rgba(184,155,103,.09);
    border-radius:10px;
}
.bot-log-item strong { font-size:10px; color:var(--wine); }
.bot-log-item p { margin:4px 0 0; font-size:10px; line-height:1.45; }

/* subscription admin */
.subscription-admin-grid { display:grid; gap:14px; }
.subscription-admin-card {
    padding:16px;
    background:rgba(255,255,255,.62);
    border:1px solid var(--line);
    border-radius:17px;
}
.subscription-admin-card h3 { margin:0 0 7px; color:var(--plum); }
.subscription-admin-meta { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.subscription-admin-meta span { padding:5px 7px; background:rgba(111,70,93,.06); border-radius:999px; font-size:9px; }

@media (max-width:520px){
    .subscription-channel-grid { grid-template-columns:1fr; }
    .subscription-channel-card { grid-template-columns:45px minmax(0,1fr); justify-items:start; text-align:left; }
    .subscription-channel-card small { grid-column:2; }
    .subscription-time-grid { grid-template-columns:1fr; }
    .landing-top-actions { gap:5px; }
    .landing-account-button { padding:8px 10px; }
}

/* =========================================================
   v1.6 — INTEGRATION SETUP PAGE
   ========================================================= */

.integration-setup-page {
    width: min(1080px, calc(100% - 28px));
    margin: 0 auto;
    padding: 42px 0 80px;
}

.integration-setup-page > h1 {
    margin: 0 0 12px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 7vw, 62px);
    font-weight: 500;
    line-height: 1;
}

.integration-lead {
    max-width: 760px;
    margin: 0 0 24px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.65;
}

.integration-global-note {
    margin-bottom: 16px;
    padding: 16px 18px;
    color: var(--plum);
    background: rgba(184, 155, 103, 0.14);
    border: 1px solid rgba(184, 155, 103, 0.26);
    border-radius: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.integration-card,
.integration-next-card {
    margin-top: 14px;
    padding: 22px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 12px 38px rgba(59, 37, 52, 0.04);
}

.integration-card-accent {
    background:
        linear-gradient(145deg,
            rgba(255,255,255,.82),
            rgba(184,155,103,.11));
}

.integration-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.integration-card-head h2,
.integration-next-card h2 {
    margin: 3px 0 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 5vw, 32px);
    font-weight: 500;
}

.integration-number {
    color: var(--wine);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.integration-status {
    flex: 0 0 auto;
    padding: 7px 10px;
    color: var(--muted);
    background: rgba(59,37,52,.06);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
}

.integration-status.is-ready {
    color: #35634E;
    background: rgba(53,99,78,.12);
}

.integration-status.is-missing {
    color: #87434A;
    background: rgba(135,67,74,.10);
}

.integration-data-grid {
    display: grid;
    gap: 10px;
}

.integration-data-grid > div,
.provider-readiness-grid article {
    display: grid;
    gap: 6px;
    padding: 14px;
    background: rgba(59,37,52,.035);
    border-radius: 13px;
}

.integration-data-grid small,
.provider-readiness-grid small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.4;
}

.integration-data-grid strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--plum);
    font-size: 12px;
    line-height: 1.45;
}

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

.integration-actions {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.integration-result {
    max-height: 280px;
    margin: 12px 0 0;
    padding: 14px;
    overflow: auto;
    color: #f7f0e8;
    background: var(--plum);
    border-radius: 13px;
    font: 12px/1.5 Consolas, "Courier New", monospace;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.provider-readiness-grid {
    display: grid;
    gap: 10px;
}

.provider-readiness-grid article span {
    color: var(--wine);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.provider-readiness-grid article strong {
    color: var(--plum);
    font-size: 15px;
}

.provider-readiness-grid article strong.is-ready {
    color: #35634E;
}

.provider-readiness-grid article strong.is-missing {
    color: #87434A;
}

.integration-next-card {
    color: #fff;
    background: var(--plum);
}

.integration-next-card h2 {
    color: #fff;
}

.integration-next-card p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.74);
    line-height: 1.65;
}

.integration-next-card code {
    color: #fff;
}

@media (min-width: 680px) {
    .integration-data-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .integration-wide {
        grid-column: 1 / -1;
    }

    .provider-readiness-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .integration-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* =========================================================
   v1.6.2 — LANDING POLISH + RESPONSIVE UPSELL + «Я + Н.»
   ========================================================= */

/* Relationship cards: long Russian words must stay inside the card. */
.shock-card {
    min-width: 0;
    overflow: hidden;
}

.shock-card h3 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: manual;
}

@media (min-width: 1040px) {
    .shock-card h3 {
        font-size: clamp(31px, 3vw, 38px);
        line-height: 1.02;
        letter-spacing: -0.035em;
    }
}

/* Post-purchase offers: never let a long crossed-out price crush the copy. */
.post-upsell-copy {
    min-width: 0;
}

.post-upsell-price {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 5px;
    min-width: 0;
}

.post-upsell-price s {
    display: block;
    max-width: 100%;
    font-size: 11px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.post-upsell-price strong {
    display: block;
    font-size: 20px;
    line-height: 1.12;
}

.post-upsell-card button {
    width: 100%;
    min-width: 0;
    line-height: 1.25;
}

@media (min-width: 700px) {
    .post-upsell-card {
        grid-template-columns: minmax(190px, 1fr) minmax(118px, 135px) 170px;
        gap: 12px;
        align-items: center;
    }
}

@media (max-width: 699px) {
    .post-upsell-price {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: baseline;
        column-gap: 8px;
    }

    .post-upsell-price s,
    .post-upsell-price strong {
        max-width: none;
    }
}

/* «Я + Н.» — real local deterministic module. */
.compatibility-app {
    display: grid;
    gap: 14px;
}

.compatibility-start-card,
.compatibility-question-card,
.compatibility-result-hero,
.compatibility-profile-note {
    padding: 18px;
    background: rgba(111, 70, 93, 0.055);
    border: 1px solid rgba(59, 37, 52, 0.08);
    border-radius: 16px;
}

.compatibility-start-card {
    display: grid;
    gap: 15px;
}

.compatibility-mini-label {
    margin: 0 0 6px;
    color: var(--wine);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.compatibility-start-card h4,
.compatibility-question-card h4,
.compatibility-result-hero h4 {
    margin: 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 6vw, 34px);
    font-weight: 500;
    line-height: 1.12;
}

.compatibility-start-card p:not(.compatibility-mini-label),
.compatibility-result-hero > p:not(.compatibility-mini-label),
.compatibility-profile-note p {
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.compatibility-alias-field {
    display: grid;
    gap: 7px;
}

.compatibility-alias-field span {
    color: var(--plum);
    font-size: 12px;
    font-weight: 800;
}

.compatibility-alias-field input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: var(--text);
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(59,37,52,.14);
    border-radius: 12px;
    outline: none;
}

.compatibility-alias-field input:focus {
    border-color: rgba(184,155,103,.9);
    box-shadow: 0 0 0 3px rgba(184,155,103,.12);
}

.compatibility-saved-list {
    display: grid;
    gap: 8px;
}

.compatibility-saved-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 13px 14px;
    color: var(--text);
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(59,37,52,.08);
    border-radius: 13px;
    text-align: left;
    cursor: pointer;
}

.compatibility-saved-card span {
    min-width: 0;
}

.compatibility-saved-card strong,
.compatibility-saved-card small {
    display: block;
}

.compatibility-saved-card strong {
    color: var(--plum);
    font-size: 14px;
}

.compatibility-saved-card small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.compatibility-saved-card b {
    flex: 0 0 auto;
    color: var(--wine);
    font-size: 11px;
}

.compatibility-question-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.compatibility-question-top strong {
    color: var(--plum);
    font-size: 13px;
}

.compatibility-cancel-button {
    flex: 0 0 auto;
    padding: 6px 8px;
    color: var(--muted);
    background: transparent;
    border: 0;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.compatibility-progress-track {
    height: 5px;
    margin: 15px 0 22px;
    overflow: hidden;
    background: rgba(59,37,52,.09);
    border-radius: 999px;
}

.compatibility-progress-track span {
    display: block;
    height: 100%;
    background: var(--gold);
    border-radius: inherit;
    transition: width .25s ease;
}

.compatibility-question-hint {
    margin: 10px 0 16px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.compatibility-options {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.compatibility-option {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    color: var(--text);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(59,37,52,.10);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.compatibility-option:active {
    transform: scale(.99);
}

.compatibility-option.selected {
    color: var(--plum);
    background: rgba(184,155,103,.18);
    border-color: rgba(184,155,103,.72);
}

.compatibility-question-actions {
    display: grid;
    grid-template-columns: minmax(110px, .7fr) minmax(0, 1.3fr);
    gap: 8px;
    margin-top: 18px;
}

.compatibility-question-actions .secondary-action,
.compatibility-question-actions .button {
    width: 100%;
    min-height: 50px;
}

.compatibility-question-actions button:disabled {
    opacity: .35;
    cursor: default;
}

.compatibility-result-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, var(--plum), #563649);
    border-color: rgba(184,155,103,.24);
}

.compatibility-result-hero::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -55px;
    top: -55px;
    border: 1px solid rgba(184,155,103,.22);
    border-radius: 50%;
}

.compatibility-result-symbol {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 16px;
    color: var(--plum);
    background: var(--gold);
    border-radius: 50%;
}

.compatibility-result-hero .compatibility-mini-label {
    color: rgba(255,255,255,.58);
}

.compatibility-result-hero h4 {
    position: relative;
    z-index: 1;
    max-width: 470px;
    color: #fff;
}

.compatibility-result-hero > p:not(.compatibility-mini-label) {
    position: relative;
    z-index: 1;
    max-width: 500px;
    color: rgba(255,255,255,.76);
}

.compatibility-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}

.compatibility-metric-card {
    min-width: 0;
    padding: 13px;
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(59,37,52,.07);
    border-radius: 13px;
}

.compatibility-metric-card > span,
.compatibility-metric-card > strong {
    display: block;
}

.compatibility-metric-card > span {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.3;
}

.compatibility-metric-card > strong {
    margin-top: 3px;
    color: var(--plum);
    font-size: 13px;
}

.compatibility-meter {
    height: 5px;
    margin-top: 9px;
    overflow: hidden;
    background: rgba(59,37,52,.09);
    border-radius: 999px;
}

.compatibility-meter i {
    display: block;
    height: 100%;
    background: linear-gradient(to right, var(--wine), var(--gold));
    border-radius: inherit;
}

.compatibility-profile-note span {
    color: var(--wine);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.compatibility-bold-grid {
    display: grid;
    gap: 8px;
}

.compatibility-insight-card {
    padding: 15px;
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(59,37,52,.07);
    border-radius: 13px;
}

.compatibility-insight-card span {
    display: block;
    margin-bottom: 6px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 500;
}

.compatibility-insight-card p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.58;
}

.compatibility-result-actions {
    display: grid;
    gap: 8px;
}

.compatibility-result-actions .secondary-action {
    width: 100%;
    min-height: 48px;
}

.compatibility-legal-note {
    margin: 0;
    color: rgba(43,37,40,.52);
    font-size: 10px;
    line-height: 1.5;
}

@media (min-width: 620px) {
    .compatibility-bold-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 430px) {
    .compatibility-metrics-grid {
        grid-template-columns: 1fr;
    }

    .compatibility-question-actions {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   v1.6.3 — RESULT SUBSCRIPTION OFFER + CONSTRUCTOR TOGGLE
   ========================================================= */

.constructor-entry-button[aria-expanded="true"] {
    background: rgba(184, 155, 103, 0.12);
    border-color: rgba(184, 155, 103, 0.48);
}

.result-subscription-offer {
    position: relative;
    margin: 0 0 22px;
    padding: 26px 22px;
    overflow: hidden;
    color: var(--white);
    background:
        radial-gradient(circle at 90% -10%, rgba(184, 155, 103, 0.28), transparent 38%),
        linear-gradient(145deg, #3B2534, #55364A);
    border: 1px solid rgba(184, 155, 103, 0.26);
    border-radius: var(--radius);
    box-shadow: 0 18px 46px rgba(59, 37, 52, 0.16);
}

.result-subscription-offer::after {
    content: "✦";
    position: absolute;
    top: 14px;
    right: 18px;
    color: rgba(184, 155, 103, 0.28);
    font-size: 42px;
    pointer-events: none;
}

.result-subscription-offer .result-label {
    color: rgba(255, 255, 255, 0.62);
}

.result-subscription-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.result-subscription-top h2 {
    margin: 0;
    color: var(--white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.05;
}

.result-subscription-price {
    display: grid;
    flex: 0 0 auto;
    gap: 2px;
    min-width: 108px;
    padding: 10px 12px;
    color: var(--plum);
    background: var(--gold);
    border-radius: 14px;
    text-align: center;
}

.result-subscription-price strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1;
}

.result-subscription-price span {
    font-size: 9px;
    font-weight: 800;
}

.result-subscription-lead {
    position: relative;
    z-index: 1;
    max-width: 500px;
    margin: 18px 0 17px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.6;
}

.result-subscription-features {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}

.result-subscription-features span {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 11px 10px;
    color: rgba(255, 255, 255, 0.68);
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    font-size: 10px;
    line-height: 1.35;
}

.result-subscription-features b {
    color: var(--white);
    font-size: 11px;
}

.result-subscription-button {
    position: relative;
    z-index: 1;
}

.result-subscription-terms {
    position: relative;
    z-index: 1;
    margin: 11px 0 0;
    color: rgba(255, 255, 255, 0.48);
    font-size: 9px;
    line-height: 1.45;
    text-align: center;
}

@media (max-width: 520px) {
    .result-subscription-offer {
        padding: 22px 18px;
    }

    .result-subscription-top {
        align-items: stretch;
        flex-direction: column;
    }

    .result-subscription-price {
        width: fit-content;
        min-width: 116px;
        text-align: left;
    }

    .result-subscription-features {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   v1.6.7 — PRIMARY AUTH: ODNOKLASSNIKI
   ========================================================= */

.identity-primary {
    min-height: 66px;
}

.identity-ok.identity-primary {
    color: #fff;
    background: #EE8208;
    border: 1px solid rgba(238,130,8,.35);

    box-shadow:
        0 12px 30px rgba(238,130,8,.30),
        0 3px 10px rgba(238,130,8,.18);

    transform: translateZ(0);

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        filter .16s ease;
}

.identity-ok.identity-primary:hover {
    filter: brightness(1.04);

    box-shadow:
        0 15px 34px rgba(238,130,8,.36),
        0 4px 12px rgba(238,130,8,.20);
}

.identity-ok.identity-primary:active {
    transform: scale(.985);
}

.identity-ok.identity-primary strong {
    font-size: 15px;
    font-weight: 900;
}

.identity-ok.identity-primary span {
    width: 42px;
    height: 42px;

    background: rgba(255,255,255,.20);

    font-size: 12px;
}

.identity-alt-label {
    margin: -1px 0;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.identity-vk.identity-secondary {
    min-height: 50px;

    color: rgba(255,255,255,.94);
    background: #447BBA;

    opacity: .82;

    box-shadow: none;
}

.identity-vk.identity-secondary:hover {
    opacity: 1;
}

.identity-vk.identity-secondary span {
    width: 34px;
    height: 34px;
    border-radius: 10px;
}

.identity-vk.identity-secondary strong {
    font-size: 13px;
}



/* =========================================================
   LEGAL GATE + LEGAL FOOTER v1.6.15
   ========================================================= */
.identity-legal-gate {
    display: grid;
    gap: 10px;
    margin: 16px 0 18px;
    padding: 15px;
    background: rgba(184,155,103,.10);
    border: 1px solid rgba(111,70,93,.13);
    border-radius: 15px;
}
.identity-legal-title {
    margin: 0 0 2px;
    color: var(--plum);
    font-size: 12px;
    font-weight: 800;
}
.identity-legal-check {
    display: grid;
    grid-template-columns: 20px minmax(0,1fr);
    align-items: start;
    gap: 9px;
    color: var(--text);
    font-size: 12px;
    line-height: 1.45;
    cursor: pointer;
}
.identity-legal-check input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--wine);
}
.identity-legal-check a,
.identity-legal-policy a,
.landing-footer-legal a {
    color: var(--wine);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.identity-legal-check a {
    position: relative;
    z-index: 2;
}
.identity-legal-policy {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}
.identity-button:disabled {
    opacity: .42;
    cursor: not-allowed;
    filter: grayscale(.15);
}
.landing-footer-legal {
    display: grid;
    gap: 5px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(59,37,52,.12);
    color: var(--muted);
    font-size: 10px;
    line-height: 1.5;
}


/* v1.6.25 — история реальных покупок и возвратов */
.account-purchase-list{display:grid;margin-top:12px;border-top:1px solid var(--line)}
.account-purchase-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.account-purchase-row:last-child{border-bottom:0;padding-bottom:2px}
.account-purchase-row>div:first-child{min-width:0}
.account-purchase-row strong{display:block!important;margin:0!important;color:var(--plum)!important;font-size:16px!important;line-height:1.35}
.account-purchase-row small{display:block;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.4}
.account-purchase-side{display:grid;justify-items:end;gap:4px;white-space:nowrap}
.account-purchase-side b{font-size:16px;color:var(--plum)}
.account-purchase-side a{color:var(--wine);font-size:13px;font-weight:800}
.account-purchase-row.is-refunded strong,.account-purchase-row.is-refunded .account-purchase-side b{color:#776d72!important}
.account-purchase-row.is-refunded small{color:#8b8186}
@media(max-width:520px){.account-purchase-row{gap:10px}.account-purchase-row strong{font-size:15.5px!important}.account-purchase-side b{font-size:15px}}

/* =========================================================
   v1.6.26 — POST-PURCHASE CORE / BIBLE v2.0
   ========================================================= */

#account-modal .account-modal-card {
    width: min(760px, calc(100vw - 28px));
    max-width: 760px;
    max-height: min(92vh, 960px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.account-purchase-success {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin: 0 0 16px;
    padding: 15px 16px;
    border: 1px solid rgba(73, 112, 91, .2);
    border-radius: 18px;
    background: rgba(124, 157, 135, .12);
}
.account-purchase-success[hidden] { display: none !important; }
.account-success-check {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(73, 112, 91, .15);
    color: #496f5b;
    font-weight: 900;
    font-size: 18px;
}
.account-purchase-success strong { display:block; color:var(--plum); font-size:16px; }
.account-purchase-success p { margin:4px 0 0; color:var(--muted); font-size:14px; line-height:1.45; }

#account-modal .account-access-row {
    width: 100%;
    appearance: none;
    border: 1px solid var(--line);
    text-align: left;
    cursor: pointer;
}
#account-modal .account-access-row.is-open {
    border-color: rgba(73,112,91,.2);
    background: rgba(124,157,135,.09);
}
#account-modal .account-access-row.is-locked {
    background: rgba(59,37,52,.035);
}
.account-access-copy { display:grid; gap:3px; min-width:0; flex:1; }
.account-access-copy strong { color:var(--plum); font-size:14px; }
.account-access-copy small { color:var(--muted); font-size:12px; line-height:1.35; }
.account-access-pill {
    margin-left:auto;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(184,155,103,.14);
    color:var(--wine);
    font-size:11px;
    white-space:nowrap;
}
.is-open .account-access-pill { background:rgba(73,112,91,.12); color:#496f5b; }

.account-client-prices-copy { margin:0 0 14px; color:var(--muted); font-size:14px; line-height:1.5; }
.account-client-prices-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.account-client-prices-grid article {
    display:grid;
    gap:7px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(255,255,255,.5);
}
.account-client-prices-grid article > span { color:var(--wine); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.account-client-prices-grid article > strong { color:var(--plum); font-size:15px; }
.account-client-prices-grid article > div { display:flex; align-items:baseline; gap:8px; }
.account-client-prices-grid s { color:var(--muted); font-size:12px; }
.account-client-prices-grid b { color:var(--plum); font-size:18px; }
.account-client-prices-grid small { color:var(--muted); line-height:1.35; }
.account-client-prices-grid button {
    min-height:40px;
    padding:9px 11px;
    border:0;
    border-radius:12px;
    background:var(--plum);
    color:white;
    font-weight:750;
    cursor:pointer;
}
.account-client-prices-grid .is-all-in { background:rgba(184,155,103,.09); border-color:rgba(184,155,103,.28); }

.pricing-card.is-owned {
    border-color: rgba(73,112,91,.28) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(124,157,135,.08)) !important;
}
.pricing-card.is-owned .pricing-button { background:#496f5b !important; color:white !important; }

.v26-personalization-modal { z-index: 10050; }
.v26-personalization-card {
    width:min(620px,calc(100vw - 28px));
    max-width:620px;
    max-height:92vh;
    overflow-y:auto;
    overscroll-behavior:contain;
}
.v26-personalization-form { display:grid; gap:15px; margin-top:20px; }
.v26-personalization-form > label,
.v26-personalization-form fieldset { display:grid; gap:8px; margin:0; padding:0; border:0; }
.v26-personalization-form label > span,
.v26-personalization-form legend { color:var(--plum); font-size:14px; font-weight:750; }
.v26-personalization-form input[type="date"],
.v26-personalization-form select,
.v26-personalization-form textarea {
    width:100%;
    min-height:52px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--soft-white);
    color:var(--text);
    font:inherit;
    font-size:16px;
}
.v26-personalization-form textarea { min-height:108px; resize:vertical; line-height:1.45; }
.v26-inline-check { display:flex !important; grid-template-columns:none !important; align-items:center; gap:9px !important; color:var(--muted); }
.v26-inline-check input { width:20px; height:20px; flex:0 0 20px; }
.v26-inline-check span { font-size:13px !important; font-weight:600 !important; color:var(--muted) !important; }

@media (max-width: 620px) {
    #account-modal { align-items:flex-end; padding:0; }
    #account-modal .account-modal-card {
        width:100%;
        max-width:none;
        max-height:96dvh;
        margin:0;
        border-radius:24px 24px 0 0;
        padding-left:18px;
        padding-right:18px;
        padding-bottom:max(24px,env(safe-area-inset-bottom));
    }
    .account-client-prices-grid { grid-template-columns:1fr; }
    .account-access-pill { font-size:10px; }
    .v26-personalization-modal { align-items:flex-end; padding:0; }
    .v26-personalization-card {
        width:100%; max-width:none; max-height:96dvh; margin:0;
        border-radius:24px 24px 0 0;
        padding-left:18px; padding-right:18px; padding-bottom:max(24px,env(safe-area-inset-bottom));
    }
}


/* =========================================================
   v1.6.26.1 — POST-PURCHASE POLISH
   Кабинет: читаемые карточки доступа, один апгрейд +200.
   ========================================================= */
#account-modal .account-access-list {
    gap:10px;
}
#account-modal .account-access-row {
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:76px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
    text-align:left;
    cursor:pointer;
}
#account-modal .account-access-row + .account-access-row { margin-top:0; }
#account-modal .account-access-row.is-open {
    border-color:rgba(73,112,91,.23);
    background:linear-gradient(135deg,rgba(124,157,135,.12),rgba(255,255,255,.78));
}
#account-modal .account-access-row.is-locked {
    border-color:rgba(59,37,52,.09);
    background:rgba(59,37,52,.025);
}
#account-modal .account-access-icon {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    margin:0;
    border-radius:50%;
    font-size:15px;
    font-weight:900;
}
#account-modal .account-access-row.is-open .account-access-icon {
    color:#315d3c;
    background:rgba(77,126,87,.13);
}
#account-modal .account-access-row.is-locked .account-access-icon {
    color:var(--muted);
    background:rgba(59,37,52,.06);
}
#account-modal .account-access-copy {
    display:grid;
    gap:4px;
    min-width:0;
}
#account-modal .account-access-copy strong {
    font-size:17px;
    line-height:1.25;
}
#account-modal .account-access-copy small {
    font-size:14px;
    line-height:1.4;
}
#account-modal .account-access-pill {
    align-self:center;
    margin:0;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}
.account-period-upgrade-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    width:100%;
    margin-top:4px;
    padding:16px;
    border:1px solid rgba(184,155,103,.32);
    border-radius:17px;
    background:linear-gradient(135deg,rgba(184,155,103,.16),rgba(255,255,255,.86));
    text-align:left;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(59,37,52,.04);
}
.account-period-upgrade-copy { display:grid; gap:4px; min-width:0; }
.account-period-upgrade-copy>small {
    color:var(--wine);
    font-size:11px;
    font-weight:850;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.account-period-upgrade-copy>strong {
    color:var(--plum);
    font:600 20px/1.2 Georgia,"Times New Roman",serif;
}
.account-period-upgrade-copy>em {
    color:var(--muted);
    font-size:13px;
    font-style:normal;
    line-height:1.4;
}
.account-period-upgrade-price { display:grid; justify-items:end; gap:2px; white-space:nowrap; }
.account-period-upgrade-price>b { color:var(--plum); font-size:19px; }
.account-period-upgrade-price>small { color:var(--muted); font-size:10px; }

@media(max-width:560px){
    #account-modal .account-access-row {
        grid-template-columns:34px minmax(0,1fr);
        gap:10px 11px;
        padding:14px 13px;
    }
    #account-modal .account-access-pill {
        grid-column:2;
        justify-self:start;
        margin-top:2px;
        font-size:11px;
    }
    #account-modal .account-access-copy strong { font-size:16px; }
    #account-modal .account-access-copy small { font-size:13px; }
    .account-period-upgrade-card { grid-template-columns:1fr; gap:9px; }
    .account-period-upgrade-price { justify-items:start; }
}
/* Сбрасываем старое правило .account-access-row>span для текстовой колонки. */
#account-modal .account-access-row > .account-access-copy {
    width:auto;
    height:auto;
    border-radius:0;
    align-items:initial;
    justify-content:initial;
    font-size:inherit;
    font-weight:inherit;
    background:transparent;
}

/* =========================================================
   PTB-40 — MANUAL SERVICES / OPERATOR WORKFLOW
   ========================================================= */
.manual-order-type,
.admin-order-top .account-kicker{
    margin:0 0 4px;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.manual-progress{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    margin:14px 0;
}
.manual-progress span{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    padding:7px 8px;
    border:1px solid var(--line);
    border-radius:12px;
    color:var(--muted);
    font-size:12px;
    font-weight:700;
}
.manual-progress span b{
    display:inline-grid;
    place-items:center;
    flex:0 0 22px;
    width:22px;
    height:22px;
    border-radius:50%;
    background:rgba(113,53,72,.08);
    color:var(--wine);
}
.manual-progress span.is-done,
.manual-progress span.is-current{
    border-color:rgba(113,53,72,.22);
    color:var(--text);
    background:rgba(113,53,72,.04);
}
.manual-progress span.is-current b{
    background:var(--wine);
    color:#fff;
}

.manual-guide{
    margin:12px 0;
    padding:12px 14px;
    border-radius:14px;
    background:rgba(184,155,103,.09);
}
.manual-guide strong{display:block;margin-bottom:5px;color:var(--plum)}
.manual-guide p{margin:0 0 7px;color:var(--text)}
.manual-guide ul{margin:0;padding-left:18px;color:var(--muted)}
.manual-guide li+li{margin-top:3px}

.manual-upload-box label{
    display:grid;
    gap:7px;
    font-weight:800;
    color:var(--plum);
}
.manual-upload-closed,
.manual-retention-note,
.manual-commercial-note{
    margin:10px 0;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(113,53,72,.05);
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}
.manual-commercial-note{
    background:rgba(172,118,74,.09);
    color:#6e4a2f;
}
.manual-empty-files{margin:7px 0 0;color:var(--muted);font-size:13px}
.manual-files-preview>strong{display:block;margin-bottom:6px;color:var(--plum)}
.manual-server-file span{display:flex;flex-direction:column;gap:2px;min-width:0}
.manual-server-file span small{color:var(--muted);font-size:12px}
.manual-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.manual-result-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 12px;
    border-radius:11px;
    background:var(--wine);
    color:#fff!important;
    text-decoration:none;
    font-weight:800;
}
.manual-ready-result>small{display:block;margin-top:4px;color:var(--muted)}
.manual-order-card.is-account-focus{outline:3px solid rgba(184,155,103,.45);outline-offset:3px}

.account-order-row em{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:12px;
    font-style:normal;
}
.account-order-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:7px;
}
.account-order-actions button,
.account-order-actions a{
    border:1px solid rgba(113,53,72,.16);
    border-radius:10px;
    background:#fff;
    color:var(--wine);
    padding:7px 10px;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    text-decoration:none;
}

.admin-retention-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 16px;
    align-items:center;
    margin:18px 0 24px;
    padding:14px 16px;
    border:1px solid rgba(113,53,72,.12);
    border-radius:16px;
    background:#fff;
}
.admin-retention-panel div{display:grid;gap:4px}
.admin-retention-panel span{color:var(--muted);font-size:13px;line-height:1.45}
.admin-retention-panel button{
    border:0;
    border-radius:11px;
    padding:9px 12px;
    background:var(--wine);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.admin-retention-panel .delivery-note{grid-column:1/-1;margin:0}

.admin-order-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:14px 0;
}
.admin-order-summary-grid section{
    display:grid;
    gap:4px;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:13px;
    background:rgba(255,255,255,.6);
    min-width:0;
}
.admin-order-summary-grid span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.admin-order-summary-grid strong{overflow-wrap:anywhere}
.admin-order-summary-grid small{color:var(--muted);overflow-wrap:anywhere}

.admin-hold-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    margin:12px 0;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(184,155,103,.08);
}
.admin-hold-grid label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}

.admin-history{
    margin-top:14px;
    border-top:1px solid var(--line);
    padding-top:12px;
}
.admin-history summary{cursor:pointer;font-weight:800;color:var(--plum)}
.admin-history ol{display:grid;gap:0;margin:10px 0 0;padding:0;list-style:none}
.admin-history li{
    display:grid;
    grid-template-columns:125px minmax(0,1fr);
    gap:10px;
    padding:9px 0;
    border-top:1px solid var(--line);
}
.admin-history time{color:var(--muted);font-size:12px}
.admin-history li div{display:grid;gap:2px}
.admin-history li small{color:var(--muted);overflow-wrap:anywhere}

@media (max-width:900px){
    .admin-order-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
    .manual-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-order-summary-grid{grid-template-columns:1fr}
    .admin-retention-panel{grid-template-columns:1fr}
    .admin-retention-panel .delivery-note{grid-column:auto}
    .admin-history li{grid-template-columns:1fr;gap:3px}
    .account-order-row{align-items:flex-start;flex-direction:column}
    .account-order-actions{justify-content:flex-start}
}


/* =========================================================
   PTB40 R4 — MANUAL READY RESULT PRESENTATION
   Keeps the finished specialist answer visually dominant.
   ========================================================= */
.manual-ready-result{
    margin:14px 0 16px;
    padding:20px;
    color:var(--text);
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(184,155,103,.10));
    border:1px solid rgba(113,53,72,.16);
    border-radius:18px;
    box-shadow:0 16px 40px rgba(59,37,52,.08);
    font-size:14px;
    line-height:1.65;
}
.manual-ready-result-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:4px;
}
.manual-ready-result-head>div{display:grid;gap:4px}
.manual-ready-kicker{
    color:var(--wine);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.manual-ready-result-head strong{
    display:block;
    color:var(--plum);
    font-family:var(--serif);
    font-size:clamp(24px,3.2vw,34px);
    font-weight:500;
    line-height:1.05;
}
.manual-ready-badge{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    color:#35634E;
    background:rgba(53,99,78,.11);
    font-size:10px;
    font-weight:900;
}
.manual-ready-result>small{
    display:block;
    margin-top:7px;
    color:var(--muted);
    font-size:12px;
}
.manual-result-text{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid rgba(113,53,72,.11);
    color:var(--text);
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:15px;
    line-height:1.75;
}
.manual-result-actions{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:9px;
    margin-top:18px;
}
.manual-result-actions a{
    min-height:46px;
    padding:11px 14px;
    border-radius:13px;
    font-weight:900;
}
.manual-result-actions .manual-result-primary{
    background:var(--wine);
    color:#fff!important;
}
.manual-result-actions .manual-result-secondary{
    background:#fff;
    color:var(--wine)!important;
    border:1px solid rgba(113,53,72,.18);
}
.manual-order-card:has(.manual-ready-result) .manual-files-preview{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(113,53,72,.08);
}
@media (max-width:640px){
    .manual-ready-result{padding:16px}
    .manual-ready-result-head{align-items:flex-start}
    .manual-ready-badge{font-size:9px}
    .manual-result-actions{grid-template-columns:1fr}
}

/* =========================================================
   PTB-50 — post-purchase client prices
   ========================================================= */

.ptb50-client-offers {
    overflow: hidden;
}

.ptb50-client-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(184,155,103,.15);
    color: #6b4156;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.ptb50-client-copy {
    margin: 0 0 18px;
    color: #75666f;
    line-height: 1.55;
}

.ptb50-client-footnote {
    margin: 16px 0 0;
    color: #857681;
    font-size: 12px;
    line-height: 1.5;
}

.ptb50-client-offers-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0,1fr));
    gap: 12px;
}

.ptb50-offer-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 16px;
    border:
        1px solid rgba(77,45,63,.12);
    border-radius: 18px;
    background: #fffdf9;
}

.ptb50-offer-card.is-all-in {
    border-color:
        rgba(184,155,103,.48);

    background:
        linear-gradient(
            135deg,
            rgba(184,155,103,.14),
            rgba(255,253,249,.98)
        );
}

.ptb50-offer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 9px;
}

.ptb50-offer-top span {
    color: #8b7682;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.ptb50-offer-top b {
    color: #82506a;
    font-size: 11px;
}

.ptb50-offer-card h4 {
    margin: 0 0 10px;
    color: #4f2f40;
    font-size: 18px;
    line-height: 1.2;
}

.ptb50-offer-card p {
    flex: 1;
    margin: 9px 0 14px;
    color: #786873;
    font-size: 13px;
    line-height: 1.45;
}

.ptb50-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 9px;
}

.ptb50-price s {
    color: #a4979f;
    font-size: 14px;
}

.ptb50-price strong {
    color: #5f344b;
    font-size: 22px;
}

.ptb50-saving {
    margin-top: 6px;
    color: #765c2f;
    font-size: 13px;
    font-weight: 800;
}

.ptb50-delta {
    margin-top: 9px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(95,52,75,.07);
    color: #62535b;
    font-size: 12px;
}

.ptb50-delta strong {
    color: #5f344b;
    font-size: 14px;
}

.ptb50-add {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: #63374f;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.ptb50-add.is-active {
    background: #8f7282;
}

.ptb50-loading,
.ptb50-all-owned {
    grid-column: 1 / -1;
    padding: 18px;
    border-radius: 16px;
    background: rgba(95,52,75,.06);
    color: #695862;
}

.ptb50-all-owned {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.account-client-prices-grid article em {
    display: block;
    margin-top: 6px;
    color: #6b4156;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

@media (max-width:700px) {
    .ptb50-client-offers-grid {
        grid-template-columns: 1fr;
    }

    .ptb50-offer-card {
        padding: 14px;
    }

    .ptb50-price strong {
        font-size: 20px;
    }

    .ptb50-client-badge {
        padding: 7px 9px;
        font-size: 11px;
    }
}



/* =========================================================
   PTB-63 — OWNER DASHBOARD
   ========================================================= */

.admin-page > h2,
.admin-manual-section h2,
.owner-dashboard h2 {
    margin: 0;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}

.admin-manual-section {
    margin-top: 34px;
}

.admin-manual-section h2 {
    font-size: clamp(28px, 6vw, 40px);
}

.owner-dashboard {
    margin: 26px 0 34px;
    padding: 22px;
    color: var(--white);
    background: linear-gradient(145deg, #3B2534 0%, #563649 100%);
    border: 1px solid rgba(184,155,103,.34);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(59,37,52,.16);
}

.owner-dashboard-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.owner-dashboard-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.owner-dashboard h2 {
    color: var(--white);
    font-size: clamp(28px, 6vw, 39px);
}

.owner-dashboard-head p {
    max-width: 720px;
    margin: 10px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 11px;
    line-height: 1.55;
}

#owner-metrics-refresh {
    flex: 0 0 auto;
    padding: 10px 13px;
    color: var(--plum);
    background: var(--gold);
    border: 0;
    border-radius: 11px;
    font-weight: 800;
    cursor: pointer;
}

.owner-dashboard > .delivery-note {
    margin: 15px 0 0;
    color: rgba(255,255,255,.62);
}

.owner-metrics-periods {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.owner-metrics-periods .admin-empty {
    color: rgba(255,255,255,.7);
    background: rgba(255,255,255,.06);
}

.owner-period-card {
    padding: 16px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 17px;
}

.owner-period-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.owner-period-head span {
    color: var(--gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
}

.owner-period-head small {
    color: rgba(255,255,255,.46);
    font-size: 9px;
    text-align: right;
}

.owner-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}

.owner-metric-tile {
    min-width: 0;
    padding: 12px;
    background: rgba(255,255,255,.055);
    border-radius: 12px;
}

.owner-metric-tile span {
    display: block;
    min-height: 28px;
    color: rgba(255,255,255,.55);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.35;
}

.owner-metric-tile strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: var(--white);
    font-size: clamp(16px, 4.5vw, 22px);
}

.owner-dashboard-footnote {
    margin: 14px 0 0;
    color: rgba(255,255,255,.45);
    font-size: 9px;
    line-height: 1.5;
}

@media (min-width: 760px) {
    .owner-metrics-periods {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .owner-metric-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .owner-dashboard-head {
        display: grid;
    }

    #owner-metrics-refresh {
        width: 100%;
    }
}

/* =========================================================
   v1.6.28.33 — EMAIL LOGIN (OTP CODE)
   ========================================================= */
#email-login-code-input {
    letter-spacing: .3em;
    text-align: center;
    font-weight: 800;
}
/* ПРО ТЕБЯ — Bible v2.0 / release v1.6.26 */
.v18-legacy-hidden{display:none!important}
.v18-marketplace{margin:18px 0;padding:28px 22px;background:rgba(255,255,255,.64);border:1px solid var(--line);border-radius:var(--radius-large);box-shadow:var(--shadow)}
.v18-market-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.v18-market-head h2{margin:0;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,7vw,38px);font-weight:500;line-height:1.08}.v18-market-head p:last-child{max-width:520px;color:var(--muted);line-height:1.55}.v18-client-badge{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:rgba(184,155,103,.16);color:var(--plum);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.v18-marketplace-options{display:grid;gap:10px}.v18-marketplace-options[hidden]{display:none}.v18-product-card{padding:18px;background:rgba(59,37,52,.035);border:1px solid rgba(59,37,52,.08);border-radius:18px;transition:.2s ease}.v18-product-card.selected{border-color:var(--gold);background:rgba(184,155,103,.1)}.v18-product-card.featured{background:linear-gradient(145deg,rgba(184,155,103,.15),rgba(255,255,255,.75));border-color:rgba(184,155,103,.32)}
.v18-product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v18-product-type{display:block;margin-bottom:5px;color:var(--wine);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.v18-product-card h3{margin:0;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:500;line-height:1.1;overflow-wrap:anywhere}.v18-product-card p{margin:10px 0 15px;color:var(--muted);font-size:13px;line-height:1.5}.v18-price-badge{flex:0 0 auto;padding:7px 9px;border-radius:999px;background:#f2eadf;color:var(--plum);font-size:11px;font-weight:800;white-space:nowrap}.v18-add-button{width:100%;min-height:44px;padding:10px 13px;border:1px solid rgba(59,37,52,.15);border-radius:13px;color:var(--plum);background:rgba(255,255,255,.55);font-weight:800;cursor:pointer}.v18-add-button.active{color:#fff;background:var(--plum);border-color:var(--plum)}
.v18-everything-owned{display:grid;gap:6px;padding:18px;border-radius:16px;background:rgba(184,155,103,.1)}.v18-everything-owned span{color:var(--muted);font-size:12px}

.v18-deck-section{margin:22px 0 6px;padding:22px;background:linear-gradient(145deg,#30202c,#513747);color:#fff;border:1px solid rgba(184,155,103,.42);border-radius:24px;overflow:hidden}.v18-deck-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v18-deck-head .result-label{color:#d9bd7c}.v18-deck-head h3{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,7vw,36px);font-weight:500;line-height:1.05}.v18-deck-head p:last-child{margin:0;max-width:470px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.55}.v18-deck-stack{position:relative;flex:0 0 60px;height:80px}.v18-deck-stack span{position:absolute;right:0;width:48px;height:72px;border:1px solid #d9bd7c;border-radius:7px;background:linear-gradient(145deg,#4b3042,#714b61)}.v18-deck-stack span:nth-child(1){transform:rotate(-8deg) translateX(-10px)}.v18-deck-stack span:nth-child(2){transform:rotate(4deg) translateX(-4px)}.v18-deck-actions{display:flex;align-items:center;gap:12px;margin-top:18px}.v18-deck-actions .secondary-action{flex:0 0 auto;padding:11px 14px;border:1px solid rgba(217,189,124,.55);border-radius:12px;background:transparent;color:#f6f1ea;font-weight:800;cursor:pointer}.v18-deck-actions .secondary-action:disabled{opacity:.48;cursor:default}.v18-deck-actions small{color:rgba(255,255,255,.5);font-size:9px;line-height:1.4}
.v18-deck-empty{display:flex;align-items:center;gap:18px;margin-top:20px;padding:16px;border-radius:18px;background:rgba(255,255,255,.055)}.v18-deck-empty img{width:74px;aspect-ratio:2/3;border-radius:9px;box-shadow:0 12px 30px rgba(0,0,0,.24)}.v18-deck-empty div{display:grid;gap:6px}.v18-deck-empty strong{font-family:Georgia,"Times New Roman",serif;font-size:20px}.v18-deck-empty span{color:rgba(255,255,255,.62);font-size:11px;line-height:1.5}
.v18-card-offer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;perspective:1200px}.v18-choice-card{padding:0;border:0;background:transparent;cursor:pointer;animation:v18Deal .55s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--deal-index)*90ms)}@keyframes v18Deal{from{opacity:0;transform:translateY(-35px) rotate(8deg) scale(.75)}to{opacity:1;transform:none}}.v18-choice-card-inner{display:grid;gap:7px}.v18-choice-back{display:block;aspect-ratio:2/3;overflow:hidden;border-radius:12px;box-shadow:0 14px 28px rgba(0,0,0,.26);transition:transform .2s ease}.v18-choice-back img{width:100%;height:100%;object-fit:cover;display:block}.v18-choice-card:hover .v18-choice-back{transform:translateY(-7px) rotate(-1deg)}.v18-choice-hint{font-size:9px;color:#d9bd7c;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.v18-chosen-wrap{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:22px;margin-top:22px;align-items:start}.v18-chosen-card img{width:100%;display:block;border-radius:15px;box-shadow:0 20px 50px rgba(0,0,0,.3)}.v18-card-reading{min-width:0}.v18-card-rarity{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(217,189,124,.14);color:#d9bd7c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.v18-card-reading h4{margin:8px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:500}.v18-card-summary{color:rgba(255,255,255,.82);line-height:1.6}.v18-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v18-reading-grid>div,.v18-card-action,.v18-card-why{padding:12px;border-radius:13px;background:rgba(255,255,255,.07)}.v18-reading-grid strong,.v18-card-action strong{color:#d9bd7c;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.v18-reading-grid p,.v18-card-action p,.v18-card-why p{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:11px;line-height:1.5}.v18-card-action{margin-top:8px}.v18-card-why{margin-top:8px}.v18-card-why summary{cursor:pointer;color:#f6f1ea;font-size:11px;font-weight:800}.v18-locked-reading{display:grid;gap:8px;padding:16px;border-radius:14px;background:rgba(255,255,255,.06);filter:blur(1.5px)}.v18-locked-reading span{height:9px;border-radius:999px;background:rgba(255,255,255,.2)}.v18-locked-reading span:nth-child(2){width:75%}.v18-locked-reading span:nth-child(3){width:90%}.v18-locked-reading span:nth-child(4){width:62%}.v18-lock-note{font-size:11px;color:rgba(255,255,255,.62);line-height:1.45}.v18-card-reading .button{max-width:330px}

.v18-deep-period{margin-top:14px}.v18-deep-period h4{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:var(--plum);font-weight:500}.v18-period-spheres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v18-period-spheres>div{padding:13px;border-radius:13px;background:rgba(59,37,52,.045)}.v18-period-spheres strong{font-size:11px;color:var(--wine)}.v18-period-spheres p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.v18-long-stages{display:grid;gap:8px}.v18-long-stages>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border-radius:13px;background:rgba(184,155,103,.09)}.v18-long-stages span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--plum);color:#fff;font-weight:800}.v18-long-stages p{margin:0;font-size:12px;line-height:1.5}

.v18-birth-card,.v18-card-history{display:grid;gap:10px}.v18-birth-card>span,.v18-card-history>span{color:var(--muted);font-size:11px;line-height:1.45}.v18-birth-editor{display:grid;gap:6px}.v18-birth-editor>label{color:var(--wine);font-size:11px;font-weight:800}.v18-birth-main-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.v18-birth-main-row #v18-birth-input{min-width:0;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.v18-calendar-button{min-height:46px;padding:9px 12px;border:1px solid rgba(59,37,52,.14);border-radius:11px;background:#fff;color:var(--plum);font-weight:800;cursor:pointer;white-space:nowrap}.v18-birth-native{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:.01!important}.v18-birth-preview{display:block;min-height:20px;color:#52705b!important;font-size:12px!important;font-weight:750;line-height:1.4}.v18-birth-preview.is-error{color:#7b3941!important}.v18-birth-actions{display:flex;flex-wrap:wrap;gap:7px}.v18-birth-actions button{min-height:44px;padding:9px 13px;border:0;border-radius:11px;background:var(--plum);color:#fff;font-weight:800;cursor:pointer}.v18-birth-actions button.muted{background:rgba(59,37,52,.08);color:var(--plum)}.v18-birth-card small{color:var(--wine);font-size:10px}.v18-birth-card p{margin:0;color:#7b3941;font-size:10px}.v18-history-list{display:grid;gap:6px}.v18-history-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.v18-history-list b{font-size:12px}.v18-history-list small{color:var(--muted);font-size:9px;text-align:right}

@media(min-width:650px){.v18-marketplace-options{grid-template-columns:repeat(2,minmax(0,1fr))}.v18-product-card.featured{grid-column:1/-1}}
@media(max-width:620px){.v18-marketplace{padding:22px 15px}.v18-market-head{display:grid}.v18-client-badge{justify-self:start}.v18-product-top{display:grid}.v18-price-badge{justify-self:start}.v18-card-offer{gap:5px}.v18-choice-back{border-radius:8px}.v18-choice-hint{font-size:7px}.v18-chosen-wrap{grid-template-columns:105px 1fr;gap:14px}.v18-card-reading h4{font-size:25px}.v18-reading-grid{grid-template-columns:1fr}.v18-period-spheres{grid-template-columns:1fr}.v18-deck-head{display:grid}.v18-deck-stack{display:none}.v18-deck-actions{align-items:flex-start;flex-direction:column}}

/* v1.6.21 account readability */
#account-personalization .v18-birth-card>span,#v18-card-history>span{font-size:15px;line-height:1.5}#account-personalization .v18-birth-card small{font-size:14px;line-height:1.45}#account-personalization .v18-birth-main-row #v18-birth-input,#account-personalization .v18-calendar-button,#account-personalization .v18-birth-actions button{min-height:50px;font-size:16px}#account-personalization .v18-birth-preview{font-size:15px!important}.v18-history-list b{font-size:15px}.v18-history-list small{font-size:13px}@media(max-width:520px){#account-personalization .v18-birth-main-row{grid-template-columns:1fr}#account-personalization .v18-calendar-button{width:100%}}

/* =========================================================
   1.6.28.4 PRE-LAUNCH — CARD ACTION CONTAINMENT
   Не даём служебной подписи карты выходить за правую границу.
   ========================================================= */

.v18-deck-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.v18-deck-actions .secondary-action {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.v18-deck-actions small {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
/* ПРО ТЕБЯ v1.6.26.2 — sticky account + analytic prediction layer */

html[data-local-version="1.6.5"] .app{padding-top:72px}
.v19-account-dock{position:fixed;top:10px;left:12px;right:12px;z-index:140;max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:8px 10px 8px 16px;border:1px solid rgba(59,37,52,.14);border-radius:17px;background:rgba(250,247,242,.92);box-shadow:0 12px 36px rgba(59,37,52,.13);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.v19-account-dock[hidden]{display:none!important}
html.v19-dock-visible .app{padding-top:69px}
.v19-dock-brand{font-family:Georgia,"Times New Roman",serif;color:var(--plum);font-size:14px;font-weight:700;letter-spacing:.13em;white-space:nowrap}
.v19-account-dock button{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;padding:7px 10px;border:0;border-radius:12px;background:transparent;color:var(--text);cursor:pointer;text-align:left}
.v19-account-dock button:hover{background:rgba(59,37,52,.045)}
.v19-dock-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#9b8f8f;box-shadow:0 0 0 4px rgba(155,143,143,.12)}
.v19-account-dock.is-active .v19-dock-dot{background:#5f8d67;box-shadow:0 0 0 4px rgba(95,141,103,.13)}
.v19-dock-copy{display:grid;gap:1px;min-width:0}.v19-dock-copy strong{font-size:12px;color:var(--plum);white-space:nowrap}.v19-dock-copy small{font-size:9px;color:var(--muted);max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v19-dock-arrow{color:var(--gold);font-size:16px}
/* На главной используется штатная кнопка «Мой кабинет»; отдельный dock там скрыт JS. */

.v19-context-card{display:grid;gap:11px}.v19-context-card>span{color:var(--muted);font-size:11px;line-height:1.45}.v19-context-grid{display:grid;gap:9px}.v19-field{display:grid;gap:5px}.v19-field label{font-size:10px;color:var(--wine);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.v19-field select,.v19-field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit}.v19-field textarea{min-height:96px;resize:vertical;line-height:1.45}.v19-context-meta{display:flex;flex-wrap:wrap;gap:6px}.v19-context-meta span{padding:6px 8px;border-radius:999px;background:rgba(184,155,103,.12);color:var(--plum);font-size:9px;font-weight:700}.v19-context-actions{display:flex;gap:8px;align-items:center}.v19-context-actions button{min-height:42px;padding:9px 13px;border:0;border-radius:11px;background:var(--plum);color:#fff;font-weight:800;cursor:pointer}.v19-context-actions small{color:var(--muted);font-size:9px;line-height:1.35}

.v19-prediction-panel{margin-top:16px;padding:24px 20px;border:1px solid rgba(184,155,103,.32);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(184,155,103,.09));box-shadow:0 14px 36px rgba(59,37,52,.06)}
.v19-prediction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.v19-prediction-head h3{margin:0;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,7vw,40px);font-weight:500;line-height:1.05}.v19-prediction-lead{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.55;max-width:550px}.v19-prediction-symbol{flex:0 0 46px;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(184,155,103,.5);border-radius:50%;color:var(--gold);font-size:20px}
.v19-context-chips{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}.v19-context-chips span{padding:7px 9px;border-radius:999px;background:rgba(59,37,52,.06);color:var(--wine);font-size:9px;font-weight:800}.v19-context-chips .missing{background:rgba(123,57,65,.08);color:#7b3941}
.v19-prediction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v19-prediction-card{padding:15px;border:1px solid rgba(59,37,52,.08);border-radius:15px;background:rgba(255,255,255,.62)}.v19-prediction-card span{display:block;margin-bottom:7px;color:var(--wine);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.v19-prediction-card p{margin:0;color:var(--text);font-size:12px;line-height:1.58}
.v19-prediction-focus{margin-top:10px;padding:13px 15px;border-radius:14px;background:var(--plum);color:#fff}.v19-prediction-focus strong{display:block;margin-bottom:4px;color:#d9bd7c;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.v19-prediction-focus p{margin:0;font-size:12px;line-height:1.5}
.v19-prediction-focus.is-card-locked{background:rgba(59,37,52,.07);color:var(--text);border:1px solid rgba(59,37,52,.09)}.v19-prediction-focus.is-card-locked strong{color:var(--wine)}
.v19-horizon-block{margin-top:13px;padding:16px;border-radius:16px;background:rgba(59,37,52,.04)}.v19-horizon-block h4{margin:0 0 9px;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:500}.v19-horizon-block>p{margin:0;color:var(--text);font-size:12px;line-height:1.6}.v19-long-list{display:grid;gap:7px}.v19-long-item{display:grid;grid-template-columns:31px 1fr;gap:9px;align-items:start}.v19-long-item b{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;background:var(--plum);color:#fff;font-size:11px}.v19-long-item p{margin:3px 0 0;font-size:12px;line-height:1.55}
.v19-horoscope{margin-top:13px;padding:16px;border-radius:16px;background:linear-gradient(145deg,#3b2534,#56394a);color:#fff}.v19-horoscope small{display:block;color:#d9bd7c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.v19-horoscope h4{margin:6px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:500}.v19-horoscope p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.58}.v19-horoscope p+p{margin-top:8px}
.v19-prediction-why{margin-top:12px;padding:13px;border-radius:14px;background:rgba(184,155,103,.1)}.v19-prediction-why summary{cursor:pointer;color:var(--plum);font-size:11px;font-weight:800}.v19-prediction-why ul{margin:10px 0 0;padding-left:18px}.v19-prediction-why li{margin:5px 0;color:var(--muted);font-size:10px;line-height:1.45}.v19-disclaimer{margin:11px 0 0;color:rgba(43,37,40,.5);font-size:9px;line-height:1.45}
.v19-prediction-loading{padding:16px;border-radius:14px;background:rgba(59,37,52,.04);color:var(--muted);font-size:12px}.v19-prediction-error{padding:13px;border-radius:13px;background:rgba(123,57,65,.08);color:#7b3941;font-size:11px;line-height:1.45}
.v19-prediction-onboarding{display:grid;gap:8px;margin:14px 0;padding:13px;border:1px dashed rgba(184,155,103,.55);border-radius:13px;background:rgba(184,155,103,.07)}.v19-prediction-onboarding strong{font-size:12px;color:var(--plum)}.v19-prediction-onboarding p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.v19-prediction-onboarding button{justify-self:start;padding:8px 11px;border:0;border-radius:10px;background:var(--plum);color:#fff;font-weight:800;font-size:10px;cursor:pointer}

/* Collapses the old generic 3-month text after the richer forecast appears. */
.v19-foundation-note{margin-top:10px;color:var(--muted);font-size:9px}

@media(max-width:620px){
 .v19-account-dock{top:6px;left:7px;right:7px;min-height:52px;padding-left:11px}.v19-dock-brand{font-size:11px}.v19-account-dock button{gap:7px;padding-right:5px}.v19-dock-copy strong{font-size:10px}.v19-dock-copy small{max-width:195px;font-size:8px}.v19-dock-arrow{display:none}
 .v19-prediction-grid{grid-template-columns:1fr}.v19-prediction-head{display:grid}.v19-prediction-symbol{display:none}.v19-prediction-panel{padding:20px 15px}.v19-context-actions{align-items:flex-start;flex-direction:column}
}

/* v1.6.21 account readability */
#account-personalization .v19-context-card>span{font-size:15px;line-height:1.5}#account-personalization .v19-field label{font-size:13px}#account-personalization .v19-field select,#account-personalization .v19-field textarea{font-size:16px}#account-personalization .v19-context-meta span{font-size:13px}#account-personalization .v19-context-actions button{min-height:48px;font-size:15px}#account-personalization .v19-context-actions small{font-size:13px}
.v27-rich{display:grid;gap:16px}.v27-hero,.v27-section{padding:20px;border:1px solid rgba(59,37,52,.09);border-radius:18px;background:rgba(255,255,255,.76)}.v27-hero{background:linear-gradient(145deg,#fffaf4,#f4ede5)}.v27-hero h3,.v27-section h4{margin:3px 0 10px;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-weight:500}.v27-hero h3{font-size:clamp(27px,6vw,38px);line-height:1.08}.v27-section h4{font-size:clamp(23px,5vw,31px);line-height:1.12}.v27-hero>p:last-of-type,.v27-section>p{color:var(--text);font-size:13px;line-height:1.65}.v27-key{margin-top:13px;padding:13px 15px;border-radius:14px;background:var(--plum);color:#fff;font-size:12px;line-height:1.55}.v27-summary{display:grid;gap:8px;margin:10px 0 0;padding-left:18px}.v27-summary li{color:var(--text);font-size:12px;line-height:1.55}.v27-traits{display:grid;gap:10px}.v27-trait{padding:15px;border-radius:15px;background:#f7f2eb;border:1px solid rgba(59,37,52,.06)}.v27-trait-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.v27-trait-head strong{font-size:13px;color:var(--plum)}.v27-trait-head span{font-size:10px;font-weight:800;color:var(--wine)}.v27-meter{height:7px;margin:9px 0 7px;border-radius:999px;background:#e4ddd5;overflow:hidden}.v27-meter i{display:block;height:100%;border-radius:inherit;background:var(--gold)}.v27-trait small{color:var(--muted);font-size:9px;font-weight:700}.v27-trait>p{margin:8px 0;color:var(--text);font-size:11px;line-height:1.55}.v27-trait-note{margin-top:6px;color:#46654f;font-size:10px;line-height:1.45}.v27-trait-note.is-watch{color:#7a4b52}.v27-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v27-mini{padding:14px;border-radius:14px;background:#f8f4ef;border:1px solid rgba(59,37,52,.06)}.v27-mini.is-good{background:#edf3ee}.v27-mini.is-watch{background:#f6eded}.v27-mini strong{display:block;margin-bottom:6px;color:var(--plum);font-size:11px}.v27-mini p{margin:0;color:var(--text);font-size:11px;line-height:1.55}.v27-stack{display:grid;gap:9px}.v27-focus,.v27-zodiac,.v27-why{margin-top:10px;padding:14px 15px;border-radius:14px}.v27-focus{background:var(--plum);color:#fff}.v27-focus.is-soft{background:#edf3ee;color:var(--text)}.v27-focus strong,.v27-zodiac small,.v27-why strong{display:block;margin-bottom:5px;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.v27-focus strong{color:#e4c787}.v27-focus.is-soft strong{color:var(--wine)}.v27-focus p,.v27-zodiac p,.v27-why p{margin:0;font-size:11px;line-height:1.55}.v27-zodiac{background:rgba(184,155,103,.12)}.v27-zodiac strong{display:block;margin:3px 0 5px;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-size:18px}.v27-steps{display:grid;gap:9px}.v27-steps>div{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;padding:12px;border-radius:13px;background:#f8f4ef}.v27-steps b{display:flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:50%;background:var(--plum);color:#fff;font-size:10px}.v27-steps p{margin:2px 0 0;color:var(--text);font-size:11px;line-height:1.5}.v27-why{background:rgba(184,155,103,.1)}.v27-why summary{cursor:pointer;color:var(--plum);font-size:11px;font-weight:800}.v27-why ul{padding-left:18px}.v27-why li{margin:5px 0;color:var(--muted);font-size:10px;line-height:1.45}.v27-disclaimer{margin:0;padding:0 6px;color:rgba(43,37,40,.55);font-size:9px;line-height:1.45}.v27-loading,.v27-error{padding:18px;border-radius:14px;background:rgba(59,37,52,.05);color:var(--muted);font-size:12px}.v27-error{color:#7b3941;background:#f7ecee}
@media(max-width:620px){.v27-grid{grid-template-columns:1fr}.v27-hero,.v27-section{padding:17px 14px}.v27-trait-head{align-items:flex-start}.v27-trait-note{font-size:10px}}
/* ПРО ТЕБЯ — единая корзина / checkout */
.v18-legacy-hidden{display:none!important}
#commerce-marketplace{margin:18px 0;padding:26px 22px;background:rgba(255,255,255,.66);border:1px solid var(--line);border-radius:var(--radius-large);box-shadow:var(--shadow)}
.commerce-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.commerce-head h2{margin:0;color:var(--plum);font:500 clamp(27px,7vw,38px)/1.08 Georgia,"Times New Roman",serif}.commerce-head p:last-child{margin:10px 0 0;max-width:520px;color:var(--muted);line-height:1.55}.commerce-client-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(184,155,103,.16);color:var(--plum);font-size:10px;font-weight:800;text-transform:uppercase}
.commerce-toggle{width:100%;min-height:52px;margin-top:17px;border:1px solid rgba(184,155,103,.5);border-radius:15px;background:linear-gradient(145deg,#3B2534,#54364A);color:#fff;font-weight:850;cursor:pointer}.commerce-toggle[aria-expanded="true"]{background:rgba(59,37,52,.08);color:var(--plum)}
.commerce-options{display:grid;gap:10px;margin-top:12px}.commerce-options[hidden]{display:none!important}.commerce-product{padding:18px;background:rgba(59,37,52,.035);border:1px solid rgba(59,37,52,.08);border-radius:18px}.commerce-product.selected{border-color:var(--gold);background:rgba(184,155,103,.1)}.commerce-product.featured{background:linear-gradient(145deg,rgba(184,155,103,.15),rgba(255,255,255,.75));border-color:rgba(184,155,103,.32)}
.commerce-product-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.commerce-product-top span{display:block;margin-bottom:5px;color:var(--wine);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.commerce-product h3{margin:0;color:var(--plum);font:500 23px/1.1 Georgia,"Times New Roman",serif}.commerce-product-top>b{padding:7px 9px;border-radius:999px;background:#f2eadf;color:var(--plum);font-size:11px;white-space:nowrap}.commerce-product p{margin:10px 0 15px;color:var(--muted);font-size:13px;line-height:1.5}.commerce-add{width:100%;min-height:44px;border:1px solid rgba(59,37,52,.15);border-radius:13px;background:rgba(255,255,255,.6);color:var(--plum);font-weight:800;cursor:pointer}.commerce-add.active{background:var(--plum);color:#fff}.commerce-owned{display:grid;gap:6px;padding:18px;border-radius:16px;background:rgba(184,155,103,.1)}.commerce-owned span{color:var(--muted);font-size:12px}
#commerce-mini-cart{position:fixed;z-index:10010;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(calc(100% - 22px),620px);min-height:54px;padding:10px 14px 10px 17px;border:1px solid rgba(184,155,103,.48);border-radius:18px;background:rgba(59,37,52,.97);color:#fff;box-shadow:0 14px 42px rgba(59,37,52,.28);backdrop-filter:blur(12px);font-weight:800;cursor:pointer}#commerce-mini-cart[hidden]{display:none!important}#commerce-mini-cart.is-updated{animation:commercePulse .4s ease}@keyframes commercePulse{50%{transform:translateX(-50%) scale(1.025)}}.commerce-mini-arrow{color:#d9bd7c;font-size:25px}
.commerce-modal[hidden]{display:none!important}.commerce-modal{position:fixed;inset:0;z-index:10020;display:flex;align-items:flex-end;justify-content:center;padding:10px}.commerce-backdrop{position:absolute;inset:0;background:rgba(29,20,26,.7);backdrop-filter:blur(7px)}.commerce-sheet,.commerce-checkout-card{position:relative;z-index:1;width:min(100%,620px);max-height:min(86dvh,850px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 18px calc(18px + env(safe-area-inset-bottom));background:var(--ivory);border-radius:25px 25px 16px 16px;box-shadow:0 26px 90px rgba(0,0,0,.32)}.commerce-sheet-handle{width:44px;height:4px;margin:0 auto 14px;border-radius:999px;background:rgba(59,37,52,.18)}.commerce-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.commerce-sheet-head span{color:var(--wine);font-size:10px;font-weight:800;text-transform:uppercase}.commerce-sheet-head h2,.commerce-checkout-card h2{margin:3px 0 0;color:var(--plum);font:500 32px/1.05 Georgia,"Times New Roman",serif}.commerce-sheet-head>button,.commerce-modal-close{width:40px;height:40px;border:0;border-radius:50%;background:rgba(59,37,52,.08);color:var(--plum);font-size:24px;cursor:pointer}.commerce-sheet-rows{display:grid;margin-top:15px}.commerce-sheet-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.commerce-sheet-row>div:first-child{display:grid;gap:3px}.commerce-sheet-row strong{font-size:13px}.commerce-sheet-row small{color:var(--muted);font-size:10px;line-height:1.35}.commerce-sheet-price{display:flex;align-items:center;gap:7px;white-space:nowrap}.commerce-sheet-price s{color:var(--muted);font-size:10px}.commerce-sheet-price b{font-size:13px}.commerce-sheet-price button{width:28px;height:28px;border:0;border-radius:50%;background:rgba(59,37,52,.07);color:var(--wine);cursor:pointer}.commerce-sheet-saving{margin:8px 0;padding:9px 11px;border-radius:11px;background:rgba(184,155,103,.14);color:var(--wine);font-size:11px;font-weight:800}.commerce-sheet-total,.commerce-checkout-total{display:flex;align-items:center;justify-content:space-between;margin:12px 0;padding:15px 16px;border-radius:15px;background:var(--plum);color:#fff}.commerce-sheet-total span,.commerce-checkout-total span{font-size:12px;color:rgba(255,255,255,.62)}.commerce-sheet-total strong,.commerce-checkout-total strong{font-size:25px}.commerce-sheet-actions{display:grid;grid-template-columns:auto 1fr;gap:9px}.commerce-clear,.commerce-checkout,.commerce-pay{min-height:54px;border:0;border-radius:15px;font-weight:850;cursor:pointer}.commerce-clear{padding:0 15px;background:rgba(59,37,52,.08);color:var(--plum)}.commerce-checkout,.commerce-pay{background:var(--gold);color:var(--plum)}.commerce-sheet>small{display:block;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.4}
.commerce-checkout-card{align-self:center;border-radius:25px;padding:24px 20px calc(22px + env(safe-area-inset-bottom))}.commerce-modal-close{position:sticky;top:0;float:right;z-index:2}.commerce-checkout-items{display:grid;gap:7px;margin-top:17px}.commerce-checkout-items>div{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.58);font-size:12px}.commerce-legal{display:grid;gap:9px}.commerce-legal label{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.45}.commerce-legal input{margin-top:2px;accent-color:var(--plum)}.commerce-legal a{color:var(--wine);font-weight:800}.commerce-legal p{margin:0;color:var(--muted);font-size:10px}.commerce-auth{display:grid;gap:8px;margin-top:14px}.commerce-auth button{display:flex;align-items:center;gap:11px;min-height:55px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);font-weight:800;cursor:pointer}.commerce-auth button:disabled{opacity:.42}.commerce-auth button span{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:9px;background:rgba(59,37,52,.08);font-size:11px}.commerce-auth button.ok{border-color:rgba(242,113,28,.3)}.commerce-auth-done{margin:10px 0;padding:13px 14px;border-radius:13px;background:rgba(184,155,103,.15);color:var(--plum);font-size:12px;font-weight:800}.commerce-pay{width:100%;margin-top:6px}.commerce-note{min-height:18px;margin:10px 0 0;color:var(--wine);font-size:11px;text-align:center}
html.pt-modal-open{overflow:hidden}
@media(min-width:650px){.commerce-options{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-product.featured{grid-column:1/-1}.commerce-modal{align-items:center}.commerce-sheet{border-radius:25px}.commerce-sheet-handle{display:none}}
@media(max-width:560px){#commerce-marketplace{padding:22px 15px}.commerce-head{display:grid}.commerce-product-top{display:grid}.commerce-product-top>b{justify-self:start}.commerce-sheet-actions{grid-template-columns:1fr}.commerce-clear{min-height:46px}.commerce-checkout-card{max-height:92dvh}}


/* v1.6.24 — статус после возврата с ЮKassa */
.commerce-payment-result{
  position:fixed;z-index:2200;left:50%;top:22px;transform:translateX(-50%);
  width:min(92vw,520px);box-sizing:border-box;padding:24px 22px 20px;
  border:1px solid rgba(71,39,59,.16);border-radius:24px;background:#fffdf9;
  box-shadow:0 18px 60px rgba(40,24,34,.24);color:#3f2637;
}
.commerce-payment-result[hidden]{display:none!important}
.commerce-payment-result-label{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#87536f;margin-bottom:7px}
.commerce-payment-result h2{font:700 28px/1.1 Georgia,serif;margin:0 34px 10px 0;color:#44283a}
.commerce-payment-result p{font-size:17px;line-height:1.45;margin:0 0 16px;color:#62585e}
.commerce-payment-result>button#commerce-payment-result-action{width:100%;min-height:52px;border:0;border-radius:15px;background:#45283b;color:#fff;font-size:17px;font-weight:800;padding:12px 18px}
.commerce-payment-result-close{position:absolute;right:13px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f2eeec;color:#49313f;font-size:26px;line-height:1}
@media(max-width:520px){
  .commerce-payment-result{top:max(12px,env(safe-area-inset-top));padding:22px 18px 18px;border-radius:22px}
  .commerce-payment-result h2{font-size:25px}
}


/* 1.6.28.2 — mini cart remains visible while account is open */
body:has(#commerce-mini-cart:not([hidden])) #account-modal .account-modal-card {
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
}

/* 1.6.28.7 — marketplace cards: CTA buttons share the same baseline */
.commerce-options .commerce-product {
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    height:100%;
}

.commerce-options .commerce-product p {
    flex:1 1 auto;
}

.commerce-options .commerce-product .commerce-add {
    margin-top:auto;
}
/* ПРО ТЕБЯ — единый мобильный UI слой без patch-on-patch */
#question-screen #next-button{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:30}
.prototype-modal{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;align-items:flex-start;padding:max(12px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}
.prototype-modal-card{max-height:none;margin:auto;overflow:visible}.account-modal-card,.subscription-modal-card{max-height:none}

.pt-share-modal[hidden]{display:none!important}.pt-share-modal{position:fixed;inset:0;z-index:10030;display:flex;align-items:flex-end;justify-content:center;padding:10px}.pt-share-backdrop{position:absolute;inset:0;background:rgba(29,20,26,.72);backdrop-filter:blur(7px)}.pt-share-card{position:relative;z-index:1;width:min(100%,640px);max-height:94dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:var(--ivory);border-radius:25px 25px 16px 16px}.pt-share-close{position:sticky;top:0;z-index:5;float:right;width:42px;height:42px;border:0;border-radius:50%;background:rgba(59,37,52,.1);color:var(--plum);font-size:25px;cursor:pointer}.pt-share-card h2{margin:6px 48px 8px 0;color:var(--plum);font:500 clamp(29px,7vw,40px)/1.08 Georgia,"Times New Roman",serif}.pt-share-card>p{color:var(--muted);font-size:13px;line-height:1.5}.pt-share-preview{display:flex;justify-content:center;align-items:center;min-height:280px;padding:8px;border-radius:18px;background:rgba(59,37,52,.05)}.pt-share-preview img{display:block;width:100%;height:auto;max-height:62dvh;object-fit:contain;border-radius:13px;box-shadow:0 16px 45px rgba(59,37,52,.15)}.pt-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.pt-share-actions button{min-height:54px;border:0;border-radius:15px;font-weight:850;cursor:pointer}.pt-share-system{background:var(--plum);color:#fff}.pt-share-save{background:var(--gold);color:var(--plum)}.pt-share-actions button:disabled{opacity:.42}.pt-share-status{min-height:18px!important;margin:8px 0 0!important;color:var(--wine)!important;text-align:center}

.pt-home-secondary{display:grid;gap:8px;max-width:390px;margin:10px auto 0}.pt-home-secondary button{min-height:44px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.52);color:var(--plum);font-weight:750;cursor:pointer}.pt-home-secondary button[hidden]{display:none!important}

.pt-cookie-note[hidden]{display:none!important}.pt-cookie-note{position:fixed;z-index:8500;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 22px),640px);padding:13px 14px;background:#fffdf9;border:1px solid var(--line);border-radius:17px;box-shadow:0 16px 48px rgba(59,37,52,.18);font-size:11px;line-height:1.45;color:var(--muted)}.pt-cookie-note strong{color:var(--plum)}.pt-cookie-note a{color:var(--wine);font-weight:800}.pt-cookie-actions{display:flex;justify-content:flex-end;margin-top:8px}.pt-cookie-actions button{min-height:38px;padding:0 14px;border:0;border-radius:11px;background:var(--plum);color:#fff;font-weight:800;cursor:pointer}
body:has(#commerce-mini-cart:not([hidden])) .pt-cookie-note{bottom:76px}
@media(min-width:650px){.pt-share-modal{align-items:center}.pt-share-card{border-radius:25px}.pt-share-close{position:sticky}.prototype-modal{align-items:center}.prototype-modal-card{max-height:90dvh;overflow-y:auto}}
@media(max-width:560px){.pt-share-actions{grid-template-columns:1fr}.prototype-modal-card{width:100%;margin:auto 0}.account-modal-card{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

/* 1.6.28.3 — OK Mini App awaiting moderation */
#login-ok-button:disabled,
#commerce-ok:disabled {
    cursor:default;
    opacity:.64;
    filter:saturate(.72);
}

#login-ok-button .ok-moderation-note {
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
    font-weight:700;
    line-height:1.25;
}

.commerce-auth .commerce-ok-copy {
    display:grid;
    gap:2px;
    text-align:left;
}

.commerce-auth .commerce-ok-copy strong {
    font-size:12px;
    line-height:1.25;
}

.commerce-auth .commerce-ok-copy small {
    color:var(--muted);
    font-size:9px;
    font-weight:700;
    line-height:1.2;
}

/* 1.6.28.7 — disabled OK moderation CTA: text must not inherit 33x33 icon box */
#commerce-ok > span:first-child {
    flex:0 0 33px;
}

.commerce-auth #commerce-ok .commerce-ok-copy {
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    width:auto;
    height:auto;
    min-width:0;
    gap:2px;
    padding:0;
    border-radius:0;
    background:transparent;
    text-align:left;
    overflow:visible;
}

.commerce-auth #commerce-ok .commerce-ok-copy strong {
    display:block;
    width:100%;
    font-size:12px;
    line-height:1.25;
    white-space:normal;
}

.commerce-auth #commerce-ok .commerce-ok-copy small {
    display:block;
    width:100%;
    color:var(--muted);
    font-size:9px;
    font-weight:700;
    line-height:1.2;
    white-space:normal;
}
