/* CLASSMIRROR V159 — TARIFS / PREMIUM DESIGN */

.pricing-v39 {
    --cm159-ink: #17142b;
    --cm159-muted: #6d7184;
    --cm159-purple: #6848e8;
    --cm159-purple-2: #8a6cff;
    --cm159-indigo: #2f2464;
    --cm159-green: #18946a;
    --cm159-line: rgba(75, 64, 126, .12);
    --cm159-shadow: 0 22px 64px rgba(43, 35, 92, .085);
    --cm159-shadow-premium: 0 34px 86px rgba(76, 50, 177, .25);
}

/* HERO */
.pricing-v39 .pricing-v39-hero {
    padding-top: 86px;
    padding-bottom: 78px;
    background:
        radial-gradient(circle at 8% 4%, rgba(104,72,232,.17), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(61,190,153,.11), transparent 24%),
        radial-gradient(circle at 70% 86%, rgba(138,108,255,.08), transparent 30%),
        linear-gradient(180deg, #f7f6fd 0%, #ffffff 100%);
}

.pricing-v39 .pricing-v39-hero::before {
    position: absolute;
    top: -220px;
    left: 50%;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(104,72,232,.06);
    border-radius: 50%;
    box-shadow:
        0 0 0 55px rgba(104,72,232,.025),
        0 0 0 110px rgba(104,72,232,.016);
    content: "";
    transform: translateX(-50%);
    pointer-events: none;
}

.pricing-v39 .pricing-v39-hero-inner {
    max-width: 980px;
}

.pricing-v39 .pricing-v39-badge {
    border: 1px solid rgba(104,72,232,.15);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 8px 22px rgba(83,61,168,.06);
}

.pricing-v39 .pricing-v39-hero h1 {
    color: var(--cm159-ink);
    font-size: clamp(44px, 6.8vw, 76px);
    letter-spacing: -.05em;
    text-wrap: balance;
}

.pricing-v39 .pricing-v39-hero-copy {
    color: var(--cm159-muted);
    font-size: clamp(16px, 2vw, 19px);
}

.pricing-v39 .pricing-v39-proof span {
    background: rgba(255,255,255,.92);
    border-color: rgba(74,65,120,.11);
    box-shadow: 0 9px 24px rgba(44,36,91,.055);
    backdrop-filter: blur(9px);
}

/* PLANS */
.pricing-v39 .pricing-v39-plans {
    padding-bottom: 92px;
}

.pricing-v39 .pricing-v39-grid {
    gap: 18px;
}

.pricing-v39 .pricing-v39-card {
    overflow: hidden;
    padding: 31px;
    border-color: var(--cm159-line);
    border-radius: 26px;
    box-shadow: var(--cm159-shadow);
    background:
        linear-gradient(150deg, rgba(255,255,255,.99), rgba(250,249,255,.94));
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.pricing-v39 .pricing-v39-card::before {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(104,72,232,.64),
        rgba(61,190,153,.36),
        transparent
    );
    opacity: .46;
    content: "";
}

.pricing-v39 .pricing-v39-card.premium {
    transform: translateY(-10px);
    background:
        radial-gradient(circle at 100% 0%, rgba(255,255,255,.17), transparent 28%),
        radial-gradient(circle at 7% 95%, rgba(90,205,176,.13), transparent 27%),
        linear-gradient(145deg, #251957 0%, #4b2fae 52%, #704ee8 100%);
    box-shadow: var(--cm159-shadow-premium);
}

.pricing-v39 .pricing-v39-card.premium::before {
    height: 3px;
    opacity: .9;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.32),
        rgba(121,230,201,.65),
        rgba(255,255,255,.32),
        transparent
    );
}

.pricing-v39 .pricing-v39-recommended {
    color: #145f42;
    background: #dff9ed;
    box-shadow: 0 6px 17px rgba(30,154,105,.12);
}

.pricing-v39 .pricing-v39-card h2 {
    letter-spacing: -.025em;
}

.pricing-v39 .pricing-v39-price strong {
    font-size: 48px;
    letter-spacing: -.05em;
}

