
/* Doctor Sheba inspired public UI refresh — presentation only; existing PHP logic retained */
:root{
  --ds-green:#0b4636;--ds-green-2:#0b7a53;--ds-mint:#eaf6f0;
  --ds-text:#172b25;--ds-muted:#65756f;--ds-border:#e1ebe6;
  --ds-bg:#f4f8f6;--ds-white:#fff;--ds-radius:16px;
}
html{scroll-behavior:smooth}
body{
  font-family:'Hind Siliguri','Noto Sans Bengali',system-ui,-apple-system,"Segoe UI",sans-serif!important;
  color:var(--ds-text)!important;
  background:var(--ds-bg)!important;
}
a{transition:color .18s ease,background .18s ease,transform .18s ease}
button,input,select,textarea{font:inherit}
img{max-width:100%}

/* Doctor listing grid */
.doctor-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:min(1240px,calc(100% - 28px))!important;
  margin:16px auto 90px!important;
  align-items:stretch!important;
}
.doctor-grid .doctor-card{
  display:flex!important;flex-direction:column!important;height:100%!important;
  margin:0!important;padding:0!important;border:1px solid var(--ds-border)!important;
  border-radius:18px!important;background:var(--ds-white)!important;overflow:hidden!important;
  box-shadow:0 5px 20px rgba(11,70,54,.07)!important;transform:none!important;
}
.doctor-grid .doctor-card:hover{box-shadow:0 12px 28px rgba(11,70,54,.13)!important;transform:translateY(-2px)!important}
.doctor-grid .doctor-header{
  height:76px!important;min-height:76px!important;
  background:linear-gradient(125deg,var(--ds-green),#16845e)!important;
}
.doctor-grid .doctor-image{
  width:86px!important;height:86px!important;bottom:-36px!important;
  padding:4px!important;border:1px solid #e1eee8!important;box-shadow:0 5px 16px #0b463626!important;
}
.doctor-grid .doctor-badge{
  max-width:54%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  background:#ffffffed!important;color:var(--ds-green)!important;
  box-shadow:none!important;font-size:11px!important;padding:5px 9px!important;
}
.doctor-grid .doctor-body{display:flex!important;flex-direction:column!important;flex:1!important;padding:47px 14px 14px!important}
.doctor-grid .doctor-name{
  font-size:17px!important;line-height:1.35!important;color:var(--ds-green)!important;
  text-align:center!important;margin:0 0 5px!important;min-height:24px!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.doctor-grid .doctor-speciality{
  color:#087c56!important;font-size:13px!important;font-weight:700!important;
  line-height:1.4!important;text-align:center!important;margin:0 0 6px!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.doctor-grid .doctor-degree{
  min-height:36px!important;max-height:38px!important;overflow:hidden!important;
  font-size:12px!important;line-height:1.5!important;color:var(--ds-muted)!important;
  text-align:center!important;margin:0 0 10px!important;
}
.doctor-grid .schedule-box{
  margin:0 0 12px!important;padding:9px 10px!important;gap:8px!important;
  background:#f5faf7!important;border:1px solid #e7f1eb!important;border-radius:12px!important;
}
.doctor-grid .schedule-box .clock{width:28px!important;height:28px!important;flex:0 0 28px!important;color:var(--ds-green)!important}
.doctor-grid .schedule-day{font-size:12px!important;color:var(--ds-text)!important}
.doctor-grid .schedule-time{font-size:12px!important;margin-top:1px!important}
.doctor-grid .doctor-buttons{display:flex!important;gap:7px!important;margin-top:auto!important}
.doctor-grid .actions-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;margin-top:auto!important;
}
.doctor-grid .doctor-buttons .btn,.doctor-grid .actions-row .btn{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:40px!important;height:auto!important;padding:8px 5px!important;
  border-radius:10px!important;font-size:12px!important;font-weight:700!important;line-height:1.3!important;
  text-decoration:none!important;box-shadow:none!important;animation:none!important;
  border:0!important;white-space:normal!important;
}
.doctor-grid .btn-details,.doctor-grid .btn.profile{background:var(--ds-green)!important;color:#fff!important}
.doctor-grid .btn.call{background:#eaf6f0!important;color:var(--ds-green)!important;border:1px solid #cfe5d9!important}
.doctor-grid .btn.whatsapp,.doctor-grid .whatsapp{background:#e9f9ef!important;color:#087a43!important}
.doctor-grid .doctor-buttons a,.doctor-grid .doctor-buttons button{flex:1!important}

/* Search/filter and sections */
.filter{
  max-width:1240px!important;margin:14px auto!important;padding:14px!important;
  border:1px solid var(--ds-border)!important;border-radius:16px!important;
  box-shadow:0 4px 16px rgba(11,70,54,.05)!important;gap:9px!important;
}
.filter input,.filter select{
  min-height:43px!important;border:1px solid #d8e5de!important;border-radius:10px!important;
  background:#fff!important;color:var(--ds-text)!important;outline-color:#0b7a53!important;
}
.section{max-width:1240px!important;margin:20px auto 10px!important;padding:0 14px!important;color:var(--ds-green)!important;font-size:20px!important}
.featured,.featured-slide{
  border:1px solid var(--ds-border)!important;border-radius:16px!important;
  box-shadow:0 4px 18px rgba(11,70,54,.06)!important;
}
.categories{max-width:1240px;margin:0 auto!important}
.cat{border:1px solid var(--ds-border)!important;border-radius:14px!important;color:var(--ds-green)!important;box-shadow:0 3px 12px rgba(11,70,54,.05)!important}
.cat:hover{background:var(--ds-mint)!important}
.bottom-nav{box-shadow:0 -5px 20px rgba(11,70,54,.09)!important;border-top:1px solid var(--ds-border)!important}
.bottom-nav a.active{color:var(--ds-green)!important}

/* Doctor profile pages (slug and legacy ID routes) */
.profile,.page .profile,.main .profile,.main{
  max-width:1120px!important;margin-left:auto!important;margin-right:auto!important;
}
body:has(.profile) .main{padding:18px 14px 100px!important}
.profile .info{
  background:#fff!important;border:1px solid var(--ds-border)!important;
  border-radius:22px!important;padding:22px!important;gap:20px!important;
  box-shadow:0 7px 24px rgba(11,70,54,.07)!important;align-items:center!important;
}
.profile .doc-img{
  width:150px!important;height:165px!important;object-fit:cover!important;
  border-radius:18px!important;border:3px solid #e1f0e8!important;flex-shrink:0!important;
}
.profile .info .spec{display:inline-block!important;color:var(--ds-green)!important;background:var(--ds-mint)!important;
  font-size:13px!important;font-weight:800!important;padding:6px 10px!important;border-radius:9px!important}
.profile .info h2{color:var(--ds-green)!important;font-size:25px!important;text-shadow:none!important;line-height:1.35!important}
.profile .info p{font-size:14px!important;line-height:1.65!important;color:#43534c!important}
.profile .booking-bar{background:linear-gradient(120deg,var(--ds-green),#16845e)!important;border-radius:14px!important;animation:none!important}
.profile .actions-row,.profile .share-actions{gap:9px!important;box-shadow:none!important}
.profile .btn,.profile .share-btn{
  border-radius:12px!important;box-shadow:none!important;animation:none!important;
  min-height:44px!important;font-size:14px!important;font-weight:700!important
}
.profile .btn.call{background:var(--ds-green)!important}
.profile .btn.whatsapp,.profile .whatsapp-share{background:#e9f9ef!important;color:#087a43!important}
.profile .card{
  background:#fff!important;border:1px solid var(--ds-border)!important;border-radius:18px!important;
  padding:18px!important;margin:14px 0!important;box-shadow:0 4px 18px rgba(11,70,54,.05)!important;
}
.profile .card h2,.profile .card h3{color:var(--ds-green)!important;line-height:1.4!important;margin-bottom:12px!important}
.profile table{border:1px solid var(--ds-border)!important;border-radius:12px!important;overflow:hidden!important}
.profile th{background:var(--ds-green)!important;padding:11px!important}
.profile td{padding:11px!important;color:#33483f!important}
.profile .map{border:1px solid var(--ds-border)!important}
.profile .related-cards{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;
}
.profile .related-card{
  min-width:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:flex-start!important;gap:6px!important;flex:none!important;
  background:#fff!important;border:1px solid var(--ds-border)!important;border-radius:15px!important;
  padding:13px 10px!important;text-align:center!important;text-decoration:none!important;color:var(--ds-text)!important;
  box-shadow:0 3px 12px rgba(11,70,54,.05)!important;
}
.profile .related-card:hover{background:#f4fbf7!important;border-color:#b8d9c7!important}
.profile .related-card img{width:74px!important;height:74px!important;object-fit:cover!important;border:3px solid #e4f3eb!important}
.profile .related-card p{margin:2px 0!important;max-width:100%!important;font-size:13px!important;line-height:1.4!important}
.profile .related-card p b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
.profile .related-card small{color:#087a53!important;font-size:11px!important;line-height:1.4!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
.profile .review{background:#f5faf7!important;border:1px solid #e4efe8!important;border-radius:12px!important}
.profile form input,.profile form select,.profile form textarea{border:1px solid #d9e6df!important;border-radius:10px!important;padding:11px!important}
.profile form button{background:var(--ds-green)!important;border-radius:10px!important;min-height:42px!important}

/* Older listing endpoints and specialization pages */
body:has(.card-top) .card,body:has(.card-top) .card-top{
  background:#fff!important;border:1px solid var(--ds-border)!important;border-radius:16px!important;
  box-shadow:0 4px 15px rgba(11,70,54,.06)!important;
}
body:has(.card-top) .card-top{padding:12px!important;gap:12px!important;align-items:center!important}
body:has(.card-top) .card-info h3{color:var(--ds-green)!important;font-size:16px!important;line-height:1.35!important}
body:has(.card-top) .spec{background:var(--ds-mint)!important;color:var(--ds-green)!important;font-size:12px!important}
body:has(.card-top) .visit-badge{background:#eaf6f0!important;color:var(--ds-green)!important;box-shadow:none!important}
body:has(.card-top) .btn-row a.btn{border-radius:10px!important;background:var(--ds-green)!important;color:#fff!important}
body:has(.card-top) .header{border:1px solid var(--ds-border)!important;border-radius:16px!important;box-shadow:0 4px 16px rgba(11,70,54,.06)!important}
body:has(.card-top) .header h2{color:var(--ds-green)!important}

/* Tablet and mobile */
@media(max-width:1000px){
  .doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:calc(100% - 22px)!important;gap:12px!important}
  .profile .related-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:640px){
  body{padding-bottom:78px!important}
  .doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:calc(100% - 18px)!important;gap:9px!important;margin:10px auto 88px!important}
  .doctor-grid .doctor-header{height:58px!important;min-height:58px!important}
  .doctor-grid .doctor-image{width:68px!important;height:68px!important;bottom:-28px!important}
  .doctor-grid .doctor-badge{top:7px!important;right:7px!important;max-width:58%!important;font-size:9px!important;padding:4px 6px!important}
  .doctor-grid .doctor-body{padding:37px 9px 10px!important}
  .doctor-grid .doctor-name{font-size:13px!important;white-space:nowrap!important}
  .doctor-grid .doctor-speciality{font-size:11px!important}
  .doctor-grid .doctor-degree{font-size:10px!important;min-height:30px!important;max-height:32px!important;margin-bottom:7px!important}
  .doctor-grid .schedule-box{padding:7px!important;gap:5px!important;margin-bottom:8px!important}
  .doctor-grid .schedule-day,.doctor-grid .schedule-time{font-size:10px!important}
  .doctor-grid .doctor-buttons,.doctor-grid .actions-row{gap:5px!important}
  .doctor-grid .doctor-buttons .btn,.doctor-grid .actions-row .btn{font-size:10px!important;min-height:36px!important;padding:6px 3px!important;border-radius:8px!important}
  .filter{margin:10px!important;padding:10px!important}
  .section{font-size:17px!important;margin:16px 0 8px!important}
  .profile .info{padding:14px!important;gap:12px!important;align-items:flex-start!important}
  .profile .doc-img{width:100px!important;height:115px!important;border-radius:14px!important}
  .profile .info h2{font-size:19px!important}
  .profile .info p{font-size:12px!important;margin:3px 0!important}
  .profile .info .spec{font-size:11px!important;padding:5px 7px!important}
  .profile .card{padding:13px!important;margin:10px 0!important}
  .profile .card h2,.profile .card h3{font-size:17px!important}
  .profile .related-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .profile .related-card{padding:10px 7px!important}
  .profile .related-card img{width:62px!important;height:62px!important}
  .profile .related-card p{font-size:12px!important}
  .profile .actions-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .profile table th,.profile table td{padding:8px 5px!important;font-size:12px!important}
}
@media(max-width:360px){
  .doctor-grid .doctor-name{font-size:12px!important}
  .doctor-grid .doctor-buttons .btn,.doctor-grid .actions-row .btn{font-size:9px!important}
  .profile .doc-img{width:82px!important;height:98px!important}
}


/* Front page doctor cards: slightly shorter, retaining all existing content */
.doctor-grid .doctor-header{height:68px!important;min-height:68px!important}
.doctor-grid .doctor-image{width:80px!important;height:80px!important;bottom:-32px!important}
.doctor-grid .doctor-body{padding:41px 12px 11px!important}
.doctor-grid .doctor-name{margin-bottom:3px!important;min-height:22px!important}
.doctor-grid .doctor-speciality{margin-bottom:4px!important;line-height:1.3!important}
.doctor-grid .doctor-degree{min-height:30px!important;max-height:32px!important;margin-bottom:7px!important;line-height:1.4!important}
.doctor-grid .schedule-box{padding:7px 8px!important;gap:6px!important;margin-bottom:8px!important}
.doctor-grid .schedule-box .clock{width:25px!important;height:25px!important;flex-basis:25px!important}
.doctor-grid .doctor-buttons .btn,.doctor-grid .actions-row .btn{min-height:36px!important;padding:6px 5px!important}
@media(max-width:640px){
  .doctor-grid .doctor-header{height:52px!important;min-height:52px!important}
  .doctor-grid .doctor-image{width:62px!important;height:62px!important;bottom:-25px!important}
  .doctor-grid .doctor-body{padding:32px 8px 8px!important}
  .doctor-grid .doctor-name{font-size:12px!important;margin-bottom:2px!important;min-height:20px!important}
  .doctor-grid .doctor-speciality{font-size:10px!important;margin-bottom:3px!important;line-height:1.25!important}
  .doctor-grid .doctor-degree{min-height:26px!important;max-height:28px!important;margin-bottom:5px!important;font-size:9px!important;line-height:1.35!important}
  .doctor-grid .schedule-box{padding:5px 6px!important;gap:4px!important;margin-bottom:6px!important;border-radius:9px!important}
  .doctor-grid .schedule-box .clock{width:22px!important;height:22px!important;flex-basis:22px!important}
  .doctor-grid .schedule-day,.doctor-grid .schedule-time{font-size:9px!important;line-height:1.25!important}
  .doctor-grid .doctor-buttons .btn,.doctor-grid .actions-row .btn{min-height:32px!important;padding:5px 2px!important;font-size:9px!important}
}


/* Doctor Sheba premium colorful doctor profile refresh */
body:has(.profile){
  background:radial-gradient(circle at 8% 8%,#d8fff0 0,transparent 28%),
             radial-gradient(circle at 95% 18%,#e4eaff 0,transparent 30%),
             linear-gradient(135deg,#f5fbff 0%,#fff7fb 52%,#f2fff7 100%)!important;
}
body:has(.profile) .profile .info{
  position:relative!important;overflow:hidden!important;
  background:linear-gradient(125deg,#ffffff 0%,#f1fff8 48%,#f0f5ff 100%)!important;
  border:1px solid rgba(56,157,121,.22)!important;border-radius:26px!important;
  box-shadow:0 16px 38px rgba(19,107,83,.12),0 4px 12px rgba(71,98,177,.06)!important;
  padding:24px!important;
}
body:has(.profile) .profile .info:before{
  content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-70px;top:-90px;
  background:linear-gradient(135deg,rgba(36,190,130,.16),rgba(85,126,255,.12));pointer-events:none;
}
body:has(.profile) .profile .info:after{
  content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:80px;bottom:-60px;
  background:rgba(255,177,73,.13);pointer-events:none;
}
body:has(.profile) .profile .doc-img{
  position:relative!important;z-index:1!important;border:4px solid #fff!important;
  outline:3px solid #b9ead3!important;box-shadow:0 9px 22px rgba(11,122,83,.18)!important;
}
body:has(.profile) .profile .info h2{
  color:#075c43!important;font-size:clamp(21px,2.5vw,29px)!important;font-weight:800!important;
  letter-spacing:-.2px!important;
}
body:has(.profile) .profile .info .spec{
  color:#075c43!important;background:linear-gradient(110deg,#d8fff0,#e4edff)!important;
  border:1px solid #c6eddd!important;border-radius:999px!important;padding:7px 12px!important;
}
body:has(.profile) .profile .visit-badge{
  background:linear-gradient(110deg,#fff0d8,#ffe4ef)!important;color:#a34321!important;
  border:1px solid #ffdab0!important;box-shadow:none!important;
}
body:has(.profile) .profile .booking-bar{
  background:linear-gradient(110deg,#087c56,#12a879 48%,#3868d8)!important;
  box-shadow:0 9px 22px rgba(11,122,83,.18)!important;border:1px solid rgba(255,255,255,.35)!important;
}
body:has(.profile) .profile .actions-row .btn,
body:has(.profile) .profile .share-btn{
  border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 7px 16px rgba(19,77,64,.11)!important;
  min-height:46px!important;transition:transform .18s ease,box-shadow .18s ease!important;
}
body:has(.profile) .profile .actions-row .btn:hover,
body:has(.profile) .profile .share-btn:hover{transform:translateY(-2px)!important;box-shadow:0 11px 20px rgba(19,77,64,.16)!important}
body:has(.profile) .profile .btn.call{background:linear-gradient(120deg,#087c56,#16a879)!important;color:#fff!important}
body:has(.profile) .profile .btn.whatsapp{background:linear-gradient(120deg,#e4fff0,#d6f9e6)!important;color:#087a43!important}
body:has(.profile) .profile .card{
  position:relative!important;background:linear-gradient(145deg,#fff 0%,#fbfffd 100%)!important;
  border:1px solid rgba(69,157,120,.2)!important;border-radius:20px!important;
  box-shadow:0 8px 25px rgba(16,94,69,.07)!important;
}
body:has(.profile) .profile .card h2,body:has(.profile) .profile .card h3{
  display:flex!important;align-items:center!important;gap:8px!important;color:#087a53!important;
}
body:has(.profile) .profile .card h2:before,body:has(.profile) .profile .card h3:before{
  content:"";display:inline-block;width:5px;height:22px;border-radius:6px;
  background:linear-gradient(#18b981,#5375ee);flex:0 0 5px;
}
body:has(.profile) .profile th{background:linear-gradient(100deg,#087c56,#159c78)!important}
body:has(.profile) .profile .related-card{
  background:linear-gradient(150deg,#fff,#f3fff8 65%,#f1f5ff)!important;
  border:1px solid #dcefe5!important;box-shadow:0 7px 18px rgba(14,103,72,.07)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
body:has(.profile) .profile .related-card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 22px rgba(14,103,72,.13)!important}
body:has(.profile) .profile .related-card img{border-color:#fff!important;outline:2px solid #ccefe0!important}
body:has(.profile) .profile .review{background:linear-gradient(120deg,#fff8e9,#fff1f7)!important;border-color:#f7dfc8!important}
body:has(.profile) .profile form button{background:linear-gradient(110deg,#087c56,#3868d8)!important;box-shadow:0 5px 14px rgba(26,108,104,.18)!important}
@media(max-width:640px){
  body:has(.profile) .profile .info{padding:14px!important;border-radius:19px!important;gap:12px!important}
  body:has(.profile) .profile .doc-img{outline-width:2px!important}
  body:has(.profile) .profile .card{border-radius:16px!important}
}
