/*
  Production UX fixes, 2026-08-07.
  Goal: one clear CTA per viewport, mobile-first nav, no fake urgency overlays,
  and no floating widgets covering the hero video/form or footer CTAs.
  
  CONTRAST FIXES 2026-08-07:
  - Increased text contrast for readability
  - Vibrant accent colors that pop
  - Stronger shadows and depth
  - Better button visibility
*/

#ticker {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.nav {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(23, 18, 15, 0.12) !important;
  box-shadow: 0 10px 30px rgba(23, 18, 15, 0.08) !important;
  min-width: 0 !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

html,
body {
  background: #f3ede5 !important;
}

.nav__logo {
  color: #17120f !important;
  min-width: 0 !important;
  max-width: 52vw !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.nav__cta {
  background: #7c151f !important;
  color: #fff !important;
  border-color: #7c151f !important;
  white-space: nowrap !important;
}

.ed-footer__brand-logo {
  display: block !important;
  width: 132px !important;
  height: auto !important;
  margin: 0 0 14px !important;
}

.ed-footer {
  margin-bottom: 0 !important;
  padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;
}

.faq-section {
  background: #fffaf3 !important;
  color: #17120f !important;
  padding: clamp(56px, 7vw, 92px) 24px !important;
}

.faq-section h2,
.faq-section h3,
.faq-section p {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.faq-section h2 {
  font-family: "Fraunces", Georgia, serif !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.02 !important;
  margin-bottom: 28px !important;
}

.faq-section h3 {
  border-top: 1px solid rgba(23, 18, 15, 0.14) !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.25 !important;
  margin-top: 0 !important;
  padding-top: 22px !important;
}

.faq-section .faq-answer {
  color: #1a1a2e !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin-bottom: 24px !important;
  font-weight: 400 !important;
}

@media (max-width: 768px) {
  .nav {
    height: 60px !important;
    padding: 0 12px !important;
    gap: 10px !important;
  }

  .nav__logo {
    font-size: 0 !important;
    max-width: calc(100vw - 210px) !important;
  }

  .nav__logo::after {
    content: "Southeastern";
    font-family: "Fraunces", Georgia, serif;
    font-size: 16px;
    font-weight: 800;
  }

  .nav__links {
    display: none !important;
  }

  .nav__hamburger {
    align-items: center !important;
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    color: #17120f !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: 26px !important;
    height: 44px !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 44px !important;
  }

  .nav__logo img {
    max-width: 148px !important;
    height: auto !important;
  }

  .nav__cta {
    padding: 9px 12px !important;
    font-size: 12px !important;
    min-height: 40px !important;
    border-radius: 8px !important;
  }

  #sr-mobile-menu {
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    max-height: calc(100dvh - 60px) !important;
    overflow-y: auto !important;
    padding: 10px 18px calc(14px + env(safe-area-inset-bottom)) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid #ece7e1 !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14) !important;
  }
}

@media (max-width: 900px) {
  #dakota-card,
  #dakota-card:not([data-user-opened="1"]) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #dakota-reopen {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    right: 14px !important;
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
  }

  #dakota-reopen::before {
    content: "D";
    color: #fff;
    font-family: "Fraunces", Georgia, serif;
    font-size: 20px;
    font-weight: 800;
  }

  .sticky-call {
    z-index: 70 !important;
  }
}

