/* Randevu Sayfası Genel Stilleri */
.randevu-form {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    padding: 30px 40px; /* İç boşluklar - Masaüstü */
    margin-bottom: 30px;
    margin-left: auto; /* Formu ortalamak için */
    margin-right: auto; /* Formu ortalamak için */
    /* max-width: 860px; kuralı kaldırıldı, formun genişliği Bootstrap .container tarafından yönetilecek */
}

.randevu-form .form-title {
    color: #2a1b68; 
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center;
    position: relative;
    padding-bottom: 15px;
}

.randevu-form .form-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: #2a1b68;
}

.randevu-form .form-info {
    background-color: #f8f9fa;
    border-left: 4px solid #2a1b68; 
    padding: 15px 20px;
    margin-bottom: 30px;
    border-radius: 4px;
    font-size: 15px;
}

.randevu-form .form-info p {
    margin: 0;
    color: #495057;
}

.randevu-form .form-info i {
    margin-right: 8px;
}

/* Form Elemanları */
.randevu-form .form-group {
    margin-bottom: 20px; 
}

.randevu-form label {
    font-weight: 600;
    color: #343a40; 
    margin-bottom: 8px;
    display: block;
    font-size: 15px;
}

/* "İl *" etiketi için özel masaüstü ayarı (Chosen.js öncesi normal akışta kalması için) */
.randevu-form .form-group label[for="randevu_il"] {
    display: block !important;
    float: none !important;
    clear: both !important;
    position: static !important; 
    margin-bottom: 8px !important; 
    padding: 0 !important; 
    line-height: normal !important; 
}

.randevu-form .form-control {
    border: 1px solid #ced4da; 
    border-radius: 5px;
    padding: 12px 18px; 
    font-size: 16px;
    color: #495057;
    width: 100%;
    box-sizing: border-box; 
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.randevu-form .form-control:focus {
    border-color: #2a1b68; 
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(42, 27, 104, 0.25); 
}

.randevu-form textarea.form-control {
    min-height: 120px;
    resize: vertical; 
}

/* Chosen.js ile stilize edilmiş select - Masaüstü ve Genel */
.randevu-form .form-group .chosen-container {
    display: block !important; 
    width: 100% !important; 
    float: none !important;
    clear: both !important;
    position: relative !important; 
    margin-top: 8px !important; /* Label'dan sonra boşluk bırakması için */
    margin-bottom: 15px !important; 
    min-height: 48px !important; 
    border: 1px solid #ced4da !important; 
    border-radius: 5px !important; 
    background-color: #fff !important; 
}

.randevu-form .form-group .chosen-container-single .chosen-single {
    height: auto;
    min-height: calc(48px - 2px); /* border düşüldü */
    line-height: normal; 
    padding: 12px 18px; 
    border: none !important; 
    border-radius: 5px; 
    background: transparent !important; 
    box-shadow: none !important;
    color: #495057;
    display: flex; 
    align-items: center; 
}

.randevu-form .form-group .chosen-container-single .chosen-single span {
    flex-grow: 1; 
}

.randevu-form .form-group .chosen-container-single .chosen-single div {
    width: auto; 
}
.randevu-form .form-group .chosen-container-single .chosen-single div b {
    background-position: center right; 
}

.randevu-form .form-group .chosen-container-active .chosen-single {
    border-color: #2a1b68 !important; /* Ana renkle uyumlu border */
    box-shadow: 0 0 0 0.2rem rgba(42, 27, 104, 0.25) !important; /* Ana renkle uyumlu shadow */
}
/* .chosen-container-active .chosen-single içindeki border:none !important; olduğu için bu kuralın çalışması için !important gerekebilir. */
.randevu-form .form-group .chosen-container-active.chosen-with-drop .chosen-single {
    border: 1px solid #2a1b68 !important; /* Açıldığında da border görünsün */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}


.randevu-form .form-group .chosen-container .chosen-drop {
    border: 1px solid #ced4da;
    border-top: 0;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    margin-top: -1px; /* Single ile drop arası boşluğu kapat */
}

.randevu-form .form-group .chosen-container .chosen-search input[type="text"] {
    font-size: 15px;
    padding: 8px 10px;
    border-radius: 3px;
    border: 1px solid #ddd;
}

.randevu-form .form-group .chosen-container .chosen-results li {
    padding: 8px 12px;
    font-size: 15px;
}

.randevu-form .form-group .chosen-container .chosen-results li.highlighted {
    background-color: #2a1b68; 
    color: #fff;
}


/* Buton Stilleri */
.randevu-form .btn-gfort {
    background-color: #2a1b68; 
    color: #ffffff;
    border: none;
    border-radius: 5px;
    padding: 14px 30px;
    font-size: 17px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    display: block;
    width: 100%;
    text-align: center;
}

.randevu-form .btn-gfort:hover,
.randevu-form .btn-gfort:focus {
    background-color: #1e144b; 
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(42, 27, 104, 0.25);
    outline: none;
}

/* Responsive Düzenlemeler */
@media (max-width: 991px) { 
    .randevu-form {
        padding: 25px 30px; 
        max-width: 90%; /* Tabletlerde biraz daha dar olabilir */
    }
}

@media (max-width: 767px) {
    .main-content-container, 
    .page-body .gfort-section.grey-background-color .section-container { 
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .page-body .gfort-section.grey-background-color .container { 
        padding-left: 10px !important; /* Kenarlarda 10px boşluk */
        padding-right: 10px !important;
    }
    .randevu-form {
        padding: 20px 15px; /* Formun kendi iç padding'i */
        max-width: 100%; /* Container padding'i zaten var */
        border-radius: 8px; /* Mobil için de yuvarlak köşe */
    }
    .randevu-form .form-title {
        font-size: 22px;
    }
    .randevu-form .form-control,
    .randevu-form .form-group .chosen-container-single .chosen-single {
        padding: 10px 15px;
        font-size: 15px;
        min-height: 44px;
    }
    .randevu-form textarea.form-control {
        min-height: 100px;
    }
    .randevu-form .btn-gfort {
        padding: 12px 20px;
        font-size: 16px;
    }
}

@media (max-width: 575px) {
    .page-body .gfort-section.grey-background-color .container {
        padding-left: 8px !important; 
        padding-right: 8px !important;
    }
    .randevu-form {
        padding: 15px 10px; /* En küçük ekranlar için form iç padding'i */
        border-radius: 8px; 
    }
     .randevu-form .form-title {
        font-size: 20px;
    }
}
