/* Standalone TE Card layout; theme CTA layout classes are intentionally omitted. */
.te-card {
    box-sizing: border-box;
    width: 100%;
    display: flow-root;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    clear: both;
    margin: 24px 0 0;
    padding: clamp(32px, 5vw, 72px) clamp(16px, 3vw, 40px);
    background-color: #eaecf0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.te-card .te-card__inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0; }
.te-card .te-card__box {
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px);
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgb(0 0 0 / 14%);
    text-align: center;
}
.te-card .te-card__content { width: 100%; max-width: none; margin: 0; padding: 0; }
.te-card .te-card__heading { margin: 0 0 18px; font-size: clamp(26px, 3vw, 38px); line-height: 1.2; }
.te-card .te-card__text { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; overflow-wrap: anywhere; }
.te-card .te-card__text p { margin: 0 0 16px; }
.te-card .te-card__text > :last-child { margin-bottom: 0; }
.te-card .te-card__text a { color: var(--theme-primary, #165790); text-decoration: underline; }
.te-card .te-card__contacts { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 20px 32px; margin: 28px 0 0; padding: 0; border: 0; }
.te-card .te-card__number, .te-card .te-card__button-wrap { display: flex; align-items: center; justify-content: center; flex: 0 1 auto; width: auto; margin: 0; padding: 0; border: 0; }
.te-card .te-card__phone { display: inline-block; font-size: clamp(25px, 3vw, 34px); font-weight: 700; line-height: 1.2; color: var(--theme-primary, #165790); text-decoration: none; }
.te-card .te-card__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    box-sizing: border-box;
    margin: 0;
    min-height: 52px;
    padding: 15px 28px;
    border: 0;
    border-radius: 100px;
    color: #fff;
    background: transparent radial-gradient(closest-side at 50% 50%, var(--theme-secondary, #2d86c5) 0%, var(--theme-primary, #165790) 100%);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 4px 12px rgb(0 0 0 / 16%);
}
.te-card::before, .te-card::after,
.te-card .te-card__contacts::before, .te-card .te-card__contacts::after,
.te-card .te-card__number::before, .te-card .te-card__number::after,
.te-card .te-card__button-wrap::before, .te-card .te-card__button-wrap::after,
.te-card .te-card__button::before, .te-card .te-card__button::after { content: none; display: none; }
.te-card .te-card__button:focus-visible, .te-card .te-card__phone:focus-visible { outline: 3px solid var(--theme-primary, #165790); outline-offset: 4px; }
@media (max-width: 600px) {
    .te-card .te-card__contacts { flex-direction: column; gap: 20px; }
    .te-card .te-card__button { max-width: 100%; }
}

/* Divider between the phone and button, without changing their spacing. */
.te-card .te-card__button-wrap { position: relative; }
.te-card .te-card__number + .te-card__button-wrap::before {
    content: "";
    display: block;
    position: absolute;
    left: -17px;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 52px;
    background-color: #111;
}
@media (max-width: 600px) {
    .te-card .te-card__number + .te-card__button-wrap::before { display: none; }
}

.te-card .te-card__button {
    text-transform: none;
}