/* =========================================================
   Homeopathic Gurukul – Shared public theme  (v1.1.0)
   "घर घर होम्योपैथी" – Gurukul feel, modern medical-education look
   Loaded by every public page BEFORE its own inline <style>.
   ========================================================= */
:root{
  --hg-primary:#1F4D3A;         /* deep forest green */
  --hg-primary-dark:#143526;
  --hg-primary-light:#E4EDE7;
  --hg-accent:#C7692C;          /* saffron / earth orange */
  --hg-accent-light:#F7E7D9;
  --hg-bg:#F6F1E7;              /* khadi / handmade paper */
  --hg-paper:#FFFCF6;
  --hg-text:#2B241C;
  --hg-muted:#6B6259;
  --hg-line:#E6DECF;
  --hg-wa:#25D366;              /* WhatsApp only */
  --hg-wa-dark:#1DA851;
  --hg-radius:14px;
  --hg-shadow:0 6px 24px rgba(43,36,28,.08);
  --hg-font-head:'Tiro Devanagari Hindi',Georgia,'Noto Serif Devanagari',serif;
  --hg-font-body:'Mukta','Segoe UI',system-ui,sans-serif;
}
html{ scroll-behavior:smooth; }
html,body{ overflow-x:hidden; }
body{
  font-family:var(--hg-font-body);
  background:var(--hg-bg);
  color:var(--hg-text);
  margin:0;
  /* subtle khadi texture */
  background-image:
    radial-gradient(rgba(43,36,28,.035) .6px, transparent .6px),
    radial-gradient(rgba(43,36,28,.025) .6px, transparent .6px);
  background-size:9px 9px, 13px 13px;
  background-position:0 0, 4px 6px;
}
h1,h2,h3,h4,.brand{ font-family:var(--hg-font-head); font-weight:400; letter-spacing:.005em; }
a{ text-decoration:none; }
.hgx-container{ max-width:1140px; margin:0 auto; padding:0 1.25rem; }

/* ---------- TOP STRIP ---------- */
.hgx-strip{
  background:var(--hg-primary-dark); color:#EEF3EF; font-size:.84rem;
  text-align:center; padding:.45rem 1rem;
}
.hgx-strip a{ color:#fff; font-weight:600; border-bottom:1px dotted rgba(255,255,255,.5); }
.hgx-strip .dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--hg-wa); margin-right:.4rem; box-shadow:0 0 0 3px rgba(37,211,102,.25); }

