/* =============================================================
   New J.M Physiotherapy Centre — stylesheet
   Palette pulled from the clinic's poster:
   navy (brand/headings), leaf green (brand accent),
   teal (photo-panel gradient), warm coral (pain/alert icon)
   ============================================================= */

:root{
  --navy-900:#081b45;
  --navy-800:#0b2559;
  --navy-700:#123a7a;
  --green-600:#12984f;
  --green-500:#1cb862;
  --teal-600:#0c7f8c;
  --coral-500:#e8622c;
  --bg-light:#f4f8fb;
  --bg-panel:#eef4f1;
  --white:#ffffff;
  --text-body:#4b5a6b;
  --text-muted:#7c8a9a;
  --border-soft:#e3ebf1;
  --shadow-soft:0 10px 30px -12px rgba(10,37,89,.18);
  --shadow-card:0 6px 20px -8px rgba(10,37,89,.15);
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
  --font-head:'Poppins',sans-serif;
  --font-body:'Nunito Sans',sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--text-body);
  background:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.font-head{font-family:var(--font-head);color:var(--navy-900);}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container-xl{max-width:1240px;margin:0 auto;padding:0 20px;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);font-weight:600;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-600);
  margin-bottom:14px;
}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--green-600);display:inline-block;}

.section-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;margin-bottom:14px;}
.section-sub{color:var(--text-muted);font-size:1.05rem;max-width:640px;}
.section-pad{padding:88px 0;}
@media(max-width:768px){.section-pad{padding:56px 0;}}

