/*
 Theme Name:   Divi Child
 Theme URI:    https://www.elegantthemes.com/gallery/divi/
 Description:  Divi 5 child theme
 Author:       Seamless Atomica
 Author URI:   https://seamlessatomica.com
 Template:     Divi
 Version:      1.0.0
 Text Domain:  divi-child
*/

/* ==========================================================================
   CSS Custom Properties (from Framer design tokens)
   ========================================================================== */

:root {
  /* Colors */
  --color-accent:              rgb(150, 2, 2);
  --color-bg:                  rgb(255, 255, 255);
  --color-bg-secondary:        rgb(242, 242, 242);
  --color-heading:             rgb(0, 0, 0);
  --color-heading-light:       rgb(255, 255, 255);
  --color-body:                rgb(51, 51, 51);
  --color-body-light:          rgb(255, 255, 255);
  --color-black-transparent:   rgba(0, 0, 0, 0.2);
  --color-white-transparent:   rgba(255, 255, 255, 0.2);

  /* Fonts */
  --font-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-text:    "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-link:    "Figtree", sans-serif;
}

/* ==========================================================================
   Global font override — kill Divi's Open Sans default
   ========================================================================== */

body,
body.et-tb,
body.et-tb .container,
#page-container,
#main-content,
#et-main-area,
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_module,
.et_pb_text,
.et_pb_blurb,
.et_pb_toggle,
.et_pb_accordion,
.et_pb_tab,
.et_pb_slider,
.et_pb_cta,
.et_pb_pricing_table,
.et_pb_contact_form,
.et_pb_blog_grid,
.et_pb_post_content {
  /* font-family: var(--font-text) !important; */
  color: var(--color-body);
}

/* ==========================================================================
   Headings (H1-H6)
   ========================================================================== */

h1,
.et_pb_module h1,
.et_pb_text h1,
.et_pb_slide_description h1,
.et_pb_fullwidth_header h1 {
  /* font-family: var(--font-display) !important; */
  font-weight: 300;
  font-size: 80px;
  line-height: 1em;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}

h2,
.et_pb_module h2,
.et_pb_text h2,
.et_pb_slide_description h2 {
  /* font-family: var(--font-display) !important; */
  font-weight: 300;
  font-size: 40px;
  line-height: 1.1em;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}

h3,
.et_pb_module h3,
.et_pb_text h3 {
  /* font-family: var(--font-display) !important; */
  font-weight: 300;
  font-size: 28px;
  line-height: 1.1em;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}

h4,
.et_pb_module h4,
.et_pb_text h4,
.et_pb_toggle_title {
  /* font-family: var(--font-display) !important; */
  font-weight: 500;
  font-size: 18px;
  line-height: 1.3em;
  letter-spacing: -0.03em;
}

h5,
.et_pb_module h5,
.et_pb_text h5 {
  /* font-family: var(--font-display) !important; */
  font-weight: 500;
  font-size: 16px;
  line-height: 1.3em;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}

h6,
.et_pb_module h6,
.et_pb_text h6 {
  /* font-family: var(--font-display) !important; */
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3em;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}


/* ==========================================================================
   Body / Paragraph
   ========================================================================== */

p,
li,
.et_pb_module p,
.et_pb_text p,
.et_pb_blurb_description,
.et_pb_toggle_content,
.et_pb_tab_content,
.et_pb_pricing li,
.et_pb_contact_form label,
.et_pb_contact_form input,
.et_pb_contact_form textarea {
  /* font-family: var(--font-text) !important; */
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5em;
  letter-spacing: -0.01em;
}


/* ==========================================================================
   Links
   ========================================================================== */

a,
.et_pb_module a {
  /* font-family: var(--font-link) !important; */
  font-weight: 500;
  color: var(--color-accent);
  text-decoration: none;
}

/* Restore Divi dropdown arrow on menu items with children */
.et-l--header .et-menu .menu-item-has-children > a:first-child::after,
.et-l--header .et_pb_menu .et-menu .menu-item-has-children > a:first-child::after,
.et_pb_menu .et-menu .menu-item-has-children > a:first-child::after,
.et-menu .menu-item-has-children > a:first-child::after {
  font-family: ETmodules !important;
  content: "3" !important;
  display: inline-block !important;
  font-size: 16px !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-weight: 800 !important;
  color: inherit !important;
  speak: none !important;
  -webkit-font-smoothing: antialiased !important;
}

/* Ensure space for the dropdown arrow */
.et-l--header .et-menu .menu-item-has-children > a:first-child,
.et-l--header .et_pb_menu .et-menu .menu-item-has-children > a:first-child,
.et_pb_menu .et-menu .menu-item-has-children > a:first-child,
.et-menu .menu-item-has-children > a:first-child {
  padding-right: 20px !important;
}

