
.pkp-doctor-wrap { background:#f6f7fb; border-radius:12px; }
.pkp-doctor-wrap .card-doctor { transition:transform .15s ease, box-shadow .15s ease; }
.pkp-doctor-wrap .card-doctor:hover { transform:translateY(-6px); box-shadow:0 8px 20px rgba(0,0,0,.08); }
.pkp-doctor-wrap .pkp-map { height:340px; border-radius:8px; overflow:hidden; background:#e9ecef; }
.pkp-doctor-wrap .chip { display:inline-block; padding:.25rem .5rem; border-radius:.6rem; background:#eef2ff; margin-right:.3rem; font-size:.85rem; }
.pkp-doctor-wrap .no-results { text-align:center; padding:2rem; color:#666; }
.pkp-doctor-wrap .footer-note { font-size:.9rem; color:#666; }
.pkp-doctor-wrap .doctor-photo-placeholder { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#eef2ff; font-weight:700; color:#334; font-size:22px; }
@media (max-width:767px){
  .pkp-doctor-wrap .pkp-top-controls { flex-direction:column; align-items:stretch!important; }
  .pkp-doctor-wrap .pkp-top-controls > div { width:100%!important; }
  .pkp-doctor-wrap .pkp-map { height:280px; }
  .pkp-doctor-wrap h3 { font-size:1.25rem; }
  .pkp-doctor-wrap .d-flex.justify-content-between { gap:10px; flex-direction:column; }
}

.pkp-doctor-wrap .pkp-results{margin-top:8px}
.pkp-doctor-wrap .pkp-doctor-card{border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 6px 24px rgba(24,39,75,.09);height:100%;transition:.2s ease}
.pkp-doctor-wrap .pkp-doctor-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(24,39,75,.15)}
.pkp-doctor-wrap .pkp-card-media{position:relative;height:190px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#eef3f8}
.pkp-doctor-wrap .pkp-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.pkp-doctor-wrap .pkp-doctor-photo{object-position:center top}
.pkp-doctor-wrap .pkp-hospital-photo{object-position:center}
.pkp-doctor-wrap .pkp-distance{position:absolute;right:10px;bottom:10px;background:#0d6efd;color:#fff;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:700}
.pkp-doctor-wrap .pkp-card-body{padding:18px}
.pkp-doctor-wrap .pkp-specialty{color:#0d6efd;font-weight:600;font-size:14px}
.pkp-doctor-wrap .pkp-hospital{font-size:14px;color:#29405f}
.pkp-doctor-wrap .pkp-rating{font-size:13px;color:#667085}
.pkp-doctor-wrap .pkp-rating-star{color:#f4b400}
.pkp-doctor-wrap .pkp-available{color:#16a34a;font-size:13px;font-weight:600}
.pkp-doctor-wrap .pkp-available:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#16a34a;margin-right:6px}
.pkp-doctor-wrap .pkp-book-btn{border-radius:9px;font-weight:700}
.pkp-doctor-wrap .pkp-wa-btn{width:42px;border-radius:9px}
@media(min-width:1400px){.pkp-doctor-wrap .pkp-doctor-col{width:25%}}

.pkp-doctor-wrap .pkp-map-fallback{height:100%;display:flex;align-items:center;justify-content:center;background:#eef3f8;color:#5b6b7f;text-align:center;padding:20px}.pkp-doctor-wrap .pkp-map iframe{display:block}

.pkp-doctor-wrap .pkp-available{line-height:1.35}.pkp-doctor-wrap .pkp-card-body .small{line-height:1.45}

.pkp-doctor-wrap .pkp-schedule{background:#f3f7ff;border-radius:9px;padding:9px 10px;font-size:12px;line-height:1.65;color:#344054;min-height:54px}
.pkp-doctor-wrap .pkp-schedule strong{color:#0d6efd}

.pkp-doctor-wrap .pkp-time:disabled{background:#f1f3f5;cursor:not-allowed}.pkp-doctor-wrap .pkp-booking-help{color:#0d6efd}

/* =========================================================
   PKP DISPLAY-ONLY MODERN CARD LAYOUT
   PHP/JS functionality intentionally unchanged.
   ========================================================= */
.pkp-doctor-wrap{
  background:#f7f9fc;
  border-radius:0;
  color:#17253a;
  padding:0 0 35px;
}
.pkp-doctor-wrap > .container{max-width:1440px!important}

/* Header area */
.pkp-doctor-wrap > .container > .d-flex.align-items-center.mb-3{
  background:#fff;
  margin:0 -12px 22px!important;
  padding:20px 28px;
  border-bottom:1px solid #e7edf4;
  box-shadow:0 2px 10px rgba(20,40,70,.04);
}
.pkp-doctor-wrap > .container > .d-flex.align-items-center.mb-3 h3{
  color:#0869d8;
  font-weight:800;
  font-size:25px;
}

/* Main filter row */
.pkp-doctor-wrap > .container > .row.g-3.mb-4{
  background:#fff;
  border:1px solid #e1e8f0;
  border-radius:12px;
  padding:18px;
  margin-left:0;
  margin-right:0;
  box-shadow:0 5px 18px rgba(20,40,70,.05);
}
.pkp-doctor-wrap .form-label{font-weight:600;color:#233650}
.pkp-doctor-wrap .form-select,
.pkp-doctor-wrap .form-control{
  border-color:#d7e0ea;
  border-radius:8px;
  min-height:42px;
  box-shadow:none;
}
.pkp-doctor-wrap .form-select:focus,
.pkp-doctor-wrap .form-control:focus{
  border-color:#2582e8;
  box-shadow:0 0 0 3px rgba(37,130,232,.10);
}
.pkp-doctor-wrap .pkp-reset{
  border-color:#d5dee9!important;
  color:#22344d!important;
  background:#fff!important;
  font-weight:700;
}

/* Map/search area stays functional, but cleaner and compact */
.pkp-doctor-wrap .pkp-top-controls{
  flex-wrap:wrap;
}
.pkp-doctor-wrap .pkp-map{
  height:250px;
  border-radius:10px;
}
.pkp-doctor-wrap .pkp-top-controls .pkp-show-all{
  border-radius:8px;
  font-weight:700;
}
.pkp-doctor-wrap .card{
  border:1px solid #e1e8f0;
  border-radius:12px;
  box-shadow:0 4px 16px rgba(20,40,70,.05);
}

/* Doctor grid */
.pkp-doctor-wrap .pkp-results{
  margin-top:12px;
}
.pkp-doctor-wrap .pkp-doctor-col{
  display:flex;
}
@media(min-width:992px){
  .pkp-doctor-wrap .pkp-doctor-col{
    width:33.333333%;
  }
}
@media(min-width:1400px){
  .pkp-doctor-wrap .pkp-doctor-col{
    width:33.333333%;
  }
}
.pkp-doctor-wrap .pkp-doctor-card{
  width:100%;
  border:1px solid #e0e7ef;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 20px rgba(22,38,65,.07);
  transition:transform .18s ease,box-shadow .18s ease;
}
.pkp-doctor-wrap .pkp-doctor-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(22,38,65,.13);
}

/* Split doctor/hospital image */
.pkp-doctor-wrap .pkp-card-media{
  height:210px;
  display:grid;
  grid-template-columns:1fr 1fr;
  position:relative;
  overflow:hidden;
  background:#edf3f8;
}
.pkp-doctor-wrap .pkp-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pkp-doctor-wrap .pkp-doctor-photo{object-position:center top}
.pkp-doctor-wrap .pkp-hospital-photo{object-position:center}
.pkp-doctor-wrap .pkp-distance{
  position:absolute;
  right:10px;
  bottom:10px;
  background:#0878ee;
  color:#fff;
  border-radius:7px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
}

/* Card body */
.pkp-doctor-wrap .pkp-card-body{
  padding:16px;
}
.pkp-doctor-wrap .pkp-card-body h5{
  color:#15253d;
  font-size:18px;
  font-weight:800;
}
.pkp-doctor-wrap .pkp-specialty{
  color:#086ef4;
  font-weight:600;
}
.pkp-doctor-wrap .pkp-hospital{
  color:#263d5c;
  font-size:13px;
  margin-top:9px!important;
}
.pkp-doctor-wrap .pkp-rating{
  color:#66758a;
  white-space:nowrap;
}
.pkp-doctor-wrap .pkp-rating-star{color:#f4b400}
.pkp-doctor-wrap .pkp-available{
  color:#159447;
  font-weight:700;
}
.pkp-doctor-wrap .pkp-available:before{
  content:"";
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:#16a34a;
  margin-right:6px;
}

/* Availability */
.pkp-doctor-wrap .pkp-schedule{
  background:#f1f7ff;
  border-radius:9px;
  padding:9px 10px;
  font-size:12px;
  line-height:1.6;
  color:#34445b;
}
.pkp-doctor-wrap .pkp-schedule strong{color:#0b6edc}
.pkp-doctor-wrap .pkp-card-body > .small.mb-3{
  background:#f8fafc;
  border-radius:8px;
  padding:8px 9px;
  margin-bottom:10px!important;
  color:#475569!important;
}

/* Buttons */
.pkp-doctor-wrap .pkp-book-btn{
  border-radius:8px;
  font-weight:800;
  min-height:40px;
  background:#086ef4;
  border-color:#086ef4;
}
.pkp-doctor-wrap .pkp-wa-btn{
  width:44px;
  min-height:40px;
  border-radius:8px;
  font-size:0;
  position:relative;
}
.pkp-doctor-wrap .pkp-wa-btn:after{
  content:"◉";
  font-size:17px;
}
.pkp-doctor-wrap .pkp-card-body > .btn-link{
  color:#086ef4;
  font-weight:700;
  text-decoration:none;
}

/* Mobile */
@media(max-width:991px){
  .pkp-doctor-wrap .pkp-doctor-col{
    width:50%;
  }
}
@media(max-width:767px){
  .pkp-doctor-wrap .pkp-doctor-col{
    width:100%;
  }
  .pkp-doctor-wrap > .container > .d-flex.align-items-center.mb-3{
    padding:15px 16px;
  }
  .pkp-doctor-wrap > .container > .d-flex.align-items-center.mb-3 h3{
    font-size:20px;
  }
  .pkp-doctor-wrap .pkp-card-media{height:190px}
}

.pkp-doctor-wrap .pkp-medical-address{font-size:12px;color:#66758a;line-height:1.45;margin-top:5px}
.pkp-doctor-wrap .pkp-booking-route-box{background:#f1f7ff;border:1px solid #cfe3ff;border-radius:9px;padding:11px;color:#263d5c}
.pkp-doctor-wrap .pkp-live-location{white-space:nowrap}

.pkp-doctor-wrap .pkp-live-location{font-weight:700;min-height:42px}
.pkp-doctor-wrap .pkp-booking-route-box{background:#eef7ff;border:1px solid #bcdcff;border-radius:10px;padding:12px;margin-top:4px}