.btn-brand{
  background:linear-gradient(135deg,var(--green-600),var(--green-500));
  color:#fff;border:none;font-family:var(--font-head);font-weight:600;
  padding:13px 30px;border-radius:50px;transition:.3s;box-shadow:0 10px 24px -8px rgba(18,152,79,.55);
}
.btn-brand:hover{transform:translateY(-2px);box-shadow:0 14px 28px -8px rgba(18,152,79,.65);color:#fff;}
.btn-outline-brand{
  border:2px solid var(--navy-800);color:var(--navy-800);background:transparent;
  font-family:var(--font-head);font-weight:600;padding:11px 28px;border-radius:50px;transition:.3s;
}
.btn-outline-brand:hover{background:var(--navy-800);color:#fff;}
.btn-white{background:#fff;color:var(--navy-800);font-family:var(--font-head);font-weight:600;
  padding:13px 30px;border-radius:50px;border:none;transition:.3s;}
.btn-white:hover{transform:translateY(-2px);color:var(--navy-800);}

/* ---------- Topbar & Navbar ---------- */
.topbar{
  background:var(--navy-900);color:#cfd9ea;font-size:.85rem;padding:7px 0;
}
.topbar a{color:#cfd9ea;}
.topbar .divider{opacity:.3;margin:0 10px;}
.topbar i{color:var(--green-500);margin-right:6px;}

.navbar-brand-wrap{display:flex;align-items:center;gap:10px;}
.navbar-brand-wrap img{height:52px;width:auto;}
.brand-text{line-height:1.1;}
.brand-text .b1{font-family:var(--font-head);font-weight:800;font-size:1.35rem;color:var(--navy-900);}
.brand-text .b2{font-family:var(--font-head);font-weight:700;font-size:.66rem;letter-spacing:.09em;color:var(--green-600);text-transform:uppercase;}

.main-nav{background:#fff;box-shadow:0 2px 18px rgba(10,37,89,.06);padding:10px 0;position:sticky;top:0;z-index:999;}
.main-nav .nav-link{
  font-family:var(--font-head);font-weight:600;color:var(--navy-800)!important;
  margin:0 4px;padding:8px 14px!important;border-radius:50px;transition:.25s;
}
.main-nav .nav-link.active,.main-nav .nav-link:hover{background:var(--bg-panel);color:var(--green-600)!important;}
.nav-call-btn{background:var(--navy-800);color:#fff!important;border-radius:50px;padding:9px 20px!important;display:flex;align-items:center;gap:8px;}
.nav-call-btn:hover{background:var(--green-600);color:#fff!important;}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-800) 55%,var(--navy-800) 100%);
  position:relative;color:#fff;padding:70px 0 120px;overflow:hidden;
}
.hero::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:90px;background:var(--white);
  border-top-left-radius:60% 40px;border-top-right-radius:60% 40px;
}
.hero .badge-pill{
  display:inline-flex;align-items:center;gap:8px;background:rgba(28,184,98,.16);
  border:1px solid rgba(28,184,98,.4);color:#a9f2c6;padding:7px 16px;border-radius:50px;
  font-size:.82rem;font-weight:600;margin-bottom:18px;
}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.4rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:18px;}
.hero h1 span{color:var(--green-500);}
.hero p.lead{color:#c4d1e4;font-size:1.12rem;max-width:520px;}
.hero-points{list-style:none;padding:0;margin:26px 0 32px;display:flex;flex-direction:column;gap:12px;}
.hero-points li{display:flex;align-items:center;gap:12px;font-weight:600;color:#e7edf7;}
.hero-points .ico{
  width:34px;height:34px;border-radius:50%;background:rgba(28,184,98,.18);
  display:flex;align-items:center;justify-content:center;color:var(--green-500);flex-shrink:0;
}
.hero-photo-wrap{position:relative;}
.hero-photo{
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 60px -15px rgba(0,0,0,.45);
  border:6px solid rgba(255,255,255,.08);
}
.hero-float-card{
  position:absolute;bottom:-26px;left:-26px;background:#fff;border-radius:var(--radius-md);
  padding:16px 20px;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:12px;max-width:250px;
}
.hero-float-card .ic-circle{
  width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--green-600),var(--green-500));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0;
}
.hero-float-card strong{display:block;color:var(--navy-900);font-family:var(--font-head);font-size:.95rem;}
.hero-float-card span{font-size:.78rem;color:var(--text-muted);}
@media(max-width:991px){.hero-float-card{display:none;}}

/* ---------- Stats strip ---------- */
.stats-strip{margin-top:-70px;position:relative;z-index:5;}
.stats-card{
  background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);
  padding:34px 10px;display:flex;flex-wrap:wrap;
}
.stat-item{flex:1 1 25%;text-align:center;padding:10px;border-right:1px solid var(--border-soft);}
.stat-item:last-child{border-right:none;}
.stat-item .num{font-family:var(--font-head);font-weight:800;font-size:2rem;color:var(--navy-900);}
.stat-item .num span{color:var(--green-600);}
.stat-item .lbl{color:var(--text-muted);font-size:.88rem;font-weight:600;}
@media(max-width:767px){.stat-item{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--border-soft);margin-bottom:12px;padding-bottom:14px;}}

/* ---------- Glow service icons (adapted from reference glow-icon pen) ---------- */
.svc-card{
  background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);
  padding:34px 22px;text-align:center;height:100%;transition:.35s;position:relative;
}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card);border-color:transparent;}
.glow-ico{
  --glow:var(--green-600);
  position:relative;width:50px;height:50px;border-radius:50%;background:var(--bg-panel);
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:1.9rem;
  color:var(--navy-800);transition:.45s;z-index:1;
}
.glow-ico::before{
  content:'';position:absolute;inset:0;border-radius:50%;background:var(--glow);
  transform:scale(.85);opacity:0;transition:.45s;z-index:-1;
}
.svc-card:hover .glow-ico{color:#fff;transform:scale(1.06);}
.svc-card:hover .glow-ico::before{opacity:1;transform:scale(1);box-shadow:0 0 26px -2px var(--glow);}
.svc-card h5{font-weight:700;font-size:1.08rem;margin-bottom:8px;}
.svc-card p{font-size:.9rem;color:var(--text-muted);margin:0;}
.svc-card .learn{font-size:.82rem;font-weight:700;color:var(--green-600);margin-top:14px;display:inline-flex;align-items:center;gap:5px;opacity:0;transition:.3s;}
.svc-card:hover .learn{opacity:1;}

/* rotate accent colors per card via nth-child */
.svc-grid .svc-card:nth-child(6n+1) .glow-ico{--glow:var(--coral-500);}
.svc-grid .svc-card:nth-child(6n+2) .glow-ico{--glow:var(--navy-700);}
.svc-grid .svc-card:nth-child(6n+3) .glow-ico{--glow:var(--teal-600);}
.svc-grid .svc-card:nth-child(6n+4) .glow-ico{--glow:var(--green-600);}
.svc-grid .svc-card:nth-child(6n+5) .glow-ico{--glow:var(--navy-700);}
.svc-grid .svc-card:nth-child(6n+6) .glow-ico{--glow:var(--coral-500);}

/* ---------- Why choose us ---------- */
.why-section{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;}
.why-section::before{
  content:'';position:absolute;top:-120px;right:-120px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(28,184,98,.18),transparent 70%);
}
.why-card{display:flex;gap:16px;align-items:flex-start;padding:18px 6px;}
.why-card .glow-ico{background:rgba(255,255,255,.06);color:#fff;width:58px;height:58px;font-size:1.4rem;margin:0;flex-shrink:0;}
.why-card h6{font-family:var(--font-head);font-weight:700;color:#fff;margin-bottom:6px;font-size:1.02rem;}
.why-card p{color:#aebbd0;font-size:.88rem;margin:0;}

/* ---------- About / mission ---------- */
.about-photo{position:relative;}
.about-photo img{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);}
.about-badge{
  position:absolute;bottom:-24px;right:-18px;background:linear-gradient(135deg,var(--green-600),var(--teal-600));
  color:#fff;padding:20px 24px;border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-soft);
}
.about-badge .num{font-family:var(--font-head);font-weight:800;font-size:1.9rem;line-height:1;}
.about-badge .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;}
.check-list{list-style:none;padding:0;margin:0;}
.check-list li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-weight:600;color:var(--navy-900);}
.check-list i{color:var(--green-600);margin-top:3px;}

