/* --- СЕТКА И КАРТОЧКИ --- */
.services-list-container {
    margin: 0 auto !important;
    max-width: 1525px !important;
    width: 100% !important;
    margin-bottom: 40px !important;
    display: block !important;
}

.services-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.service-card {
    display: flex !important;
    flex-direction: column !important;
    width: calc(25% - 15px) !important; 
    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    padding: 0 !important; /* Убрали отступы, чтобы картинка была на 100% ширины */
    overflow: hidden !important; /* Обрезаем все, что выходит за края */
    height: auto !important;
}

/* Блок картинки */
.service-img-wrap {
    width: 100% !important;
    height: 220px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border: none !important;
}

.service-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Контент внутри карточки */
.service-content {
    padding: 20px !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.service-title {
    margin: 0 0 12px 0 !important;
}

.service-title a {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #333333 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    display: block !important;
}

.service-desc {
    font-size: 0.875rem !important;
    color: #666666 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Кнопки */
.service-actions {
    padding: 0 20px 20px 20px !important;
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: auto !important;
}

.btn-order {
    flex-grow: 1 !important;
    background-color: #27ae60 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 15px !important;
    height: 42px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.btn-detail-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    flex-shrink: 0 !important;
    border: 1px solid #27ae60 !important;
    color: #27ae60 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.btn-detail-arrow svg {
    width: 24px !important;
    height: 24px !important;
}

/* --- МОДАЛЬНОЕ ОКНО --- */
.custom-modal-overlay {
    position: fixed !important;
    top: 0 !important; 
    left: 0 !important; 
    width: 100vw !important; 
    height: 100vh !important;
    background: rgba(0,0,0,0.7) !important;
    z-index: 9999999 !important; /* Огромный z-index */
    display: none !important; /* Скрыто по умолчанию */
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Класс активации модалки */
.custom-modal-overlay.modal-active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.custom-modal {
    background: #fff !important;
    padding: 40px !important;
    width: 100% !important;
    max-width: 600px !important;
    position: relative !important;
    box-sizing: border-box !important;
    z-index: 10000000 !important;
    margin: auto !important;
    transform: none !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
}

.custom-modal-close {
    position: absolute !important;
    top: 0 !important; 
    right: 0 !important;
    width: 40px !important; 
    height: 40px !important;
    background: #27ae60 !important;
    color: #fff !important;
    border: none !important;
    font-size: 28px !important;
    cursor: pointer !important;
    line-height: 40px !important;
    text-align: center !important;
    padding: 0 !important;
}

.custom-modal-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    margin: 0 0 20px 0 !important;
    color: #000 !important;
    line-height: 1.2 !important;
}

.custom-modal-service-name {
    background: #f8f9fa !important;
    padding: 15px !important;
    font-weight: 600 !important;
    margin: 0 0 20px 0 !important;
    color: #333 !important;
    border: 1px solid #eee !important;
}

.form-group {
    margin: 0 0 20px 0 !important;
    display: block !important;
}

.form-group label {
    display: block !important;
    font-size: 14px !important;
    margin: 0 0 5px 0 !important;
    color: #333 !important;
    font-weight: normal !important;
}

.form-group input[type="text"],
.form-group input[type="tel"] {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #ddd !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    outline: none !important;
    background: #fff !important;
    color: #000 !important;
    height: 45px !important;
    border-radius: 0 !important;
}

.form-footer {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-top: 30px !important;
}

.btn-submit {
    background: #27ae60 !important;
    color: #fff !important;
    border: none !important;
    padding: 0 30px !important;
    height: 45px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
}

/* Адаптивность */
@media (max-width: 1200px) { .service-card { width: calc(33.333% - 14px) !important; } }
@media (max-width: 768px) { .service-card { width: calc(50% - 10px) !important; } }
@media (max-width: 480px) { .service-card { width: 100% !important; } }
/* --- СТИЛИ ДЛЯ ЧЕКБОКСА --- */
.checkbox-group {
    display: flex !important;
    flex-direction: row !important; /* Жестко задаем строку */
    align-items: flex-start !important; /* Выравнивание по верхнему краю текста */
    gap: 10px !important; /* Отступ между галочкой и текстом */
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.checkbox-group input[type="checkbox"] {
    flex-shrink: 0 !important; /* Запрещаем чекбоксу сжиматься */
    width: 16px !important;
    height: 16px !important;
    margin: 18px 0 0 0 !important; /* Чуть опускаем галочку для ровности с первой строкой */
    padding: 0 !important;
    display: block !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.checkbox-group label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #333 !important;
    font-weight: normal !important;
    cursor: pointer !important;
}

.checkbox-group label a {
    color: #5b5fc7 !important; /* Цвет ссылок как на вашем скриншоте */
    text-decoration: none !important;
}

.checkbox-group label a:hover {
    text-decoration: underline !important;
}