/* ==========================================================================
   KDRC public-site additions, loaded after the Medilab style.css.
   1. Heading semantics: some template headings were re-tagged (h3→h2, h4→h3)
      for a logical outline; these rules give the new tags the exact template
      look so the homepage stays visually identical to the live site.
   2. Responsive helpers for the inner pages (services, resources, about, contact).
   ========================================================================== */

/* ---- 1. Heading semantics (mirror the template's h3/h4 rules) ---------- */
.section-title h1 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
  color: #2c4964;
}
.section-title h1::before {
  content: "";
  position: absolute;
  display: block;
  width: 120px;
  height: 1px;
  background: #ddd;
  bottom: 1px;
  left: calc(50% - 60px);
}
.section-title h1::after {
  content: "";
  position: absolute;
  display: block;
  width: 40px;
  height: 3px;
  background: #1977cc;
  bottom: 0;
  left: calc(50% - 20px);
}

.why-us .content h2 {
  font-weight: 700;
  font-size: 34px;
  margin-bottom: 20px;
  margin-top: 20px;
  color: #fff;
}
.why-us .icon-boxes .icon-box h3 {
  font-size: 20px;
  font-weight: 700;
}

.about .icon-boxes h2 {
  font-size: 28px;
  font-weight: 700;
  color: #2c4964;
  margin-bottom: 15px;
}
.about .icon-boxes h3.title {
  color: #4b7dab;
}

.services .icon-box h3 {
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 24px;
}
.services .icon-box h3 a {
  color: #2c4964;
}
.services .icon-box h3 a:hover {
  color: #1977cc;
}
/* icons carry width/height attributes (CLS); the template sizes them by height only */
.services .icon-box .icon img {
  width: auto;
}

.doctors .member h3 {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 20px;
  color: #2c4964;
}

.contact .info h3 {
  padding: 0 0 0 60px;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #2c4964;
}
.contact .map .map-spacer {
  padding: 0 0 15px 0;
  margin-bottom: 5px;
}

/* ---- Footer services column ------------------------------------------- */
#footer .footer-top .footer-contact address a {
  color: #777777;
}
#footer .footer-top .footer-contact address a:hover {
  color: #1977cc;
}
#footer .footer-top .footer-services {
  margin-top: 10px;
}
#footer .footer-top .footer-services ul li,
#footer .footer-top .footer-services ul li:first-child {
  padding: 6px 0;
}
@media (min-width: 576px) {
  #footer .footer-services ul {
    columns: 2;
    column-gap: 24px;
  }
  #footer .footer-services ul li {
    break-inside: avoid;
  }
}
@media (min-width: 992px) {
  #footer .footer-services ul {
    columns: 3;
  }
}

/* ---- 2. Inner pages: responsive ---------------------------------------- */
.kdrc-inner {
  padding-top: 140px;
}
@media (max-width: 991px) {
  .kdrc-inner {
    padding-top: 110px;
  }
}
.kdrc-inner .section-title {
  padding-bottom: 20px;
}
@media (max-width: 575px) {
  .section-title h1,
  .section-title h2 {
    font-size: 26px;
  }
  .kdrc-inner h1.kdrc-page-h1 {
    font-size: 1.6rem !important;
  }
}

