/* ==========================================================
   Chikitsa Sahayak — shared design system
   Enqueue this on every cx-* page template, before the
   template's own <style> block (which only adds page-specific
   layout on top of these tokens/components).
   ========================================================== */
:root{
  --brand:#2563eb;
  --brand-dark:#1d4ed8;
  --brand-soft:#eef4ff;
  --ink:#0f172a;
  --ink-2:#334155;
  --muted:#64748b;
  --line:#e6ecf5;
  --bg:#ffffff;
  --soft:#f2f7ff;
  --mint:#eef7f4;
  --navy:#0d1b34;
  --danger:#e0332c;
  --danger-soft:#fde8e7;
  --success:#0f9d6e;
  --radius:16px;
  --shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px -14px rgba(15,23,42,.18);
  --shadow-lg:0 20px 50px -28px rgba(15,23,42,.35);
  --maxw:1180px;
}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4KJv7T-4kQ.woff2) format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4KJd6z-4kQ.woff2) format('woff2');}

[class*="cx-"] *,[class*="cx-"] *::before,[class*="cx-"] *::after{box-sizing:border-box}
.cx-page{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
.cx-page a{text-decoration:none;color:inherit}
.cx-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.cx-wrap-sm{max-width:760px;margin:0 auto;padding:0 24px}
.cx-pill{display:inline-block;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.cx-pill-danger{background:#fbd3d1;color:#c22a24}

.cx-section-head{text-align:center;margin-bottom:32px}
.cx-section-head h1,.cx-section-head h2{font-size:30px;font-weight:800;margin:12px 0 8px}
.cx-section-head p{color:var(--muted);font-size:15px;max-width:560px;margin:0 auto}

.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;padding:11px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:all .15s}
.cx-btn-primary{background:var(--brand);color:#fff}
.cx-btn-primary:hover{background:var(--brand-dark)}
.cx-btn-outline{background:#fff;border-color:var(--line);color:var(--ink)}
.cx-btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.cx-btn-danger{background:var(--danger);color:#fff}
.cx-btn-outline-danger{background:#fff;border:1px solid var(--danger);color:var(--danger)}

.cx-search-box{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px;box-shadow:var(--shadow);max-width:640px;margin:0 auto}
.cx-search-box input{flex:1;border:0;outline:0;padding:10px 8px;font-size:15px;font-family:inherit;background:transparent}
.cx-search-box .cx-btn-primary{border-radius:999px}

.cx-tabs{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}
.cx-tab{padding:9px 18px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer}
.cx-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.cx-tab.brand-active{background:var(--brand);color:#fff;border-color:var(--brand)}

.cx-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.cx-icon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cx-icon-blue{background:var(--brand-soft);color:var(--brand)}
.cx-icon-mint{background:var(--mint);color:var(--success)}
.cx-icon-rose{background:#fdeaea;color:#e2554f}
.cx-icon-indigo{background:#eef1ff;color:#5b6ee8}

.cx-badge{display:inline-block;background:#f1f5f9;color:var(--muted);font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.cx-band{background:var(--soft);border-radius:24px;padding:40px 32px}
.cx-band-danger{background:var(--danger-soft);border-radius:24px;padding:40px}

.cx-callout{border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cx-callout-brand{background:linear-gradient(90deg,#eaf9f0,#eef4ff);border:1px solid #cdeedd}

.cx-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.cx-steps .num{width:40px;height:40px;border-radius:11px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 12px}
.cx-steps h4{font-size:15px;font-weight:700;margin:0 0 4px}
.cx-steps p{font-size:13px;color:var(--muted);margin:0}

.cx-faq details{border-bottom:1px solid var(--line);padding:16px 0}
.cx-faq summary{list-style:none;cursor:pointer;font-weight:700;font-size:15px;display:flex;justify-content:space-between}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary::after{content:'▾';color:var(--brand)}
.cx-faq details[open] summary::after{content:'▴'}
.cx-faq p{color:var(--muted);font-size:14px;margin:10px 0 0}

section.cx-sec{padding:48px 0}

@media (max-width:960px){
  .cx-steps,.cx-services-grid,.cx-pkg-grid,.cx-doctors-grid{grid-template-columns:repeat(2,1fr)}
}