/* ---------- Testimonials ---------- */
.tst-card{background:var(--bg-light);border-radius:var(--radius-md);padding:30px;height:100%;position:relative;}
.tst-card i.quote{color:var(--green-500);opacity:.35;font-size:2.2rem;}
.tst-card p{font-style:italic;color:var(--navy-900);margin:14px 0 18px;}
.tst-user{display:flex;align-items:center;gap:12px;}
.tst-user .avatar{width:44px;height:44px;border-radius:50%;background:var(--navy-800);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;}
.tst-user strong{display:block;font-size:.92rem;color:var(--navy-900);}
.tst-user span{font-size:.78rem;color:var(--text-muted);}
.stars{color:#f5a623;font-size:.82rem;margin-bottom:6px;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg,var(--green-600),var(--teal-600));
  border-radius:var(--radius-lg);padding:50px;color:#fff;position:relative;overflow:hidden;
}
.cta-band h3{color:#fff;font-weight:800;}
.cta-band p{color:rgba(255,255,255,.88);}

/* ---------- Contact ---------- */
.contact-info-card{
  display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--border-soft);
  border-radius:var(--radius-md);padding:22px;height:100%;transition:.3s;
}
.contact-info-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.contact-info-card .glow-ico{margin:0;flex-shrink:0;width:54px;height:54px;font-size:1.3rem;--glow:var(--green-600);}
.contact-info-card h6{font-weight:700;margin-bottom:4px;}
.contact-info-card p{font-size:.9rem;color:var(--text-muted);margin:0;}
.contact-info-card a{color:var(--text-body);}

.form-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:40px;}
.form-control,.form-select{
  border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);padding:12px 14px;font-size:.95rem;
}
.form-control:focus,.form-select:focus{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(28,184,98,.12);}
.form-label{font-weight:700;color:var(--navy-900);font-size:.88rem;margin-bottom:6px;}

