/* =====================================================================
   pricing.css — Pricing page. Requires common.css first.
   Hero (.pr-hero), section heads (.pr-head/.pr-h2/.pr-lead) and the
   accordion (.faq-item/.faq-q/.faq-a) all come from common.css.
   The role-tab strip (.pr-tabwrap/.pr-tabs/.pr-tab) comes from faq.css.
   ===================================================================== */
/* ---- PLAN CARDS ---- */
.pr-plans {
    padding: 70px 0;
    background: #fff;
}
.pr-tab{
    justify-content:center;
}
.pr-card {
    height: 100%;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 2.2rem 2rem;
    position: relative;
    box-shadow: 0 2px 10px rgba(15,23,42,.03);
}

.pr-card.pop {
    border: 2px solid var(--blue);
    box-shadow: 0 24px 60px rgba(29,78,216,.14);
}

.pr-pop-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg,var(--navy),var(--blue));
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: .45rem 1.1rem;
    border-radius: 100px;
    white-space: nowrap;
    margin: 0;
}

.pr-cardname {
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--blue);
    letter-spacing: -.5px;
    margin: 0;
}

.pr-ideal {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--soft);
    margin: .4rem 0 1.4rem;
}

.pr-from {
    font-size: .8rem;
    color: var(--muted);
    font-weight: 600;
    margin: 0 0 .1rem;
}

.pr-price {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    flex-wrap: wrap;
}

.pr-amt {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--ink-2);
    letter-spacing: -1px;
}

.pr-per {
    font-size: .82rem;
    color: var(--muted);
    font-weight: 500;
}

.pr-custom {
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--ink-2);
    margin: .5rem 0;
}

.pr-fee {
    font-size: .78rem;
    color: var(--muted);
    margin: .55rem 0 0;
}

.pr-btn {
    display: block;
    text-align: center;
    background: var(--blue);
    color: #fff;
    font-weight: 700;
    font-size: .92rem;
    padding: .85rem;
    border-radius: 11px;
    margin: 1.5rem 0;
    text-decoration: none;
    transition: .15s;
}

.pr-btn:hover {
    background: var(--navy);
    color: #fff;
}

.pr-card:not(.pop) .pr-btn {
    background: #fff;
    color: var(--blue);
    border: 1.6px solid var(--blue);
}

.pr-card:not(.pop) .pr-btn:hover {
    background: #f4f7ff;
    color: var(--blue);
}

.pr-desc {
    font-size: .88rem;
    color: var(--text);
    line-height: 1.6;
    margin: 0 0 .5rem;
}

.pr-feat-label {
    font-size: .85rem;
    font-weight: 700;
    color: var(--ink-2);
    margin: 1.2rem 0 .85rem;
}

.pr-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    margin: 0;
    padding: 0;
}

.pr-list li {
    position: relative;
    padding-left: 1.7rem;
    font-size: .86rem;
    color: var(--text);
    line-height: 1.45;
}

.pr-list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #eff4ff;
    color: var(--blue);
    font-size: .6rem;
    font-weight: 800;
}

.pr-list li.gift::before {
    content: "\1F381";
    background: none;
    font-size: .85rem;
}

.pr-list li.shield::before {
    content: "\1F6E1";
    background: none;
    font-size: .85rem;
}

/* ---- COMPARE TABLE ---- */
.pr-compare {
    padding: 70px 0;
    background: #fff;
}

.pr-table {
    border-top: 1px solid var(--line);
}

.pr-trow {
    display: grid;
    grid-template-columns: 1.7fr .77fr .77fr .77fr;
    align-items: center;
}

.pr-thead {
    position: sticky;
    top: 74px;
    background: #fff;
    z-index: 4;
    border-bottom: 2px solid var(--line);
}

.pr-tcol {
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--ink-2);
    font-size: 1rem;
    text-align: center;
    padding: 1.1rem 0;
    margin: 0;
}

.pr-tsec {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--blue);
    letter-spacing: -.4px;
    padding: 2rem 0 .6rem;
    margin: 0;
}

.pr-tfeat {
    font-size: .9rem;
    color: var(--text);
    padding: .95rem 1.2rem .95rem 0;
    border-bottom: 1px solid var(--line);
    line-height: 1.4;
    margin: 0;
}

.pr-thead .pr-tfeat {
    border: none;
}

.pr-c {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .95rem 0;
    border-bottom: 1px solid var(--line);
}

.pr-c.yes::before {
    content: "\2713";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border: 1.6px solid var(--blue);
    color: var(--blue);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 800;
}

.pr-c.no::before {
    content: "\2014";
    color: #cbd5e1;
    font-weight: 700;
}

.pr-c.info::before {
    content: "i";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    background: var(--blue);
    color: #fff;
    border-radius: 50%;
    font-size: .78rem;
    font-weight: 800;
    font-family: Georgia,serif;
}

.pr-tfoot {
    display: grid;
    grid-template-columns: 1.7fr .77fr .77fr .77fr;
    margin-top: 1.6rem;
}

.pr-tfoot a {
    text-align: center;
    color: var(--blue);
    font-weight: 700;
    font-size: .9rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---- FAQ SPLIT ---- */
.pr-faqsec {
    padding: 70px 0;
    border-top: 1px solid var(--line);
    background: #fff;
}

.pr-faq-h {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--ink-2);
    letter-spacing: -.8px;
    line-height: 1.15;
    margin: 0 0 .9rem;
}

.pr-faq-p {
    color: var(--muted);
    font-size: .93rem;
    line-height: 1.7;
    margin: 0 0 1.5rem;
}

.pr-faq-btn {
    display: inline-block;
    border: 1.6px solid var(--blue);
    color: var(--blue);
    font-weight: 700;
    font-size: .86rem;
    padding: .7rem 1.5rem;
    border-radius: 100px;
    text-decoration: none;
    transition: .15s;
}

.pr-faq-btn:hover {
    background: #f4f7ff;
    color: var(--blue);
}

.pr-faq-cat {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--blue);
    margin: 1.7rem 0 .3rem;
}

.pr-faq-cat.first {
    margin-top: 0;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 991.98px) {
    .pr-trow,.pr-tfoot {
        grid-template-columns:1.4fr .9fr .9fr .9fr;
    }

    .pr-tfeat {
        font-size: .82rem;
    }

    .pr-thead {
        top: 0;
    }

    .pr-card.pop {
        margin-top: 1.4rem;
    }
}
