/* Pricing module — billing toggle, estimator, plan cards, FAQ */

.pricing-hero .page-title { max-width: 820px; }
.pricing-hero .page-lead { max-width: 680px; }

.billing-toggle {
    display: inline-flex;
    gap: .25rem;
    margin-top: 2rem;
    padding: .3rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--po-line);
    box-shadow: var(--po-shadow);
}

.billing-toggle button {
    border: 0;
    background: transparent;
    padding: .6rem 1.4rem;
    border-radius: 999px;
    font-weight: 700;
    color: var(--po-muted);
    transition: background .2s, color .2s;
}

.billing-toggle button.is-active { background: var(--po-navy); color: #fff; }

.save-tag {
    margin-left: .35rem;
    padding: .1rem .5rem;
    border-radius: 999px;
    font-size: .7rem;
    background: var(--po-gold);
    color: var(--po-navy);
}

.estimator {
    max-width: 640px;
    margin: 2rem auto 0;
    padding: 1.25rem 1.5rem;
    border-radius: var(--po-radius-lg);
    background: #fff;
    border: 1px solid var(--po-line);
    text-align: left;
}

.estimator-label { font-weight: 700; margin-bottom: .75rem; }

.estimator-row { display: flex; align-items: center; gap: 1.25rem; }
.estimator-row input[type="range"] { flex: 1; accent-color: var(--po-blue); }

.estimator-value { display: flex; align-items: center; gap: .5rem; color: var(--po-muted); font-weight: 600; }

.estimator-value input {
    width: 96px;
    padding: .4rem .6rem;
    border: 1px solid var(--po-line);
    border-radius: 10px;
    font-weight: 800;
    color: var(--po-ink);
    text-align: right;
}

/* ---------- plans ---------- */
.plan-card {
    position: relative;
    height: 100%;
    padding: 2rem 1.75rem;
    background: #fff;
    border: 1px solid var(--po-line);
    border-radius: var(--po-radius-lg);
    transition: transform .25s, box-shadow .25s;
}

.plan-card:hover { transform: translateY(-4px); box-shadow: var(--po-shadow-lg); }

.plan-card.is-popular {
    border: 2px solid var(--po-blue);
    box-shadow: 0 24px 48px -24px rgba(47, 76, 240, .45);
}

.plan-flag {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    padding: .3rem .9rem;
    border-radius: 999px;
    background: var(--po-blue);
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    white-space: nowrap;
}

.plan-name { font-size: 1.35rem; font-weight: 800; margin-bottom: .25rem; }
.plan-tagline { color: var(--po-muted); min-height: 3rem; }

.plan-price { display: flex; align-items: baseline; gap: .5rem; margin: 1rem 0 .25rem; }
.plan-price strong { font-size: 2.6rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.plan-price span { color: var(--po-muted); font-weight: 600; }

.plan-estimate { min-height: 3rem; font-size: .925rem; color: var(--po-muted); margin-bottom: 1.25rem; }
.plan-estimate b { color: var(--po-ink); }
.plan-estimate .save { display: inline-block; margin-left: .25rem; color: var(--po-teal); font-weight: 700; }
.plan-estimate .muted { color: var(--po-muted); }

.plan-features {
    list-style: none;
    padding: 1.5rem 0 0;
    margin: 1.5rem 0 0;
    border-top: 1px dashed var(--po-line);
    display: grid;
    gap: .7rem;
}

.plan-features li { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; }
.plan-features .icon { flex: 0 0 auto; margin-top: .2rem; color: var(--po-teal); }

/* ---------- FAQ ---------- */
.faq .accordion-item {
    border: 1px solid var(--po-line);
    border-radius: var(--po-radius) !important;
    margin-bottom: .75rem;
    overflow: hidden;
}

.faq .accordion-button {
    font-weight: 700;
    font-size: 1.05rem;
    padding: 1.15rem 1.35rem;
    color: var(--po-ink);
}

.faq .accordion-button:not(.collapsed) { background: var(--po-sky); color: var(--po-blue); box-shadow: none; }
.faq .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(47, 76, 240, .2); }
.faq .accordion-body { color: var(--po-ink-2); line-height: 1.7; }

@media (max-width: 575.98px) {
    .estimator-row { flex-direction: column; align-items: stretch; }
}
