/* KRJ Booking Calendar & Frontend Reset CSS */
.krjbp-app .krjbp-calendar-card{background:#fff;border:1px solid #e7edf5;border-radius:22px;padding:22px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.02)}
.krjbp-app .cal-top{display:flex;align-items:center;justify-content:space-between;text-align:center;margin-bottom:18px;gap:8px}
.krjbp-app .cal-top strong{display:block;font-size:20px;text-transform:capitalize;color:#0f172a}
.krjbp-app .cal-top small{color:#64748b;font-size:13px}
.krjbp-app .nav{width:42px;height:42px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;font-size:24px;color:#1261ff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0!important;margin:0!important;line-height:1}
.krjbp-app .nav:hover{background:#f1f5f9;color:#0b4ed6}

.krjbp-app .weekdays{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:8px!important;margin-bottom:8px!important}
.krjbp-app .weekdays span{text-align:center!important;font-size:11px!important;font-weight:800!important;color:#94a3b8!important;padding:4px 0!important;display:block!important}

.krjbp-app .calendar{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:8px!important}
.krjbp-app .day{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;padding:0!important;margin:0!important;border:0!important;outline:none!important;box-sizing:border-box!important;background:#f8fafc!important;border-radius:12px!important;cursor:pointer!important;font-weight:700!important;font-size:14px!important;color:#334155!important;line-height:1!important;text-align:center!important;transition:all .15s ease}
.krjbp-app .day:hover{background:#eaf1ff!important;color:#1261ff!important}
.krjbp-app .day.today{box-shadow:inset 0 0 0 2px #1261ff!important}
.krjbp-app .day.selected{background:#1261ff!important;color:#ffffff!important}
.krjbp-app .day.empty{visibility:hidden!important;pointer-events:none!important}
.krjbp-app .day.unavailable{background:#fee2e2!important;color:#b91c1c!important;cursor:not-allowed!important;opacity:1!important;box-shadow:inset 0 0 0 1px #fecaca!important}
.krjbp-app .day.unavailable:hover{background:#fee2e2!important;color:#b91c1c!important}
.krjbp-app .day.disabled{background:#e5e7eb!important;color:#9ca3af!important;opacity:1!important;cursor:not-allowed!important}

/* Time slots container */
.krjbp-app .slots{display:block!important;width:100%!important;margin-top:10px!important}
.krjbp-app .slot-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:10px!important;width:100%!important;box-sizing:border-box!important}
.krjbp-app .slot{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:44px!important;padding:10px 6px!important;margin:0!important;border:1px solid #dbe5f1!important;border-radius:12px!important;background:#ffffff!important;color:#334155!important;font-weight:800!important;font-size:13px!important;line-height:1.2!important;cursor:pointer!important;text-align:center!important;box-sizing:border-box!important;transition:all .15s ease}
.krjbp-app .slot:hover,.krjbp-app .slot.active{background:#1261ff!important;color:#ffffff!important;border-color:#1261ff!important;box-shadow:0 4px 12px rgba(18,97,255,.25)}

/* Responsive adjustments */
@media(max-width:600px){
    .krjbp-app .krjbp-calendar-card{padding:14px;border-radius:16px}
    .krjbp-app .weekdays,.krjbp-app .calendar{gap:4px!important}
    .krjbp-app .day{font-size:12px!important;border-radius:8px!important}
    .krjbp-app .slot-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
    .krjbp-app .slot{min-height:40px!important;font-size:12px!important;padding:8px 4px!important}
}
@media(max-width:380px){
    .krjbp-app .krjbp-calendar-card{padding:10px}
    .krjbp-app .weekdays,.krjbp-app .calendar{gap:3px!important}
    .krjbp-app .weekdays span{font-size:9px!important}
    .krjbp-app .day{font-size:11px!important;border-radius:7px!important}
    .krjbp-app .nav{width:36px;height:36px;font-size:20px}
}
