/* Общие стили */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

html {
    overflow-x: hidden;
}


/* Первая секция */
.section-first {
    width: 100%;
    height: 900px;
    background-color: #FBF7ED;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* Обертка для контента с фиксированными размерами */
.content-wrapper {
    position: relative;
    width: 1440px;
    height: 900px;
}



/* Текст Wedding */
.wedding-title {
    position: absolute;
    left: 30px;
    top: 37px;
    width: 583px;
    height: 262px;
    font-family: 'STIX Two Text', serif;
    font-style: italic;
    font-size: 100px;
    color: #84914B;
    line-height: 1;
}

/* Текст *свадьба */
.wedding-subtitle {
    position: absolute;
    left: 187px;
    top: 138px;
    width: 210px;
    height: 90px;
    font-family: 'STIX Two Text', serif;
    font-style: normal;
    font-weight: 400;
    font-size: 50px;
    color: #84914B;
    line-height: 1;
}

/* Текст Дмитрий */
.name-dmitriy {
    position: absolute;
    left: 620px;
    top: 345px;
    width: 663px;
    height: 311px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #84914B;
    line-height: 1;
}

/* Текст Анастасия */
.name-anastasia {
    position: absolute;
    left: 760px;
    top: 470px;
    width: 663.33px;
    height: 311.4px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #84914B;
    line-height: 1;
}

/* Текст 11.06.2026 */
.wedding-date {
    position: absolute;
    left: 1032px;
    top: 603px;
    width: 295px;
    height: 107px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 50px;
    color: #84914B;
    line-height: 1;
}

/* Картинка бокалы */
.image-bokal {
    position: absolute;
    left: 205px;
    top: 118px;
    width: 651px;
    height: 766px;
}

/* Вторая секция */
.section-second {
    width: 100%;
    height: 8800px;
    background-color: #BAC783;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.section-second .container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
}

.section-second .content-wrapper {
    position: relative;
    width: 1440px;
    height: 10000px;
}

/* Картинка we */
.image-we {
    position: absolute;
    left: 504px;
    top: 17px;
    width: 371px;
    height: 556px;
}

/* Векторный элемент */
.vector-box {
    position: absolute;
    left: 460px;
    top: 375px;
    width: 511px;
    height: 888px;
    background-color: #FBF7ED;
    border: 5px solid #49641C;
    border-radius: 250px;
}

/* Текст Дорогие родные и близкие */
.text-greeting {
    position: absolute;
    left: 576px;
    top: 467px;
    width: 281px;
    height: 138px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 55px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
}

/* Текст приглашения */
.text-invitation {
    position: absolute;
    left: 516px;
    top: 635px;
    width: 408px;
    height: 120px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 24px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
    -webkit-text-stroke: 0.2px #49641C;
}

/* Картинка календарь */
.image-calendar {
    position: absolute;
    left: 348px;
    top: 654px;
    width: 736px;
    height: 806px;
}

/* Картинка task */
.image-task {
    position: absolute;
    left: 187px;
    top: 1075px;
    width: 1045px;
    height: 336px;
}

/* Текст Локация */
.text-location {
    position: absolute;
    left: 876px;
    top: 1420px;
    width: 433px;
    height: 156px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст Загородный клуб */
.text-club {
    position: absolute;
    left: 546px;
    top: 1575px;
    width: 348px;
    height: 100px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #FBF7ED;
    line-height: 1.2;
    text-align: center;
}

/* Картинка pass */
.image-pass {
    position: absolute;
    left: 319px;
    top: 1362px;
    width: 720px;
    height: 859px;
}

/* Кнопка на карте */
.button-map {
    position: absolute;
    left: 651px;
    top: 2024px;
    width: 138px;
    height: 46px;
    background-color: #FBF7ED;
    border: 1px solid #B2C127;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.3s;
}

.button-map:hover {
    opacity: 0.8;
}

.button-map-text {
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 30px;
    color: #84914B;
}

/* Текст Тайминг */
.text-timing {
    position: absolute;
    left: 107px;
    top: 2245px;
    width: 475px;
    height: 152px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст Сбор гостей */
.text-gathering {
    position: absolute;
    left: 770px;
    top: 2497px;
    width: 252px;
    height: 52px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст Welcome фуршет */
.text-welcome {
    position: absolute;
    left: 770px;
    top: 2769px;
    width: 374px;
    height: 35px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст Торжественная церемония */
.text-ceremony {
    position: absolute;
    left: 770px;
    top: 2981px;
    width: 561px;
    height: 35px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст Свадебный банкет */
.text-banquet {
    position: absolute;
    left: 770px;
    top: 3215px;
    width: 374px;
    height: 35px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст Завершение вечера */
.text-ending {
    position: absolute;
    left: 770px;
    top: 3443px;
    width: 374px;
    height: 35px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст описания сбора гостей */
.text-gathering-desc {
    position: absolute;
    left: 770px;
    top: 2543px;
    width: 385px;
    height: 80px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 32px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст описания завершения вечера */
.text-ending-desc {
    position: absolute;
    left: 770px;
    top: 3496px;
    width: 537px;
    height: 80px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 32px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст время 15:30 */
.time-gathering {
    position: absolute;
    left: 547px;
    top: 2497px;
    width: 173px;
    height: 126px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 100px;
    color: #49641C;
    line-height: 1;
}

/* Текст время 16:30 */
.time-welcome {
    position: absolute;
    left: 547px;
    top: 2734px;
    width: 173px;
    height: 126px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 100px;
    color: #49641C;
    line-height: 1;
}

/* Текст время 17:00 */
.time-ceremony {
    position: absolute;
    left: 547px;
    top: 2951px;
    width: 173px;
    height: 126px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 100px;
    color: #49641C;
    line-height: 1;
}

/* Текст время 18:00 */
.time-banquet {
    position: absolute;
    left: 547px;
    top: 3181px;
    width: 173px;
    height: 126px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 100px;
    color: #49641C;
    line-height: 1;
}

/* Текст время 20:00 */
.time-ending {
    position: absolute;
    left: 547px;
    top: 3437px;
    width: 173px;
    height: 126px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 100px;
    color: #49641C;
    line-height: 1;
}

/* Картинка taim1 */
.image-taim1 {
    position: absolute;
    left: 230px;
    top: 2341px;
    width: 245px;
    height: 368px;
}

/* Картинка taim2 */
.image-taim2 {
    position: absolute;
    left: 248px;
    top: 2671px;
    width: 187px;
    height: 187px;
}

/* Картинка taim3 */
.image-taim3 {
    position: absolute;
    left: 214px;
    top: 2833px;
    width: 261px;
    height: 326px;
}

/* Картинка taim4 */
.image-taim4 {
    position: absolute;
    left: 255px;
    top: 3103px;
    width: 196px;
    height: 245px;
}

/* Картинка taim5 */
.image-taim5 {
    position: absolute;
    left: 270px;
    top: 3376px;
    width: 169px;
    height: 211px;
}

/* Текст ДРЕСС-КОД */
.text-dresscode {
    position: absolute;
    left: 876px;
    top: 3616px;
    width: 500px;
    height: 150px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст описания дресс-кода */
.text-dresscode-desc {
    position: absolute;
    left: 384px;
    top: 3804px;
    width: 693px;
    height: 195px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
}

/* Текст Подарки */
.text-gifts {
    position: absolute;
    left: 22px;
    top: 4221px;
    width: 475px;
    height: 152px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст описания подарков */
.text-gifts-desc {
    position: absolute;
    left: 305px;
    top: 4412px;
    width: 820px;
    height: 168px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
}

/* Картинка foto */
.image-foto {
    position: absolute;
    left: 979px;
    top: 4172px;
    width: 466px;
    height: 583px;
  
}

/* Картинка convert */
.image-convert {
    position: absolute;
    left: 69px;
    top: 4430px;
    width: 267px;
    height: 334px;
}

/* Текст Детали */
.text-details {
    position: absolute;
    left: 876px;
    top: 4999px;
    width: 500px;
    height: 150px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст описания деталей */
.text-details-desc {
    position: absolute;
    left: 262px;
    top: 5210px;
    width: 937px;
    height: 110px;
    font-family: 'STIX Two Text', serif;
    font-weight: 600;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
}

/* Текст номер 01 */
.text-number-01 {
    position: absolute;
    left: 178px;
    top: 5420px;
    width: 220px;
    height: 200px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 200px;
    color: #49641C;
    line-height: 1;
}

/* Текст номер 02 */
.text-number-02 {
    position: absolute;
    left: 178px;
    top: 5715px;
    width: 220px;
    height: 200px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 200px;
    color: #49641C;
    line-height: 1;
}

/* Текст номер 03 */
.text-number-03 {
    position: absolute;
    left: 178px;
    top: 6010px;
    width: 220px;
    height: 200px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 200px;
    color: #49641C;
    line-height: 1;
}

/* Текст описания 01 */
.text-desc-01 {
    position: absolute;
    left: 415px;
    top: 5404px;
    width: 836px;
    height: 266px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст описания 02 */
.text-desc-02 {
    position: absolute;
    left: 415px;
    top: 5751px;
    width: 836px;
    height: 162px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст описания 03 */
.text-desc-03 {
    position: absolute;
    left: 415px;
    top: 5986px;
    width: 836px;
    height: 210px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст Анкета */
.text-form {
    position: absolute;
    left: 107px;
    top: 6230px;
    width: 475px;
    height: 152px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст описания анкеты */
.text-form-desc {
    position: absolute;
    left: 307px;
    top: 6391px;
    width: 817px;
    height: 223px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
}

/* Картинка bant */
.image-bant {
    position: absolute;
    left: -258px;
    top: 6601px;
    width: 2008px;
    height: 177px;
}

/* Текст вопрос ФИО */
.text-question-name {
    position: absolute;
    left: 406px;
    top: 6794px;
    width: 650px;
    height: 50px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Поле ввода ФИО */
.input-name {
    position: absolute;
    left: 504px;
    top: 6865px;
    width: 437px;
    height: 50px;
    background-color: #D9D9D9;
    border: none;
    border-radius: 10px;
    padding: 0 15px;
    font-family: 'STIX Two Text', serif;
    font-size: 24px;
    color: #49641C;
}

.input-name::placeholder {
    color: #49641C;
    opacity: 0.6;
}

.input-name:focus {
    outline: 2px solid #49641C;
}

/* Текст вопрос о присутствии */
.text-question-attendance {
    position: absolute;
    left: 321px;
    top: 6947px;
    width: 817px;
    height: 50px;
    font-family: 'STIX Two Text', serif;
    font-weight: 500;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Группа радио-кнопок */
.radio-group {
    position: absolute;
    left: 416px;
    top: 7012px;
    width: 817px;
    height: 161px;
}

/* Опция радио-кнопки */
.radio-option {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    cursor: pointer;
    position: relative;
}

/* Скрываем стандартный radio input */
.radio-input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Кастомный кружок */
.radio-custom {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background-color: #D9D9D9;
    margin-right: 20px;
    flex-shrink: 0;
    transition: background-color 0.3s;
}

/* Когда выбрано */
.radio-input:checked + .radio-custom {
    background-color: #49641C;
}

/* Текст опции */
.radio-text {
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст вопрос о напитках */
.text-question-drinks {
    position: absolute;
    left: 321px;
    top: 7252px;
    width: 650px;
    height: 50px;
    font-family: 'STIX Two Text', serif;
    font-weight: 500;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Группа чекбоксов */
.checkbox-group {
    position: absolute;
    left: 416px;
    top: 7319px;
    width: 817px;
    height: 353px;
}

/* Опция чекбокса */
.checkbox-option {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    cursor: pointer;
    position: relative;
}

/* Скрываем стандартный checkbox input */
.checkbox-input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Кастомный квадратик */
.checkbox-custom {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background-color: #D9D9D9;
    margin-right: 20px;
    flex-shrink: 0;
    transition: background-color 0.3s;
}

/* Когда выбрано */
.checkbox-input:checked + .checkbox-custom {
    background-color: #49641C;
}

/* Текст опции чекбокса */
.checkbox-text {
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст вопрос о номере */
.text-question-room {
    position: absolute;
    left: 321px;
    top: 7805px;
    width: 897px;
    height: 50px;
    font-family: 'STIX Two Text', serif;
    font-weight: 500;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Группа радио-кнопок для номера */
.radio-group-room {
    position: absolute;
    left: 416px;
    top: 7875px;
    width: 817px;
    height: 161px;
}

/* Кнопка отправить */
.button-submit {
    position: absolute;
    left: 648px;
    top: 8092px;
    width: 138px;
    height: 46px;
    background-color: #FBF7ED;
    border: 1px solid #B2C127;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.3s;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 30px;
    color: #84914B;
}

.button-submit:hover {
    opacity: 0.8;
}

/* Картинка svechi */
.image-svechi {
    position: absolute;
    left: 920px;
    top: 7218px;
    width: 507px;
    height: 507px;
}

/* Текст Контакты */
.text-contacts {
    position: absolute;
    left: 876px;
    top: 8188px;
    width: 500px;
    height: 150px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 120px;
    color: #FBF7ED;
    line-height: 1;
}

/* Текст Жених */
.text-groom {
    position: absolute;
    left: 120px;
    top: 8428px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст Невеста */
.text-bride {
    position: absolute;
    left: 599px;
    top: 8428px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1;
}

/* Текст о организаторе */
.text-organizer-desc {
    position: absolute;
    left: 1004px;
    top: 8393px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 20px;
    color: #49641C;
    line-height: 1.2;
}

/* Текст Александра */
.text-organizer-name {
    position: absolute;
    left: 1004px;
    top: 8508px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 32px;
    color: #49641C;
    line-height: 1;
}

/* Телефон жениха */
.text-groom-phone {
    position: absolute;
    left: 80px;
    top: 8550px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 30px;
    color: #49641C;
    line-height: 1;
}

/* Телефон невесты */
.text-bride-phone {
    position: absolute;
    left: 570px;
    top: 8550px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 30px;
    color: #49641C;
    line-height: 1;
}

/* Телефон организатора */
.text-organizer-phone {
    position: absolute;
    left: 1004px;
    top: 8550px;
    font-family: 'STIX Two Text', serif;
    font-weight: 400;
    font-size: 30px;
    color: #49641C;
    line-height: 1;
}

/* Стили для ссылок телефонов */
.text-groom-phone:hover,
.text-bride-phone:hover,
.text-organizer-phone:hover {
    opacity: 0.7;
}

a.text-groom-phone,
a.text-bride-phone,
a.text-organizer-phone {
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.3s;
}

/* Ссылка на телеграм жениха */
.link-telegram-groom {
    position: absolute;
    left: 161px;
    top: 8596px;
    width: 73px;
    height: 73px;
    transition: opacity 0.3s;
}

.link-telegram-groom:hover {
    opacity: 0.7;
}

.link-telegram-groom img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Ссылка на телеграм невесты */
.link-telegram-bride {
    position: absolute;
    left: 640px;
    top: 8596px;
    width: 73px;
    height: 73px;
    transition: opacity 0.3s;
}

.link-telegram-bride:hover {
    opacity: 0.7;
}

.link-telegram-bride img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Ссылка на телеграм организатора */
.link-telegram-organizer {
    position: absolute;
    left: 1114px;
    top: 8596px;
    width: 73px;
    height: 73px;
    transition: opacity 0.3s;
}

.link-telegram-organizer:hover {
    opacity: 0.7;
}

.link-telegram-organizer img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Третья секция */
.section-third {
    width: 100%;
    height: 1249px;
    background-color: #C8CFAA;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.section-third .container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
}

.section-third .content-wrapper {
    position: relative;
    width: 1440px;
    height: 1249px;
}

/* Текст Ждём Вас! */
.text-waiting {
    position: absolute;
    left: 424px;
    top: 78px;
    width: 646px;
    height: 175px;
    font-family: 'STIX Two Text', serif;
    font-style: italic;
    font-size: 140px;
    color: #FBF7ED;
    line-height: 1;
}

/* Кружки таймера */
.timer-circle {
    position: absolute;
    top: 285px;
    width: 171px;
    height: 171px;
    background-color: #FBF7ED;
    border: 3px solid #49641C;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Цифры внутри кружков */
.timer-number {
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 140px;
    color: #49641C;
    line-height: 1;
}

/* Подписи под кружками */
.timer-label {
    position: absolute;
    top: 467px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 50px;
    color: #49641C;
    line-height: 1;
}

/* Картинка car */
.image-car {
    position: absolute;
    left: 184px;
    top: 592px;
    width: 1034px;
    height: 637px;
}


/* Четвертая секция */
.section-fourth {
    width: 100%;
    height: 206px;
    background-color: #BAC783;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-fourth .container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.section-fourth .content-wrapper {
    position: relative;
    width: 1440px;
    height: 206px;
}

/* Текст в четвертой секции */
.text-final-message {
    position: absolute;
    left: 98px;
    top: 42px;
    width: 1237px;
    height: 160px;
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-size: 40px;
    color: #49641C;
    line-height: 1.2;
    text-align: center;
}

/* Мобильная версия для экранов меньше 500px */
@media (max-width: 500px) {
    /* Первая секция - мобильная */
    .section-first {
        height: 900px;
    }
    
    .section-first .content-wrapper {
        width: 390px;
        height: 900px;
    }
    
    /* Текст Wedding - мобильная */
    .wedding-title {
        left: 37px;
        top: 85px;
        width: 250px;
        height: 74px;
        font-size: 64px;
    }
    
    /* Текст *свадьба - мобильная */
    .wedding-subtitle {
        left: 50px;
        top: 148px;
        width: 139px;
        height: 35px;
        font-size: 32px;
    }
    
    /* Картинка бокалы - мобильная */
    .image-bokal {
        left: 15px;
        top: 213px;
        width: 357px;
        height: 420px;
    }
    
    /* Текст Дмитрий - мобильная */
    .name-dmitriy {
        left: 24px;
        top: 620px;
        width: 240px;
        height: 65px;
        font-size: 60px;
    }
    
    /* Текст Анастасия - мобильная */
    .name-anastasia {
        left: 112px;
        top: 685px;
        width: 248px;
        height: 65px;
        font-size: 60px;
    }
    
    /* Дата 11.06.2026 - мобильная */
    .wedding-date {
        left: 149px;
        top: 804px;
        width: 92px;
        height: 24px;
        font-size: 20px;
    }
}

    /* Вторая секция - мобильная */
    .section-second {
        height: 4040px;
    }
    
    .section-second .content-wrapper {
        width: 390px;
        height: 4040px;
    }
    
    /* Картинка we - мобильная */
    .image-we {
        left: 87px;
        top: 0px;
        width: 206px;
        height: 309px;
    }
    
    /* Векторный блок - мобильная */
    .vector-box {
        left: 27px;
        top: 207px;
        width: 336px;
        height: 612px;
    }
    
    /* Текст приветствия - мобильная */
    .text-greeting {
        left: 85px;
        top: 278px;
        width: 205px;
        height: 100px;
        font-size: 40px;
    }
    
    /* Текст приглашения - мобильная */
    .text-invitation {
        left: 48px;
        top: 391px;
        width: 303px;
        height: 92px;
        font-size: 18px;
    }
    
    /* Картинка календарь - мобильная */
    .image-calendar {
        left: -62px;
        top: 404px;
        width: 527px;
        height: 555px;
    }
    
    /* Картинка task - мобильная */
    .image-task {
        left: -8px;
        top: 785px;
        width: 398px;
        height: 128px;
    }
    
    /* Текст Локация - мобильная */
    .text-location {
        left: 189px;
        top: 949px;
        width: 200px;
        height: 53px;
        font-size: 50px;
    }
    
    /* Текст клуб - мобильная */
    .text-club {
        left: 137px;
        top: 1024px;
        width: 131px;
        height: 38px;
        font-size: 15px;
    }
    
    /* Картинка pass - мобильная */
    .image-pass {
        left: 23px;
        top: 933px;
        width: 332px;
        height: 396px;
    }
    
    /* Кнопка на карте - мобильная */
    .button-map {
        left: 142px;
        top: 1241px;
        width: 93px;
        height: 25px;
    }
    
    .button-map-text {
        font-size: 20px;
    }
    
    /* Текст Тайминг - мобильная */
    .text-timing {
        left: 23px;
        top: 1343px;
        width: 204px;
        height: 63px;
        font-size: 50px;
    }
    
    /* Картинки таймлайна - мобильная */
    .image-taim1 {
        left: 23px;
        top: 1368px;
        width: 139px;
        height: 209px;
    }
    
    .image-taim2 {
        left: 39px;
        top: 1550px;
        width: 108px;
        height: 108px;
    }
    
    .image-taim3 {
        left: 22px;
        top: 1642px;
        width: 145px;
        height: 181px;
    }
    
    .image-taim4 {
        left: 51px;
        top: 1788px;
        width: 105px;
        height: 132px;
    }
    
    .image-taim5 {
        left: 55px;
        top: 1939px;
        width: 98px;
        height: 122px;
    }
    
    /* Время - мобильная */
    .time-gathering {
        left: 170px;
        top: 1434px;
        width: 56px;
        height: 31px;
        font-size: 25px;
    }
    
    .time-welcome {
        left: 170px;
        top: 1577px;
        width: 56px;
        height: 31px;
        font-size: 25px;
    }
    
    .time-ceremony {
        left: 170px;
        top: 1684px;
        width: 56px;
        height: 31px;
        font-size: 25px;
    }
    
    .time-banquet {
        left: 170px;
        top: 1820px;
        width: 56px;
        height: 31px;
        font-size: 25px;
    }
    
    .time-ending {
        left: 170px;
        top: 1943px;
        width: 56px;
        height: 31px;
        font-size: 25px;
    }
    
    /* Названия событий - мобильная */
    .text-gathering {
        left: 170px;
        top: 1463px;
        width: 156px;
        height: 32px;
        font-size: 20px;
    }
    
    .text-welcome {
        left: 170px;
        top: 1604px;
        width: 205px;
        height: 35px;
        font-size: 20px;
    }
    
    .text-ceremony {
        left: 170px;
        top: 1711px;
        width: 179px;
        height: 35px;
        font-size: 20px;
    }
    
    .text-banquet {
        left: 170px;
        top: 1851px;
        width: 188px;
        height: 35px;
        font-size: 20px;
    }
    
    .text-ending {
        left: 170px;
        top: 1969px;
        width: 200px;
        height: 35px;
        font-size: 20px;
    }
    
    /* Описание сбора гостей - мобильная */
    .text-gathering-desc {
        left: 170px;
        top: 1488px;
        width: 247px;
        height: 50px;
        font-size: 15px;
    }
    
    /* Описание завершения - мобильная */
    .text-ending-desc {
        left: 170px;
        top: 1994px;
        width: 180px;
        height: 57px;
        font-size: 15px;
    }
    
    /* Текст ДРЕСС-КОД - мобильная */
    .text-dresscode {
        left: 164px;
        top: 2075px;
        width: 220px;
        height: 96px;
        font-size: 50px;
    }
    
    /* Описание дресс-кода - мобильная */
    .text-dresscode-desc {
        left: 9px;
        top: 2153px;
        width: 376px;
        height: 79px;
        font-size: 15px;
    }
    
    /* Текст Подарки - мобильная */
    .text-gifts {
        left: 22px;
        top: 2365px;
        width: 190px;
        height: 54px;
        font-size: 50px;
    }
    
    /* Описание подарков - мобильная */
    .text-gifts-desc {
        left: 43px;
        top: 2442px;
        width: 300px;
        height: 180px;
        font-size: 15px;
    }
    
    /* Картинка foto - мобильная */
    .image-foto {
        left: 300px;
        top: 2400px;
        width: 104px;
        height: 130px;
    }
    
    /* Картинка convert - мобильная */
    .image-convert {
        left: 10px;
        top: 2474px;
        width: 58px;
        height: 72px;
    }
    
    /* Текст Детали - мобильная */
    .text-details {
        left: 216px;
        top: 2630px;
        width: 160px;
        height: 57px;
        font-size: 50px;
    }
    
    /* Описание деталей - мобильная */
    .text-details-desc {
        left: 38px;
        top: 2705px;
        width: 325px;
        height: 39px;
        font-size: 15px;
    }
    
    /* Номера - мобильная */
    .text-number-01 {
        left: 38px;
        top: 2767px;
        width: 102px;
        height: 116px;
        font-size: 100px;
    }
    
    .text-number-02 {
        left: 38px;
        top: 2870px;
        width: 102px;
        height: 116px;
        font-size: 100px;
    }
    
    .text-number-03 {
        left: 38px;
        top: 2971px;
        width: 102px;
        height: 116px;
        font-size: 100px;
    }
    
    /* Описания к номерам - мобильная */
    .text-desc-01 {
        left: 142px;
        top: 2777px;
        width: 211px;
        height: 100px;
        font-size: 12px;
    }
    
    .text-desc-02 {
        left: 132px;
        top: 2904px;
        width: 227px;
        height: 55px;
        font-size: 12px;
    }
    
    .text-desc-03 {
        left: 128px;
        top: 3000px;
        width: 239px;
        height: 68px;
        font-size: 12px;
    }
    
    /* Текст Анкета - мобильная */
    .text-form {
        left: 25px;
        top: 3092px;
        width: 129px;
        height: 48px;
        font-size: 50px;
    }
    
    /* Описание анкеты - мобильная */
    .text-form-desc {
        left: 34px;
        top: 3168px;
        width: 326px;
        height: 101px;
        font-size: 15px;
    }
    
    /* Картинка bant - мобильная */
    .image-bant {
        left: -180px;
        top: 3255px;
        width: 750px;
        height: 77px;
    }
    
    /* Вопрос ФИО - мобильная */
    .text-question-name {
        left: 47px;
        top: 3345px;
        width: 292px;
        height: 18px;
        font-size: 15px;
    }
    
    /* Поле ввода ФИО - мобильная */
    .input-name {
        left: 99px;
        top: 3382px;
        width: 191px;
        height: 24px;
        font-size: 14px;
    }
    
    /* Вопрос о присутствии - мобильная */
    .text-question-attendance {
        left: 36px;
        top: 3441px;
        width: 310px;
        height: 18px;
        font-size: 15px;
    }

    .radio-option {
        margin-bottom: 1.3px;  /* Уменьшит расстояние между опциями */
}
    
    /* Группа радио-кнопок - мобильная */
    .radio-group {
        left: 86px;
        top: 3465px;
        width: 310px;
        height: 58px;
    }
    
    .radio-text {
        font-size: 15px;
    }
    
    /* Вопрос о напитках - мобильная */
    .text-question-drinks {
        left: 36px;
        top: 3534px;
        width: 310px;
        height: 18px;
        font-size: 15px;
        
    }
    
    /* Группа чекбоксов - мобильная */
    .checkbox-group {
        left: 86px;
        top: 3558px;
        width: 297px;
        height: 129px;
    }
    
    .checkbox-text {
        font-size: 15px;
    }
    
    /* Вопрос о номере - мобильная */
    .text-question-room {
        left: 36px;
        top: 3729px;
        width: 340px;
        height: 18px;
        font-size: 15px;
    }
    
    /* Группа радио-кнопок номер - мобильная */
    .radio-group-room {
        left: 86px;
        top: 3750px;
        width: 297px;
        height: 55px;
    }
    
    /* Картинка svechi - мобильная */
    .image-svechi {
        left: 221px;
        top: 3534px;
        width: 164px;
        height: 164px;
    }
    
    /* Кнопка отправить - мобильная */
    .button-submit {
        left: 148px;
        top: 3800px;
        width: 93px;
        height: 25px;
        font-size: 15px;
    }
    
    /* Текст Контакты - мобильная */
    .text-contacts {
        left: 139px;
        top: 3845px;
        width: 247px;
        height: 56px;
        font-size: 50px;
    }
    
    /* Жених - мобильная */
    .text-groom {
        left: 51px;
        top: 3932px;
        font-size: 15px;
    }
    
    /* Невеста - мобильная */
    .text-bride {
        left: 150px;
        top: 3932px;
        font-size: 15px;
    }
    
    /* Организатор имя - мобильная */
    .text-organizer-name {
        left: 244px;
        top: 3932px;
        font-size: 15px;
    }
    
    /* Телефоны - мобильная */
    .text-groom-phone {
        left: 32px;
        top: 3956px;
        font-size: 10px;
    }
    
    .text-bride-phone {
        left: 138px;
        top: 3956px;
        font-size: 10px;
    }
    
    .text-organizer-phone {
        left: 244px;
        top: 3956px;
        font-size: 10px;
    }
    
    /* Иконки Telegram - мобильная */
    .link-telegram-groom {
        left: 57px;
        top: 3976px;
        width: 27px;
        height: 27px;
    }
    
    .link-telegram-bride {
        left: 163px;
        top: 3976px;
        width: 27px;
        height: 27px;
    }
    
    .link-telegram-organizer {
        left: 267px;
        top: 3976px;
        width: 27px;
        height: 27px;
    }
    
    /* Текст организатора описание - мобильная */
    .text-organizer-desc {
        left: 244px;
        top: 3895px;
        width: 134px;
        height: 65px;
        font-size: 8px;
    }


    /* Настройка расстояний для радио и чекбоксов - мобильная */
    .radio-option {
        margin-bottom: 5px;
        line-height: 1;
    }
    
    .checkbox-option {
        margin-bottom: 5px;
        line-height: 1;
    }
    
    .radio-custom,
    .checkbox-custom {
        width: 12px;
        height: 12px;
        margin-right: 10px;
    }

    /* Третья секция - мобильная */
    .section-third {
        height: 441px;
    }
    
    .section-third .content-wrapper {
        width: 390px;
        height: 441px;
    }
    
    /* Текст Ждём Вас! - мобильная */
    .text-waiting {
        left: 74px;
        top: 32px;
        width: 231px;
        height: 63px;
        font-size: 50px;
    }
    
    /* Кружки таймера - мобильная */
    .timer-circle {
        top: 99px;
        left: 1px;
        width: 56px;
        height: 52px;
        border: 3px solid #49641C;
    }
    
    .timer-circle:nth-of-type(2) {
        left: 56px;
    }
    
    .timer-circle:nth-of-type(4) {
        left: 127px;
    }
    
    .timer-circle:nth-of-type(6) {
        left: 198px;
    }
    
    .timer-circle:nth-of-type(8) {
        left: 270px;
    }
    
    /* Цифры таймера - мобильная */
    .timer-number {
        font-size: 30px;
    }
    
    /* Подписи таймера - мобильная */
    .timer-label {
        top: 163px;
        font-size: 20px;
    }
    
    .timer-label:nth-of-type(3) {
        left: 69px;
    }
    
    .timer-label:nth-of-type(5) {
        left: 137px;
    }
    
    .timer-label:nth-of-type(7) {
        left: 202px;
    }
    
    .timer-label:nth-of-type(9) {
        left: 279px;
    }
    
    /* Картинка car - мобильная */
    .image-car {
        left: 0px;
        top: 188px;
        width: 385px;
        height: 237px;
    }


    /* Переопределение позиций кружков таймера для мобильной */
    .section-third .content-wrapper .timer-circle:nth-child(2) {
        left: 56px !important;
    }
    
    .section-third .content-wrapper .timer-circle:nth-child(4) {
        left: 127px !important;
    }
    
    .section-third .content-wrapper .timer-circle:nth-child(6) {
        left: 198px !important;
    }
    
    .section-third .content-wrapper .timer-circle:nth-child(8) {
        left: 270px !important;
    }
    
    /* Переопределение позиций подписей таймера для мобильной */
    .section-third .content-wrapper .timer-label:nth-child(3) {
        left: 69px !important;
    }
    
    .section-third .content-wrapper .timer-label:nth-child(5) {
        left: 137px !important;
    }
    
    .section-third .content-wrapper .timer-label:nth-child(7) {
        left: 202px !important;
    }
    
    .section-third .content-wrapper .timer-label:nth-child(9) {
        left: 279px !important;
    }

    /* Четвертая секция - мобильная */
    .section-fourth {
        height: 120px;
    }
    
    .section-fourth .content-wrapper {
        width: 390px;
        height: 120px;
    }
    
    /* Текст финального сообщения - мобильная */
    .text-final-message {
        left: 14px;
        top: 27px;
        width: 362px;
        height: 71px;
        font-size: 15px;
    }

/* ========== АНИМАЦИИ И ЭФФЕКТЫ ========== */

/* Плавная прокрутка */
html {
    scroll-behavior: smooth;
}

/* Анимация fade in при загрузке - улучшенная */
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Анимация для текстов - мягкое появление с легким размытием */
@keyframes fadeInSoft {
    0% {
        opacity: 0;
        transform: translateY(15px) scale(0.98);
        filter: blur(2px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* Анимация для изображений - масштабирование */
@keyframes scaleIn {
    0% {
        opacity: 0;
        transform: scale(0.92);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Анимация для курсивных текстов - элегантное появление */
@keyframes fadeInElegant {
    0% {
        opacity: 0;
        transform: translateY(10px);
        filter: blur(3px);
    }
    60% {
        opacity: 0.8;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

/* Анимация пульсации для кнопки отправить */
@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(178, 193, 39, 0.7);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(178, 193, 39, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(178, 193, 39, 0);
    }
}

/* Анимация при клике */
@keyframes clickEffect {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.95);
    }
    100% {
        transform: scale(1);
    }
}

/* Класс для элементов, которые появляются при скролле */
.fade-in-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), 
                transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Применение анимаций к элементам первой секции при загрузке */
.section-first .content-wrapper > * {
    opacity: 0;
}

.section-first .wedding-title {
    animation: fadeInSoft 1.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.3s;
}

.section-first .wedding-subtitle {
    animation: fadeInSoft 1.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.5s;
}

.section-first .image-bokal {
    animation: scaleIn 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.7s;
}

.section-first .name-dmitriy {
    animation: fadeInElegant 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.9s;
}

.section-first .name-anastasia {
    animation: fadeInElegant 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 1.1s;
}

.section-first .wedding-date {
    animation: fadeInSoft 1.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 1.3s;
}

/* Пульсация кнопки отправить */
.button-submit {
    animation: pulse 2s infinite;
}

.button-submit:hover {
    animation: none;
    transform: scale(1.1);
}

/* Эффект при клике на кнопки */
.button-submit:active,
.button-map:active {
    animation: clickEffect 0.3s ease;
}

/* Улучшенные hover эффекты */
.button-map:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.link-telegram-groom:hover img,
.link-telegram-bride:hover img,
.link-telegram-organizer:hover img {
    transform: rotate(15deg) scale(1.1);
    transition: transform 0.3s ease;
}

/* Hover для телефонов */
a.text-groom-phone:hover,
a.text-bride-phone:hover,
a.text-organizer-phone:hover {
    transform: translateX(5px);
    transition: all 0.3s ease;
}

/* Анимация для радио и чекбоксов */
.radio-custom,
.checkbox-custom {
    transition: all 0.3s ease;
}

.radio-input:checked + .radio-custom,
.checkbox-input:checked + .checkbox-custom {
    transform: scale(1.2);
}

/* Hover для поля ввода */
.input-name:hover {
    border: 2px solid #84914B;
    transition: border 0.3s ease;
}

/* Анимация таймера */
.timer-circle {
    transition: transform 0.3s ease;
}

.timer-circle:hover {
    transform: scale(1.1);
}

/* Плавное появление только первой секции при загрузке */
.section-first {
    opacity: 1;
}

/* Остальные секции появляются только при скролле */
.section-second,
.section-third,
.section-fourth {
    opacity: 1;
}


/* ========== АНИМАЦИИ ДЛЯ УВЕДОМЛЕНИЙ ========== */
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

@keyframes slideUp {
    from {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    to {
        opacity: 0;
        transform: translateX(-50%) translateY(-20px);
    }
}


/* ========== МУЗЫКАЛЬНЫЙ ПЛЕЕР ========== */
.music-toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: transparent;
    border: 3px solid #49641C;
    cursor: pointer;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    padding: 0;
}

.music-toggle:hover {
    background-color: rgba(73, 100, 28, 0.1);
    transform: scale(1.1);
}

.music-toggle:active {
    transform: scale(0.95);
}

.music-toggle svg {
    width: 24px;
    height: 24px;
    transition: opacity 0.3s ease;
}

.music-toggle .play-icon {
    padding-left: 3px; /* Центрируем треугольник play */
}

/* Анимация пульсации при воспроизведении */
.music-toggle.playing {
    animation: musicPulse 2s ease-in-out infinite;
}

@keyframes musicPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(73, 100, 28, 0.4);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(73, 100, 28, 0);
    }
}

/* Мобильная версия */
@media (max-width: 500px) {
    .music-toggle {
        top: 10px;
        right: 10px;
        width: 48px;
        height: 48px;
    }
    
    .music-toggle svg {
        width: 20px;
        height: 20px;
    }
}
