/* ==========================================================================
   Explore Digital Brand Overrides for Divi
   Targets default Divi header, footer, and typography selectors
   ========================================================================== */

/* ---------- Google Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=Poppins:wght@300;400;500;600;700&display=swap');

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_slide_description .et_pb_slide_title,
.et_pb_fullwidth_header_container h1,
.et_pb_fullwidth_header_container h2 {
  font-family: 'Merriweather', Georgia, serif !important;
  color: var(--ed-primary-dark) !important;
}

body,
.et_pb_text,
.et_pb_blurb_description,
.et_pb_toggle_content,
.et_pb_tab_content,
.et_pb_slide_content,
p {
  font-family: 'Poppins', sans-serif !important;
  color: var(--ed-muted);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
}

/* ---------- Header ---------- */
#main-header,
#main-header.et-fixed-header {
  background-color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

#top-menu li a {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: #000000 !important;
  font-size: 16px !important;
  text-transform: none !important;
}

#top-menu li a:hover,
#top-menu li.current-menu-item a {
  color: var(--ed-accent) !important;
}

/* Dropdown menus */
#top-menu li ul.sub-menu {
  background-color: var(--ed-primary-dark) !important;
  border-top: 3px solid var(--ed-primary) !important;
}

#top-menu li ul.sub-menu li a {
  color: #ffffff !important;
  font-size: 14px !important;
}

#top-menu li ul.sub-menu li a:hover {
  color: var(--ed-accent) !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Logo sizing */
#logo {
  max-height: 64px !important;
}

.et_pb_menu--style-centered #logo {
  max-height: 64px !important;
}

/* Mobile menu */
.mobile_menu_bar:before {
  color: var(--ed-primary-dark) !important;
}

.et_mobile_menu li a {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: var(--ed-primary-dark) !important;
}

.et_mobile_menu li a:hover {
  color: var(--ed-accent) !important;
}

/* ---------- Footer Widgets Area ---------- */
#footer-widgets {
  background-color: var(--ed-secondary) !important;
  border-top: 3px solid var(--ed-primary) !important;
  padding: 30px 0 !important;
}

#footer-widgets .footer-widget {
  color: #ffffff !important;
}

#footer-widgets .footer-widget .widget-title,
#footer-widgets .footer-widget h4 {
  color: #ffffff !important;
  font-family: 'Merriweather', Georgia, serif !important;
}

#footer-widgets .footer-widget a {
  color: var(--ed-light-blue) !important;
}

#footer-widgets .footer-widget a:hover {
  color: var(--ed-accent) !important;
}

#footer-widgets .footer-widget li {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* ---------- Footer Bottom Bar ---------- */
#footer-bottom {
  background-color: #176cb5 !important;
}

#footer-info,
#footer-bottom .container {
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
}

#footer-info a,
#footer-bottom a {
  color: #ffffff !important;
  text-decoration: underline;
}

#footer-info a:hover,
#footer-bottom a:hover {
  color: var(--ed-accent) !important;
}

/* ---------- Links ---------- */
a {
  color: var(--ed-primary);
}

a:hover {
  color: var(--ed-primary-dark);
}

/* ---------- Divi Module Accents ---------- */
.et_pb_counter_amount,
.et_pb_newsletter_button,
.et_pb_pricing_table_button {
  background-color: var(--ed-primary) !important;
}

.et_pb_bg_layout_light .et_pb_counter_amount {
  background-color: var(--ed-primary) !important;
}

/* Blurb icon colors */
.et_pb_blurb .et_pb_main_blurb_image .et-waypoint.et_pb_animation_top,
.et_pb_blurb .et-pb-icon {
  color: var(--ed-primary) !important;
}

/* ==========================================================================
   Home Page Section Styling (page-id-43)
   ========================================================================== */

