/*
 * LBF Theme — assets/css/home-mobile-fix.css
 * v31.1.28 — CLEAN REWRITE
 *
 * Previous file grew to 2,850 lines of accumulated patches with conflicting
 * rules. This is a full rewrite with ONE authoritative rule per selector.
 * Every section reflects the final agreed design from screenshot reviews.
 *
 * Loads on home page only (inc/enqueue.php is_front_page()).
 * All rules inside @media (max-width: 767px).
 */

@media (max-width: 767px) {


/* ════════════════════════════════════════════════════════════════
   §1  HERO
════════════════════════════════════════════════════════════════ */

body.lbf-home-v3 .v3-hero {
  min-height: 520px !important;
  border-radius: 0 !important;
}
body.lbf-home-v3 .v3-hero-bg {
  border-radius: 0 !important;
}
body.lbf-home-v3 .v3-hero-inner {
  min-height: 520px !important;
  padding: 2rem 1.25rem 2rem !important;
  align-items: center !important;
  text-align: center !important;
  justify-content: center !important;
}
/* White gradient overlay so logo + buttons are readable on any photo crop */
body.lbf-home-v3 .v3-hero::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.78) 0%,
    rgba(255,255,255,0.55) 25%,
    rgba(255,255,255,0.30) 50%,
    rgba(255,255,255,0.55) 75%,
    rgba(255,255,255,0.78) 100%
  ) !important;
  pointer-events: none !important;
}
body.lbf-home-v3 .v3-hero-date {
  align-self: center !important;
  font-size: 0.7rem !important;
  padding: 0.4rem 0.95rem !important;
  margin-bottom: 1.25rem !important;
}
body.lbf-home-v3 .v3-hero-logo {
  margin: 0 auto 1.5rem !important;
  text-align: center !important;
}
body.lbf-home-v3 .v3-hero-logo-img {
  width: clamp(280px, 78vw, 360px) !important;
  margin: 0 auto !important;
}
body.lbf-home-v3 .v3-hero-btns {
  flex-direction: column !important;
  gap: 0.5rem !important;
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 auto !important;
}
body.lbf-home-v3 .v3-btn-hero-primary,
body.lbf-home-v3 .v3-btn-hero-ghost,
body.lbf-home-v3 .v3-btn-hero-green {
  width: 100% !important;
  justify-content: center !important;
  padding: 0.8rem 1.25rem !important;
  font-size: 0.9rem !important;
}


/* ════════════════════════════════════════════════════════════════
   §2  STATS BAND
════════════════════════════════════════════════════════════════ */

body.lbf-home-v3 .v3-stats-band {
  margin: 0 0.75rem 1.25rem !important;
  max-width: none !important;
  border-radius: 18px !important;
  padding: 0.75rem 0.625rem !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(0,26,110,0.08) !important;
}
body.lbf-home-v3 .v3-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  align-items: center !important;
}
body.lbf-home-v3 .v3-stat-card {
  padding: 0.25rem 0.35rem !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0.2rem !important;
}
body.lbf-home-v3 .v3-stat-card + .v3-stat-card {
  border-left: 1px solid rgba(0,51,172,0.08) !important;
}
body.lbf-home-v3 .v3-stat-icon { width: 20px !important; height: 20px !important; }
body.lbf-home-v3 .v3-stat-icon svg { width: 14px !important; height: 14px !important; }
body.lbf-home-v3 .v3-stat-num {
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}
body.lbf-home-v3 .v3-stat-lbl {
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  color: rgba(0,26,110,0.65) !important;
}


/* ════════════════════════════════════════════════════════════════
   §3  EXPERIENCE STRIP
════════════════════════════════════════════════════════════════ */

body.lbf-home-v3 .lbf-exp-eyebrow {
  gap: 0.5rem !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.14em !important;
}
body.lbf-home-v3 .lbf-exp-eyebrow::before,
body.lbf-home-v3 .lbf-exp-eyebrow::after {
  width: 1rem !important;
  flex-shrink: 0 !important;
}
body.lbf-home-v3 .lbf-exp-title { font-size: 1.5rem !important; }
body.lbf-home-v3 .lbf-exp-intro { font-size: 0.875rem !important; line-height: 1.55 !important; }

