/* Custom CSS for Sticky Sidebar */

/* This rule applies only on screens wider than 991px */
@media (min-width: 992px) {
    #sticky-sidebar {
        position: -webkit-sticky; /* For Safari compatibility */
        position: sticky;
        top: 120px; /* A fallback 'top' value, will be adjusted by JS */
        z-index: 10;
    }
}

/* --- Form UI Fixes for index.php & contact.php --- */

/* Base styles for all form fields */
.appoinment-area-main form input[type="text"],
.appoinment-area-main form input[type="email"],
.appoinment-area-main .search-input .nice-select,
.appoinment-area-main .single-input textarea {
    background: #605efc !important;
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    border-radius: 8px;
    height: 60px;
    padding: 0 20px;
    width: 100%;
    margin-bottom: 20px;
    font-size: 16px;
}

/* Placeholder text color */
.appoinment-area-main form input::placeholder,
.appoinment-area-main .single-input textarea::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Style for the select dropdown (Nice Select) */
.appoinment-area-main .search-input .nice-select {
    line-height: 60px;
}

.appoinment-area-main .search-input .nice-select .current {
    color: #ffffff !important;
}

.appoinment-area-main .search-input .nice-select::after {
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    height: 8px;
    width: 8px;
    right: 20px;
}

.appoinment-area-main .search-input .nice-select .list {
    background-color: #605efc;
    border-radius: 8px;
    border: 1px solid #ffffff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.appoinment-area-main .search-input .nice-select .option {
    color: #ffffff;
}

.appoinment-area-main .search-input .nice-select .option:hover,
.appoinment-area-main .search-input .nice-select .option.focus,
.appoinment-area-main .search-input .nice-select .option.selected.focus {
    background-color: #4a47d5;
}


/* Style for the textarea */
.appoinment-area-main .single-input textarea {
    height: 120px;
    padding: 20px;
    resize: vertical;
    margin-bottom: 30px;
}

/* Style for the submit button */
.appoinment-area-main .rts-btn.btn-form-submit {
    background: #ffffff !important;
    color: #605efc !important;
    border: 1px solid #ffffff;
}

.appoinment-area-main .rts-btn.btn-form-submit:hover {
    background: #f0f0f0 !important;
    border-color: #f0f0f0;
}

.appoinment-area-main .rts-btn.btn-form-submit i {
    color: #605efc !important;
}

/* --- Mission & Vision Section UI --- */
.mission-card,
.vision-card {
    background-color: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
    text-align: center;
    transition: all 0.3s ease-in-out;
}

.mission-card:hover,
.vision-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(97, 94, 252, 0.15);
}

.mission-card .icon,
.vision-card .icon {
    margin-bottom: 20px;
    display: inline-block;
    background-color: #f0efff;
    border-radius: 50%;
    padding: 20px;
    line-height: 1;
}

.mission-card .icon img,
.vision-card .icon img {
    width: 40px;
    height: 40px;
}

/* --- New Contact Page Styles --- */
.contact-hero-bg {
    background-image: url('https://placehold.co/1920x300/f0f0ff/605efc?text=+'); 
    background-size: cover;
    background-position: center;
}

.single-contact-two {
    background: #f9f9ff;
    padding: 40px;
    border-radius: 12px;
    text-align: center;
    height: 100%;
}

.single-contact-two .icon {
    font-size: 40px;
    color: #605efc;
    margin-bottom: 15px;
}

.single-contact-two p,
.single-contact-two a {
    color: #6B6B6B;
    font-size: 16px;
    line-height: 1.6;
}

.contact-form-style {
    background-image: none !important; /* Override default form background */
    background-color: #f9f9ff;
    padding: 50px;
    border-radius: 12px;
}

.contact-form-style form input,
.contact-form-style form textarea,
.contact-form-style .nice-select {
    background: #ffffff !important;
    border: 1px solid #EAEAEA !important;
    color: #6B6B6B !important;
}

.contact-form-style form input::placeholder,
.contact-form-style form textarea::placeholder {
    color: #A0A0A0 !important;
}

.contact-form-style .nice-select .current {
    color: #6B6B6B !important;
}

.contact-form-style .nice-select::after {
    border-bottom: 2px solid #6B6B6B;
    border-right: 2px solid #6B6B6B;
}

.contact-form-style .nice-select .list {
    background-color: #ffffff;
}

.contact-form-style .nice-select .option {
    color: #6B6B6B;
}

.contact-form-style .nice-select .option:hover,
.contact-form-style .nice-select .option.focus,
.contact-form-style .nice-select .option.selected.focus {
    background-color: #f0f0f0;
}

.contact-form-style .rts-btn.btn-primary {
    background: #605efc !important;
    color: #ffffff !important;
    width: 100%;
}

/* --- Director Details Page Styles (Corrected) --- */
.large-doctor-details-area-left .large-team-details-thumbnail {
    background: #fff;
    padding: 20px;
    border: 1px solid #eaeaea;
    border-radius: 12px;
}
.large-doctor-details-area-left .large-team-details-thumbnail img {
    border-radius: 8px;
}

.bottom-doctor-details {
    margin-top: 30px;
    background: #f9f9ff;
    border-radius: 12px;
    padding: 30px;
}

.bottom-doctor-details .title {
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 600;
}

.single-shedule {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #eaeaea;
}
.single-shedule:last-child {
    border-bottom: none;
}

.doctor-all-details-area .pre-title {
    background: #f0efff;
    color: #605efc;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 10px;
}

.doctor-all-details-area .name {
    font-size: 36px;
    margin-bottom: 5px;
}

.doctor-all-details-area p {
    font-size: 18px;
    color: #6B6B6B;
    margin-bottom: 20px;
}

.follow-me-social-area span {
    margin-right: 10px;
}

.follow-me-social-area ul {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.follow-me-social-area a {
    color: #605efc;
    margin: 0 5px;
    font-size: 16px;
}

.single-details-content-info {
    background: #f9f9ff;
    padding: 20px;
    border-radius: 8px;
    height: 100%;
}

.single-details-content-info .title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}
.single-details-content-info p {
    margin-bottom: 5px;
    color: #6B6B6B;
    line-height: 1.6;
    font-size: 16px;
}

/* --- Service Features Styles --- */
.service-features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-features li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 16px;
    color: #6B6B6B;
    line-height: 1.6;
}

.service-features li i {
    color: #605efc;
    margin-right: 12px;
    font-size: 18px;
    width: 20px;
    text-align: center;
}

.service-application {
    background: #f9f9ff;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    border-left: 4px solid #605efc;
}

.service-application:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(97, 94, 252, 0.1);
}

.service-application h5 {
    color: #605efc;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.service-application h5 i {
    margin-right: 10px;
    font-size: 20px;
}

.service-application p {
    color: #6B6B6B;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.benefit-card {
    background: #ffffff;
    padding: 30px 20px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
    height: 100%;
}

.benefit-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(97, 94, 252, 0.1);
    border-color: #605efc;
}

.benefit-card .icon {
    background: #f0efff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: #605efc;
    font-size: 24px;
}

.benefit-card h5 {
    color: #333;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}

.benefit-card p {
    color: #6B6B6B;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