.kdrc-prose {
  overflow-wrap: anywhere;
}
.kdrc-prose img,
.kdrc-prose iframe,
.kdrc-prose video {
  max-width: 100%;
  height: auto;
}
.kdrc-prose table {
  display: table;
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin: 1.2rem 0 1.6rem;
  font-size: 0.94rem;
  line-height: 1.55;
}
@media (max-width: 640px) {
  .kdrc-prose table { display: block; overflow-x: auto; }
}
.kdrc-prose table th,
.kdrc-prose table td {
  border: 1px solid #e2e9f2;
  padding: 10px 14px;
  vertical-align: top;
  text-align: left;
  min-width: 140px;
}
.kdrc-prose table thead th {
  background: #1977cc;
  color: #fff;
  font-weight: 600;
  border-color: #1977cc;
}
.kdrc-prose table tbody tr:nth-child(even) td { background: #f6faff; }
.kdrc-prose table tbody td:first-child { font-weight: 600; color: #2c4964; }
.kdrc-prose th,
.kdrc-prose td {
  border: 1px solid #e3ebf3;
  padding: 8px 10px;
  vertical-align: top;
}
.kdrc-prose th {
  background: #f4f8fc;
}
.kdrc-prose pre {
  overflow-x: auto;
}

/* CTA band + button rows wrap cleanly on phones */
.kdrc-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
.kdrc-cta .kdrc-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 575px) {
  .kdrc-cta .kdrc-cta-actions,
  .kdrc-cta .kdrc-cta-actions .btn {
    width: 100%;
  }
}

/* breadcrumbs */
.kdrc-breadcrumbs ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0;
}
.kdrc-breadcrumbs li {
  display: flex;
  gap: 6px;
  min-width: 0;
}

/* contact page info column on phones */
@media (max-width: 991px) {
  .contact .map {
    margin-top: 24px;
  }
}

/* long words / URLs never force horizontal scroll */
main,
article {
  overflow-wrap: break-word;
}

/* contact page: H2s styled like the template's contact info H4 */
.contact .info .h3-like {
  padding: 0 0 0 60px;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #2c4964;
}
.contact .info address p,
.contact .info .email p,
.contact .info .phone p {
  padding: 0 0 10px 60px;
}
.contact .info .hours i {
  font-size: 20px;
  color: #1977cc;
  float: left;
  width: 44px;
  height: 44px;
  background: #d6e9fa;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
}

/* Medilab gives every <section> 60px padding; nested sections inside article pages use their own margins */
article.kdrc-inner section {
  padding: 0;
  overflow: visible;
}

/* Homepage EN/NP toggle stays in the topbar on phones too. */
@media (max-width: 767px) {
  #topbar .container { gap: 6px; padding-left: 10px; padding-right: 10px; }
  #topbar .contact-info { min-width: 0; font-size: 12px; }
  #topbar .contact-info span { margin-left: 8px !important; }
  #topbar .contact-info span:first-child { margin-left: 0 !important; }
  #topbar .lang-toggle { flex-shrink: 0; }
}
@media (max-width: 420px) {
  /* Not enough room for email + 2 phones + toggle: email stays in header nav/footer/contact. */
  #topbar .contact-info span:first-child { display: none; }
  #topbar .contact-info span:nth-child(2) { margin-left: 0 !important; }
}

