/* ==========================================================
   CityCare Hospital — Custom Styles
   ========================================================== */

:root{
  --navy-950:#0a2559;
  --navy-900:#0e2f78;
  --navy-800:#123a8f;
  --blue-600:#1656c7;
  --blue-500:#2f6fe0;
  --blue-100:#eaf2fb;
  --blue-50:#f5f9fe;
  --ink-900:#141b2e;
  --ink-700:#374057;
  --gray-600:#697184;
  --gray-300:#dfe4ee;
  --white:#ffffff;
  --radius-lg:18px;
  --radius-md:12px;
  --shadow-soft:0 10px 30px rgba(14,47,120,.08);
  --shadow-card:0 15px 35px rgba(14,47,120,.12);
  --font-head:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:var(--font-body);
  color:var(--ink-700);
  background:var(--white);
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
  color:var(--ink-900);
  margin:0;
}

p{margin:0;}

a{text-decoration:none;color:inherit;}

img{max-width:100%;height:auto;}

/* ============ ACCESSIBILITY: SKIP LINK ============ */
.skip-link{
  position:absolute;
  top:-3rem;
  left:1rem;
  z-index:2000;
  background:var(--navy-950);
  color:#fff;
  padding:.75rem 1.25rem;
  border-radius:0 0 10px 10px;
  font-weight:600;
  font-size:.9rem;
  transition:top .2s ease;
}
.skip-link:focus{
  top:0;
  color:#fff;
  outline:3px solid var(--blue-500);
  outline-offset:2px;
}

.eyebrow{
  color:var(--blue-600);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:.5rem;
}

.section-title{
  font-size:2rem;
  font-weight:700;
  line-height:1.25;
}

.section{padding:5.5rem 0;}

