.public-price-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 26px 0 30px;
}

.public-price-summary > div {
    display: flex;
    min-height: 92px;
    padding: 18px;
    border: 1px solid rgba(151, 171, 199, .22);
    border-radius: 18px;
    background: rgba(13, 31, 52, .72);
    flex-direction: column;
    justify-content: center;
}

.public-price-summary small,
.checked-mac small,
.public-plan-choice small {
    color: #2bd5b5;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.public-price-summary strong {
    margin-top: 5px;
    font-size: 1.35rem;
}

.checked-mac {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 16px;
    align-items: center;
    padding: 15px 17px;
    border: 1px solid rgba(151, 171, 199, .2);
    border-radius: 16px;
    background: rgba(7, 17, 31, .56);
}

.checked-mac small {
    grid-column: 1;
}

.checked-mac strong {
    grid-column: 1;
    font-size: 1rem;
    letter-spacing: .04em;
}

.checked-mac .link-button {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.public-plan-picker {
    margin: 22px 0;
    padding: 0;
    border: 0;
}

.public-plan-picker legend {
    margin-bottom: 11px;
    color: #f4f7fb;
    font-size: .92rem;
    font-weight: 800;
}

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

.public-plan-grid:has(.public-plan-choice:only-child) {
    grid-template-columns: 1fr;
}

.public-plan-choice {
    position: relative;
    cursor: pointer;
}

.public-plan-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.public-plan-choice > span {
    position: relative;
    display: flex;
    min-height: 155px;
    padding: 18px;
    border: 1px solid rgba(151, 171, 199, .22);
    border-radius: 18px;
    background: rgba(8, 24, 41, .78);
    flex-direction: column;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.public-plan-choice:hover > span {
    transform: translateY(-1px);
    border-color: rgba(43, 213, 181, .55);
}

.public-plan-choice input:focus-visible + span {
    outline: 3px solid rgba(43, 213, 181, .28);
    outline-offset: 3px;
}

.public-plan-choice input:checked + span {
    border-color: #2bd5b5;
    background: linear-gradient(135deg, rgba(43, 213, 181, .14), rgba(8, 24, 41, .88));
    box-shadow: inset 0 0 0 1px rgba(43, 213, 181, .18);
}

.public-plan-choice.is-lifetime input:checked + span {
    border-color: #8e7dff;
    background: linear-gradient(135deg, rgba(142, 125, 255, .18), rgba(8, 24, 41, .9));
    box-shadow: inset 0 0 0 1px rgba(142, 125, 255, .2);
}

.public-plan-choice input:checked + span::after {
    content: "✓";
    position: absolute;
    top: 15px;
    right: 15px;
    display: grid;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #2bd5b5;
    color: #06131f;
    font-weight: 900;
    place-items: center;
}

.public-plan-choice.is-lifetime input:checked + span::after {
    background: #9c8eff;
}

.public-plan-choice b {
    margin-top: 8px;
    color: #f6f8fc;
    font-size: 1.2rem;
}

.public-plan-choice strong {
    margin-top: 16px;
    color: #2bd5b5;
    font-size: 1.35rem;
}

.public-plan-choice.is-lifetime strong {
    color: #aa9eff;
}

.public-plan-choice em {
    margin-top: auto;
    padding-top: 12px;
    color: #9db0c7;
    font-size: .82rem;
    font-style: normal;
    line-height: 1.45;
}

@media (max-width: 700px) {
    .public-price-summary,
    .public-plan-grid {
        grid-template-columns: 1fr;
    }

    .public-price-summary > div,
    .public-plan-choice > span {
        min-height: 0;
    }
}

/* Gumroad hosted checkout — v0.19.2. */
.gumroad-checkout-box {
    display: grid;
    gap: 14px;
    text-align: center;
}

.gumroad-checkout-box h3 {
    margin: 0;
    font-size: 22px;
}

.gumroad-checkout-mark {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin: 0 auto;
    color: #07111f;
    border-radius: 15px;
    background: var(--accent);
    font-size: 24px;
    font-weight: 900;
}

.gumroad-checkout-box .primary-button,
.gumroad-checkout-box .secondary-button {
    width: 100%;
    margin: 0;
}

.gumroad-checkout-box .checkout-footer {
    margin-top: 4px;
    text-align: left;
}

/* Gumroad overlay checkout — v0.19.3. */
.gumroad-inline-checkout {
    gap: 12px;
    padding: clamp(18px, 4vw, 26px);
}

.gumroad-inline-checkout .checkout-kicker {
    margin: 0;
    color: var(--accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.11em;
}

.gumroad-inline-checkout .gumroad-live-status {
    margin: 0;
    text-align: left;
}

.gumroad-inline-checkout .gumroad-button {
    min-height: 48px;
}

/* v0.19.4 · professional Stripe / Hotmart checkout */
.activation-v0194 .portal-shell { align-items: start; }
.activation-v0194 .activation-card-v0194 { max-width: 620px; }
.activation-v0194 .trust-list .trust-dot {
    width: 22px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 22px;
    border-radius: 999px;
    background: rgba(34, 197, 94, .12);
    color: #55d98a;
    font-size: .72rem;
    font-weight: 900;
}
.activation-plan-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}
.activation-plan-choice {
    position: relative;
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 18px;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 16px;
    background: rgba(7, 17, 31, .72);
    cursor: pointer;
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.activation-plan-choice:hover { transform: translateY(-2px); border-color: rgba(82, 196, 255, .55); }
.activation-plan-choice:has(input:checked) {
    border-color: #43b8f5;
    background: linear-gradient(145deg, rgba(32, 126, 180, .2), rgba(7, 17, 31, .88));
    box-shadow: 0 0 0 3px rgba(67, 184, 245, .09);
}
.activation-plan-choice input { position: absolute; opacity: 0; pointer-events: none; }
.activation-plan-choice small { color: #8ba1b8; font-weight: 800; letter-spacing: .12em; }
.activation-plan-choice strong { font-size: 1.65rem; line-height: 1.1; }
.activation-plan-choice em { color: #9eb0c5; font-style: normal; font-size: .84rem; }
.activation-plan-choice .plan-check {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    color: transparent;
    font-size: .7rem;
}
.activation-plan-choice:has(input:checked) .plan-check { color: #06121f; background: #54c5ff; border-color: #54c5ff; }
.provider-checkout-card {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 18px;
    background: rgba(4, 12, 24, .58);
    padding: 17px;
}
.provider-checkout-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.provider-logo-text { font-size: 1.22rem; font-weight: 900; letter-spacing: -.03em; }
.provider-checkout-stripe .provider-logo-text { color: #a8a3ff; }
.provider-checkout-hotmart .provider-logo-text { color: #4fe09a; letter-spacing: .08em; font-size: .92rem; }
.stripe-checkout-mount { min-height: 380px; width: 100%; }
.hotmart-overlay-copy { text-align: center; padding: 22px 12px 18px; }
.hotmart-overlay-copy h3 { margin: 10px 0 8px; }
.hotmart-overlay-copy p { margin: 0 auto; max-width: 420px; color: #9fb0c4; line-height: 1.6; }
.checkout-shield {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    border-radius: 15px;
    color: #082016;
    background: #4fe09a;
    font-weight: 900;
}
.provider-live-status { margin: 12px 0; }
.compact-checkout-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(148, 163, 184, .14);
}
.compact-checkout-footer p { margin: 0; color: #8fa2b9; font-size: .79rem; }
.support-line { margin: 18px 0 0; text-align: center; color: #8fa2b9; font-size: .8rem; }

@media (max-width: 680px) {
    .activation-plan-choice-grid { grid-template-columns: 1fr; }
    .activation-plan-choice { min-height: 112px; }
    .compact-checkout-footer { align-items: flex-start; flex-direction: column; }
    .stripe-checkout-mount { min-height: 520px; }
}
