.elementor-kit-339{--e-global-color-primary:#C0392B;--e-global-color-secondary:#C9952A;--e-global-color-text:#2C1810;--e-global-color-accent:#1A5966;--e-global-color-hh_gold_pale:#FBF0D9;--e-global-color-hh_cream:#FDF8F2;--e-global-color-hh_cream_dark:#F4EAD5;--e-global-color-hh_gray_light:#F8F4F0;--e-global-color-hh_gray_border:#E5D9D0;--e-global-color-hh_teal:#1A5966;--e-global-color-hh_teal_light:#236A7A;--e-global-color-hh_dark:#1C0A0E;--e-global-color-hh_text_muted:#7A5C52;--e-global-color-hh_primary_dark:#962D22;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.1em;}.elementor-kit-339 button,.elementor-kit-339 input[type="button"],.elementor-kit-339 input[type="submit"],.elementor-kit-339 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:16px;font-weight:700;letter-spacing:0.3px;color:var( --e-global-color-hh_cream );border-style:none;border-radius:40px 40px 40px 40px;padding:14px 32px 14px 32px;}.elementor-kit-339 button:hover,.elementor-kit-339 button:focus,.elementor-kit-339 input[type="button"]:hover,.elementor-kit-339 input[type="button"]:focus,.elementor-kit-339 input[type="submit"]:hover,.elementor-kit-339 input[type="submit"]:focus,.elementor-kit-339 .elementor-button:hover,.elementor-kit-339 .elementor-button:focus{background-color:#962D22;color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-kit-339 a:hover{color:#962D22;}.elementor-kit-339 h1{color:var( --e-global-color-primary );}.elementor-kit-339 h2{color:var( --e-global-color-primary );}.elementor-kit-339 h3{color:var( --e-global-color-primary );}.elementor-kit-339 h4{color:var( --e-global-color-primary );}.elementor-kit-339 h5{color:var( --e-global-color-primary );}.elementor-kit-339 h6{color:var( --e-global-color-primary );}.elementor-kit-339 img{border-style:none;border-radius:0px 0px 0px 0px;}.elementor-kit-339 label{color:#2C1810;}.elementor-kit-339 input:not([type="button"]):not([type="submit"]),.elementor-kit-339 textarea,.elementor-kit-339 .elementor-field-textual{border-style:solid;border-width:1px 1px 1px 1px;border-radius:5px 5px 5px 5px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:10px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}.elementor-widget:not(:last-child){--kit-widget-spacing:32px;}.elementor-element{--widgets-spacing:32px 20px;--widgets-spacing-row:32px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-339{--e-global-typography-primary-font-size:3em;--e-global-typography-secondary-font-size:1.4rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-339{--e-global-typography-primary-font-size:2.2em;--e-global-typography-secondary-font-size:1.3rem;--e-global-typography-accent-font-size:0.8em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ============================================================
   HEALING HEARTS FOUNDATION — Elementor Custom CSS
   Add this to: Elementor → Custom CSS  (or Appearance → Customize → Additional CSS)
   ============================================================ */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400&family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ---- CSS Custom Properties ---- */
:root {
  --hh-red:         #C0392B;
  --hh-red-dark:    #962D22;
  --hh-gold:        #C9952A;
  --hh-gold-pale:   #FBF0D9;
  --hh-cream:       #FDF8F2;
  --hh-teal:        #1A5966;
  --hh-dark:        #1C0A0E;
  --hh-text:        #2C1810;
  --hh-text-muted:  #7A5C52;
  --hh-gray-light:  #F8F4F0;
  --hh-gray-border: #E5D9D0;
}

/* ---- Announcement Bar ---- */
.hh-announcement-bar {
  background: var(--hh-red);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.hh-announcement-bar a {
  color: var(--hh-gold-pale);
  text-decoration: underline;
}
.hh-announcement-bar a:hover {
  color: #fff;
}

/* ---- Kicker Label ---- */
.hh-kicker {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--hh-gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

/* ---- Gold Decorative Bar ---- */
.hh-gold-bar {
  display: block;
  width: 40px;
  height: 3px;
  background: var(--hh-gold);
  border-radius: 2px;
  margin-bottom: 1rem;
}
.hh-gold-bar-center {
  display: block;
  width: 40px;
  height: 3px;
  background: var(--hh-gold);
  border-radius: 2px;
  margin: 0 auto 1rem auto;
}

/* ---- Hero Badge ---- */
.hh-hero-badge {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 40px;
  padding: 8px 20px;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-bottom: 1.5rem;
}

/* ---- Stats Section ---- */
.hh-stats-section {
  background: var(--hh-red);
  color: #fff;
}

.hh-stats-number {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 3.5rem;
  color: #fff;
  line-height: 1.1;
  display: block;
}

.hh-stats-label {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.75);
  display: block;
  margin-top: 0.375rem;
}

/* ---- Cards ---- */
.hh-card {
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px rgba(192,57,43,0.08);
  transition: all 0.3s ease;
}
.hh-card:hover {
  box-shadow: 0 20px 56px rgba(192,57,43,0.18);
  transform: translateY(-6px);
}

/* ---- Program Icon Badge ---- */
.hh-prog-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}
.hh-prog-icon.red {
  background: rgba(192,57,43,0.1);
  color: var(--hh-red);
}
.hh-prog-icon.gold {
  background: var(--hh-gold-pale);
  color: var(--hh-gold);
}
.hh-prog-icon.teal {
  background: rgba(26,89,102,0.1);
  color: var(--hh-teal);
}

/* ---- Event Date Badge ---- */
.hh-event-date {
  color: var(--hh-red);
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 0.5rem;
}

/* ---- Quote / Testimonial Card ---- */
.hh-quote-card {
  background: #F8F4F0;
  border-radius: 24px;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
}
.hh-quote-mark {
  font-family: 'Playfair Display', serif;
  font-size: 6rem;
  color: rgba(192,57,43,0.12);
  position: absolute;
  top: 1rem;
  left: 1.5rem;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* ---- Team Cards ---- */
.hh-team-card .team-photo {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1;
  margin-bottom: 1rem;
}
.hh-team-card .team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.hh-team-card:hover .team-photo img {
  transform: scale(1.08);
}
.hh-team-name {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--hh-text);
  margin: 0 0 0.25rem;
}
.hh-team-role {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--hh-text-muted);
}