/* Horizontal scroll strip */
body.lbf-home-v3 .lbf-exp-cards {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-snap-stop: always !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  gap: 0.75rem !important;
  padding: 0.25rem 1rem 0.75rem !important;
  margin: 0 -1rem !important;
  grid-template-columns: none !important;
  direction: ltr !important;
}
body.lbf-home-v3 .lbf-exp-cards::-webkit-scrollbar { display: none !important; }
body.lbf-home-v3 .lbf-exp-card {
  flex: 0 0 78% !important;
  max-width: 300px !important;
  scroll-snap-align: start !important;
  border-radius: 16px !important;
}
body.lbf-home-v3 .lbf-exp-card__img-wrap {
  height: 140px !important;
  background: #1a3064 !important;
  position: relative !important;
  overflow: hidden !important;
}
body.lbf-home-v3 .lbf-exp-card__img-wrap img,
body.lbf-home-v3 .lbf-exp-card__img {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  min-width: 100% !important; min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
body.lbf-home-v3 .lbf-exp-card__body {
  padding: 0.35rem 0.625rem 1rem !important;
}
body.lbf-home-v3 .lbf-exp-card__icon {
  width: 40px !important; height: 40px !important;
  margin: -24px auto 0.5rem !important;
}
body.lbf-home-v3 .lbf-exp-card__title {
  font-size: 0.85rem !important;
  line-height: 1.2 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}
body.lbf-home-v3 .lbf-exp-card__desc {
  font-size: 0.75rem !important;
  line-height: 1.45 !important;
}


/* ════════════════════════════════════════════════════════════════
   §4  FESTIVAL SCHEDULE
════════════════════════════════════════════════════════════════ */

body.lbf-home-v3 .lbf-exp-sched {
  margin-top: 2rem !important;
  padding: 1.25rem 1rem !important;
  background: linear-gradient(180deg, #f4f7ff 0%, #e9eeff 100%) !important;
  border: 1px solid rgba(106,77,255,0.18) !important;
  border-radius: 18px !important;
}
body.lbf-home-v3 .lbf-exp-sched__bg { display: none !important; }
body.lbf-home-v3 .lbf-exp-sched__inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.875rem !important;
  padding: 0 !important;
  background: transparent !important;
  position: relative !important;
  overflow: hidden !important;
}
body.lbf-home-v3 .lbf-exp-sched__left { text-align: center !important; width: 100% !important; }
body.lbf-home-v3 .lbf-exp-sched__heading {
  font-size: 1.35rem !important;
  margin-bottom: 0.4rem !important;
}
body.lbf-home-v3 .lbf-exp-sched__sub {
  font-size: 0.825rem !important;
  margin-bottom: 0.75rem !important;
}
body.lbf-home-v3 .lbf-exp-sched__btn {
  display: inline-flex !important;
  padding: 0.55rem 1.25rem !important;
  font-size: 0.85rem !important;
}
/* Day cards — horizontal scroll, 2.5 visible, right fade */
body.lbf-home-v3 .lbf-exp-sched__days {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  gap: 0.625rem !important;
  padding: 0.25rem 1rem 0.5rem !important;
  margin: 0 -1rem !important;
  grid-template-columns: none !important;
}
body.lbf-home-v3 .lbf-exp-sched__days::-webkit-scrollbar { display: none !important; }
body.lbf-home-v3 .lbf-exp-day {
  flex: 0 0 35% !important;
  max-width: 130px !important;
  scroll-snap-align: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0.625rem 0.5rem !important;
  border-right: none !important;
  border-radius: 12px !important;
  border: 1px solid rgba(217,222,239,0.8) !important;
  background: rgba(255,255,255,0.6) !important;
}
body.lbf-home-v3 .lbf-exp-day__icon { width: 24px !important; height: 24px !important; margin-bottom: 0.25rem !important; }
body.lbf-home-v3 .lbf-exp-day__dow { font-size: 0.55rem !important; letter-spacing: 0.1em !important; }
body.lbf-home-v3 .lbf-exp-day__date { font-size: 1.15rem !important; line-height: 1 !important; }
body.lbf-home-v3 .lbf-exp-day__label { font-size: 0.62rem !important; line-height: 1.2 !important; }
body.lbf-home-v3 .lbf-exp-sched__inner::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important;
  width: 30px !important; height: 100% !important;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 100%) !important;
  pointer-events: none !important;
  z-index: 5 !important;
}


