.card-promo {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 28px;
    border-radius: 26px;
    border: 1px solid #DDE7F7;
    background: #FFFFFF;
}

.card-promo__header {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
}

.card-promo__header-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;

    background: #E8FAF4;
    flex-shrink: 0;
}

.card-promo__header-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.card-promo__header-title {
    color: #172554;
    font-family: "Onest", sans-serif;
    font-size: 25px;
    font-weight: 800;
}

.card-promo__header-description {
    color: #52627E;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45em;
}

.card-promo__form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.card-promo__form-sign {
    color: #172554;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2em;
}

.card-promo__form-input {
    width: 100%;
    height: 54px;
    padding: 16px 18px 16px 18px;
    border: 1px solid #DDE7F7;
    background: #F8FBFF;
    color: #172554;
    border-radius: 16px;
    font-size: 14px;
    outline: none;
    font-family: "Onest", sans-serif;
}

.card-promo__form-input::placeholder {
    color: #8290A8;
}

.card-promo__form-input:focus {
    border: 1.5px solid #00B17C;
}

.card-promo-btn {
    width: 100%;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 20px 12px 20px;
    cursor: pointer;
    border-radius: 16px;
    background: #00B17C;
    border: none;

    color: #FFFFFF;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2em;

    transition:
        transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
        background-color 0.2s ease,
        box-shadow 0.2s ease;

    user-select: none;
}

.card-promo-btn:hover {
    transform: translateY(-2px) scale(1.02);
    background: #0BC48C;
    box-shadow: 0 12px 24px rgba(0, 177, 124, 0.24);
}

.card-promo-btn:active {
    transform: translateY(0) scale(0.98);
    background: #009E70;
    box-shadow: 0 6px 14px rgba(0, 177, 124, 0.18);
}

.card-promo-btn:focus-visible {
    outline: 3px solid rgba(0, 177, 124, 0.25);
    outline-offset: 3px;
}

.card-promo-btn-text {
    color: #FFFFFF;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2em;
}

.card-promo__subscription {
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid #D9E4FF;
    background: #EAF0FF;
}

.card-promo__subscription-name {
    color: #172554;
    font-family: "Onest", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2em;
}

.card-promo__subscription-description {
    color: #172554;
    font-family: "Onest", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}

.card-promo__subscription-rules {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.card-promo__subscription-text,
.card-promo__subscription-text-amount {
    color: #52627E;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45em;
}

.card-promo__activated {
    width: 100;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid #C5F0DF;
    background: #E8FAF4;
}

.card-promo__activated-name {
    color: #172554;
    font-family: "Onest", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2em;
}

.card-promo__activated-description {
    color: #52627E;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45em;
}

.card-promo__failed {
    background: #FFF8EC;
    width: 100%;
    display: none;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 12px 14px;
    border: 1px solid #F3E3C7;
    border-radius: 14px;
}

.card-promo__failed-svg {
    flex-shrink: 0;
}

.card-promo__failed-text {
    color: #805511;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35em;
}

@font-face {
    font-family: "Onest";
    src: url("/fonts/Onest-VariableFont_wght.ttf") format("truetype");

    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "BalsamqSansBold";
    src: url("/fonts/BalsamiqSans-Bold.ttf") format("truetype");

    font-weight: normal;
    font-style: normal;
}