@media (max-width: 640px) {
  body.has-sticky-call {
    padding-bottom: 0 !important;
  }

  .ed-footer__brand-logo {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 901px) {
  .sticky-call {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .hero .hero-sound-overlay {
    justify-content: flex-start !important;
    padding-top: 88px !important;
  }

  /* Mobile hero layout: logo visible first, form below */
  .hero {
    min-height: 70vh !important;
    align-items: center !important;
    padding-top: 80px !important;
  }

  /* Remove the gradient shadow that darkens the logo area */
  .hero .quiz-step.is-visible::before {
    display: none !important;
  }

  .hero .quiz-step.estimate-step {
    position: relative !important;
    max-width: none !important;
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    border-radius: 16px !important;
    padding: 24px 20px 20px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
  }

  /* Dark text for light background form */
  .hero .quiz-step.estimate-step .quiz-prompt {
    color: #17120f !important;
    text-shadow: none !important;
    font-size: 22px !important;
    margin-bottom: 18px !important;
  }

  .hero .estimate-step .est-submit {
    font-size: 16px !important;
    padding: 16px 24px !important;
    width: 100% !important;
  }

  .hero .estimate-step .est-consent {
    font-size: 12px !important;
    color: #2d2d3a !important;
    font-weight: 500 !important;
  }

  .hero .estimate-step .est-consent a {
    color: #c41e3a !important;
    font-weight: 700 !important;
  }

  .hero .estimate-step .est-alt {
    color: #1a1a2e !important;
    font-weight: 600 !important;
  }

  /* Form inputs on light background */
  .hero .estimate-step input,
  .hero .estimate-step select {
    background: #fff !important;
    border: 1px solid #ddd !important;
    color: #17120f !important;
  }

  .hero .estimate-step input::placeholder {
    color: #666 !important;
  }
}

/* ============================================
   HIGH CONTRAST & VIBRANCY FIXES
   Makes text readable, buttons pop, CTAs jump
   ============================================ */

/* Stronger text throughout */
.ed-svc-tile__desc,
.ed-story__text p,
.ed-lede {
  color: #1a1a2e !important;
  font-weight: 400 !important;
}

/* Vibrant pricing tags */
.ed-svc-tile__price {
  background: #c41e3a !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.4) !important;
}

/* Links that pop */
.ed-svc-tile__link,
.ed-link-arrow {
  color: #c41e3a !important;
  font-weight: 700 !important;
}

/* Trust strip - darker text */
.trust-strip,
[style*="background:#F4F0EA"] {
  color: #1a1a2e !important;
}

.trust-strip strong,
[style*="background:#F4F0EA"] strong {
  color: #000 !important;
  font-weight: 800 !important;
}

/* BBB link more visible */
a[href*="bbb.org"] {
  color: #c41e3a !important;
  font-weight: 700 !important;
}

/* Navigation CTA - more vibrant */
.nav__cta {
  background: linear-gradient(135deg, #c41e3a 0%, #9b1b2c 100%) !important;
  box-shadow: 0 4px 14px rgba(196, 30, 58, 0.4) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

.nav__cta:hover {
  background: linear-gradient(135deg, #d62d4a 0%, #b01e32 100%) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.5) !important;
  transform: translateY(-2px) !important;
}

/* Footer links */
.ed-footer a {
  color: #c41e3a !important;
  font-weight: 600 !important;
}

/* Submit button - vibrant */
.btn-red,
.est-submit {
  background: linear-gradient(135deg, #c41e3a 0%, #9b1b2c 100%) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.4) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  font-size: 15px !important;
}

.btn-red:hover,
.est-submit:hover {
  background: linear-gradient(135deg, #d62d4a 0%, #b01e32 100%) !important;
  box-shadow: 0 8px 28px rgba(196, 30, 58, 0.5) !important;
  transform: translateY(-2px) !important;
}

/* Section headings - darker */
.ed-h2,
.ed-section h2 {
  color: #0a0a0a !important;
  font-weight: 800 !important;
}

/* Eyebrow text - more visible */
.ed-eyebrow {
  color: #c41e3a !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
}

/* Service tile titles */
.ed-svc-tile__title {
  color: #0a0a0a !important;
  font-weight: 800 !important;
}

/* FAQ questions - bold and dark */
.faq-section h3 {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* Stronger shadows on cards */
.ed-svc-tile {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ed-svc-tile:hover {
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.18) !important;
  transform: translateY(-4px) !important;
}

/* Trust badges more visible */
.ed-trust-badge {
  background: #fff !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}

/* Mobile menu - high contrast */
#sr-mobile-menu a {
  color: #1a1a2e !important;
  font-weight: 600 !important;
}

#sr-mobile-menu a:hover {
  color: #c41e3a !important;
}