a:hover {
  opacity: 0.8;
}

/* Prevent header opacity change on hover */
.et-l--header a:hover {
  opacity: 1 !important;
}

/* ==========================================================================
   UI / Header Navigation
   ========================================================================== */

#main-header,
#main-header a,
#main-header .et-navigation li a,
#et-top-navigation .et-cart-info,
.et-l--header .et_pb_menu .et_pb_menu__menu a,
.et-l--header .et_pb_fullwidth_menu .et_pb_menu__menu a,
#top-header,
#top-header a {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 2em !important;
  letter-spacing: 0px !important;
  color: #ffffff;
  transition: color 0.2s !important;
}

/* Kill the header row hover width expansion (set in Theme Builder) */
.et_pb_row_0_tb_header,
.et_pb_row_0_tb_header.et_pb_row,
.et_pb_row_0_tb_header:hover,
.et_pb_row_0_tb_header.et_pb_row:hover,
.et_pb_pagebuilder_layout.single-post:hover:not(.et-tb-has-body) #main-content .et_pb_row.et_pb_row_0_tb_header {
  width: 80% !important;
  max-width: 1600px !important;
  transition-property: none !important;
}

/* Override Divi core transition:all on menu links */
.et-l--header .et-menu a,
.et-l--header .et-menu a:hover,
.et-l--header .et_pb_menu .et-menu a,
.et-l--header .et_pb_menu .et-menu a:hover {
  transition: color 0.2s !important;
}

/* ==========================================================================
   Header Menu Active/Current Links
   ========================================================================== */

#main-header .et-navigation li.current-menu-item a,
#main-header .et-navigation li.current_page_item a,
#main-header .et-navigation li.current-menu-ancestor a,
.et-l--header .et_pb_menu .et_pb_menu__menu li.current-menu-item a,
.et-l--header .et_pb_menu .et_pb_menu__menu li.current_page_item a,
.et-l--header .et_pb_fullwidth_menu .et_pb_menu__menu li.current-menu-item a,
.et-l--header .et_pb_fullwidth_menu .et_pb_menu__menu li.current_page_item a,
#main-header .et-navigation li a:hover,
.et-l--header .et_pb_menu .et_pb_menu__menu a:hover,
.et-l--header .et_pb_fullwidth_menu .et_pb_menu__menu a:hover {
  color: #999999;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0px !important;
  line-height: 2em !important;
  padding: 31px 0 !important;
  opacity: 1 !important;
  border: none !important;
  background: transparent !important;
}

/* Reset dropdown submenu links — prevent extra spacing, match footer hover */
.et-l--header .et_pb_menu .et-menu li li a,
.et-l--header .et_pb_fullwidth_menu .et-menu li li a,
#main-header .et-navigation li li a {
  padding: 6px 20px !important;
  line-height: 1.6em !important;
  color: #666 !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transition: opacity 0.2s ease-in-out !important;
}

.et-l--header .et_pb_menu .et-menu li li a:hover,
.et-l--header .et_pb_fullwidth_menu .et-menu li li a:hover,
#main-header .et-navigation li li a:hover {
  padding: 6px 20px !important;
  line-height: 1.6em !important;
  opacity: 0.7 !important;
  background-color: transparent !important;
  color: #666 !important;
}

/* Lock header buttons — prevent header from growing on hover */
.et-l--header .et_pb_button,
.et-l--header .et_pb_button:hover,
.et-l--header .et_pb_button:focus,
.et-l--header .et_pb_button:active,
.et-l--header .et_pb_module .et_pb_button,
.et-l--header .et_pb_module .et_pb_button:hover,
#main-header .et_pb_button,
#main-header .et_pb_button:hover,
.et-db #et-boc .et-l--header .et_pb_button,
.et-db #et-boc .et-l--header .et_pb_button:hover,
.et-db #et-boc .et-l--header .et_pb_module .et_pb_button,
.et-db #et-boc .et-l--header .et_pb_module .et_pb_button:hover {
  border: none !important;
  padding: 0.3em 1em !important;
  padding-left: 1em !important;
  padding-right: 1em !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  transition: color 0.2s, background-color 0.2s !important;
}

/* Kill Divi arrow on header buttons */
.et-l--header .et_pb_button::after,
.et-l--header .et_pb_button::before,
.et-db #et-boc .et-l--header .et_pb_button::after,
.et-db #et-boc .et-l--header .et_pb_button::before {
  display: none !important;
  content: none !important;
}

