/* Базовые стили */
.modal {
   box-sizing: border-box;
}

body {
   font-family: 'Arial', sans-serif;
   line-height: 1.4;
   margin: 0;
   padding: 0;
   background-color: #f5f5f5;
}

/* Стили модального окна */
.modal {
   display: none;
   position: fixed;
   z-index: 1000;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0,0,0,0.5);
}

.modal-content {
   background-color: #fff;
   margin: 30px auto;
   padding: 25px;
   border-radius: 10px;
   box-shadow: 0 5px 25px rgba(0,0,0,0.3);
   animation: modalopen 0.3s;
   max-height: 90vh;
   overflow: hidden;
}

@keyframes modalopen {
   from {opacity: 0; transform: translateY(-30px);}
   to {opacity: 1; transform: translateY(0);}
}

.close-btn {
   color: #aaa;
   float: right;
   font-size: 28px;
   font-weight: bold;
   cursor: pointer;
   line-height: 1;
   margin-left: 15px;
   transition: color 0.2s;
}

.close-btn:hover {
   color: #333;
}

/* Стили формы */
.order-form h2 {
   text-align: center;
   margin: 0 0 20px 0;
   color: #2c3e50;
   font-size: 1.8em;
}

.form-row {
   display: flex;
   align-items: center;
   margin-bottom: 16px;
   width: 100%;
}

.form-label {
   flex: 0 0 160px;
   font-weight: bold;
   color: #34495e;
   margin-right: 15px;
   font-size: 16px;
}

.form-control {
   flex: 1;
   padding: 10px 12px;
   border: 1px solid #ddd;
   border-radius: 5px;
   font-size: 16px;
   min-width: 0;
   height: 42px;
}

.form-control:focus {
   border-color: #3498db;
   outline: none;
   box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
}

.form-textarea {
   height: 100px;
   resize: vertical;
   padding: 12px;
}

.submit-btn {
   background-color: #3498db;
   color: white;
   border: none;
   padding: 12px;
   width: 100%;
   font-size: 17px;
   border-radius: 5px;
   cursor: pointer;
   transition: background-color 0.2s;
   margin-top: 15px;
   font-weight: bold;
}

.submit-btn:hover {
   background-color: #2980b9;
}

/* Стили для радиокнопок */
.radio-group {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
}

.radio-option {
   flex: 1;
   min-width: 0;
}

.radio-option input {
   display: none;
}

.radio-option label {
   display: block;
   padding: 10px 12px;
   background: #f1f1f1;
   border-radius: 5px;
   text-align: center;
   cursor: pointer;
   transition: all 0.2s;
   font-size: 14px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.radio-option input:checked + label {
   background: #3498db;
   color: white;
}

/* Адаптация для разных экранов */
/* Большие экраны (1200px и больше) */
@media (min-width: 1200px) {
   .modal-content {
         width: 600px;
         padding: 30px;
   }
   
   .form-label {
         flex-basis: 180px;
         font-size: 17px;
   }
   
   .form-control {
         padding: 12px 15px;
         font-size: 17px;
         height: 46px;
   }
   
   .form-textarea {
         height: 120px;
   }
   
   .submit-btn {
         padding: 14px;
         font-size: 18px;
   }
}

/* Десктоп (1024px - 1199px) */
@media (min-width: 1024px) and (max-width: 1199px) {
   .modal-content {
         width: 550px;
         padding: 28px;
   }
   
   .form-label {
         flex-basis: 170px;
   }
}

/* Планшеты (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
   .modal-content {
         width: 500px;
   }
}

/* Мобильные (до 767px) */
@media (max-width: 767px) {
   .modal-content {
         width: 88%;
         margin: 20px auto;
         padding: 20px;
   }
   
   .form-row {
         flex-direction: column;
         align-items: flex-start;
         margin-bottom: 6px;
   }
   
   .form-label {
         flex: none;
         width: 100%;
         margin-bottom: 4px;
         margin-right: 0;
         font-size: 15px;
   }
   
   .form-control {
         width: 90%;
         font-size: 15px;
         padding: 8px 12px;
   }
   
   .radio-group {
         width: 100%;
   }
   
   .radio-option {
         flex: 1 1 calc(50% - 5px);
   }
   
   .order-form h2 {
         font-size: 1.6em;
         margin-bottom: 15px;
   }
}
.recaptcha-badge {
   visibility: hidden; /* Скрываем стандартный бейдж reCAPTCHA */
}

.form-error {
   color: #e74c3c;
   font-size: 13px;
   margin-top: 5px;
   display: none;
}