/* Оверлей для блокировки сайта */
.promo-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background: #1F1F1F;
    z-index: 999; /* ниже баннера, но выше всего сайта */
    display: none;
}

/* Баннер */
.promo-banner {
    width: 500px;
    padding: 30px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    position: absolute;
    background: white;
    flex-direction: column;
    justify-content: center;
    display: flex;
}

.promo-subscribe-form {
    gap: 32px;
    flex: 1;
    flex-direction: column;
    margin: 0;
    display: flex;
}

.promo-banner-logo {
    width: 42px;
    height: 42px;
    display: flex; /* чтобы убрать "inline" поведение */
    margin: 0 auto; /* по центру */
}

.promo-banner-info {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    display: flex
}

.promo-banner-info-label {
    color: black;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    word-wrap: break-word;
    margin: 0;
}

.promo-banner-info-text {
    align-self: stretch;
    text-align: center;
    color: #1F1F1F;
    font-size: 18px;
    font-family: Manrope, sans-serif;
    font-weight: 400;
    word-wrap: break-word;
    margin: 0;
}

.promo-banner-input {
    width: 100%;
    display: flex;
    justify-content: center; /* центрируем input */
}

.promo-banner-input {
    width: 100% !important;
    max-width: 500px; /* задаём разумную ширину поля */
}


.promo-banner-buttons {
    display: flex;
    flex-direction: column;
    align-items: center; /* центрируем кнопки */
    gap: 16px;
}

.promo-banner-buttons button {
    width: 100%;
}

.promo-banner-buttons button {
    display: flex;
    height: 52px;
    padding: 10px 16px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    cursor: pointer;
    font-family: Manrope, sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.promo-banner-confirm {
    background: #1F1F1F;
    color: #FFFFFF;
}

.promo-banner-reject {
    background: #F5F5F5;
}

.promo-banner-reject.span {
    color: #1F1F1F;
}

.promo-banner-confirm:hover,
.promo-banner-reject:hover {
    opacity: 0.7;
}

.promo-success {
    display: flex;
    gap: 32px;
    flex: 1;
    flex-direction: column;
    margin: 0;
}

.coupon-code {
    align-self: stretch;
    text-align: center;
    color: #1F1F1F;
    font-size: 52px;
    font-family: Manrope, sans-serif;
    font-weight: 400;
    word-wrap: break-word
}


@media (max-width: 480px) {
    .promo-banner {
        transform: translate(-50%, -50%) scale(0.75); /* ещё сильнее уменьшаем */
    }

    /* Уменьшаем шрифты внутри, чтобы они не были слишком большими после масштабирования */
    .promo-banner-info-label {
        font-size: 20px;
    }

    .coupon-code {
        font-size: 28px;
    }

    .promo-banner-info-text,
    .promo-banner-input input,
    .float-label label,
    .promo-banner-input input p label {
        font-size: 16px !important;
    }
}

@media (max-width: 320px) {
    .promo-banner {
        transform: translate(-50%, -50%) scale(0.5);
    }

    /* Уменьшаем шрифты внутри, чтобы они не были слишком большими после масштабирования */
    .promo-banner-info-label {
        font-size: 20px;
    }

    .promo-banner-info-text,
    .promo-banner-input input,
    .float-label label,
    .promo-banner-input input p label {
        font-size: 16px !important;
    }
}