.kch-booking-container{
max-width:900px;
margin:0 auto;
background:#fff;
border-radius:16px;
padding:40px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.kch-booking-header{
text-align:center;
margin-bottom:40px;
}

.kch-booking-header h2{
margin-bottom:10px;
}

.kch-progress{
display:flex;
justify-content:space-between;
gap:10px;
margin-top:30px;
}

.kch-progress-step{
flex:1;
text-align:center;
opacity:.4;
font-size:14px;
font-weight:600;
}

.kch-progress-step span{
width:36px;
height:36px;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 10px;
border-radius:50%;
background:#e5e7eb;
}

.kch-progress-step.active{
opacity:1;
}

.kch-progress-step.active span{
background:#4361ee;
color:#fff;
}

.kch-step-screen{
display:none;
animation:kchFade .3s ease;
}

.kch-step-screen.active{
display:block;
}

@keyframes kchFade{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

.kch-services-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
}

.kch-service-card{
border:2px solid #e5e7eb;
border-radius:12px;
padding:20px;
cursor:pointer;
transition:.3s;
}

.kch-service-card:hover{
border-color:#4361ee;
transform:translateY(-2px);
}

.kch-service-card.selected{
border-color:#4361ee;
background:#f5f8ff;
}

.kch-service-card h4{
margin-bottom:10px;
}

.kch-service-meta{
display:flex;
justify-content:space-between;
margin-top:15px;
font-weight:600;
}

#kch-provider-list{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
}

.kch-provider-card{
border:2px solid #e5e7eb;
padding:20px;
border-radius:12px;
cursor:pointer;
transition:.3s;
}

.kch-provider-card:hover,
.kch-provider-card.selected{
border-color:#4361ee;
background:#f5f8ff;
}

.kch-date-time-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.kch-input{
width:100%;
padding:14px;
border:1px solid #d1d5db;
border-radius:8px;
margin-bottom:15px;
}

.kch-summary-box{
background:#f8fafc;
border-radius:12px;
padding:25px;
}

.kch-step-actions{
display:flex;
justify-content:space-between;
margin-top:30px;
}

.kch-next-btn,
.kch-book-btn{
background:#4361ee;
color:#fff;
border:none;
padding:14px 24px;
border-radius:8px;
cursor:pointer;
}

.kch-back-btn{
background:#f3f4f6;
border:none;
padding:14px 24px;
border-radius:8px;
cursor:pointer;
}

#kch-booking-message{
margin-top:25px;
text-align:center;
font-weight:600;
}

@media(max-width:768px){

.kch-services-grid{
    grid-template-columns:1fr;
}

#kch-provider-list{
    grid-template-columns:1fr;
}

.kch-date-time-grid{
    grid-template-columns:1fr;
}

.kch-progress{
    flex-wrap:wrap;
}

}

.kch-confirmation{
text-align:center;
padding:40px 20px;
}

.kch-confirmation h2{
margin-bottom:20px;
}

.kch-confirmation-details{
max-width:400px;
margin:20px auto;
text-align:left;
padding:20px;
border:1px solid #e5e7eb;
border-radius:10px;
}

.kch-confirmation-modal{

    position:fixed !important;

    inset:0 !important;

    width:100% !important;
    height:100% !important;

    background:rgba(0,0,0,.65);

    display:none;

    align-items:center;
    justify-content:center;

    z-index:99999999 !important;

}



.kch-confirmation-box{

    position:relative;

    background:#fff;

    width:700px;
    max-width:90%;

    max-height:90vh;
    overflow:auto;

    padding:50px;

    border-radius:20px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(0,0,0,.2);

}

.kch-date-time-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:30px;

    align-items:start;

}

.kch-date-time-grid > div{

    width:100%;

}

.kch-date-time-grid .kch-input,
.kch-date-time-grid .flatpickr-input{

    width:100%;

    box-sizing:border-box;

}

.kch-close-modal{

    position:absolute;

    top:20px;

    right:25px;

    font-size:32px;

    font-weight:700;

    cursor:pointer;

    color:#6b7280;

}

.kch-close-modal:hover{

    color:#111827;

}