/* ==========================================================================
   Divi Buttons — locked size, no grow on hover
   ========================================================================== */

.et_pb_button,
.et_pb_button:hover,
.et_pb_button:focus,
.et_pb_button:active,
.et_pb_module .et_pb_button,
.et_pb_module .et_pb_button:hover,
.et_pb_more_button,
.et_pb_more_button:hover,
.et_pb_promo_button,
.et_pb_promo_button:hover,
.et_pb_newsletter_button,
.et_pb_newsletter_button:hover,
.et_button_icon_visible .et_pb_button,
.et_button_left .et_pb_button,
.et_button_left .et_pb_button:hover,
.et_button_left .et_pb_module .et_pb_button:hover,
.et_button_icon_visible.et_button_left .et_pb_button,
.et_pb_bg_layout_light .et_pb_button:hover,
.et_pb_bg_layout_dark .et_pb_button:hover {
  font-family: var(--font-display) !important;
  padding: 0.3em 1em !important;
  padding-left: 1em !important;
  padding-right: 1em !important;
  border: 2px solid var(--color-accent) !important;
  color: var(--color-accent);
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s, color 0.2s !important;
}

.et_pb_button:hover,
.et_pb_module .et_pb_button:hover,
.et_pb_more_button:hover,
.et_pb_promo_button:hover,
.et_pb_newsletter_button:hover,
.et_pb_bg_layout_light .et_pb_button:hover,
.et_pb_bg_layout_dark .et_pb_button:hover {
  background-color: var(--color-accent);
  color: var(--color-heading-light);
  border-color: var(--color-accent) !important;
}

/* Kill Divi arrow icons on buttons */
.et_pb_button::after,
.et_pb_button::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   Mobile Menu
   ========================================================================== */

/* Position mobile menu at the bottom of the header, full width */
.et-l--header .et_pb_row_0_tb_header {
  position: relative !important;
}

.et-l--header .et_pb_menu .et_mobile_nav_menu {
  position: static !important;
}

.et-l--header .et_pb_menu .et_mobile_menu,
.et-l--header .et_pb_menu .mobile_nav .et_mobile_menu,
#main-header .et_mobile_menu {
  position: absolute !important;
  top: calc(100% + 15px) !important;
  left: 0 !important;
  transform: none !important;
  width: 100% !important;
  background-color: #000000 !important;
  border-top: 3px solid var(--color-accent) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
  padding: 0 !important;
  z-index: 9999 !important;
}

/* Mobile menu links — white text on black, matching desktop dropdown style */
.et-l--header .et_pb_menu .et_mobile_menu li a,
#main-header .et_mobile_menu li a {
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  padding: 12px 20px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transition: opacity 0.2s ease-in-out !important;
}

/* Mobile menu hover — opacity fade matching desktop dropdown */
.et-l--header .et_pb_menu .et_mobile_menu li a:hover,
#main-header .et_mobile_menu li a:hover {
  opacity: 0.7 !important;
  background-color: transparent !important;
  color: #ffffff !important;
}

/* Mobile submenu items — slightly indented */
.et-l--header .et_pb_menu .et_mobile_menu li li a,
#main-header .et_mobile_menu li li a {
  padding-left: 35px !important;
}

/* Mobile menu current/active item */
.et-l--header .et_pb_menu .et_mobile_menu li.current-menu-item > a,
.et-l--header .et_pb_menu .et_mobile_menu li.current_page_item > a,
#main-header .et_mobile_menu li.current-menu-item > a {
  opacity: 0.7 !important;
}

/* Hamburger icon color — keep white */
.et-l--header .et_pb_menu .mobile_menu_bar::before,
#main-header .mobile_menu_bar::before {
  color: #ffffff !important;
}


/* ==========================================================================
   CTAs
   ========================================================================== */


.cta-hover-effect.et_pb_promo {
    transition: background-image 0s, background-color 0.15s ease !important;
}

.cta-hover-effect.et_pb_promo:hover {
    background-image: none !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
}





/* ==========================================================================
   Footer
   ========================================================================== */

.et-l--footer .et_pb_menu__menu > nav > ul,
.et-l--footer .et_pb_menu .et_pb_menu__menu > nav > ul {
  flex-direction: column !important;
}

.et-l--footer .et_pb_menu__menu > nav > ul > li,
.et-l--footer .et_pb_menu .et_pb_menu__menu > nav > ul > li {
  display: block !important;
}

.et-l--footer p,
.et-l--footer .et_pb_module p,
.et-l--footer .et_pb_text p {
  color: #ffffff !important;
}
