/* Waridi production hotfixes — cPanel deploy (no source rebuild) */

/* ========== Visibility fallbacks (broken entrance animations) ========== */
.reveal {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  will-change: auto !important;
  animation: none !important;
}
.cta-hidden,
.word-hidden,
.label-hidden,
.h2-hidden,
.img-hidden,
.fails-hidden,
.works-hidden,
.tear-card-hidden,
.physics-hidden-left,
.physics-hidden-right,
.physics-hidden-top,
.physics-hidden-fade,
.ripple-col-hidden,
.ripple-bullet-hidden,
.word-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  animation: none !important;
}
[style*="opacity: 0"],
[style*="opacity:0"],
.opacity-0 {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Donate CTA contrast */
a[href="/partners"][class*="h-16"] {
  background-color: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

img[class*="object-right-bottom"] {
  max-width: 100%;
  height: auto;
}

/* ========== HOME HERO SECTION SIZE ONLY (do not restyle items) ========== */

/*
  Problem was DOUBLE offset: main padding-top cleared the fixed nav,
  then the hero added another large padding-top → felt huge.
  Fix: main clears nav exactly; hero only adds a small ~16px breath.
  Leave headline / image / CTAs alone.
*/
section.relative.overflow-hidden.bg-waridi-pink.pt-20,
section.relative.overflow-hidden.bg-waridi-pink {
  padding-top: 1rem !important;
  padding-bottom: 1.25rem !important;
}
@media (min-width: 640px) {
  section.relative.overflow-hidden.bg-waridi-pink {
    padding-top: 1rem !important;
    padding-bottom: 1.5rem !important;
  }
}

/* Match fixed nav height (~96px) — no extra slack here */
main {
  padding-top: 6rem !important;
}

/* Prevent items-center from adding empty air above text when image is tall */
section.bg-waridi-pink .mx-auto.max-w-7xl.flex,
section.bg-waridi-pink .flex.flex-col.lg\:flex-row.items-center {
  align-items: flex-start !important;
}

/* Discover-more row — section chrome only */
section.bg-waridi-pink .flex.justify-center.mt-20 {
  margin-top: 0.75rem !important;
}

/* Other page heroes — section padding only */
section.relative.bg-waridi-navy,
section.bg-waridi-navy.px-4 {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}

/* General section rhythm (non-hero) */
.py-36 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}
.py-28 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

@media (max-width: 640px) {
  /* Mobile nav is still ~96px tall — keep main clearance matched */
  main {
    padding-top: 6rem !important;
  }
  section.relative.overflow-hidden.bg-waridi-pink {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-36,
  .py-28,
  .py-24 {
    padding-top: 3.25rem !important;
    padding-bottom: 3.25rem !important;
  }
}

span[class*="mt-3 h-1 w-full rounded-full"],
span[class*="h-full rounded-full bg-waridi-rose"] {
  display: block;
}
