/*
Theme Name: Sadhna Pain and Spine Clinic
Theme URI: https://sadhnapainandspineclinic.com/
Author: Sadhna Pain and Spine Clinic
Description: Elementor-ready medical theme for Sadhna Pain and Spine Clinic, Gurugram. Includes Home, About, Doctor, Specialties (15 conditions), Blog, Contact pages, Book Appointment popup form, FAQ sections, OPD timing, testimonials and full mobile responsiveness. Calibri typography, editable colors/logo from Customizer.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sadhna
Tags: medical, health, elementor, one-column, custom-colors, custom-logo, custom-menu, featured-images, responsive-layout
*/

:root{
  --sps-primary:#0d7c86;
  --sps-primary-dark:#095c64;
  --sps-accent:#f2a541;
  --sps-dark:#10263a;
  --sps-body:#4a5866;
  --sps-light:#f4fafb;
  --sps-border:#e3ecee;
  --sps-radius:14px;
  --sps-font:Calibri,"Carlito","Segoe UI",Candara,Optima,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sps-font);font-size:17px;line-height:1.75;color:var(--sps-body);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--sps-primary);text-decoration:none}
a:hover{color:var(--sps-primary-dark)}
h1,h2,h3,h4,h5,h6{font-family:var(--sps-font);color:var(--sps-dark);line-height:1.25;margin:0 0 .6em;font-weight:700}
h1{font-size:2.6rem}
h2{font-size:2rem}
h3{font-size:1.45rem}
h4{font-size:1.2rem}
h5{font-size:1.05rem}
h6{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin-bottom:.5em}
blockquote{border-left:4px solid var(--sps-primary);background:var(--sps-light);margin:0 0 1.5em;padding:1rem 1.4rem;border-radius:0 var(--sps-radius) var(--sps-radius) 0}
.sps-container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.sps-section{padding:74px 0}
.sps-section--light{background:var(--sps-light)}
.sps-eyebrow{display:inline-block;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--sps-primary);margin-bottom:.6rem}
.sps-section-head{max-width:760px;margin:0 auto 44px;text-align:center}
.sps-section-head p{margin:0}
.sps-grid{display:grid;gap:26px}
.sps-grid-2{grid-template-columns:repeat(2,1fr)}
.sps-grid-3{grid-template-columns:repeat(3,1fr)}
.sps-grid-4{grid-template-columns:repeat(4,1fr)}