/* ── Services dropdown (nav) ─────────────────────────────────────── */
.navbar .dropdown > a i.bi-chevron-down { font-size: 12px; margin-left: 4px; line-height: 0; }
.navbar .dropdown:focus-within > ul { opacity: 1; top: 100%; visibility: visible; }
@media (min-width: 992px) {
  .navbar .kdrc-services-dropdown > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(230px, 1fr));
    column-gap: 10px;
    left: -40px;
    padding: 10px 6px;
    border-radius: 8px;
  }
  .navbar .kdrc-services-dropdown > ul li { min-width: 0; }
  .navbar .kdrc-services-dropdown > ul a { padding: 8px 14px; white-space: nowrap; }
  .navbar .kdrc-services-dropdown > ul .kdrc-dd-all { grid-column: 1 / -1; border-bottom: 1px solid #eef2f6; margin-bottom: 4px; }
  .navbar .kdrc-services-dropdown > ul .kdrc-dd-all a { font-weight: 600; color: #1977cc; }
}
.navbar .dropdown ul a.active { color: #1977cc; }
.navbar-mobile .kdrc-services-dropdown > ul { max-height: 60vh; overflow-y: auto; }
.navbar-mobile .kdrc-dd-all a { font-weight: 600; color: #1977cc !important; }

/* ── Inner content pages (about / doctors / gallery / services / contact) ── */
.kdrc-page { color: #33475b; line-height: 1.85; }
.kdrc-page h2 { font-size: 1.55rem; font-weight: 700; color: #2c4964; margin: 2.2rem 0 .8rem; }
.kdrc-page h3 { font-size: 1.15rem; font-weight: 700; color: #2c4964; margin: 1.4rem 0 .5rem; }
.kdrc-page ul.kdrc-ticks { list-style: none; padding: 0; }
.kdrc-page ul.kdrc-ticks li { position: relative; padding-left: 28px; margin-bottom: 8px; }
.kdrc-page ul.kdrc-ticks li::before { content: "\F26E"; font-family: bootstrap-icons; position: absolute; left: 0; top: 0; color: #1977cc; font-size: 1.1rem; }
.kdrc-cards { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); margin: 1rem 0 1.5rem; }
.kdrc-card { border: 1px solid #e7eef6; border-radius: 12px; padding: 20px; background: #fff; height: 100%; }
.kdrc-card h3 { margin-top: 0; font-size: 1.05rem; }
.kdrc-card h3 a { color: #2c4964; }
.kdrc-card h3 a:hover { color: #1977cc; }
.kdrc-card p { font-size: .93rem; margin-bottom: 0; }
.kdrc-card .bi, .kdrc-card .fas { color: #1977cc; font-size: 1.6rem; display: inline-block; margin-bottom: 8px; }
.kdrc-cta { background: #f1f7fd; border: 1px solid #d9e8f7; border-radius: 12px; padding: 24px; margin: 2.5rem 0 3rem; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.kdrc-cta p { margin: 0; font-weight: 600; color: #2c4964; }
.kdrc-cta .btn { border-radius: 8px; }
.kdrc-faq details { border: 1px solid #e7eef6; border-radius: 10px; padding: 14px 18px; margin-bottom: 10px; background: #fff; }
.kdrc-faq summary { cursor: pointer; font-weight: 600; color: #2c4964; }
.kdrc-faq details p { margin: 10px 0 0; }
.kdrc-doctor { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: start; border: 1px solid #e7eef6; border-radius: 14px; padding: 24px; margin-bottom: 26px; background: #fff; }
.kdrc-doctor img { width: 100%; height: auto; border-radius: 12px; }
.kdrc-doctor h2 { margin-top: 0; }
.kdrc-doctor .role { color: #1977cc; font-weight: 600; display: block; margin-bottom: 10px; }
@media (max-width: 767px) { .kdrc-doctor { grid-template-columns: 1fr; padding: 18px; } .kdrc-doctor img { max-width: 240px; } }
.kdrc-gallery-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 1.5rem 0; }
.kdrc-gallery-grid figure { margin: 0; border: 1px solid #e7eef6; border-radius: 12px; overflow: hidden; background: #fff; }
.kdrc-gallery-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .3s; }
.kdrc-gallery-grid a:hover img { transform: scale(1.03); }
.kdrc-gallery-grid figcaption { padding: 10px 14px; font-size: .9rem; color: #445; }


/* ── Service page (hero · facts · sticky sidebar) ─────────────────── */
.kdrc-svc-hero { padding: 140px 0 28px; background: linear-gradient(180deg, #eef6ff 0%, #f8fbff 70%, #fff 100%); border-bottom: 1px solid #e7eef6; }
@media (max-width: 991px) { .kdrc-svc-hero { padding-top: 110px; } }
.kdrc-svc-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: center; margin-top: 8px; }
@media (max-width: 991px) { .kdrc-svc-hero-grid { grid-template-columns: 1fr; gap: 20px; } }
.kdrc-svc-pill { display: inline-block; background: rgba(25,119,204,.1); color: #1977cc; font-weight: 600; font-size: .8rem; padding: 4px 12px; border-radius: 999px; margin-bottom: 10px; }
.kdrc-svc h1.kdrc-page-h1 { font-size: 2.3rem; font-weight: 700; color: #1c2f47; line-height: 1.22; margin: 0 0 16px; }
@media (max-width: 575px) { .kdrc-svc h1.kdrc-page-h1 { font-size: 1.65rem; } }
.kdrc-in-short { background: #fff; border: 1px solid #d0e3f7; border-left: 4px solid #1977cc; border-radius: 12px; padding: 16px 20px; box-shadow: 0 6px 24px rgba(25,119,204,.06); }
.kdrc-in-short strong { color: #1977cc; text-transform: uppercase; font-size: .78rem; letter-spacing: .06em; }
.kdrc-in-short p { margin: 6px 0 0; font-size: 1.04rem; line-height: 1.7; color: #2c4964; }
.kdrc-in-short .kdrc-also { font-size: .88rem; color: #6b7a8c; }
.kdrc-svc-hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.kdrc-svc-hero-cta .btn { border-radius: 8px; padding: 10px 20px; font-weight: 600; }
.kdrc-svc-hero-media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; box-shadow: 0 18px 50px rgba(28,47,71,.16); }
.kdrc-svc-hero-icon { aspect-ratio: 4 / 3; border-radius: 16px; background: radial-gradient(circle at 30% 20%, #3f9be0, #1977cc 55%, #135c9e); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 20px; box-shadow: 0 18px 50px rgba(25,119,204,.25); }
.kdrc-svc-hero-icon img { width: 96px; height: 96px; filter: brightness(0) invert(1); opacity: .95; }
.kdrc-svc-hero-icon span { font-size: 1.6rem; font-weight: 700; font-family: Raleway, sans-serif; line-height: 1.2; }
.kdrc-svc-hero-icon small { opacity: .85; letter-spacing: .08em; text-transform: uppercase; font-size: .75rem; }
@media (max-width: 991px) { .kdrc-svc-hero-media { max-width: 520px; } }
.kdrc-svc-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 26px 0 0; }
@media (max-width: 991px) { .kdrc-svc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kdrc-svc-facts > div { background: #fff; border: 1px solid #e2e9f2; border-radius: 12px; padding: 12px 14px; }
.kdrc-svc-facts dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7a8c; font-weight: 600; }
.kdrc-svc-facts dt i { color: #1977cc; }
.kdrc-svc-facts dd { margin: 4px 0 0; font-weight: 600; color: #1c2f47; font-size: .95rem; line-height: 1.4; }

.kdrc-svc-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; padding: 30px 0 50px; }
@media (max-width: 1199px) { .kdrc-svc-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; } }
@media (max-width: 991px) { .kdrc-svc-layout { grid-template-columns: 1fr; } .kdrc-svc-aside { display: none; } }
.kdrc-svc-main { min-width: 0; max-width: 820px; }
.kdrc-svc-aside-inner { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 16px; max-height: calc(100vh - 130px); overflow-y: auto; }
.kdrc-aside-card { border: 1px solid #e2e9f2; border-radius: 14px; padding: 18px; background: #fff; }
.kdrc-aside-call { background: linear-gradient(160deg, #f0f7ff, #fff); display: flex; flex-direction: column; gap: 8px; }
.kdrc-aside-call p { font-size: .88rem; color: #5b6b7d; margin: 0 0 4px; }
.kdrc-aside-call .btn { border-radius: 8px; font-weight: 600; }
.kdrc-aside-toc ol { list-style: none; padding: 0; margin: 10px 0 0; counter-reset: toc; }
.kdrc-aside-toc li { counter-increment: toc; font-size: .88rem; line-height: 1.4; margin-bottom: 8px; display: flex; gap: 8px; }
.kdrc-aside-toc li::before { content: counter(toc); color: #1977cc; font-weight: 700; min-width: 22px; flex-shrink: 0; }
.kdrc-aside-toc a { color: #44566c; }
.kdrc-aside-toc a:hover { color: #1977cc; }
.kdrc-toc-mobile { display: none; border: 1px solid #e2e9f2; border-radius: 12px; padding: 12px 16px; margin: 16px 0; background: #fff; }
.kdrc-toc-mobile summary { font-weight: 600; cursor: pointer; color: #1c2f47; }
.kdrc-toc-mobile ol { margin: 10px 0 0; padding-left: 20px; font-size: .92rem; line-height: 1.7; }
@media (max-width: 991px) { .kdrc-toc-mobile { display: block; } }
.kdrc-takeaways { background: #fff; border: 1px solid #e2e9f2; border-radius: 12px; padding: 16px 20px; margin: 18px 0; }
.kdrc-takeaways ul { margin: 8px 0 0; padding-left: 0; list-style: none; }
.kdrc-takeaways li { position: relative; padding-left: 26px; margin-bottom: 6px; line-height: 1.6; }
.kdrc-takeaways li::before { content: "\F26E"; font-family: bootstrap-icons; position: absolute; left: 0; color: #1977cc; }
.kdrc-svc-body { color: #33475b; line-height: 1.85; font-size: 1.02rem; }
.kdrc-svc-body h2 { font-size: 1.6rem; font-weight: 700; color: #1c2f47; margin: 2.6rem 0 .9rem; padding-top: 1.4rem; border-top: 1px solid #eef2f6; scroll-margin-top: 110px; }
.kdrc-svc-body h2:first-child { border-top: 0; padding-top: 0; margin-top: 1.2rem; }
.kdrc-svc-body h3 { font-size: 1.2rem; font-weight: 700; color: #2c4964; margin: 1.6rem 0 .6rem; }
.kdrc-svc-body ul, .kdrc-svc-body ol { padding-left: 1.3rem; }
.kdrc-svc-body li { margin-bottom: .35rem; }
.kdrc-svc-body figure:not([style]) { margin: 1.6rem 0; }
.kdrc-svc-body figure img { border-radius: 12px; width: 100%; height: auto; }
.kdrc-svc-body figcaption { font-size: .88rem; color: #6b7a8c; margin-top: 6px; }
.kdrc-svc-body blockquote { border-left: 4px solid #1977cc; background: #f6faff; padding: 12px 18px; border-radius: 0 10px 10px 0; color: #2c4964; }
.kdrc-svc-section { margin: 2.4rem 0; }
.kdrc-svc-section h2 { font-size: 1.5rem; font-weight: 700; color: #1c2f47; scroll-margin-top: 110px; }
.kdrc-svc-practical { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin: 2.2rem 0; }
.kdrc-svc-practical > div { border: 1px solid #e2e9f2; border-radius: 12px; padding: 16px 18px; background: #fbfdff; }
.kdrc-svc-practical .h3-like { font-size: 1rem; font-weight: 700; color: #1977cc; margin: 0 0 8px; }
.kdrc-svc-practical p, .kdrc-svc-practical li { font-size: .94rem; }
.kdrc-sources ol { padding-left: 20px; font-size: .9rem; line-height: 1.8; }
.kdrc-disclaimer { font-size: .85rem; color: #6b7a8c; background: #f7f9fb; border-radius: 10px; padding: 12px 14px; margin-top: 12px; }
.kdrc-svc-authors { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin: 2rem 0; }
.kdrc-svc-cta { background: linear-gradient(135deg, #1977cc, #3f9be0); color: #fff; border-radius: 14px; padding: 24px 28px; margin: 2.2rem 0; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.kdrc-svc-cta strong { font-size: 1.15rem; }
.kdrc-svc-cta p { margin: 4px 0 0; opacity: .95; }
.kdrc-svc-cta a:not(.btn) { color: #fff; text-decoration: underline; }
.kdrc-svc-cta .kdrc-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kdrc-svc-cta .btn { border-radius: 8px; font-weight: 600; }
@media (max-width: 575px) { .kdrc-svc-cta .kdrc-cta-actions, .kdrc-svc-cta .kdrc-cta-actions .btn { width: 100%; } }
.kdrc-card-kicker { font-size: .78rem; color: #1977cc; font-weight: 600; margin: 0 0 6px !important; text-transform: uppercase; letter-spacing: .04em; }
.kdrc-prevnext { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #e7eef6; padding-top: 16px; margin: 2rem 0 0; font-size: .95rem; }
.kdrc-svc section { padding: 0; overflow: visible; }
.kdrc-svc .kdrc-faq details p { line-height: 1.7; }

/* Brand-coloured Bootstrap buttons on inner pages (template blue, not Bootstrap's default). */
.kdrc-svc .btn-primary, .kdrc-inner .btn-primary, .kdrc-cta .btn-primary { background: #1977cc; border-color: #1977cc; }
.kdrc-svc .btn-primary:hover, .kdrc-inner .btn-primary:hover, .kdrc-cta .btn-primary:hover { background: #1c84e3; border-color: #1c84e3; }
.kdrc-svc .btn-outline-primary, .kdrc-inner .btn-outline-primary, .kdrc-cta .btn-outline-primary { color: #1977cc; border-color: #1977cc; }
.kdrc-svc .btn-outline-primary:hover, .kdrc-inner .btn-outline-primary:hover, .kdrc-cta .btn-outline-primary:hover { background: #1977cc; color: #fff; }

/* ---- Dedicated booking page (/book-appointment) ------------------------ */
.kdrc-booking { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 992px) { .kdrc-booking { grid-template-columns: minmax(0, 1fr) 320px; } }
.kdrc-booking-card { background: #fff; border: 1px solid #e3ecf5; border-radius: 12px; box-shadow: 0 8px 30px rgba(25, 119, 204, 0.08); padding: 28px; }
@media (max-width: 575px) { .kdrc-booking-card { padding: 20px 16px; } }
.kdrc-booking-form label { display: block; font-size: 14px; font-weight: 600; color: #2c4964; margin-bottom: 6px; }
.kdrc-booking-form .form-control { border-radius: 6px; box-shadow: none; font-size: 15px; min-height: 44px; }
.kdrc-booking-form .form-control:focus { border-color: #1977cc; box-shadow: 0 0 0 3px rgba(25, 119, 204, 0.15); }
.kdrc-booking-form .btn-primary { background: #1977cc; border: 0; border-radius: 50px; padding: 12px 40px; font-weight: 600; }
.kdrc-booking-form .btn-primary:hover { background: #1c84e3; }
.kdrc-booking-note { font-size: 13px; color: #6c7f93; margin: 12px 0 0; }
.kdrc-booking-done { text-align: center; padding: 24px 8px; }
.kdrc-booking-done .bi { font-size: 48px; color: #1fa36a; }
.kdrc-booking-done h2 { font-size: 24px; font-weight: 700; color: #2c4964; margin: 12px 0; }
.kdrc-booking-aside { display: grid; gap: 16px; }
.kdrc-booking-aside .box { background: #f1f7fd; border-radius: 12px; padding: 20px; }
.kdrc-booking-aside .box h2 { font-size: 17px; font-weight: 700; color: #2c4964; margin: 0 0 10px; }
.kdrc-booking-aside .box p, .kdrc-booking-aside .box li { font-size: 14px; color: #444; }
.kdrc-booking-aside .box ol { padding-left: 18px; margin: 0; }
.kdrc-booking-aside .box li { margin-bottom: 6px; }
.kdrc-booking-aside .call { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; color: #1977cc; margin-top: 6px; }

/* ---- Doctor profile pages (/doctors/[slug]) ---------------------------- */
.kdrc-chip { display: inline-block; background: #f0f7ff; color: #1977cc; border-radius: 999px; padding: 4px 12px; font-size: 0.82rem; margin: 0 8px 8px 0; }
.kdrc-article-list { list-style: none; padding: 0; }
.kdrc-article-list li { border-bottom: 1px solid #eef3f8; padding: 12px 0; }
.kdrc-article-list a { font-weight: 600; color: #22304a; }
.kdrc-article-list a:hover { color: #1977cc; }
.kdrc-article-list p { margin: 4px 0 0; font-size: 0.92rem; color: #667; }
.doctors .member .pic a, .doctors .member-info h3 a { color: inherit; }
.kdrc-svc-more { display: inline-block; margin-top: 6px; font-weight: 600; color: #1977cc; }
