/* ===========================
   Phone CTA Card
=========================== */

/* ---------------------------------------------------------------
   Brand purple ramp
   Theme --tertiary (#958db4) is the brand purple, but it only reaches
   3.11:1 against white text, so it cannot carry a white-text surface.
   These three steps hold the same hue (~253deg) and are darkened until
   the contrast passes:
     --pcta-purple       white text on it        5.81:1
     --pcta-purple-deep  white text 10.2:1, as ink on gold 4.72:1
     --pcta-purple-ink   as text on white 9.39:1, on light sand 7.35:1
--------------------------------------------------------------- */
.phonectacard-block {
    --pcta-purple: #6b5b9e;
    --pcta-purple-deep: #453a68;
    --pcta-purple-ink: #4a3f70;
}

.phonectacard-card {
    max-width: 460px;
    padding: 42px 38px;
    text-align: center;
    border-top: 4px solid var(--secondary);
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(69, 58, 104, 0.09);
}

.phonectacard-block--align-center .phonectacard-card {
    margin-left: auto;
    margin-right: auto;
}

.phonectacard-block--align-right .phonectacard-card {
    margin-left: auto;
}

.phonectacard-block--light .phonectacard-card {
    background: #ece2d8;
    box-shadow: none;
    border: 1px solid rgba(198, 174, 118, 0.4);
    border-top: 4px solid var(--secondary);
}

.phonectacard-block--primary .phonectacard-card {
    background: var(--pcta-purple);
    box-shadow: none;
}

.phonectacard-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--secondary);
    color: #ffffff;
    font-size: 22px;
    margin-bottom: 20px;
}

.phonectacard-heading {
    margin: 0 0 12px;
    color: var(--pcta-purple-ink);
    font-size: 1.55rem;
}

.phonectacard-copy {
    margin: 0 0 26px;
    color: #4d5361;
    font-size: 15px;
}

.phonectacard-block--primary .phonectacard-heading {
    color: #ffffff;
}

.phonectacard-block--primary .phonectacard-copy {
    color: rgba(255, 255, 255, 0.85);
}

/* Call button */
.phonectacard-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 17px 24px;
    border-radius: 9999px;
    background: var(--pcta-purple);
    color: #ffffff;
    font-family: var(--font2);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.phonectacard-phone:hover {
    background: var(--secondary);
    color: #ffffff;
}

.phonectacard-phone i {
    font-size: 15px;
}

/* Gold button: white label only reaches 2.16:1, so the number runs in deep purple ink. */
.phonectacard-block--primary .phonectacard-phone {
    background: var(--secondary);
    color: var(--pcta-purple-deep);
}

.phonectacard-block--primary .phonectacard-phone:hover {
    background: #ffffff;
    color: var(--pcta-purple);
}

.phonectacard-phone-label {
    margin: 12px 0 0;
    font-family: var(--font2);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #5b6270;
}

.phonectacard-block--primary .phonectacard-phone-label {
    color: rgba(255, 255, 255, 0.9);
}

/* Secondary link */
.phonectacard-link {
    display: inline-block;
    margin-top: 18px;
    font-family: var(--font2);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--pcta-purple-ink);
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.3s ease;
}

.phonectacard-link:hover {
    color: var(--secondary);
}

.phonectacard-block--primary .phonectacard-link {
    color: #ffffff;
}

.phonectacard-block--primary .phonectacard-link:hover {
    color: var(--secondary);
}

.phonectacard-footnote {
    margin: 20px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(74, 63, 112, 0.15);
    font-size: 13px;
    color: #5b6270;
}

.phonectacard-block--primary .phonectacard-footnote {
    border-top-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 1199px) {
    .phonectacard-card {
        max-width: 520px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 767px) {
    .phonectacard-card {
        padding: 34px 24px;
    }

    .phonectacard-heading {
        font-size: 1.35rem;
    }

    .phonectacard-phone {
        font-size: 1.05rem;
        padding-left: 16px;
        padding-right: 16px;
    }
}