/* ============ TOP BAR ============ */
.topbar{
  background:var(--navy-950);
  color:#cdd9f2;
  font-size:.85rem;
}
.topbar-left span{margin-right:.25rem;}
.topbar-left i, .topbar i{color:#6fa2f5;margin-right:.35rem;}
.topbar a{
  color:#cdd9f2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;height:28px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  transition:.25s;
  margin-left:.15rem;
}
.topbar a:hover{background:var(--blue-600);color:#fff;}
.follow-label{color:#8fa3cc;font-size:.8rem;}

/* ============ NAVBAR ============ */
.main-nav{
  background:#fff;
  padding:.9rem 0;
  box-shadow:0 2px 18px rgba(20,27,46,.06);
  z-index:1030;
}
.navbar-brand{
  display:flex;
  align-items:center;
  gap:.6rem;
}
.logo-icon{
  color:var(--blue-600);
  font-size:1.9rem;
}
.logo-text{
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.4rem;
  color:var(--ink-900);
  line-height:1;
  display:flex;
  flex-direction:column;
}
.logo-text.light{color:#fff;}
.logo-text small{
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.18em;
  color:var(--blue-600);
}
.main-menu{gap:.35rem;}
.main-menu .nav-link{
  color:var(--ink-700);
  font-weight:500;
  font-size:.95rem;
  padding:.5rem .9rem !important;
  position:relative;
}
.main-menu .nav-link.active,
.main-menu .nav-link:hover{color:var(--blue-600);}
.main-menu .nav-link.active::after{
  content:"";
  position:absolute;
  left:.9rem;right:.9rem;bottom:.15rem;
  height:2px;background:var(--blue-600);
  border-radius:2px;
}
.btn-primary-nav{
  background:var(--navy-900);
  color:#fff !important;
  border-radius:50px;
  padding:.65rem 1.4rem;
  font-weight:600;
  font-size:.9rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border:none;
  transition:.25s;
}
.btn-primary-nav:hover{background:var(--blue-600);color:#fff;}

/* ============ BUTTONS ============ */
.btn-navy{
  background:var(--navy-900);
  color:#fff;
  border-radius:50px;
  padding:.8rem 1.6rem;
  font-weight:600;
  font-size:.92rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border:1px solid var(--navy-900);
  transition:.25s;
}
.btn-navy:hover{background:var(--blue-600);border-color:var(--blue-600);color:#fff;}

.btn-outline-navy{
  background:transparent;
  color:var(--navy-900);
  border:1.5px solid var(--navy-900);
  border-radius:50px;
  padding:.8rem 1.6rem;
  font-weight:600;
  font-size:.92rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:.25s;
}
.btn-outline-navy:hover{background:var(--navy-900);color:#fff;}
.btn-sm-pill{padding:.6rem 1.3rem;font-size:.85rem;}

/* ============ HERO ============ */
.hero{
  background:linear-gradient(180deg,var(--blue-100) 0%, var(--blue-50) 100%);
  padding-top:4.5rem;
  position:relative;
}
.hero-title{
  font-size:2.9rem;
  font-weight:700;
  line-height:1.18;
  color:var(--navy-950);
  max-width:560px;
}
.hero-text{
  color:var(--gray-600);
  font-size:1.02rem;
  max-width:480px;
  margin-top:1rem;
  line-height:1.7;
}
.hero-media{position:relative;}
.hero-img{
  width:100%;
  border-radius:24px;
  box-shadow:var(--shadow-card);
  object-fit:cover;
  aspect-ratio:7/6.2;
}
.floating-actions{
  position:absolute;
  right:-1.1rem;
  top:14%;
  flex-direction:column;
  gap:.7rem;
  z-index:5;
}
.float-card{
  background:var(--navy-900);
  color:#fff;
  border-radius:14px;
  width:104px;
  padding:.8rem .6rem;
  text-align:center;
  box-shadow:0 10px 25px rgba(10,37,89,.35);
  transition:.25s;
}
.float-card i{font-size:1.3rem;display:block;margin-bottom:.35rem;color:#8fb4ff;}
.float-card span{font-size:.72rem;font-weight:600;line-height:1.25;}
.float-card:hover{background:var(--blue-600);transform:translateY(-3px);}

/* Features strip */
.features-strip{
  background:#fff;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:2.2rem 2rem;
  margin-top:-3.5rem;
  position:relative;
  z-index:10;
}
.feature-item{display:flex;align-items:flex-start;gap:.9rem;}
.feature-icon{
  flex:0 0 auto;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--blue-100);
  color:var(--blue-600);
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;
}
.feature-item h6{font-weight:600;font-size:1rem;margin-bottom:.2rem;color:var(--ink-900);}
.feature-item p{font-size:.85rem;color:var(--gray-600);line-height:1.4;}

/* ============ DEPARTMENTS ============ */
.dept-card{
  background:var(--blue-50);
  border:1px solid var(--gray-300);
  border-radius:var(--radius-lg);
  padding:2rem 1.5rem;
  text-align:center;
  height:100%;
  transition:.3s;
}
.dept-card:hover{
  background:var(--navy-900);
  border-color:var(--navy-900);
  transform:translateY(-6px);
  box-shadow:var(--shadow-card);
}
.dept-card:hover h5,
.dept-card:hover p,
.dept-card:hover .learn-more{color:#fff;}
.dept-icon{
  width:60px;height:60px;
  border-radius:50%;
  background:var(--blue-100);
  color:var(--blue-600);
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
  margin:0 auto 1.1rem;
  transition:.3s;
}
.dept-card:hover .dept-icon{background:rgba(255,255,255,.12);color:#fff;}
.dept-card h5{font-size:1.05rem;font-weight:600;margin-bottom:.5rem;}
.dept-card p{font-size:.85rem;color:var(--gray-600);margin-bottom:1rem;min-height:40px;}
.learn-more{
  color:var(--blue-600);
  font-weight:600;
  font-size:.85rem;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  transition:.25s;
}
.learn-more:hover{gap:.55rem;}

/* ============ STATS BANNER ============ */
.stats-banner{
  background:var(--navy-950);
  background-image:radial-gradient(circle at 15% 30%, rgba(255,255,255,.05), transparent 40%),
                    radial-gradient(circle at 85% 70%, rgba(255,255,255,.05), transparent 40%);
  padding:3.5rem 0;
  color:#fff;
}
.stat-icon{font-size:1.8rem;color:#7fabff;margin-bottom:.6rem;display:block;}
.stat-num{font-size:2.4rem;font-weight:700;color:#fff;margin-bottom:.2rem;}
.stats-banner p{color:#a9bce8;font-size:.9rem;}

/* ============ DOCTORS ============ */
.doctor-card{text-align:center;}
.doctor-photo{
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:1/1.05;
  margin-bottom:1.1rem;
  box-shadow:var(--shadow-soft);
}
.doctor-photo img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.doctor-card:hover .doctor-photo img{transform:scale(1.06);}
.doctor-card h6{font-weight:600;font-size:1.02rem;margin-bottom:.15rem;}
.doctor-card p{color:var(--blue-600);font-size:.85rem;font-weight:500;margin-bottom:.7rem;}
.doctor-social{display:flex;justify-content:center;gap:.5rem;}
.doctor-social a{
  width:32px;height:32px;
  border-radius:50%;
  background:var(--blue-100);
  color:var(--blue-600);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;
  transition:.25s;
}
.doctor-social a:hover{background:var(--navy-900);color:#fff;}

/* ============ TESTIMONIALS ============ */
.testimonial-section{
  background:var(--blue-100);
  padding:5rem 0;
}
.testimonial-box{max-width:680px;}
.quote-icon{font-size:2.2rem;color:var(--blue-500);opacity:.5;margin-bottom:.5rem;}
.testimonial-slide{display:none;}
.testimonial-slide.active{display:block;animation:fadeIn .5s ease;}
.testimonial-text{
  font-size:1.1rem;
  color:var(--ink-700);
  line-height:1.8;
  margin-bottom:1.5rem;
}
.testimonial-avatar{
  width:56px;height:56px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:.6rem;
  border:3px solid #fff;
}
.testimonial-box h6{font-weight:600;font-size:.95rem;}
.patient-tag{color:var(--gray-600);font-size:.8rem;}
.testimonial-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem;}
.dot{
  width:9px;height:9px;border-radius:50%;
  background:#b9caea;cursor:pointer;transition:.25s;
}
.dot.active{background:var(--navy-900);width:22px;border-radius:6px;}

@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ============ BLOG ============ */
.blog-card{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:#fff;
  height:100%;
  transition:.3s;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);}
.blog-img{position:relative;aspect-ratio:16/10;overflow:hidden;}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.blog-card:hover .blog-img img{transform:scale(1.08);}
.badge-tag{
  position:absolute;
  top:.9rem;left:.9rem;
  background:var(--blue-600);
  color:#fff;
  font-size:.72rem;
  font-weight:600;
  padding:.3rem .7rem;
  border-radius:50px;
}
.badge-news{background:var(--navy-900);}
.blog-body{padding:1.4rem 1.3rem 1.6rem;}
.blog-date{color:var(--gray-600);font-size:.8rem;margin-bottom:.6rem;}
.blog-date i{margin-right:.3rem;}
.blog-body h5{font-size:1.05rem;font-weight:600;line-height:1.4;margin-bottom:.9rem;color:var(--ink-900);}

/* ============ FOOTER ============ */
.site-footer{
  background:var(--navy-950);
  color:#b9c7e8;
  padding-top:4rem;
}
.site-footer p{color:#a2b3da;font-size:.9rem;line-height:1.7;}
.footer-heading{
  color:#fff;
  font-weight:600;
  font-size:1.02rem;
  margin-bottom:1.2rem;
}
.footer-list{list-style:none;padding:0;margin:0;}
.footer-list li{margin-bottom:.7rem;}
.footer-list a{color:#a2b3da;font-size:.9rem;transition:.2s;}
.footer-list a:hover{color:#fff;padding-left:3px;}
.footer-contact li{display:flex;align-items:flex-start;gap:.5rem;line-height:1.5;overflow-wrap:break-word;}
.footer-contact i{color:var(--blue-500);margin-top:.2rem;}
.footer-social a{background:rgba(255,255,255,.08);color:#cdd9f2;}
.footer-social a:hover{background:var(--blue-600);color:#fff;}
.footer-emergency{
  display:flex;
  align-items:center;
  gap:.8rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:.75rem 1rem;
  margin:1.2rem 0 1.4rem;
  max-width:280px;
  transition:.2s;
}
.footer-emergency:hover{background:rgba(255,255,255,.12);border-color:var(--blue-500);}
.footer-emergency i{font-size:1.3rem;color:#ff7a7a;flex-shrink:0;}
.footer-emergency strong{display:block;color:#fff;font-size:.85rem;font-weight:600;}
.footer-emergency small{color:#a2b3da;font-size:.82rem;}
.footer-top{padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-bottom{padding:1.3rem 0;font-size:.85rem;}
.footer-bottom p{color:#8ea0c8;margin:0;}
.footer-bottom-links a{color:#8ea0c8;margin-left:1.4rem;font-size:.85rem;}
.footer-bottom-links a:hover{color:#fff;}
.footer-bottom-links i{margin-right:.3rem;}

/* ============ BACK TO TOP ============ */
#backToTop{
  position:fixed;
  bottom:24px;right:24px;
  width:46px;height:46px;
  border-radius:50%;
  background:var(--navy-900);
  color:#fff;
  border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  box-shadow:0 8px 20px rgba(10,37,89,.35);
  opacity:0;visibility:hidden;
  transform:translateY(10px);
  transition:.3s;
  z-index:999;
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backToTop:hover{background:var(--blue-600);}

/* ============ MOBILE STICKY CTA BAR ============ */
.mobile-cta-bar{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:1030;
  display:flex;
  min-height:60px;
  background:#fff;
  box-shadow:0 -6px 20px rgba(10,37,89,.15);
}
.mobile-cta-btn{
  flex:1;
  display:flex;align-items:center;justify-content:center;
  gap:.45rem;
  font-weight:600;
  font-size:.85rem;
  color:#fff;
}
.mobile-cta-btn.call{background:var(--navy-900);}
.mobile-cta-btn.book{background:var(--blue-600);}
.mobile-cta-btn:hover,.mobile-cta-btn:focus{color:#fff;opacity:.92;}

/* ============ WHATSAPP FAB ============ */
.whatsapp-fab{
  position:fixed;
  right:24px;bottom:90px;
  width:52px;height:52px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  box-shadow:0 8px 20px rgba(37,211,102,.4);
  z-index:999;
  transition:.25s;
}
.whatsapp-fab:hover{transform:scale(1.08);color:#fff;}

@media (max-width:991.98px){
  body{padding-bottom:60px;}
  .whatsapp-fab{bottom:150px;right:16px;width:48px;height:48px;font-size:1.35rem;}
  #backToTop{bottom:84px;right:16px;width:42px;height:42px;font-size:1rem;}
}

/* ============ DOCTOR PROFILE PAGE ============ */
.doctor-profile-photo{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  aspect-ratio:5/5.4;
}
.doctor-profile-photo img{width:100%;height:100%;object-fit:cover;}
.doctor-profile-specialty{color:var(--blue-600);font-weight:600;margin-bottom:1.2rem;}
.doctor-meta-row{
  display:flex;flex-wrap:wrap;gap:1.4rem;
  padding:1rem 1.2rem;
  background:var(--blue-50);
  border-radius:var(--radius-md);
}
.doctor-meta-row > div{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ink-700);}
.doctor-meta-row i{color:var(--blue-600);font-size:1.05rem;}
.block-heading{font-weight:600;font-size:1rem;margin-bottom:.9rem;color:var(--ink-900);}

/* ============ BLOG ARTICLE PAGE ============ */
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:1.2rem;}
.article-meta .badge-tag{position:static;display:inline-block;}
.article-meta span{color:var(--gray-600);font-size:.88rem;display:flex;align-items:center;gap:.4rem;}
.article-img{width:100%;border-radius:var(--radius-lg);margin-bottom:1.8rem;box-shadow:var(--shadow-soft);object-fit:cover;aspect-ratio:16/9;}
.article-body #postContent p{margin-bottom:1.3rem;line-height:1.85;color:var(--ink-700);}
.article-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0 1.6rem;}
.article-tags a{
  background:var(--blue-100);color:var(--blue-600);
  font-size:.8rem;font-weight:500;
  padding:.4rem .9rem;border-radius:50px;
}
.article-tags a:hover{background:var(--blue-600);color:#fff;}
.article-share{display:flex;align-items:center;gap:.8rem;padding-top:1.6rem;border-top:1px solid var(--gray-300);}
.article-share span{font-weight:600;color:var(--ink-900);margin-right:.3rem;}
.article-share a{
  width:36px;height:36px;border-radius:50%;
  background:var(--blue-100);color:var(--blue-600);
  display:flex;align-items:center;justify-content:center;
  transition:.2s;
}
.article-share a:hover{background:var(--blue-600);color:#fff;}

/* ============ 404 / ERROR PAGE ============ */
.error-page{text-align:center;padding:5rem 0;}
.error-code{
  font-family:var(--font-head);
  font-weight:800;
  font-size:7rem;
  line-height:1;
  color:var(--blue-100);
  -webkit-text-stroke:2px var(--blue-600);
  margin-bottom:1rem;
}
.error-page h2{margin-bottom:1rem;}
.error-page p{max-width:480px;margin:0 auto 2rem;color:var(--gray-600);}

/* ============ LEGAL / STATIC CONTENT PAGES ============ */
.legal-content h2{font-size:1.3rem;margin:2rem 0 .9rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{margin-bottom:1.1rem;line-height:1.8;color:var(--ink-700);}
.legal-content ul{margin:0 0 1.1rem;padding-left:1.3rem;}
.legal-content li{margin-bottom:.5rem;line-height:1.7;color:var(--ink-700);}
.legal-note{
  background:var(--blue-50);
  border-left:4px solid var(--blue-600);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  padding:1rem 1.3rem;
  font-size:.9rem;
  color:var(--ink-700);
  margin-bottom:2rem;
}

/* ============ SCROLL REVEAL ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ============ PAGE HEADER / BREADCRUMB ============ */
.page-header{
  background:linear-gradient(180deg,var(--blue-100) 0%, var(--blue-50) 100%);
  padding:3.6rem 0 3rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-header::before{
  content:"";
  position:absolute;
  top:-60px;right:-60px;
  width:220px;height:220px;
  border-radius:50%;
  background:rgba(22,86,199,.06);
}
.page-header::after{
  content:"";
  position:absolute;
  bottom:-70px;left:-40px;
  width:180px;height:180px;
  border-radius:50%;
  background:rgba(10,37,89,.05);
}
.page-header h1{
  font-size:2.4rem;
  font-weight:700;
  color:var(--navy-950);
  position:relative;
  z-index:1;
}
.breadcrumb-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.5rem;
  margin-top:.7rem;
  font-size:.9rem;
  color:var(--gray-600);
  position:relative;
  z-index:1;
}
.breadcrumb-nav a{color:var(--blue-600);font-weight:600;}
.breadcrumb-nav i{font-size:.7rem;color:var(--gray-600);}

/* ============ ABOUT PAGE ============ */
.about-media{position:relative;}
.about-img-main{
  width:100%;
  border-radius:20px;
  box-shadow:var(--shadow-card);
  aspect-ratio:6/6.4;
  object-fit:cover;
}
.about-badge{
  position:absolute;
  bottom:-1.4rem;left:-1.4rem;
  background:var(--navy-950);
  color:#fff;
  border-radius:16px;
  padding:1.3rem 1.5rem;
  box-shadow:0 15px 30px rgba(10,37,89,.3);
  display:flex;
  align-items:center;
  gap:.9rem;
}
.about-badge i{font-size:1.9rem;color:#7fabff;}
.about-badge strong{display:block;font-size:1.5rem;line-height:1;}
.about-badge span{font-size:.78rem;color:#a9bce8;}
.check-list{list-style:none;padding:0;margin:1.5rem 0;}
.check-list li{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin-bottom:.85rem;
  font-size:.96rem;
  color:var(--ink-700);
}
.check-list i{
  color:var(--blue-600);
  background:var(--blue-100);
  border-radius:50%;
  width:24px;height:24px;
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;
  margin-top:.1rem;
}

.value-card{
  border:1px solid var(--gray-300);
  border-radius:var(--radius-lg);
  padding:2.2rem 1.8rem;
  height:100%;
  transition:.3s;
}
.value-card:hover{box-shadow:var(--shadow-card);transform:translateY(-5px);border-color:transparent;}
.value-card .dept-icon{margin:0 0 1.2rem;}
.value-card h5{font-weight:600;margin-bottom:.6rem;}
.value-card p{color:var(--gray-600);font-size:.92rem;line-height:1.6;}

.cta-banner{
  background:var(--navy-950);
  background-image:radial-gradient(circle at 20% 30%, rgba(255,255,255,.06), transparent 45%);
  border-radius:24px;
  padding:3rem 2.5rem;
  color:#fff;
  text-align:center;
}
.cta-banner h2{color:#fff;font-size:1.9rem;margin-bottom:.7rem;}
.cta-banner p{color:#a9bce8;max-width:520px;margin:0 auto 1.6rem;}

/* ============ SERVICES PAGE ============ */
.service-card{
  background:#fff;
  border:1px solid var(--gray-300);
  border-radius:var(--radius-lg);
  padding:2.2rem 1.8rem;
  height:100%;
  transition:.3s;
}
.service-card:hover{
  box-shadow:var(--shadow-card);
  transform:translateY(-6px);
  border-color:transparent;
}
.service-card .dept-icon{margin:0 0 1.2rem;}
.service-card h5{font-weight:600;margin-bottom:.6rem;font-size:1.08rem;}
.service-card p{color:var(--gray-600);font-size:.92rem;line-height:1.65;margin-bottom:1rem;}

.step-item{text-align:center;position:relative;}
.step-num{
  width:56px;height:56px;
  border-radius:50%;
  background:var(--navy-900);
  color:#fff;
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.1rem;
  position:relative;
  z-index:2;
}
.step-item h6{font-weight:600;margin-bottom:.5rem;}
.step-item p{color:var(--gray-600);font-size:.88rem;}
.steps-row{position:relative;}
.steps-row::before{
  content:"";
  position:absolute;
  top:28px;left:12%;right:12%;
  height:2px;
  background:repeating-linear-gradient(90deg, var(--gray-300) 0 8px, transparent 8px 16px);
  z-index:1;
}
@media (max-width:767.98px){ .steps-row::before{display:none;} }

/* ============ DOCTORS PAGE ============ */
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.6rem;
  margin-bottom:3rem;
}
.filter-btn{
  border:1.5px solid var(--gray-300);
  background:#fff;
  color:var(--ink-700);
  border-radius:50px;
  padding:.55rem 1.3rem;
  font-size:.85rem;
  font-weight:600;
  transition:.25s;
}
.filter-btn:hover{border-color:var(--blue-600);color:var(--blue-600);}
.filter-btn.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff;}

/* ============ BLOG PAGE ============ */
.sidebar-widget{
  background:var(--blue-50);
  border-radius:var(--radius-lg);
  padding:1.7rem;
  margin-bottom:1.5rem;
}
.sidebar-widget h6{
  font-weight:600;
  margin-bottom:1.1rem;
  padding-bottom:.8rem;
  border-bottom:2px solid var(--gray-300);
}
.search-widget{position:relative;}
.search-widget input{
  border-radius:50px;
  padding:.7rem 1.1rem;
  border:1px solid var(--gray-300);
  font-size:.85rem;
  padding-right:3rem;
}
.search-widget button{
  position:absolute;
  right:4px;top:4px;
  width:38px;height:38px;
  border-radius:50%;
  background:var(--navy-900);
  color:#fff;
  border:none;
  display:flex;align-items:center;justify-content:center;
}
.category-widget ul{list-style:none;padding:0;margin:0;}
.category-widget li{
  display:flex;
  justify-content:space-between;
  padding:.55rem 0;
  border-bottom:1px dashed var(--gray-300);
  font-size:.9rem;
}
.category-widget li:last-child{border-bottom:none;}
.category-widget a{color:var(--ink-700);transition:.2s;}
.category-widget a:hover{color:var(--blue-600);}
.category-widget span{
  background:#fff;
  color:var(--gray-600);
  font-size:.75rem;
  padding:.1rem .55rem;
  border-radius:50px;
}
.recent-post{display:flex;gap:.8rem;margin-bottom:1rem;}
.recent-post img{
  width:64px;height:64px;
  border-radius:10px;
  object-fit:cover;
  flex:0 0 auto;
}
.recent-post h6{font-size:.85rem;font-weight:600;line-height:1.4;margin-bottom:.25rem;}
.recent-post span{font-size:.75rem;color:var(--gray-600);}
.tag-widget{display:flex;flex-wrap:wrap;gap:.5rem;}
.tag-widget a{
  background:#fff;
  border:1px solid var(--gray-300);
  border-radius:50px;
  padding:.35rem .9rem;
  font-size:.8rem;
  color:var(--ink-700);
  transition:.2s;
}
.tag-widget a:hover{background:var(--navy-900);border-color:var(--navy-900);color:#fff;}

.pagination-wrap{
  display:flex;
  justify-content:center;
  gap:.5rem;
  margin-top:1rem;
}
.pagination-wrap a{
  width:42px;height:42px;
  border-radius:50%;
  border:1.5px solid var(--gray-300);
  display:flex;align-items:center;justify-content:center;
  font-weight:600;
  font-size:.9rem;
  color:var(--ink-700);
  transition:.2s;
}
.pagination-wrap a.active,
.pagination-wrap a:hover{background:var(--navy-900);border-color:var(--navy-900);color:#fff;}

/* ============ CONTACT PAGE ============ */
.info-card{
  background:#fff;
  border:1px solid var(--gray-300);
  border-radius:var(--radius-lg);
  padding:2rem 1.6rem;
  text-align:center;
  height:100%;
  transition:.3s;
}
.info-card:hover{box-shadow:var(--shadow-card);transform:translateY(-5px);}
.info-card .dept-icon{margin:0 auto 1.1rem;}
.info-card h6{font-weight:600;margin-bottom:.5rem;}
.info-card p{color:var(--gray-600);font-size:.88rem;line-height:1.6;}

.contact-form-wrap{
  background:var(--blue-50);
  border-radius:var(--radius-lg);
  padding:2.5rem;
}
.form-control, .form-select{
  border:1px solid var(--gray-300);
  border-radius:10px;
  padding:.75rem 1rem;
  font-size:.9rem;
}
.form-control:focus, .form-select:focus{
  border-color:var(--blue-500);
  box-shadow:0 0 0 3px rgba(47,111,224,.12);
}
.form-status{
  margin-top:1rem;
  font-size:.88rem;
  font-weight:600;
  min-height:1.2rem;
}
.form-status.success{color:#1a7f4e;}
.form-status.error{color:#c0392b;}
.map-wrap{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  height:100%;
  min-height:320px;
}
.map-wrap iframe{width:100%;height:100%;min-height:320px;border:0;display:block;}

/* ============ RESPONSIVE ============ */

/* Safety net: never allow a wide element to force horizontal scroll */
html,body{max-width:100%;overflow-x:hidden;}
table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

@media (max-width:991.98px){
  .hero-title{font-size:2.2rem;}
  .section{padding:3.75rem 0;}
  .section-title{font-size:1.6rem;}
  .floating-actions{display:none;}
  .features-strip{margin-top:2rem;}
  .main-menu{gap:0;}
  .main-menu .nav-link{padding:.6rem 0 !important;}
  .main-nav .navbar-collapse{background:#fff;padding:1rem 0;}
  .footer-top{padding-bottom:2.2rem;}
  .footer-emergency{max-width:100%;}
}

@media (max-width:767.98px){
  .section{padding:3rem 0;}
  .page-header{padding:2.6rem 0;}
  .filter-btn{font-size:.82rem;padding:.5rem 1rem;}
  .contact-form-wrap,.map-wrap{margin-bottom:1.5rem;}
  .doctor-social,.footer-social{flex-wrap:wrap;}
}

@media (max-width:575.98px){
  .hero-title{font-size:1.85rem;}
  .stat-num{font-size:1.9rem;}
  .page-header h1{font-size:1.7rem;}
  .about-badge{left:.5rem;bottom:-1rem;padding:1rem 1.2rem;}
  .about-badge strong{font-size:1.2rem;}
  .section-title{font-size:1.4rem;}
  .btn-navy,.btn-outline-navy{padding:.7rem 1.3rem;font-size:.88rem;}
  .footer-bottom-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
  .footer-bottom-links a{margin:0 .7rem;}
}

@media (max-width:400px){
  .hero-title{font-size:1.6rem;}
  .logo-text{font-size:1.1rem;}
  .stat-num{font-size:1.6rem;}
  .features-strip{padding:1.4rem 1.1rem;}
  .section{padding:2.5rem 0;}
  .footer-emergency strong{font-size:.8rem;}
  .footer-emergency small{font-size:.76rem;}
}