.pricing-v39 .pricing-v39-features li::before {
    box-shadow: 0 5px 13px rgba(24,148,106,.14);
}

.pricing-v39 .pricing-v39-card.premium .pricing-v39-features li::before {
    box-shadow: 0 5px 14px rgba(19,12,55,.20);
}

/* BUTTONS */
.pricing-v39 .pricing-v39-button {
    position: relative;
    overflow: hidden;
    min-height: 52px;
    border-radius: 14px;
    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

.pricing-v39 .pricing-v39-button::after {
    position: absolute;
    top: -65%;
    left: -75%;
    width: 40%;
    height: 230%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.42),
        transparent
    );
    content: "";
    transform: rotate(15deg);
    transition: left .58s ease;
    pointer-events: none;
}

.pricing-v39 .pricing-v39-card:not(.premium) .pricing-v39-button {
    background: linear-gradient(180deg, #f0edff, #ebe6ff);
    border-color: #d9d1ff;
}

.pricing-v39 .pricing-v39-card.premium .pricing-v39-button {
    min-height: 54px;
    font-size: 14px;
    color: #5137bc;
    box-shadow: 0 15px 30px rgba(22,14,61,.22);
}

/* SECTION HEADERS */
.pricing-v39 .pricing-v39-section {
    padding-top: 82px;
    padding-bottom: 82px;
}

.pricing-v39 .pricing-v39-heading {
    max-width: 800px;
}

.pricing-v39 .pricing-v39-heading h2 {
    color: var(--cm159-ink);
    font-size: clamp(31px, 4.4vw, 48px);
    letter-spacing: -.035em;
    text-wrap: balance;
}

.pricing-v39 .pricing-v39-heading p {
    color: var(--cm159-muted);
}

/* COMPARISON */
.pricing-v39 .pricing-v39-table-wrap {
    border-color: var(--cm159-line);
    border-radius: 22px;
    box-shadow: 0 18px 52px rgba(43,35,92,.065);
}

.pricing-v39 .pricing-v39-table thead th {
    background: #f7f6fc;
}

.pricing-v39 .pricing-v39-table thead th.premium {
    color: #ffffff;
    background: linear-gradient(135deg, #382576, #6848e8);
}

.pricing-v39 .pricing-v39-table td.premium {
    background: rgba(104,72,232,.045);
}

.pricing-v39 .pricing-v39-table tbody tr {
    transition: background .16s ease;
}

.pricing-v39 .pricing-v39-table tbody tr:hover {
    background: rgba(104,72,232,.027);
}

/* ADVANTAGES */
.pricing-v39 .pricing-v39-advantages {
    gap: 15px;
}

.pricing-v39 .pricing-v39-advantage {
    position: relative;
    overflow: hidden;
    border-color: var(--cm159-line);
    border-radius: 20px;
    background:
        linear-gradient(150deg, rgba(255,255,255,.99), rgba(249,248,255,.92));
    box-shadow: 0 14px 38px rgba(43,35,92,.055);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.pricing-v39 .pricing-v39-icon {
    box-shadow: 0 9px 23px rgba(104,72,232,.15);
}

/* FAMILY */
.pricing-v39 .pricing-v39-family {
    padding-top: 16px;
    padding-bottom: 82px;
}

.pricing-v39 .pricing-v39-family-card {
    overflow: hidden;
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 10%, rgba(104,72,232,.10), transparent 27%),
        linear-gradient(135deg, #fbfaff, #f5f3ff);
    border-color: rgba(104,72,232,.13);
    box-shadow: 0 18px 52px rgba(57,44,120,.075);
}

/* TRUST */
.pricing-v39 .pricing-v39-section.dark {
    background:
        radial-gradient(circle at 8% 10%, rgba(122,94,238,.18), transparent 28%),
        radial-gradient(circle at 92% 85%, rgba(61,190,153,.10), transparent 26%),
        linear-gradient(145deg, #171329, #251b4d 58%, #2e225c);
}

.pricing-v39 .pricing-v39-trust {
    gap: 15px;
}

.pricing-v39 .pricing-v39-trust-card {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 19px;
    background: rgba(255,255,255,.065);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 14px 36px rgba(6,4,18,.10);
    backdrop-filter: blur(10px);
}

/* FAQ */
.pricing-v39 .pricing-v39-faq {
    gap: 10px;
}

.pricing-v39 .pricing-v39-faq details {
    overflow: hidden;
    border-color: var(--cm159-line);
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 27px rgba(43,35,92,.04);
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.pricing-v39 .pricing-v39-faq details[open] {
    border-color: rgba(104,72,232,.25);
    box-shadow: 0 15px 34px rgba(67,49,147,.07);
}

.pricing-v39 .pricing-v39-faq summary {
    min-height: 58px;
    display: flex;
    align-items: center;
}

/* FINAL CTA */
.pricing-v39 .pricing-v39-final {
    padding-top: 14px;
    padding-bottom: 88px;
}

.pricing-v39 .pricing-v39-final-card {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    background:
        radial-gradient(circle at 93% 0%, rgba(112,226,195,.13), transparent 27%),
        linear-gradient(135deg, #291c62, #5839c2 60%, #704ee8);
    box-shadow: 0 28px 70px rgba(66,42,155,.20);
}

.pricing-v39 .pricing-v39-final-card::after {
    position: absolute;
    right: -85px;
    bottom: -115px;
    width: 270px;
    height: 270px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    box-shadow:
        0 0 0 34px rgba(255,255,255,.025),
        0 0 0 68px rgba(255,255,255,.018);
    content: "";
    pointer-events: none;
}

.pricing-v39 .pricing-v39-final-card > * {
    position: relative;
    z-index: 1;
}

/* HOVERS */
@media (hover: hover) and (pointer: fine) {
    .pricing-v39 .pricing-v39-card:hover {
        border-color: rgba(104,72,232,.22);
        box-shadow: 0 30px 72px rgba(43,35,92,.13);
        transform: translateY(-5px);
    }

    .pricing-v39 .pricing-v39-card.premium:hover {
        box-shadow: 0 39px 94px rgba(76,50,177,.30);
        transform: translateY(-13px);
    }

    .pricing-v39 .pricing-v39-button:hover {
        filter: saturate(1.06);
        transform: translateY(-2px);
    }

    .pricing-v39 .pricing-v39-button:hover::after {
        left: 135%;
    }

    .pricing-v39 .pricing-v39-advantage:hover {
        box-shadow: 0 20px 48px rgba(52,40,118,.09);
        transform: translateY(-3px);
    }
}

/* ACCESSIBILITY */
.pricing-v39 a:focus-visible,
.pricing-v39 button:focus-visible,
.pricing-v39 summary:focus-visible {
    outline: 3px solid rgba(104,72,232,.28);
    outline-offset: 3px;
}

/* RTL */
[dir="rtl"] .pricing-v39 .pricing-v39-final-card::after {
    right: auto;
    left: -85px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .pricing-v39 .pricing-v39-card.premium {
        transform: none;
    }

    .pricing-v39 .pricing-v39-section {
        padding-top: 68px;
        padding-bottom: 68px;
    }
}

@media (max-width: 620px) {
    .pricing-v39 .pricing-v39-hero {
        padding: 64px 14px 58px;
    }

    .pricing-v39 .pricing-v39-plans {
        padding-inline: 14px;
        padding-bottom: 68px;
        margin-top: -12px;
    }

    .pricing-v39 .pricing-v39-card {
        padding: 23px 20px;
        border-radius: 21px;
    }

    .pricing-v39 .pricing-v39-price strong {
        font-size: 42px;
    }

    .pricing-v39 .pricing-v39-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .pricing-v39 .pricing-v39-table-wrap {
        border-radius: 17px;
    }

    .pricing-v39 .pricing-v39-final {
        padding-bottom: 60px;
    }

    .pricing-v39 .pricing-v39-final-card {
        border-radius: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pricing-v39 *,
    .pricing-v39 *::before,
    .pricing-v39 *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