/* ════════════════════════════════════════════════════════════════
   §5  FEATURED ENTERTAINMENT
   
   The photo is background-image on .lbf-feat-hero itself — not a
   separate element. So the correct approach is:
   - .lbf-feat-hero: padding-top: 180px creates the photo zone
   - .lbf-feat-hero__logo-img: position absolute, centered at bottom
     of the 180px photo zone (top: ~155px with translate -50%)
   - .lbf-feat-hero__content: position static, flows below photo zone
     with dark #040d1a background
════════════════════════════════════════════════════════════════ */

body.lbf-home-v3 .lbf-feat-hero {
  padding: 180px 0 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 1rem !important;
  border: none !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background-position: center bottom !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  display: block !important;
}
/* Band logo — absolute, centered at bottom of the 180px photo zone */
body.lbf-home-v3 .lbf-feat-hero__logo-img {
  position: absolute !important;
  top: 155px !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  max-width: 120px !important;
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  z-index: 10 !important;
  display: block !important;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.5)) drop-shadow(0 2px 4px rgba(0,0,0,0.3)) !important;
  flex: none !important;
}
/* Decorative elements — hidden */
body.lbf-home-v3 .lbf-feat-hero__top-line,
body.lbf-home-v3 .lbf-feat-hero__glow-orb { display: none !important; }
/* Genre pills — absolute top-left of photo */
body.lbf-home-v3 .lbf-feat-hero__pills {
  position: absolute !important;
  top: 12px !important; left: 12px !important; right: 12px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  z-index: 5 !important;
  margin: 0 !important; padding: 0 !important;
  overflow: hidden !important;
}
body.lbf-home-v3 .lbf-feat-pill {
  background: rgba(255,255,255,0.92) !important;
  color: #1e3a8a !important;
  font-size: 0.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  padding: 0.2rem 0.45rem !important;
  border-radius: 999px !important;
  backdrop-filter: blur(4px) !important;
  white-space: nowrap !important;
  border: none !important;
  flex: 0 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Info zone = dark block below the photo */
body.lbf-home-v3 .lbf-feat-hero__content {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  background: #040d1a !important;
  padding: 0.875rem 1rem 1rem !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  transform: none !important;
  bottom: auto !important; left: auto !important; right: auto !important; top: auto !important;
  gap: 0.75rem !important;
}
/* Inside info zone: stats then buttons */
body.lbf-home-v3 .lbf-feat-hero__left,
body.lbf-home-v3 .lbf-feat-hero__right { display: block !important; width: 100% !important; }
/* Hide the about block (name in logo, description on detail page) */
body.lbf-home-v3 .lbf-feat-about { display: none !important; }
/* Stat pills — 2 across (Day + Time, Stage hidden) */
body.lbf-home-v3 [data-lbf-stat-stage] { display: none !important; }
body.lbf-home-v3 [data-lbf-pill-stage] { display: none !important; }
body.lbf-home-v3 .lbf-feat-hero__stats {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important; padding: 0 !important;
}
body.lbf-home-v3 .lbf-feat-stat {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 999px !important;
  padding: 0.45rem 0.75rem !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.4rem !important;
  flex: 1 1 0 !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
}
body.lbf-home-v3 .lbf-feat-stat__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  font-size: 0 !important;       /* hide label text, show icon only */
  color: rgba(125,211,252,0.9) !important;
  flex: 0 0 auto !important;
}
body.lbf-home-v3 .lbf-feat-stat__label svg { width: 12px !important; height: 12px !important; display: block !important; }
body.lbf-home-v3 .lbf-feat-stat__val {
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}
/* Buttons */
body.lbf-home-v3 .lbf-feat-hero__btns {
  display: flex !important;
  flex-direction: row !important;
  gap: 0.5rem !important;
  margin: 0 !important; padding: 0 !important;
  border-top: none !important;
}
body.lbf-home-v3 .lbf-feat-btn {
  flex: 1 1 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 0.7rem 0.5rem !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  border-radius: 999px !important;
  white-space: normal !important;
  min-width: 0 !important;
}
body.lbf-home-v3 .lbf-feat-btn--solid {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #ffffff !important;
}
body.lbf-home-v3 .lbf-feat-btn--ghost {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.45) !important;
}
/* Thumbnail strip */
body.lbf-home-v3 .lbf-feat-ent {
  border-radius: 28px !important;
  overflow: hidden !important;
}
body.lbf-home-v3 .lbf-feat-cards {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  gap: 0.5rem !important;
  padding: 0.75rem !important;
  margin: 0 !important;
  grid-template-columns: none !important;
}
body.lbf-home-v3 .lbf-feat-cards::-webkit-scrollbar { display: none !important; }
body.lbf-home-v3 .lbf-feat-card {
  flex: 0 0 130px !important;
  width: 130px !important;
  min-width: 130px !important;
  max-width: 130px !important;
  height: 110px !important;
  min-height: 110px !important;
  max-height: 110px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  position: relative !important;
  scroll-snap-align: start !important;
}
body.lbf-home-v3 .lbf-feat-card__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
}
body.lbf-home-v3 .lbf-feat-card--active {
  transform: none !important;
  border-color: #7dd3fc !important;
  box-shadow: 0 0 0 2px #7dd3fc !important;
}
body.lbf-home-v3 .lbf-feat-card__logo-wrap {
  position: absolute !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 6px 6px !important;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%) !important;
  z-index: 2 !important;
}
body.lbf-home-v3 .lbf-feat-card .lbf-feat-card__logo {
  max-width: 110px !important;
  max-height: 34px !important;
  width: auto !important; height: auto !important;
  object-fit: contain !important;
  display: block !important;
}