.map-embed{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);border:0;width:100%;min-height:340px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-900);color:#aebbd0;padding-top:70px;}
.site-footer h6{color:#fff;font-family:var(--font-head);font-weight:700;margin-bottom:20px;font-size:1rem;}
.site-footer a{color:#aebbd0;transition:.25s;}
.site-footer a:hover{color:var(--green-500);}
.footer-links li{margin-bottom:10px;}
.footer-links{list-style:none;padding:0;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;transition:.3s;
}
.footer-social a:hover{background:var(--green-600);color:#fff;transform:translateY(-3px);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:46px;padding:20px 0;font-size:.85rem;}
.footer-bottom a{color:var(--green-500);}
.footer-contact-item{display:flex;gap:10px;margin-bottom:14px;font-size:.9rem;}
.footer-contact-item i{color:var(--green-500);margin-top:3px;}

/* ---------- Page header (inner pages) ---------- */
.page-header{
  background:linear-gradient(180deg,var(--navy-900),var(--navy-800));color:#fff;padding:60px 0 90px;
  position:relative;overflow:hidden;
}
.page-header::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:60px;background:var(--white);
  border-top-left-radius:60% 30px;border-top-right-radius:60% 30px;
}
.page-header h1{color:#fff;font-weight:800;margin-bottom:10px;}
.breadcrumb-wrap a{color:#a9c0e6;}
.breadcrumb-wrap span{color:var(--green-500);}

/* ---------- Gallery ---------- */
.gal-item{border-radius:var(--radius-md);overflow:hidden;position:relative;height:260px;box-shadow:var(--shadow-card);}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.gal-item:hover img{transform:scale(1.08);}
.gal-overlay{
  position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,27,69,.85),transparent 60%);
  display:flex;align-items:flex-end;padding:16px;opacity:0;transition:.35s;
}
.gal-item:hover .gal-overlay{opacity:1;}
.gal-overlay span{color:#fff;font-family:var(--font-head);font-weight:600;font-size:.92rem;}

/* ---------- Filter buttons ---------- */
.filter-btn{
  border:1.5px solid var(--border-soft);background:#fff;color:var(--navy-800);font-family:var(--font-head);
  font-weight:600;padding:8px 20px;border-radius:50px;font-size:.86rem;transition:.25s;
}
.filter-btn.active,.filter-btn:hover{background:var(--navy-800);border-color:var(--navy-800);color:#fff;}

/* ---------- Blog ---------- */
.blog-card{
  background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);
  overflow:hidden;height:100%;box-shadow:var(--shadow-card);transition:.35s;
}
.blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-soft);border-color:transparent;}
.blog-img{position:relative;height:230px;overflow:hidden;}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.blog-card:hover .blog-img img{transform:scale(1.08);}
.blog-category{
  position:absolute;top:16px;left:16px;background:var(--green-600);color:#fff;
  font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.03em;
  padding:6px 16px;border-radius:50px;z-index:2;
}
.blog-body{padding:24px;}
.blog-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.78rem;color:var(--text-muted);margin-bottom:12px;}
.blog-meta i{color:var(--green-600);margin-right:5px;}
.blog-card h5{font-weight:700;font-size:1.12rem;line-height:1.4;margin-bottom:10px;}
.blog-card p{font-size:.9rem;color:var(--text-muted);margin-bottom:16px;}
.blog-read{font-size:.82rem;font-weight:700;color:var(--green-600);display:inline-flex;align-items:center;gap:6px;transition:.25s;}
.blog-read:hover{color:var(--navy-800);gap:9px;}

/* ---------- FAQ / Accordion ---------- */
.accordion-button{font-family:var(--font-head);font-weight:700;color:var(--navy-900);}
.accordion-button:not(.collapsed){background:var(--bg-panel);color:var(--green-600);box-shadow:none;}
.accordion-button:focus{box-shadow:none;}
.accordion-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm)!important;margin-bottom:12px;overflow:hidden;}

/* ---------- Alerts / form feedback ---------- */
.alert-brand-success{background:#e6f8ee;border:1px solid #b7ecc9;color:#0e7a3c;border-radius:var(--radius-sm);}
.alert-brand-error{background:#fdeceb;border:1px solid #f5c2bd;color:#b3301c;border-radius:var(--radius-sm);}

/* ---------- Back to top ---------- */
.back-to-top{
  position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;
  background:var(--navy-800);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(15px);transition:.3s;z-index:998;border:none;
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--green-600);}

/* WhatsApp float */
.wa-float{
  position:fixed;bottom:26px;left:26px;width:56px;height:56px;border-radius:50%;background:#25D366;
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:var(--shadow-soft);
  z-index:998;animation:pulseWa 2.4s infinite;
}
@keyframes pulseWa{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}