/* Buttons */
.sps-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--sps-primary);color:#fff !important;border:2px solid var(--sps-primary);padding:13px 26px;border-radius:60px;font-weight:700;font-size:1rem;cursor:pointer;transition:.25s;line-height:1;font-family:var(--sps-font)}
.sps-btn:hover{background:var(--sps-primary-dark);border-color:var(--sps-primary-dark);transform:translateY(-2px)}
.sps-btn--accent{background:var(--sps-accent);border-color:var(--sps-accent);color:#10263a !important}
.sps-btn--accent:hover{background:#e2952f;border-color:#e2952f}
.sps-btn--ghost{background:transparent;color:var(--sps-primary) !important;border-color:var(--sps-primary)}
.sps-btn--ghost:hover{background:var(--sps-primary);color:#fff !important}
.sps-btn--wide{width:100%;justify-content:center}

/* Topbar + Header */
.sps-topbar{background:var(--sps-primary-dark);color:#dff2f4;font-size:.9rem}
.sps-topbar .sps-container{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.sps-topbar a{color:#fff}
.sps-topbar-info{display:flex;flex-wrap:wrap;gap:6px 22px}
.sps-social a{margin-left:12px;font-weight:600}
.sps-header{position:sticky;top:0;z-index:900;background:#fff;box-shadow:0 2px 18px rgba(16,38,58,.08)}
.sps-header .sps-container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:14px;padding-bottom:14px}
.sps-brand{display:flex;align-items:center;gap:12px}
.sps-brand img{max-height:58px;width:auto}
.sps-brand-text strong{display:block;font-size:1.2rem;color:var(--sps-dark);line-height:1.2;font-weight:700}
.sps-brand-text span{font-size:.8rem;color:var(--sps-body)}
.sps-nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center}
.sps-nav li{margin:0;position:relative}
.sps-nav a{color:var(--sps-dark);font-weight:600;font-size:1rem;padding:6px 0;display:block}
.sps-nav a:hover,.sps-nav .current-menu-item>a{color:var(--sps-primary)}
.sps-nav ul ul{position:absolute;top:100%;left:0;background:#fff;box-shadow:0 12px 30px rgba(16,38,58,.14);min-width:250px;display:none;flex-direction:column;gap:0;padding:10px 0;border-radius:10px;max-height:70vh;overflow:auto}
.sps-nav li:hover>ul{display:flex}
.sps-nav ul ul a{padding:8px 18px}
.sps-header-actions{display:flex;align-items:center;gap:12px}
.sps-toggle{display:none;background:none;border:0;font-size:1.7rem;color:var(--sps-dark);cursor:pointer;line-height:1}

/* Hero */
.sps-hero{background:linear-gradient(120deg,#eef8f9 0%,#ffffff 60%);padding:70px 0}
.sps-hero .sps-container{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.sps-hero h1{font-size:3rem;margin-bottom:.4em}
.sps-hero p.lead{font-size:1.15rem}
.sps-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.sps-hero-img img{border-radius:22px;box-shadow:0 24px 50px rgba(13,124,134,.18)}
.sps-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;list-style:none;padding:0}
.sps-hero-badges li{background:#fff;border:1px solid var(--sps-border);border-radius:40px;padding:7px 16px;font-weight:600;font-size:.9rem;color:var(--sps-dark);margin:0}

/* Cards */
.sps-card{background:#fff;border:1px solid var(--sps-border);border-radius:var(--sps-radius);padding:26px;transition:.25s;height:100%}
.sps-card:hover{box-shadow:0 18px 36px rgba(16,38,58,.10);transform:translateY(-4px)}
.sps-card h3{margin-bottom:.4em;font-size:1.2rem}
.sps-card p{margin:0 0 1em;font-size:.98rem}
.sps-card-icon{width:52px;height:52px;border-radius:14px;background:var(--sps-light);color:var(--sps-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px}
.sps-more{font-weight:700}

/* Counters */
.sps-counters{background:var(--sps-primary);color:#fff;border-radius:20px;padding:36px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.sps-counters .num{font-size:2.4rem;font-weight:700;display:block;line-height:1.1}
.sps-counters span.lbl{font-size:.95rem;opacity:.92}

/* Doctor */
.sps-doctor{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
.sps-doctor img{border-radius:20px}
.sps-doctor ul{list-style:none;padding:0}
.sps-doctor ul li{padding-left:28px;position:relative}
.sps-doctor ul li:before{content:"✓";position:absolute;left:0;color:var(--sps-primary);font-weight:700}

/* Testimonials */
.sps-testimonial{background:#fff;border:1px solid var(--sps-border);border-radius:var(--sps-radius);padding:26px}
.sps-stars{color:#f5a623;letter-spacing:2px;margin-bottom:10px}
.sps-testimonial .who{font-weight:700;color:var(--sps-dark);margin:0}
.sps-testimonial .city{font-size:.88rem;margin:0}

/* OPD */
.sps-opd{background:var(--sps-dark);color:#d7e3ec;border-radius:20px;padding:34px}
.sps-opd h3{color:#fff}
.sps-opd table{width:100%;border-collapse:collapse}
.sps-opd td{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.18)}
.sps-opd td:last-child{text-align:right;color:#fff;font-weight:600}

/* FAQ */
.sps-faq{max-width:900px;margin:0 auto}
.sps-faq-item{background:#fff;border:1px solid var(--sps-border);border-radius:12px;margin-bottom:14px;overflow:hidden}
.sps-faq-q{width:100%;text-align:left;background:none;border:0;padding:18px 52px 18px 20px;font-size:1.05rem;font-weight:700;color:var(--sps-dark);cursor:pointer;position:relative;font-family:var(--sps-font)}
.sps-faq-q:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--sps-primary)}
.sps-faq-item.open .sps-faq-q:after{content:"–"}
.sps-faq-a{display:none;padding:0 20px 18px}
.sps-faq-item.open .sps-faq-a{display:block}

/* Page header */
.sps-page-hero{background:linear-gradient(120deg,var(--sps-primary-dark),var(--sps-primary));color:#fff;padding:60px 0;text-align:center}
.sps-page-hero h1{color:#fff;margin-bottom:.3em}
.sps-breadcrumb{font-size:.92rem;color:#d5eef0}
.sps-breadcrumb a{color:#fff}

/* Content */
.sps-content{padding:64px 0}
.entry-content h2{margin-top:1.6em}
.entry-content img{border-radius:var(--sps-radius);margin:1.2em 0}
.sps-layout{display:grid;grid-template-columns:1fr 330px;gap:40px}
.sps-sidebar .widget,.sps-sidebar .sps-box{background:var(--sps-light);border:1px solid var(--sps-border);border-radius:var(--sps-radius);padding:22px;margin-bottom:24px}
.sps-sidebar h3{font-size:1.15rem}

/* Blog */
.sps-post-card{background:#fff;border:1px solid var(--sps-border);border-radius:var(--sps-radius);overflow:hidden;height:100%;display:flex;flex-direction:column}
.sps-post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.sps-post-card .body{padding:22px;flex:1;display:flex;flex-direction:column}
.sps-meta{font-size:.85rem;color:#7c8b98;margin-bottom:8px}
.sps-pagination{margin-top:40px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.sps-pagination .page-numbers{padding:8px 14px;border:1px solid var(--sps-border);border-radius:8px}
.sps-pagination .current{background:var(--sps-primary);color:#fff;border-color:var(--sps-primary)}

/* Footer */
.sps-footer{background:var(--sps-dark);color:#b9c8d5;padding:60px 0 0;font-size:.98rem}
.sps-footer h3{color:#fff;font-size:1.1rem;margin-bottom:18px}
.sps-footer a{color:#b9c8d5}
.sps-footer a:hover{color:#fff}
.sps-footer ul{list-style:none;padding:0;margin:0}
.sps-footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.1fr;gap:34px}
.sps-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding:18px 0;text-align:center;font-size:.9rem}

/* Sticky mobile bar */
.sps-mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:950;background:#fff;box-shadow:0 -3px 16px rgba(16,38,58,.14);padding:8px;gap:8px}
.sps-mobile-bar a{flex:1;text-align:center;justify-content:center;padding:11px 8px;font-size:.92rem}

/* Modal */
.sps-modal{position:fixed;inset:0;background:rgba(16,38,58,.65);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding:24px;overflow:auto}
.sps-modal.open{display:flex}
.sps-modal-box{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:30px;position:relative;margin:auto}
.sps-modal-close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:1.7rem;cursor:pointer;color:var(--sps-body);line-height:1}
.sps-form .row{margin-bottom:14px}
.sps-form label{display:block;font-weight:600;color:var(--sps-dark);margin-bottom:6px;font-size:.94rem}
.sps-form input,.sps-form select,.sps-form textarea{width:100%;padding:12px 14px;border:1px solid var(--sps-border);border-radius:10px;font-family:var(--sps-font);font-size:1rem;background:#fff;color:var(--sps-dark)}
.sps-form input:focus,.sps-form select:focus,.sps-form textarea:focus{outline:2px solid var(--sps-primary);border-color:var(--sps-primary)}
.sps-note{font-size:.85rem;margin-top:10px}
.sps-alert{padding:12px 16px;border-radius:10px;background:#e7f7ec;color:#1c6b39;margin-bottom:14px}

/* WhatsApp float */
.sps-wa{position:fixed;right:18px;bottom:80px;z-index:940;background:#25d366;color:#fff !important;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 20px rgba(0,0,0,.2)}

/* Responsive */
@media (max-width:1024px){
  .sps-grid-4{grid-template-columns:repeat(2,1fr)}
  .sps-grid-3{grid-template-columns:repeat(2,1fr)}
  .sps-layout{grid-template-columns:1fr}
  .sps-footer .cols{grid-template-columns:repeat(2,1fr)}
  .sps-hero .sps-container{grid-template-columns:1fr}
  .sps-doctor{grid-template-columns:1fr}
  h1{font-size:2.2rem}.sps-hero h1{font-size:2.3rem}
}
@media (max-width:820px){
  .sps-toggle{display:block}
  .sps-nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 14px 26px rgba(16,38,58,.14);display:none;max-height:75vh;overflow:auto}
  .sps-nav.open{display:block}
  .sps-nav ul{flex-direction:column;gap:0;padding:10px 20px}
  .sps-nav li{border-bottom:1px solid var(--sps-border)}
  .sps-nav ul ul{position:static;display:flex;box-shadow:none;padding-left:14px}
  .sps-header .sps-btn{display:none}
  .sps-mobile-bar{display:flex}
  body{padding-bottom:66px}
  .sps-counters{grid-template-columns:repeat(2,1fr)}
  .sps-topbar{font-size:.82rem}
}
@media (max-width:560px){
  .sps-grid-2,.sps-grid-3,.sps-grid-4{grid-template-columns:1fr}
  .sps-footer .cols{grid-template-columns:1fr}
  .sps-section{padding:52px 0}
  h1{font-size:1.9rem}.sps-hero h1{font-size:2rem}h2{font-size:1.6rem}
}