/* ════════════════════════════════════════════════════════════════
   §6  PAGEANT SECTION
════════════════════════════════════════════════════════════════ */

/* Hero card: flex column — photo → purple box */
body.lbf-home-v3 .lbf-pag25-hero-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  min-height: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
/* Photo = first flex child */
body.lbf-home-v3 .lbf-pag25-hero-bg-img {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 220px !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  object-position: center top !important;
  order: 0 !important;
}
/* Badge = absolute over the photo */
body.lbf-home-v3 .lbf-pag25-hero-badge {
  position: absolute !important;
  top: 0.625rem !important; left: 0.625rem !important;
  z-index: 5 !important;
  margin: 0 !important;
  font-size: 0.55rem !important;
  padding: 0.2rem 0.6rem !important;
  letter-spacing: 0.14em !important;
}
/* Inner = second flex child — purple box */
body.lbf-home-v3 .lbf-pag25-hero-inner {
  flex: 1 0 auto !important;
  order: 1 !important;
  position: static !important;
  z-index: auto !important;
  background: linear-gradient(135deg, #6a4dff 0%, #4b2fbf 100%) !important;
  padding: 0.75rem 1rem 0.875rem !important;
  margin: 0 !important;
}
/* Orb decorations — hidden */
body.lbf-home-v3 .lbf-pag25-hero-card::before,
body.lbf-home-v3 .lbf-pag25-hero-card::after { display: none !important; }
/* Title — first in purple box, white, one line */
body.lbf-home-v3 #v3-pageant .lbf-pag25-hero-h,
body.lbf-home-v3 .lbf-pag25-hero-h {
  position: static !important;
  top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
  max-width: none !important;
  z-index: auto !important;
  margin: 0 0 0.625rem !important;
  padding: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  text-align: left !important;
  background: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  letter-spacing: -0.01em !important;
}
/* Description — white text */
body.lbf-home-v3 .lbf-pag25-hero-body {
  display: block !important;
  color: rgba(255,255,255,0.92) !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  max-width: none !important;
  margin: 0 !important;
}
/* Stats strip */
body.lbf-home-v3 .lbf-pag25-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0.5rem !important;
  margin: 0.75rem 0 0 !important;
}
body.lbf-home-v3 .lbf-pag25-stat { padding: 0.625rem 0.5rem !important; text-align: center !important; }
body.lbf-home-v3 .lbf-pag25-stat-num,
body.lbf-home-v3 .lbf-pag25-stat-name { font-size: 0.85rem !important; }
body.lbf-home-v3 .lbf-pag25-stat-sub,
body.lbf-home-v3 .lbf-pag25-stat-lbl { font-size: 0.6rem !important; }
/* CTA buttons — 2×2 grid */
body.lbf-home-v3 .lbf-pag25-btns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem !important;
  margin-top: 0.875rem !important;
  overflow: visible !important;
  padding: 0 !important;
}
body.lbf-home-v3 .lbf-pag25-btn {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
  padding: 0.7rem 0.75rem !important;
  font-size: 0.8rem !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}
