/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NiviHealth — Global Stylesheet
   All shared colors, typography, nav, buttons, footer.
   Page-specific styles live in each page's <style> block.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ─── Fonts ──────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* ─── Design Tokens ──────────────────────────────────────── */
:root {
  /* Purple scale */
  --p900: #2D1B5E;
  --p700: #4A2C8A;
  --p500: #6B3FA0;
  --p300: #9B72CF;
  --p100: #EDE7F6;
  --p50:  #F5F0FC;

  /* Pink / red scale */
  --r700: #A01050;
  --r500: #C2185B;
  --r300: #E91E8C;
  --r100: #FCE4EC;

  /* Aliases used by article pages (--pk* → --r*) */
  --pk500: #C2185B;
  --pk300: #E91E8C;
  --pk100: #FCE4EC;
  --r50:  #FFF0F5;

  /* Neutrals */
  --warm: #FDFAF7;
  --off:  #F8F4F0;
  --g800: #1C1C2E;
  --g600: #4A4A6A;
  --g400: #8888AA;
  --g200: #E8E5F0;

  /* Typography */
  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'Inter', system-ui, sans-serif;

  /* Shadows */
  --sm: 0 2px 8px rgba(75,44,138,.08);
  --md: 0 4px 24px rgba(75,44,138,.12);
  --lg: 0 8px 48px rgba(75,44,138,.16);

  /* Radius */
  --r: 16px;
}

/* ─── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; font-size: 16px; }
body  { font-family: var(--sans); color: var(--g800); background: var(--warm);
        line-height: 1.6; -webkit-font-smoothing: antialiased; }
img   { max-width: 100%; display: block; }
a     { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: var(--sans); }
.container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* ─── Banner ─────────────────────────────────────────────── */
.womens-day-banner {
  background: linear-gradient(135deg, var(--r500), var(--p500));
  padding: 14px 0; text-align: center;
}
.womens-day-banner p    { color: white; font-size: .9rem; font-weight: 500; }
.womens-day-banner strong { font-weight: 700; }

/* ─── Nav ────────────────────────────────────────────────── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  background: rgba(253,250,247,.93); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--g200); transition: box-shadow .3s;
}
.nav.scrolled { box-shadow: var(--md); }
.nav-inner    { display: flex; align-items: center; justify-content: space-between; height: 76px; }

.nav-logo     { display: flex; align-items: center; gap: 10px; }
.nav-logo-img { height: 64px; width: auto; display: block; object-fit: contain; }
.nav-logo-text { font-weight: 600; font-size: .95rem; line-height: 1.2; color: var(--g800); }
.nav-logo-text span { display: block; font-size: .78rem; font-weight: 400; color: var(--g400); margin-top: 2px; }

.nav-links   { display: flex; align-items: center; gap: 4px; list-style: none; }
.nav-links a { padding: 8px 14px; font-size: .9rem; font-weight: 500; color: var(--g600);
               border-radius: 8px; transition: color .2s, background .2s; }
.nav-links a:hover { color: var(--p500); background: var(--p50); }

.nav-cta {
  padding: 10px 22px !important;
  background: linear-gradient(135deg, var(--p500), var(--r500)) !important;
  color: white !important; border-radius: 24px !important; font-weight: 600 !important;
  box-shadow: 0 4px 16px rgba(107,63,160,.3) !important;
  transition: opacity .2s, transform .2s !important;
}
.nav-cta:hover { opacity: .9; transform: translateY(-1px); }

.nav-hamburger { display: none; flex-direction: column; gap: 5px;
                 padding: 8px; border-radius: 8px; transition: background .2s; }
.nav-hamburger:hover { background: var(--p50); }
.nav-hamburger span  { width: 22px; height: 2px; background: var(--g600);
                       border-radius: 2px; transition: all .3s; }

.nav-mobile {
  display: none; position: fixed; top: 76px; left: 0; right: 0;
  background: var(--warm); border-bottom: 1px solid var(--g200);
  padding: 16px 24px 24px; box-shadow: var(--md); z-index: 199;
}
.nav-mobile.open { display: block; }
.nav-mobile ul   { list-style: none; }
.nav-mobile li a { display: block; padding: 12px 0; font-size: 1rem; font-weight: 500;
                   color: var(--g600); border-bottom: 1px solid var(--g200); }
.nav-mobile li:last-child a { border-bottom: none; }
.nav-mobile .nav-cta-mobile {
  display: block; margin-top: 16px; padding: 14px 24px; text-align: center;
  background: linear-gradient(135deg, var(--p500), var(--r500));
  color: white; border-radius: 24px; font-weight: 600;
}

/* ─── Buttons ────────────────────────────────────────────── */
.btn-primary {
  padding: 16px 32px; border-radius: 32px; font-size: 1rem; font-weight: 600;
  background: linear-gradient(135deg, var(--p500), var(--r500)); color: white;
  box-shadow: 0 8px 24px rgba(107,63,160,.35);
  transition: transform .2s, box-shadow .2s;
  display: inline-flex; align-items: center; gap: 8px;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(107,63,160,.4); }

.btn-secondary {
  padding: 16px 32px; border-radius: 32px; font-size: 1rem; font-weight: 600;
  background: transparent; color: var(--p500); border: 2px solid var(--p300);
  transition: background .2s, border-color .2s;
  display: inline-flex; align-items: center; gap: 8px;
}
.btn-secondary:hover { background: var(--p50); border-color: var(--p500); }

/* ─── Footer ─────────────────────────────────────────────── */
.footer { background: var(--g800); padding: 64px 0 32px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }

.footer-col h5 { font-size: .82rem; font-weight: 700; text-transform: uppercase;
                 letter-spacing: .08em; color: rgba(255,255,255,.4); margin-bottom: 16px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col ul li a { font-size: .88rem; color: rgba(255,255,255,.6); transition: color .2s; }
.footer-col ul li a:hover { color: #fff; }

.footer-tagline { font-size: .88rem; color: var(--g400); line-height: 1.6; max-width: 280px; }
.footer-bottom  { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px;
                  display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.footer-bottom p { font-size: .82rem; color: var(--g400); }
.footer-disc     { font-size: .78rem; color: var(--g400); text-align: center;
                   line-height: 1.5; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.06); }

/* ─── Responsive ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .nav-links    { display: none; }
  .nav-hamburger { display: flex; }
  .footer-grid  { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 480px) {
  .footer-grid   { grid-template-columns: 1fr; gap: 24px; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
}