/* ---------- Hero Section ---------- */
.page-id-43 .et_pb_section_0.et_pb_section {
  background: linear-gradient(135deg, #003189 0%, #0a285c 100%) !important;
  padding: 80px 0 180px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.page-id-43 .et_pb_section_0 h1,
.page-id-43 .et_pb_section_0 .et_pb_module_header {
  color: #ffffff !important;
  font-size: 42px !important;
  font-weight: 900 !important;
}

.page-id-43 .et_pb_section_0 .et_pb_text_inner,
.page-id-43 .et_pb_section_0 .et_pb_text_inner p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
}

.page-id-43 .et_pb_section_0 .et_pb_button {
  background: var(--ed-accent) !important;
  border-color: var(--ed-accent) !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  padding: 14px 36px !important;
  border-radius: var(--ed-radius) !important;
  text-transform: none !important;
}

.page-id-43 .et_pb_section_0 .et_pb_button:hover {
  background: #d4962e !important;
  border-color: #d4962e !important;
}

/* Hero logo image - keep white background effect */
.page-id-43 .et_pb_section_0 .et_pb_image_wrap img {
  border-color: rgba(255, 255, 255, 0.2) !important;
}

/* ---------- Key Features Section (section 1) ---------- */
.page-id-43 .et_pb_section_1 {
  background-color: var(--ed-light-blue) !important;
  padding: 60px 0 !important;
}

.page-id-43 .et_pb_section_1 h5,
.page-id-43 .et_pb_section_1 .et_pb_module_header {
  color: var(--ed-muted) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 1.8 !important;
}

/* ---------- Feature Sections (sections 2 & 3) ---------- */
.page-id-43 .et_pb_section_2,
.page-id-43 .et_pb_section_4 {
  padding: 60px 0 !important;
}

.page-id-43 .et_pb_section_3 {
  background-color: #f7f9fc !important;
  padding: 60px 0 !important;
}

/* Feature section headings */
.page-id-43 .et_pb_section_2 h2,
.page-id-43 .et_pb_section_3 h2,
.page-id-43 .et_pb_section_2 .et_pb_module_header,
.page-id-43 .et_pb_section_3 .et_pb_module_header {
  font-size: 30px !important;
  margin-bottom: 16px !important;
}

/* Feature section images */
.page-id-43 .et_pb_section_2 .et_pb_image_wrap img,
.page-id-43 .et_pb_section_3 .et_pb_image_wrap img {
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* Feature section lists */
.page-id-43 .et_pb_section_3 li {
  margin-bottom: 8px;
}

.page-id-43 .et_pb_section_3 li strong {
  color: var(--ed-primary-dark);
}

/* ---------- Universal Discovery Section (section 4) ---------- */
.page-id-43 .et_pb_section_4 {
  padding: 70px 0 !important;
}

.page-id-43 .et_pb_section_4 .et_pb_image_wrap img {
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* ---------- CTA Section (section 5) ---------- */
.page-id-43 .et_pb_section_5 {
  background: linear-gradient(135deg, #003189 0%, #0a285c 100%) !important;
  padding: 70px 0 !important;
}

.page-id-43 .et_pb_section_5 .et_pb_promo_description h2,
.page-id-43 .et_pb_section_5 h2,
.page-id-43 .et_pb_section_5 .et_pb_module_header {
  color: #ffffff !important;
}

.page-id-43 .et_pb_section_5 .et_pb_promo_description,
.page-id-43 .et_pb_section_5 .et_pb_promo_description p,
.page-id-43 .et_pb_section_5 li {
  color: rgba(255, 255, 255, 0.9) !important;
}

.page-id-43 .et_pb_section_5 li strong {
  color: #ffffff !important;
}

.page-id-43 .et_pb_section_5 .et_pb_promo .et_pb_button {
  background: var(--ed-accent) !important;
  border-color: var(--ed-accent) !important;
  color: #ffffff !important;
}

.page-id-43 .et_pb_section_5 .et_pb_promo .et_pb_button:hover {
  background: #d4962e !important;
  border-color: #d4962e !important;
}

.page-id-43 .et_pb_section_5 .et_pb_image_wrap img {
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}

/* ---------- Content Section (section 6 - text wall) ---------- */
.page-id-43 .et_pb_section_6 {
  padding: 70px 0 40px !important;
  background-color: #f7f9fc !important;
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner h2 {
  font-size: 28px !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
  padding-top: 30px;
  border-top: 1px solid #deeffe;
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner h3 {
  font-size: 24px !important;
  margin-bottom: 12px !important;
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner ul,
.page-id-43 .et_pb_section_6 .et_pb_text_inner ol {
  margin: 16px 0 24px 24px;
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner li {
  margin-bottom: 10px;
  line-height: 1.6;
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner li strong {
  color: var(--ed-primary-dark);
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner hr {
  border: none;
  border-top: 2px solid var(--ed-primary);
  margin: 40px 0;
}

.page-id-43 .et_pb_section_6 .et_pb_text_inner em {
  color: var(--ed-muted);
  font-size: 16px;
}

/* ---------- Code Elements ---------- */
code {
  background: #eef3fb;
  border: 1px solid #d0dff0;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 0.9em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  color: var(--ed-primary-dark);
}

/* ---------- All Page Buttons ---------- */
.page-id-43 .et_pb_button:after {
  display: none !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  body, .et_pb_text, p {
    font-size: 16px;
  }

  #footer-widgets {
    padding: 20px 0 !important;
  }

  .page-id-43 .et_pb_section_0.et_pb_section {
    padding: 50px 0 140px !important;
  }

  .page-id-43 .et_pb_section_0 h1,
  .page-id-43 .et_pb_section_0 .et_pb_module_header {
    font-size: 34px !important;
  }

  .page-id-43 .et_pb_section_0 .et_pb_text_inner p {
    font-size: 18px !important;
  }

  .page-id-43 .et_pb_section_1 h5,
  .page-id-43 .et_pb_section_1 .et_pb_module_header {
    font-size: 18px !important;
  }
}

@media (max-width: 767px) {
  body, .et_pb_text, p {
    font-size: 15px;
  }

  h1 { font-size: 28px !important; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }

  .page-id-43 .et_pb_section_0.et_pb_section {
    padding: 40px 20px 120px !important;
  }

  .page-id-43 .et_pb_section_0 h1,
  .page-id-43 .et_pb_section_0 .et_pb_module_header {
    font-size: 28px !important;
  }

  .page-id-43 .et_pb_section_0 .et_pb_text_inner p {
    font-size: 16px !important;
  }

  .page-id-43 .et_pb_section_0 .et_pb_button {
    font-size: 16px !important;
    padding: 12px 28px !important;
  }

  .page-id-43 .et_pb_section_6 .et_pb_text_inner h2 {
    font-size: 22px !important;
    margin-top: 28px !important;
  }
}
