/* ===== Our Services / Specialist page ===== */

/* Page Title */
.page-title { padding:44px 0 0; background:#fff; }
.page-title h1 { font-size:clamp(2.2rem,4.5vw,3.2rem); font-weight:900; color:var(--gold); margin:0; }

/* Hero image */
.hero-photo {
  width:100%; max-height:540px; object-fit:cover; display:block;
  margin-top:22px; border-radius:14px;
}

/* Hero desc */
.hero-desc { padding:16px 0 28px; border-bottom:1px solid #eaeaea; }
.hero-desc p { font-size:14.5px; color:var(--navy); line-height:1.78; margin:0; }

/* Medical Experts */
.sec-experts { padding:0 0 60px; border-bottom:1px solid #eaeaea; }
.sec-experts h2 { color:var(--gold); font-size:1.5rem; font-weight:800; margin:0 0 28px; padding-top:32px; }

/* Slider wrapper — arrows on sides */
.doc-slider-wrap {
  position:relative;
  padding:0 44px;
}
.doc-slider-outer { overflow:hidden; padding-top:58px; }
.doc-slider-track {
  display:flex; gap:20px;
  transition:transform .4s ease;
  will-change:transform;
}
.doc-card-item { flex:0 0 calc(33.333% - 14px); }

.doc-slider-btn {
  position:absolute; top:50%; transform:translateY(-20%);
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid #ccc; background:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:18px; color:#555;
  z-index:10; transition:all .2s; line-height:1;
}
.doc-slider-btn:hover { background:var(--gold); border-color:var(--gold); color:#fff; }
.doc-slider-prev { left:0; }
.doc-slider-next { right:0; }

/* Doctor card */
.doctor-card {
  border-radius:16px; overflow:visible;
  position:relative;
}
.doctor-card .doc-upper {
  background:linear-gradient(160deg,#D6E8FF 0%,#A8CAFF 100%);
  border-radius:16px 16px 0 0;
  height:200px; position:relative; overflow:visible;
}
.doctor-card .doc-photo {
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  height:260px; width:auto;
  object-fit:contain; object-position:bottom center;
  display:block; z-index:1;
}
.doctor-card .doc-lower {
  background:linear-gradient(160deg,#1A3F8F 0%,#0B1F55 100%);
  border-radius:16px;
  padding:18px 20px 20px;
  position:relative; z-index:2;
  margin-top:-110px;
}
.doctor-card .doc-name {
  color:var(--gold); font-size:15px; font-weight:800;
  line-height:1.4; margin-bottom:5px;
}
.doctor-card .doc-spec {
  color:rgba(255,255,255,0.75);
  font-size:12px; font-weight:500; margin-bottom:18px; display:block;
}
.btn-profile {
  background:var(--gold); color:#fff;
  border-radius:20px; font-size:11px; font-weight:700; padding:7px 18px;
  text-decoration:none; display:inline-flex; align-items:center; gap:5px;
  float:right; transition:background .2s;
}
.btn-profile:hover { background:#b8913a; color:#fff; }

/* ── Accordion program sections ── */
.prog-accordion { padding-top:28px; }
.prog-acc-header {
  display:flex; align-items:center; gap:12px;
  padding:18px 0; cursor:pointer; border:none; background:none; width:100%;
  border-bottom:1.5px solid #d8cba0;
}
.prog-acc-header .acc-arrow {
  font-size:11px; color:var(--gold); flex-shrink:0;
  transition:transform .3s;
}
.prog-acc-header.collapsed .acc-arrow { transform:rotate(-90deg); }
.prog-acc-header .acc-title {
  font-size:1.15rem; font-weight:800; color:var(--gold);
  white-space:nowrap; flex-shrink:0;
}
.prog-acc-body { padding:20px 0 28px; }

/* Program card */
.prog-card {
  background:#fff; border-radius:10px; padding:18px 16px 20px;
  height:100%; display:flex; flex-direction:column;
}
.prog-card .prog-icon {
  width:40px; height:40px; object-fit:contain; margin-bottom:12px;
  filter:brightness(0) saturate(100%) invert(69%) sepia(38%) saturate(630%)
         hue-rotate(2deg) brightness(97%) contrast(92%);
}
.prog-card .prog-title {
  font-size:12.5px; font-weight:800; color:var(--navy);
  line-height:1.4; margin-bottom:7px;
  padding-left:18px; position:relative;
}
.prog-card .prog-title::before {
  content:'•'; position:absolute; left:0; color:var(--navy); font-size:20px; line-height:0.9;
}
.prog-card .prog-desc { font-size:12px; color:var(--navy); line-height:1.65; flex:1; margin-bottom:12px; }
.prog-card .prog-list-label {
  font-size:11.5px; font-weight:800; color:var(--navy); margin-bottom:6px;
}
.prog-card ul { list-style:none; padding:0; margin:0; }
.prog-card ul li {
  font-size:11.5px; color:var(--navy); padding:2px 0 2px 16px;
  position:relative; line-height:1.5;
}
.prog-card ul li::before {
  content:'▶'; position:absolute; left:0; color:var(--gold);
  font-size:7px; top:4px;
}

/* Explore Specialties */
.sec-explore { padding:36px 0 56px; }
.sec-explore h2 {
  font-size:clamp(1.8rem,3.5vw,2rem); font-weight:900; margin-bottom:24px;
}
.spec-card {
  position:relative; border-radius:12px; overflow:hidden; height:350px; cursor:pointer;
}
.spec-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.spec-card:hover img { transform:scale(1.06); }
.spec-card::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,15,50,.75) 5%,transparent 100%);
}
.spec-card .spec-label {
  position:absolute; bottom:0; left:0; right:0; z-index:1;
  color:#fff; font-size:18px; font-weight:800;
  text-align:center; padding:16px 12px 20px;
}

/* ===== Responsive — Services ===== */
@media (max-width: 991px) {
  .doc-card-item { flex: 0 0 calc(50% - 10px); }
  .hero-photo { max-height: 360px; }
}
@media (max-width: 768px) {
  .prog-acc-header .acc-title { white-space: normal; }
}
@media (max-width: 576px) {
  .doc-card-item { flex: 0 0 100%; }
  .doc-slider-wrap { padding: 0 38px; }
  .hero-photo { max-height: 240px; }
}