/* ---- Buttons ---- */
.hh-btn-red {
  background: var(--hh-red);
  color: #fff;
  border-radius: 40px;
  padding: 14px 32px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: background 0.25s ease;
  display: inline-block;
  text-decoration: none;
  line-height: 1.4;
}
.hh-btn-red:hover {
  background: var(--hh-red-dark);
  color: #fff;
  text-decoration: none;
}

.hh-btn-gold {
  background: var(--hh-gold);
  color: #fff;
  border-radius: 40px;
  padding: 14px 32px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: background 0.25s ease;
  display: inline-block;
  text-decoration: none;
  line-height: 1.4;
}
.hh-btn-gold:hover {
  background: #B8841F;
  color: #fff;
  text-decoration: none;
}

.hh-btn-outline-red {
  background: transparent;
  border: 2px solid var(--hh-red);
  color: var(--hh-red);
  border-radius: 40px;
  padding: 12px 32px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-block;
  text-decoration: none;
  line-height: 1.4;
}
.hh-btn-outline-red:hover {
  background: var(--hh-red);
  color: #fff;
  text-decoration: none;
}

.hh-btn-white {
  background: #fff;
  color: var(--hh-red);
  border-radius: 40px;
  padding: 14px 32px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: background 0.25s ease;
  display: inline-block;
  text-decoration: none;
  line-height: 1.4;
}
.hh-btn-white:hover {
  background: var(--hh-gold-pale);
  color: var(--hh-red);
  text-decoration: none;
}

/* ---- CTA Teal Section ---- */
.hh-cta-teal {
  background: var(--hh-teal) !important;
}

/* ---- Partner Cards ---- */
.hh-partner-card {
  background: #fff;
  border-radius: 16px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s ease;
}
.hh-partner-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}
.hh-partner-icon {
  width: 56px;
  height: 56px;
  background: var(--hh-gold-pale);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  color: var(--hh-gold);
  font-size: 1.375rem;
}

/* ---- Donation Amount Selector ---- */
.hh-donation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.hh-donation-amount {
  background: #fff;
  border: 2px solid var(--hh-gray-border);
  border-radius: 12px;
  padding: 1rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--hh-red);
}
.hh-donation-amount:hover,
.hh-donation-amount.active {
  border-color: var(--hh-red);
  background: rgba(192,57,43,0.06);
}
.hh-donation-amount .amount-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--hh-text-muted);
  display: block;
  margin-top: 0.25rem;
}

/* ---- Gallery Grid ---- */
.hh-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.hh-gallery-item {
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.hh-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}
.hh-gallery-item:hover img {
  transform: scale(1.05);
}

/* ---- Contact Info ---- */
.hh-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
  color: var(--hh-text-muted);
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
}
.hh-contact-icon {
  color: var(--hh-red);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 1.125rem;
}
.hh-hours-badge {
  background: var(--hh-gold-pale);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  font-size: 0.9375rem;
  font-family: 'Inter', sans-serif;
  color: var(--hh-text);
}
.hh-hours-badge strong {
  color: var(--hh-text);
  font-weight: 700;
}

/* ---- Scroll Reveal ---- */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.shown {
  opacity: 1;
  transform: none;
}

/* ---- Visibility Helpers ---- */
.hh-desktop-only { display: block; }
.hh-mobile-only  { display: none; }

/* ---- Impact Tier List ---- */
.hh-impact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hh-impact-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--hh-gray-border);
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: var(--hh-text);
}
.hh-impact-list li:last-child { border-bottom: none; }
.hh-impact-list .impact-amount {
  font-weight: 700;
  color: var(--hh-red);
  min-width: 56px;
}

/* ---- Section Padding Helpers ---- */
.hh-section-sm { padding: 48px 0; }
.hh-section-md { padding: 80px 0; }
.hh-section-lg { padding: 112px 0; }

/* ---- Checklist ---- */
.hh-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.hh-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: var(--hh-text);
}
.hh-checklist li::before {
  content: '\2713';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  background: rgba(192,57,43,0.1);
  color: var(--hh-red);
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
  margin-top: 1px;
}

/* ---- Map Placeholder ---- */
.hh-map-placeholder {
  width: 100%;
  height: 200px;
  background: var(--hh-gray-light);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hh-text-muted);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  border: 2px dashed var(--hh-gray-border);
  margin-top: 1.5rem;
}

/* ============================================================
   RESPONSIVE — Mobile (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {
  .hh-desktop-only { display: none !important; }
  .hh-mobile-only  { display: block !important; }

  .hh-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hh-donation-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hh-stats-number {
    font-size: 2.5rem;
  }

  .hh-quote-card {
    padding: 1.75rem 1.5rem;
  }

  .hh-prog-icon {
    width: 52px;
    height: 52px;
  }
}

@media (max-width: 480px) {
  .hh-gallery-grid {
    grid-template-columns: 1fr;
  }

  .hh-donation-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hh-hero-badge {
    font-size: 0.8125rem;
    padding: 6px 16px;
  }
}/* End custom CSS */