/* Division cards — 2×3 grid */
body.lbf-home-v3 .lbf-pag25-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}
body.lbf-home-v3 .lbf-pag25-left,
body.lbf-home-v3 .lbf-pag25-right { width: 100% !important; }
body.lbf-home-v3 .lbf-pag25-cats {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.625rem !important;
}
body.lbf-home-v3 .lbf-pag25-cat {
  padding: 0.875rem 0.75rem !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0.4rem !important;
}
body.lbf-home-v3 .lbf-pag25-cat-icon { width: 48px !important; height: 48px !important; }
body.lbf-home-v3 .lbf-pag25-cat-icon img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 50% !important; }
body.lbf-home-v3 .lbf-pag25-cat-name { font-size: 0.85rem !important; margin: 0 !important; }
body.lbf-home-v3 .lbf-pag25-cat-sub { font-size: 0.7rem !important; margin: 0 !important; color: #4b5563 !important; }
body.lbf-home-v3 .lbf-pag25-cat-age { font-size: 0.65rem !important; margin: 0 !important; color: #6b7280 !important; }
body.lbf-home-v3 .lbf-pag25-date-pill {
  width: 100% !important;
  font-size: 0.7rem !important;
  padding: 0.625rem 0.875rem !important;
  text-align: center !important;
  margin-bottom: 0.875rem !important;
}


/* ════════════════════════════════════════════════════════════════
   §7  SPONSORS & DONORS
════════════════════════════════════════════════════════════════ */

/* Constrain the sponsor grid and left column to phone width */
body.lbf-home-v3 .lbf-spd25-grid {
  grid-template-columns: 1fr !important;
  width: 100% !important;
  overflow: hidden !important;
}
body.lbf-home-v3 .lbf-spd25-left {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

/* ── Presenting sponsor card — pill → logo → by → name → desc ── */
body.lbf-home-v3 .lbf-spd25-pres-card {
  padding: 1.25rem !important;
  border-radius: 18px !important;
}
body.lbf-home-v3 .lbf-spd25-pres-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0 !important;
}
body.lbf-home-v3 .lbf-spd25-pres-badge {
  order: 1 !important;
  align-self: center !important;
  margin-bottom: 1rem !important;
  font-size: 0.6rem !important;
  padding: 0.25rem 0.875rem !important;
  letter-spacing: 0.18em !important;
}
body.lbf-home-v3 .lbf-spd25-pres-body {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0 !important;
  width: 100% !important;
}
/* Logo — order 1 inside body (first) */
body.lbf-home-v3 .lbf-spd25-pres-logo-wrap {
  order: 1 !important;
  width: 180px !important;
  max-width: 180px !important;
  min-height: 80px !important;
  background: rgba(255,255,255,0.95) !important;
  border-radius: 12px !important;
  padding: 0.75rem 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 1rem !important;
}
body.lbf-home-v3 .lbf-spd25-pres-logo-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
body.lbf-home-v3 .lbf-spd25-pres-logo {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 56px !important;
  object-fit: contain !important;
  display: block !important;
}
/* Text content — order 2 inside body */
body.lbf-home-v3 .lbf-spd25-pres-body > div:first-child {
  order: 2 !important;
  width: 100% !important;
  text-align: center !important;
}
body.lbf-home-v3 .lbf-spd25-pres-by {
  display: block !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 0.25rem !important;
}
body.lbf-home-v3 .lbf-spd25-pres-name {
  display: block !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
  margin-bottom: 0.625rem !important;
}
body.lbf-home-v3 .lbf-spd25-pres-name a { color: #ffffff !important; text-decoration: none !important; }
body.lbf-home-v3 .lbf-spd25-pres-desc {
  display: block !important;
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.88) !important;
  margin: 0 !important;
}

/* ── Festival stats — 3 across ── */
body.lbf-home-v3 .lbf-spd25-fest-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  gap: 0.5rem !important;
  padding: 0.75rem 0.625rem !important;
  border-radius: 14px !important;
  margin-top: 0.75rem !important;
  overflow: hidden !important;
}
body.lbf-home-v3 .lbf-spd25-fest-stats > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  min-width: 0 !important;
  overflow: visible !important;
}
body.lbf-home-v3 .lbf-spd25-fest-num {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  overflow: visible !important;
  word-break: break-word !important;
}
body.lbf-home-v3 .lbf-spd25-fest-lbl {
  display: block !important;
  font-size: 0.58rem !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
  word-break: break-word !important;
  margin-top: 0.15rem !important;
}

