/* 진료예약 페이지 스타일 */

/* 스텝 제목 */
.reser_step_title {
    font-size: 16px;
    font-weight: 700;
    padding: 15px 0 10px;
    border-bottom: 2px solid #e75b8d;
    margin-bottom: 15px;
}
.reser_step_title span {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: #e75b8d;
    color: #fff;
    text-align: center;
    line-height: 24px;
    border-radius: 50%;
    font-size: 13px;
    margin-right: 8px;
}

/* 섹션 간격 */
.reser_section {
    margin-bottom: 30px;
}

/* 진료과 선택 */
.reser_dept_wrap {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.reser_dept_item {
    flex: 1;
    min-width: 120px;
    cursor: pointer;
}
.reser_dept_item input { display: none; }
.reser_dept_item span {
    display: block;
    text-align: center;
    padding: 15px 10px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.2s;
}
.reser_dept_item input:checked + span {
    border-color: #e75b8d;
    background: #e75b8d;
    color: #fff;
}

/* 예약구분 선택 */
.reser_category_wrap {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.reser_category_btn {
    padding: 10px 16px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
}
.reser_category_btn:hover {
    border-color: #e75b8d;
}
.reser_category_btn.active {
    background: #e75b8d;
    color: #fff;
    border-color: #e75b8d;
}

/* 의사 카드 */
.reser_doctor_wrap {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.reser_doctor_card {
    width: calc(25% - 9px);
    min-width: 100px;
    border: 2px solid #eee;
    border-radius: 8px;
    padding: 15px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
}
.reser_doctor_card:hover {
    border-color: #e75b8d;
}
.reser_doctor_card.active {
    border-color: #e75b8d;
    background: #fdf2f6;
}
.reser_doctor_card .dr_img_wrap {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 10px;
    background: #f5f5f5;
}
.reser_doctor_card .dr_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.reser_doctor_card .dr_name {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 4px;
}
.reser_doctor_card .dr_part {
    font-size: 12px;
    color: #888;
}

/* 모바일 반응형 */
@media screen and (max-width: 768px) {
    .reser_dept_item {
        min-width: calc(50% - 5px);
        flex: none;
    }
    .reser_doctor_card {
        width: calc(50% - 6px);
    }
}
@media screen and (max-width: 480px) {
    .reser_doctor_card {
        width: calc(50% - 6px);
    }
}