/* ---------- HEADER / NAV ---------- */
.hgx-nav{
  background:rgba(255,252,246,.94); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hg-line); position:sticky; top:0; z-index:50;
}
.hgx-nav .hgx-container{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; height:62px;
}
.hgx-brand{ display:flex; align-items:center; gap:.6rem; line-height:1.05; }
.hgx-brand .mark{ height:42px; width:auto; display:block; }
.hgx-brand .txt{ display:flex; flex-direction:column; }
.hgx-brand .name{ font-family:var(--hg-font-head); color:var(--hg-primary-dark); font-size:1.22rem; }
.hgx-brand .tag{ font-size:.72rem; color:var(--hg-accent); font-weight:600; letter-spacing:.04em; }
.hgx-links{ display:flex; align-items:center; gap:1.3rem; }
.hgx-links a{ color:#3F3831; font-weight:500; font-size:.93rem; padding:.3rem 0; border-bottom:2px solid transparent; }
.hgx-links a:hover, .hgx-links a.active{ color:var(--hg-primary); border-bottom-color:var(--hg-accent); }
.hgx-links a.consult{
  background:var(--hg-primary); color:#fff; padding:.5rem 1rem; border-radius:9px; font-weight:600; border:0;
}
.hgx-links a.consult:hover{ background:var(--hg-primary-dark); color:#fff; }
.hgx-drop{ position:relative; }
.hgx-drop-toggle{ display:inline-flex; align-items:center; gap:.3rem; cursor:pointer; }
.hgx-drop-toggle i{ font-size:.7rem; transition:transform .15s; }
.hgx-drop:hover .hgx-drop-toggle i, .hgx-drop:focus-within .hgx-drop-toggle i{ transform:rotate(180deg); }
.hgx-drop-menu{ position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); background:#fff; border:1px solid var(--hg-line); border-radius:12px; box-shadow:0 12px 28px rgba(31,77,58,.14); padding:.5rem; min-width:280px; display:flex; flex-direction:column; gap:.15rem; opacity:0; visibility:hidden; transition:opacity .15s, transform .15s, visibility .15s; z-index:60; }
.hgx-drop:hover .hgx-drop-menu, .hgx-drop:focus-within .hgx-drop-menu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.hgx-drop-menu .drop-item{ display:flex; align-items:center; gap:.55rem; padding:.55rem .7rem; border-radius:8px; color:#3F3831; font-size:.9rem; font-weight:500; border-bottom:0; }
.hgx-drop-menu .drop-item:hover{ background:var(--hg-primary-light); color:var(--hg-primary-dark); }
.hgx-drop-menu .drop-item i{ color:var(--hg-accent); font-size:1rem; width:18px; text-align:center; }
.hgx-call{ display:none; color:var(--hg-primary); font-size:1.35rem; }
.hgx-burger{
  background:transparent; border:1px solid var(--hg-line); border-radius:9px; width:40px; height:40px;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; color:var(--hg-primary-dark);
}
.hgx-burger span{ display:block; width:18px; height:2px; background:currentColor; position:relative; }
.hgx-burger span:before,.hgx-burger span:after{ content:""; position:absolute; left:0; width:18px; height:2px; background:currentColor; }
.hgx-burger span:before{ top:-6px; } .hgx-burger span:after{ top:6px; }
.hgx-right{ display:flex; align-items:center; gap:.9rem; }

/* slide-in menu */
.hgx-menu{
  position:fixed; top:0; right:0; height:100vh; width:min(340px,88vw); background:var(--hg-paper);
  box-shadow:-12px 0 40px rgba(43,36,28,.18); transform:translateX(105%); transition:transform .28s ease;
  z-index:100; display:flex; flex-direction:column; overflow-y:auto;
}
.hgx-menu.open{ transform:translateX(0); }
.hgx-menu .head{ display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--hg-line); }
.hgx-menu .head b{ font-family:var(--hg-font-head); font-weight:400; color:var(--hg-primary-dark); font-size:1.1rem; }
.hgx-menu .close{ background:none; border:0; font-size:1.6rem; line-height:1; cursor:pointer; color:var(--hg-muted); }
.hgx-menu .grp{ padding:.9rem 1.25rem .4rem; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--hg-accent); font-weight:700; }
.hgx-menu a.item{ display:flex; align-items:center; gap:.7rem; padding:.62rem 1.25rem; color:var(--hg-text); font-weight:500; font-size:.97rem; }
.hgx-menu a.item:hover{ background:var(--hg-primary-light); color:var(--hg-primary-dark); }
.hgx-menu a.item i{ color:var(--hg-primary); width:20px; text-align:center; }
.hgx-menu .foot{ margin-top:auto; padding:1rem 1.25rem 1.4rem; border-top:1px solid var(--hg-line); display:grid; gap:.5rem; }
.hgx-backdrop{ position:fixed; inset:0; background:rgba(20,53,38,.45); z-index:90; opacity:0; pointer-events:none; transition:opacity .25s; }
.hgx-backdrop.show{ opacity:1; pointer-events:auto; }

/* ---------- BUTTONS ---------- */
.hgx-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1.5rem; border-radius:10px; font-weight:600; font-size:.95rem; border:1px solid transparent; cursor:pointer; transition:.18s; }
.hgx-btn-primary{ background:var(--hg-primary); color:#fff; }
.hgx-btn-primary:hover{ background:var(--hg-primary-dark); }
.hgx-btn-accent{ background:var(--hg-accent); color:#fff; }
.hgx-btn-accent:hover{ filter:brightness(.92); }
.hgx-btn-outline{ background:transparent; color:var(--hg-primary-dark); border-color:var(--hg-primary); }
.hgx-btn-outline:hover{ background:var(--hg-primary-light); }
.hgx-btn-light{ background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.45); }
.hgx-btn-light:hover{ background:rgba(255,255,255,.24); }
.hgx-btn-wa{ background:var(--hg-wa); color:#fff; }
.hgx-btn-wa:hover{ background:var(--hg-wa-dark); }

/* ---------- FOOTER ---------- */
.hgx-footer{ background:var(--hg-primary-dark); color:rgba(255,255,255,.78); margin-top:3rem; font-size:.9rem; }
.hgx-footer .hgx-container{ padding-top:3rem; padding-bottom:4.6rem; } /* room for floating WhatsApp */
.hgx-footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:2rem; }
.hgx-footer h4{ color:#fff; font-size:1.1rem; margin:0 0 .8rem; }
.hgx-footer .flogo{ height:96px; width:auto; display:block; margin-bottom:.8rem; }
.hgx-footer .brand{ color:#fff; font-size:1.35rem; display:block; }
.hgx-footer .tag{ color:#E9B383; font-weight:600; font-size:.82rem; letter-spacing:.05em; margin:.1rem 0 .8rem; display:block; }
.hgx-footer p{ line-height:1.7; margin:0 0 .6rem; }
.hgx-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:.42rem; }
.hgx-footer ul a{ color:rgba(255,255,255,.8); }
.hgx-footer ul a:hover{ color:#fff; text-decoration:underline; }
.hgx-footer .contact div{ display:flex; gap:.55rem; align-items:flex-start; margin-bottom:.55rem; line-height:1.5; }
.hgx-footer .contact i{ color:#E9B383; margin-top:.2rem; }
.hgx-footer .contact a{ color:#fff; }
.hgx-footer .contact small{ display:block; color:rgba(255,255,255,.55); font-size:.74rem; }
.hgx-footer-bottom{
  border-top:1px solid rgba(255,255,255,.14); margin-top:2rem; padding-top:1.1rem;
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; font-size:.8rem;
}
.hgx-footer-bottom .credit a{ color:#fff; text-decoration:underline; }
.hgx-login{
  display:inline-flex; align-items:center; gap:.4rem; color:#fff; border:1px solid rgba(255,255,255,.35);
  padding:.4rem .9rem; border-radius:8px; font-weight:600; font-size:.8rem;
}
.hgx-login:hover{ background:rgba(255,255,255,.12); }
.hgx-disclaimer{ font-size:.74rem; color:rgba(255,255,255,.5); margin-top:.6rem; }

/* floating WhatsApp */
.hgx-float-wa{
  position:fixed; right:18px; bottom:18px; z-index:60; background:var(--hg-wa); color:#fff;
  display:flex; align-items:center; gap:.5rem; padding:.7rem 1.05rem; border-radius:999px; font-weight:600;
  box-shadow:0 10px 26px rgba(37,211,102,.35); font-size:.9rem;
}
.hgx-float-wa i{ font-size:1.25rem; }
.hgx-float-wa:hover{ background:var(--hg-wa-dark); color:#fff; }

/* ---------- Generic helpers used by index + inner pages ---------- */
.hgx-section{ padding:4.2rem 0; }
.hgx-eyebrow{ display:inline-block; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--hg-accent); margin-bottom:.5rem; }
.hgx-h2{ font-size:2rem; margin:0 0 .5rem; color:var(--hg-primary-dark); line-height:1.25; }
.hgx-sub{ color:var(--hg-muted); max-width:640px; margin:0 0 2.2rem; line-height:1.7; font-size:1.02rem; }
.hgx-center{ text-align:center; }
.hgx-center .hgx-sub{ margin-left:auto; margin-right:auto; }
.hgx-leaf{ color:var(--hg-accent); opacity:.85; }

@media (max-width:900px){
  .hgx-footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .hgx-links{ display:none; }
  .hgx-call{ display:inline-flex; }
  .hgx-nav .hgx-container{ height:58px; }
  .hgx-brand .name{ font-size:1.08rem; }
  .hgx-brand .mark{ height:36px; }
  .hgx-footer .flogo{ height:80px; }
  .hgx-footer-grid{ grid-template-columns:1fr; gap:1.5rem; }
  .hgx-h2{ font-size:1.6rem; }
  .hgx-section{ padding:3rem 0; }
  .hgx-float-wa span{ display:none; }
  .hgx-float-wa{ padding:.8rem; }
}