/* ── Tier labels ── */
body.lbf-home-v3 .lbf-spd25 .tier-row { margin-top: 1.25rem !important; }
body.lbf-home-v3 .lbf-spd25 .tier-head { margin-bottom: 0.5rem !important; text-align: center !important; }
body.lbf-home-v3 .lbf-spd25 .tier-label {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* ── Sponsor tier rows — horizontal scroll ALL tiers ── */
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="1"] .sponsor-row,
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="2"] .sponsor-row,
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="3"] .sponsor-row,
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="4"] .sponsor-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  gap: 0.5rem !important;
  padding: 0.25rem 0.75rem 0.5rem !important;
  margin: 0 -0.75rem !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="1"] .sponsor-row::-webkit-scrollbar,
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="2"] .sponsor-row::-webkit-scrollbar,
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="3"] .sponsor-row::-webkit-scrollbar,
body.lbf-home-v3 .lbf-spd25 .tier-row[data-tier-idx="4"] .sponsor-row::-webkit-scrollbar { display: none !important; }

/* ── Sponsor logo boxes — uniform size, override ALL sp-* classes ── */
body.lbf-home-v3 .lbf-spd25 .sp,
body.lbf-home-v3 .lbf-spd25 .sp.sp-xl,
body.lbf-home-v3 .lbf-spd25 .sp.sp-lg,
body.lbf-home-v3 .lbf-spd25 .sp.sp-md,
body.lbf-home-v3 .lbf-spd25 .sp.sp-sm,
body.lbf-home-v3 .lbf-spd25 .sp.sp-xs {
  flex: 0 0 120px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  scroll-snap-align: start !important;
  padding: 0.5rem !important;
  background: #ffffff !important;
  border: 1px solid rgba(180,200,255,0.5) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}
body.lbf-home-v3 .lbf-spd25 .sp img {
  width: auto !important; height: auto !important;
  max-width: 100% !important; max-height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
body.lbf-home-v3 .lbf-spd25 .sp > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important; height: 100% !important;
  padding: 0 !important;
}
body.lbf-home-v3 .lbf-spd25 .sp .sp-name-text {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  color: #1e3a8a !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  display: block !important;
}

/* ── CTA buttons — 4 stacked full-width ── */
body.lbf-home-v3 .lbf-spd25-cta-row {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-top: 1.25rem !important;
  overflow: visible !important;
  padding: 0 !important;
}
body.lbf-home-v3 .lbf-spd25-cta-btn {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.8rem !important;
  text-align: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  min-height: 44px !important;
  letter-spacing: 0 !important;
  flex: none !important;
  display: flex !important;
  align-items: center !important;
}

