body {
    margin: 0;
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
    background: linear-gradient(indigo, #60b, #60b, indigo);
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background: transparent; /* Убираем фон, делаем прозрачным */
}

h1 {
    margin: 0;
    font-size: 1.17em; /* Размер шрифта, соответствующий <h3> */
    color: white; /* Белый цвет текста для контраста */
    font-style: italic; /* Курсив */
    font-family: Arial, sans-serif; /* Шрифт Arial */
}

.subtitle {
    text-align: center;
    color: white; /* Белый цвет для контраста */
    margin: 10px 0; /* Отступы сверху и снизу */
    font-size: 28px; /* Размер шрифта для подзаголовка */
    font-family: Arial, sans-serif; /* Шрифт Arial */
    font-weight: 300; /* Тонкий шрифт */
}

.language-toggle {
    color: white; /* Белый цвет для всех состояний */
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}

.language-toggle:visited,
.language-toggle:hover,
.language-toggle:active {
    color: white; /* Убедитесь, что цвет остается белым */
}

main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

.product-image {
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
    width: auto;
    max-height: 50vh; /* Ограничиваем высоту изображения до 50% высоты экрана */
    object-fit: contain; /* Сохраняем пропорции изображения */
}

/* Медиа-запросы для адаптивного отображения */
@media screen and (max-width: 768px) {
    .product-image {
        max-height: 40vh; /* Уменьшаем максимальную высоту на мобильных устройствах */
        margin: 10px auto; /* Центрируем изображение */
    }
}

@media screen and (max-width: 480px) {
    .product-image {
        max-height: 35vh; /* Еще меньше для маленьких экранов */
    }
}

.cta-button {
    background-color: #ff4500; /* Морковно-красный цвет */
    color: white;
    border: none;
    padding: 20px 40px; /* Увеличенный размер кнопки */
    font-size: 1.2em; /* Увеличенный размер шрифта */
    cursor: pointer;
    border-radius: 5px;
}

footer {
    text-align: center;
    padding: 10px;
    /* Удален фон */
}

.service-cost {
    color: #b0b0b0; /* Более блеклый светло-серый цвет */
    margin: 0;
    text-align: center;
    width: 100%;
    font-size: 0.8em; /* Еще меньший размер шрифта */
}

.service-cost a {
    color: #b0b0b0; /* Устанавливаем цвет ссылки таким же, как и у остального текста */
    text-decoration: underline; /* Оставляем подчеркивание */
}

.service-cost a:hover,
.service-cost a:visited,
.service-cost a:active {
    color: #b0b0b0; /* Убедитесь, что цвет остается блеклым во всех состояниях */
}

form {
    display: flex;
    flex-direction: column;
    align-items: center; /* Центрируем элементы по горизонтали */
}

input[type="text"] {
    width: 80%; /* Устанавливаем ширину поля ввода */
    max-width: 300px; /* Максимальная ширина для больших экранов */
    padding: 10px; /* Внутренние отступы для удобства ввода */
    margin-bottom: 5px; /* Еще меньший отступ снизу для разделения с кнопкой */
    font-size: 1em; /* Размер шрифта */
    border: 1px solid #ccc; /* Граница поля ввода */
    border-radius: 5px; /* Скругленные углы */
    box-sizing: border-box; /* Учитываем границы и отступы в ширине */
}

/* Стиль для сообщений об ошибках */
.error-message {
    color: red;
    font-size: 14px;
    margin-top: 2px; /* Уменьшаем отступ сверху с 5px до 2px */
    text-align: center;
    width: 80%;
    max-width: 300px;
}

/* Стиль для сообщения об успешной подписке */
.success-message {
    color: #4CAF50; /* Зеленый цвет */
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    width: 80%;
    max-width: 300px;
    margin: 20px auto;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}