/*
 Theme Name:   Specialove Divi Child
 Description:  Child theme for Divi — Special Love (specialove.n3ng.us)
 Template:     Divi
 Version:      1.0.0
*/

/* Add custom CSS below this line. The parent Divi stylesheet is
   loaded automatically by the enqueue in functions.php. */
/* ==========================================================================
   Special Love — HERO Section Scaffold (Divi 5)
   Format: Theme Options (paste into Divi > Theme Options > Custom CSS)
   Generated: 2026-07-26
   Prefix: sl

   SETUP:
   1. Paste this whole block into Divi > Theme Options > Custom CSS
      (NO <style> tags — Theme Options is raw CSS).
   2. In the Visual Builder, add a Section, then:
      - Set the Section's Element Type to <section> via Advanced > HTML > Element Type
      - Add class "sl-hero" via Advanced > Attributes > class
   3. Inside, add a Row (1/2 + 1/2 or single full-width — see builder steps).
   4. Add modules (Text for eyebrow/title/subtitle, Button for CTAs) and
      assign each the classes in the CLASS MAP below via Advanced > Attributes.
   ========================================================================== */

/* Design tokens (merge into existing :root if present) */
:root {
  --sl-blue: #2199CF;     /* primary bright blue — accent, links */
  --sl-red: #E2001E;       /* primary CTA red */
  --sl-navy: #002F54;      /* dark navy — headings on light */
  --sl-cream: #F7F3EE;     /* warm cream — hero background */
  --sl-teal: #1C6E79;      /* teal accent */
  --sl-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sl-font-sans: 'Jost', 'Century Gothic', system-ui, sans-serif;
}

/* ---------- HERO LAYOUT ---------- */
.sl-hero {
  position: relative;
  min-height: clamp(520px, 78vh, 920px);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
  background: var(--sl-cream, #F7F3EE);
  padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 5vw, 5rem) !important;
}

/* subtle brand tint band behind the content */
.sl-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 80% at 50% -10%, rgba(33,153,207,0.12) 0%, rgba(247,243,238,0) 60%);
  pointer-events: none;
}

.sl-hero__inner {
  position: relative;
  max-width: 62rem;
  margin: 0 auto;
  text-align: center;
}

/* ---------- EYEBROW LABEL ---------- */
.sl-hero__eyebrow {
  font-family: var(--sl-font-sans, 'Jost', sans-serif) !important;
  font-weight: 600;
  font-size: clamp(0.8rem, 1vw, 0.95rem) !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sl-blue, #2199CF) !important;
  margin-bottom: clamp(0.75rem, 1.5vw, 1.25rem) !important;
}

/* ---------- MAIN DISPLAY TITLE ---------- */
.sl-hero__title {
  font-family: var(--sl-font-display, 'Fraunces', serif) !important;
  font-weight: 600;
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em;
  color: var(--sl-navy, #002F54) !important;
  margin: 0 0 clamp(0.75rem, 1.5vw, 1.25rem) !important;
}

/* blue accent rule under the title */
.sl-hero__title::after {
  content: '';
  display: block;
  width: clamp(60px, 8vw, 110px);
  height: 4px;
  margin: clamp(1rem, 2vw, 1.5rem) auto 0;
  background: var(--sl-blue, #2199CF);
  border-radius: 2px;
}

/* ---------- SUBTITLE / LEAD ---------- */
.sl-hero__subtitle {
  font-family: var(--sl-font-display, 'Fraunces', serif) !important;
  font-weight: 400;
  font-size: clamp(1.1rem, 2vw, 1.6rem) !important;
  line-height: 1.45 !important;
  color: var(--sl-navy, #002F54) !important;
  max-width: 48ch;
  margin: 0 auto clamp(1.5rem, 3vw, 2.5rem) !important;
  opacity: 0.92;
}

/* ---------- CTA BUTTON GROUP ---------- */
.sl-hero__cta-group {
  display: flex !important;
  flex-wrap: wrap;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  justify-content: center;
  align-items: center;
}

/* PRIMARY — red "DONATE TODAY" */
body .et_pb_button.sl-hero__cta--primary {
  background-color: var(--sl-red, #E2001E) !important;
  border: 2px solid var(--sl-red, #E2001E) !important;
  color: #ffffff !important;
  font-family: var(--sl-font-sans, 'Jost', sans-serif) !important;
  font-weight: 600;
  font-size: clamp(0.9rem, 1vw, 1.05rem) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.9em 2.2em !important;
  border-radius: 4px !important;
  transition: background-color 0.25s ease, transform 0.25s ease !important;
}
body .et_pb_button.sl-hero__cta--primary:hover {
  background-color: #c10019 !important;
  border-color: #c10019 !important;
  transform: translateY(-2px);
}

/* SECONDARY — outline blue "Find support" */
body .et_pb_button.sl-hero__cta--secondary {
  background-color: transparent !important;
  border: 2px solid var(--sl-blue, #2199CF) !important;
  color: var(--sl-blue, #2199CF) !important;
  font-family: var(--sl-font-sans, 'Jost', sans-serif) !important;
  font-weight: 600;
  font-size: clamp(0.9rem, 1vw, 1.05rem) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.9em 2.2em !important;
  border-radius: 4px !important;
  transition: background-color 0.25s ease, color 0.25s ease !important;
}
body .et_pb_button.sl-hero__cta--secondary:hover {
  background-color: var(--sl-blue, #2199CF) !important;
  color: #ffffff !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px) {
  .sl-hero { min-height: clamp(460px, 70vh, 760px); }
}
@media (max-width: 767px) {
  .sl-hero__cta-group { flex-direction: column; width: 100%; }
  body .et_pb_button.sl-hero__cta--primary,
  body .et_pb_button.sl-hero__cta--secondary {
    width: 100% !important;
    text-align: center;
    min-height: 44px; /* AA touch target */
  }
}

/* ---------- ACCESSIBILITY ---------- */
@media (prefers-reduced-motion: reduce) {
  body .et_pb_button.sl-hero__cta--primary,
  body .et_pb_button.sl-hero__cta--secondary { transition: none !important; }
  body .et_pb_button.sl-hero__cta--primary:hover,
  body .et_pb_button.sl-hero__cta--secondary:hover { transform: none !important; }
}

/* Adobe Fonts kit: Futura PT bold ships as a separate family (futura-pt-bold).
   Route primary bold UI text (buttons, nav) to it so weight 700
   does not fall back to a system font. New Spirit (headings) has its own
   700 face, so it is left untouched. */
.et_pb_button,
.et_pb_menu ul li a {
    font-family: "futura-pt-bold", "futura-pt", sans-serif;
}
