/* ============================================================
   global.css  —  Base Styles & Utility Classes
   NGO Theme · Yuva Shakti Samiti
   Depends on: variables.css (must load first)
   ============================================================ */

/* ── Body ─────────────────────────────────────────────────── */
body {
  font-family: var(--font-body);
  color: var(--color-text);
  background-color: var(--color-white);
}

/* ── Typography hierarchy ─────────────────────────────────── */
h1,
h2,
h3,
.text-title {
  font-family: var(--font-heading);
}

p,
span,
a,
button,
.text-p {
  font-family: var(--font-body);
}

/* ── Container ────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

/* ── Section spacing ──────────────────────────────────────── */
section {
  padding: var(--section-padding) 0;
}

/* ── Links ────────────────────────────────────────────────── */
a {
  text-decoration: none;
  color: inherit;
  transition: var(--transition);
}

/* ── Section title ────────────────────────────────────────── */
.section-title {
  font-size: 50px;
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: 16px;
  color: var(--color-text) !important;
}

/* ── Colour helpers (mirrors Bootstrap's convention) ──────── */
.bg-brand-primary {
  background-color: var(--color-primary) !important;
}
.bg-brand-secondary {
  background-color: var(--color-secondary) !important;
}
.bg-brand-light {
  background-color: var(--color-light) !important;
}
.bg-color-light {
  background-color: var(--color-bg) !important;
}
.bg-color-white {
  background-color: var(--color-white) !important;
}

.text-brand-primary {
  color: var(--color-primary) !important;
}
.text-brand-secondary {
  color: var(--color-secondary) !important;
}
.text-brand-h {
  color: var(--color-text) !important;
}
.text-muted-p {
  color: var(--color-muted) !important;
}

.border-brand-secondary {
  border-color: var(--color-secondary) !important;
}

/* ── Primary Button ───────────────────────────────────────── */
/* Animated skew-reveal button used across all pages */
/* Donate Now button */
.btn-donate-now {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fe941a;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding: 13px 28px;
  border-radius: 50px;
  text-decoration: none;
  border: 2px solid #fe941a;
  transition:
    background 0.2s,
    border-color 0.2s;
  cursor: pointer;
}
.btn-donate-now:hover {
  background: #e07d0e;
  border-color: #e07d0e;
  color: #fff;
}

.btn-volunteer {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 600;
  padding: 13px 28px;
  border-radius: 50px;
  text-decoration: none;
  border: 2px solid var(--color-primary);
  transition:
    background 0.2s,
    color 0.2s;
  cursor: pointer;
}
.btn-volunteer:hover {
  background: var(--color-primary);
  color: #fff;
}

@media (max-width: 575px) {
  .btn-volunteer {
    gap: 5px;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 8px 15px !important;
    border: 1.9px solid var(--color-primary);
    transition:
      background 0.2s,
      color 0.2s;
  }
  .btn-donate-now {
    gap: 5px;
    border-radius: 22px;
    padding: 8px 15px !important;
    font-size: 0.85rem;
    font-weight: 600;
  }
  .btn-donate-now svg {
    width: 16px;
    height: 16px;
  }
}

.container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

/* Large laptops & desktops (1200px–1400px) */
@media only screen and (max-width: 1400px) {
  .container {
    max-width: 1140px !important;
  }
}

/* Medium laptops (992px–1200px) */
@media only screen and (max-width: 1200px) {
  .container {
    max-width: 960px !important;
  }
  
    .btn-volunteer {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 8px 16px;
 }
.btn-donate-now {
   gap: 5px;
    font-size: 0.8rem;
    padding: 8px 14px;
  }

}

/* Tablets landscape (768px–992px) */
@media only screen and (max-width: 992px) {
  .container {
    max-width: 720px !important;
  }


}