/* ── Donation section — separated from sponsors ── */
body.lbf-home-v3 #donate {
  margin-top: 1.5rem !important;
  padding-top: 1.5rem !important;
  border-top: 2px solid rgba(180,200,255,0.4) !important;
}

/* ── Donation tiles ── */
body.lbf-home-v3 .lbf-spd25-amt-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.625rem !important;
}
body.lbf-home-v3 .lbf-spd25-amt-card { padding: 0.75rem 0.875rem !important; border-radius: 14px !important; }
body.lbf-home-v3 .lbf-spd25-amt-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
}
body.lbf-home-v3 .lbf-spd25-amt-icon { flex: 0 0 36px !important; width: 36px !important; height: 36px !important; }
body.lbf-home-v3 .lbf-spd25-amt-content { flex: 1 1 auto !important; min-width: 0 !important; display: block !important; }
body.lbf-home-v3 .lbf-spd25-amt-val { font-size: 1rem !important; font-weight: 900 !important; }
body.lbf-home-v3 .lbf-spd25-amt-desc {
  display: block !important;
  font-size: 0.72rem !important;
  line-height: 1.35 !important;
  color: #475569 !important;
  margin-top: 0.25rem !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ── Gravity Forms ── */
body.lbf-home-v3 .gform_wrapper .gfield { width: 100% !important; padding: 0 !important; margin-bottom: 0.875rem !important; }
body.lbf-home-v3 .gform_wrapper input[type="text"],
body.lbf-home-v3 .gform_wrapper input[type="email"],
body.lbf-home-v3 .gform_wrapper input[type="tel"],
body.lbf-home-v3 .gform_wrapper input[type="number"],
body.lbf-home-v3 .gform_wrapper select,
body.lbf-home-v3 .gform_wrapper textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0.625rem 0.75rem !important;
  font-size: 16px !important;
  border-radius: 8px !important;
}
body.lbf-home-v3 .gform_wrapper .gform_button,
body.lbf-home-v3 .gform_wrapper [type="submit"] {
  width: 100% !important;
  padding: 0.875rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
}


/* ════════════════════════════════════════════════════════════════
   §8  SECTION SPACING + GENERAL
════════════════════════════════════════════════════════════════ */

body.lbf-home-v3 { overflow-x: hidden !important; }
body.lbf-home-v3 .v3-canvas { padding: 0 !important; }
body.lbf-home-v3 .v3-outer-card { border-radius: 0 !important; margin: 0 !important; box-shadow: none !important; }
body.lbf-home-v3 .v3-shell { padding-left: 0 !important; padding-right: 0 !important; }
body.lbf-home-v3 .v3-card { margin: 1.25rem 0.75rem !important; padding: 1.25rem 1rem !important; border-radius: 18px !important; }
body.lbf-home-v3 .v3-sec-eyebrow { font-size: 0.65rem !important; letter-spacing: 0.2em !important; margin-bottom: 0.35rem !important; }
body.lbf-home-v3 .v3-sec-title,
body.lbf-home-v3 .v3-card h2 { font-size: 1.5rem !important; line-height: 1.15 !important; letter-spacing: -0.02em !important; }
body.lbf-home-v3 .v3-card h3 { font-size: 1.1rem !important; line-height: 1.2 !important; }
body.lbf-home-v3 .v3-sec-intro { font-size: 0.875rem !important; line-height: 1.55 !important; margin-bottom: 1.25rem !important; }
body.lbf-home-v3 .v3-main img { max-width: 100% !important; height: auto !important; }
/* Scroll strips — never clip horizontally */
body.lbf-home-v3 .lbf-exp-cards,
body.lbf-home-v3 .lbf-exp-sched__days,
body.lbf-home-v3 .lbf-feat-cards,
body.lbf-home-v3 .lbf-spd25 .sponsor-row { overflow-x: auto !important; }


} /* end @media (max-width: 767px) */
