/*
Theme Name:   Life Improvement Media Child
Theme URI:    https://lifeimprovementmedia.com
Description:  Divi Child Theme — Modern AI-era redesign for Life Improvement Media.
Author:       Life Improvement Media
Author URI:   https://lifeimprovementmedia.com
Template:     Divi
Version:      1.1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  lim-child
*/

/* ============================================================
   DESIGN TOKENS (mirrored from homepage template)
============================================================ */
:root {
  --lim-bg-0:      #080b12;
  --lim-bg-1:      #0d1117;
  --lim-bg-2:      #111827;
  --lim-bg-3:      #1a2235;
  --lim-cyan:      #22d3ee;
  --lim-cyan-dim:  #0891b2;
  --lim-purple:    #a78bfa;
  --lim-green:     #34d399;
  --lim-gold:      #fbbf24;
  --lim-white:     #ffffff;
  --lim-text-1:    #f1f5f9;
  --lim-text-2:    #94a3b8;
  --lim-text-3:    #64748b;
  --lim-border:    rgba(255,255,255,0.07);
  --lim-glass:     rgba(255,255,255,0.04);
  --lim-radius-md: 14px;
  --lim-radius-lg: 22px;
}

/* ============================================================
   GLOBAL BASE — applied to every Divi page
============================================================ */
body,
html {
  background-color: var(--lim-bg-0) !important;
  color: var(--lim-text-2) !important;
}

/* Kill Divi's default white body */
.et_pb_section,
.et-db #et-boc .et-l .et_pb_section {
  background-color: var(--lim-bg-0);
}

/* ============================================================
   DIVI HEADER — dark premium nav
============================================================ */
#main-header,
#main-header.et-fixed-header,
.et_transparent_nav #main-header {
  background-color: rgba(8, 11, 18, 0.95) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--lim-border) !important;
  box-shadow: none !important;
}

/* Logo */
#main-header .logo_container img,
#et-secondary-nav .logo_container img {
  max-height: 48px;
}

/* Nav links */
#top-menu > li > a,
#top-menu > li > a:hover,
.et-menu > li > a {
  color: var(--lim-text-2) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: color 0.2s !important;
}
#top-menu > li > a:hover,
.et-menu > li > a:hover {
  color: var(--lim-white) !important;
}

/* Dropdown */
.et_pb_menu .et-menu-nav ul,
#top-menu ul.sub-menu,
.nav ul.sub-menu {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-md) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
  padding: 8px !important;
}
#top-menu ul.sub-menu li a {
  color: var(--lim-text-2) !important;
  font-size: 0.875rem !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
}
#top-menu ul.sub-menu li a:hover {
  color: var(--lim-white) !important;
  background-color: var(--lim-bg-3) !important;
}

/* Mobile menu */
.mobile_menu_bar::before,
.mobile_menu_bar span {
  color: var(--lim-text-2) !important;
}
#et-top-navigation .et-cart-info,
#et_mobile_nav_menu .mobile_nav {
  background-color: var(--lim-bg-1) !important;
  border-top: 1px solid var(--lim-border) !important;
}
#et_mobile_nav_menu .et_mobile_menu li a {
  color: var(--lim-text-2) !important;
  border-bottom: 1px solid var(--lim-border) !important;
}
#et_mobile_nav_menu .et_mobile_menu li a:hover {
  color: var(--lim-cyan) !important;
}

/* ============================================================
   DIVI FOOTER
============================================================ */
#main-footer,
.et_pb_section.et_pb_section_last,
#footer-widgets,
#et-footer-nav {
  background-color: var(--lim-bg-0) !important;
  border-top: 1px solid var(--lim-border) !important;
}
#footer-widgets .footer-widget h4.widgettitle {
  color: var(--lim-white) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}
#footer-widgets .widget_nav_menu ul li a,
#footer-widgets .widget_text p,
#footer-widgets .textwidget,
#footer-widgets .widget ul li,
#footer-widgets .widget ul li a {
  color: var(--lim-text-3) !important;
  font-size: 0.875rem !important;
}
#footer-widgets .widget ul li a:hover {
  color: var(--lim-text-1) !important;
}
#et-footer-nav,
.bottom-nav,
#et-footer-nav li a {
  color: var(--lim-text-3) !important;
  font-size: 0.78rem !important;
}
.et_pb_footer_tabbed_contents {
  background-color: var(--lim-bg-0) !important;
}
#footer-info {
  color: var(--lim-text-3) !important;
  font-size: 0.78rem !important;
  border-top: 1px solid var(--lim-border) !important;
  padding-top: 24px !important;
}

/* ============================================================
   DIVI SECTIONS & ROWS
============================================================ */
.et_pb_section {
  background-color: var(--lim-bg-0) !important;
}
.et_pb_section.lim-section-alt {
  background-color: var(--lim-bg-1) !important;
}
.et_pb_row {
  width: 100%;
}

/* ============================================================
   TYPOGRAPHY — ALL DIVI TEXT
============================================================ */
body,
.et_pb_text,
.et_pb_text_inner,
.et_pb_module,
p, li, span, div {
  font-family: 'Inter', sans-serif !important;
  color: var(--lim-text-2);
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6,
.et_pb_blurb_title,
.et_pb_toggle_title,
.et_pb_tab_title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: var(--lim-white) !important;
  letter-spacing: -0.02em !important;
}
h1 { font-size: clamp(2.4rem, 5vw, 4rem) !important; font-weight: 800 !important; line-height: 1.1 !important; }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem) !important; font-weight: 800 !important; line-height: 1.15 !important; }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important; font-weight: 700 !important; }
h4 { font-size: 1.1rem !important; font-weight: 700 !important; }

/* Links */
a, .et_pb_module a {
  color: var(--lim-cyan) !important;
  transition: color 0.2s !important;
}
a:hover, .et_pb_module a:hover {
  color: var(--lim-white) !important;
}

/* ============================================================
   DIVI BUTTONS — global override
============================================================ */
.et_pb_button,
.et_pb_promo_button,
.et_pb_more_button,
a.et_pb_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  letter-spacing: -0.01em !important;
  padding: 14px 28px !important;
  border-radius: 10px !important;
  text-transform: none !important;
  border: none !important;
  background: linear-gradient(135deg, var(--lim-cyan-dim), var(--lim-cyan)) !important;
  color: #000 !important;
  box-shadow: 0 0 20px rgba(34,211,238,0.2), 0 4px 14px rgba(0,0,0,0.3) !important;
  transition: all 0.25s ease !important;
}
.et_pb_button:hover,
a.et_pb_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 0 30px rgba(34,211,238,0.4), 0 8px 24px rgba(0,0,0,0.4) !important;
  color: #000 !important;
}
.et_pb_button::after { display: none !important; }

/* Secondary / outline button — add class .lim-btn-outline to Divi button */
.et_pb_button.lim-outline {
  background: rgba(255,255,255,0.04) !important;
  color: var(--lim-text-1) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: none !important;
}
.et_pb_button.lim-outline:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.2) !important;
  color: var(--lim-white) !important;
}

/* ============================================================
   DIVI BLURB / ICON MODULE (service cards)
============================================================ */
.et_pb_blurb {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
  padding: 28px !important;
  transition: all 0.3s ease !important;
}
.et_pb_blurb:hover {
  border-color: rgba(34,211,238,0.2) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4) !important;
}
.et_pb_blurb_title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--lim-white) !important;
  margin-bottom: 10px !important;
}
.et_pb_blurb_content,
.et_pb_blurb_description {
  font-size: 0.875rem !important;
  color: var(--lim-text-2) !important;
  line-height: 1.65 !important;
}
.et_pb_blurb .et_pb_main_blurb_image {
  margin-bottom: 18px !important;
}

/* ============================================================
   DIVI PRICING TABLES
============================================================ */
.et_pb_pricing_table {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
}
.et_pb_pricing_table.et_pb_featured_table {
  border-color: rgba(34,211,238,0.3) !important;
  box-shadow: 0 0 30px rgba(34,211,238,0.08) !important;
}
.et_pb_pricing_heading {
  background-color: var(--lim-bg-3) !important;
  border-radius: var(--lim-radius-lg) var(--lim-radius-lg) 0 0 !important;
}
.et_pb_pricing_content_top, .et_pb_pricing_content {
  background-color: var(--lim-bg-2) !important;
}
.et_pb_pricing .et_pb_pricing_content ul li {
  color: var(--lim-text-2) !important;
  border-bottom: 1px solid var(--lim-border) !important;
}
.et_pb_sum { color: var(--lim-white) !important; }
.et_pb_et_price .et_pb_dollar_sign { color: var(--lim-cyan) !important; }
.et_pb_pricing_table_wrap h2 { color: var(--lim-white) !important; }

/* ============================================================
   DIVI TESTIMONIAL MODULE
============================================================ */
.et_pb_testimonial {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
  padding: 28px !important;
}
.et_pb_testimonial::before {
  color: var(--lim-cyan) !important;
  opacity: 0.3 !important;
}
.et_pb_testimonial_description p,
blockquote p {
  color: var(--lim-text-1) !important;
  font-style: italic !important;
  line-height: 1.75 !important;
}
.et_pb_testimonial_author {
  color: var(--lim-text-2) !important;
  font-weight: 600 !important;
}
.et_pb_testimonial_company {
  color: var(--lim-text-3) !important;
  font-size: 0.8rem !important;
}

/* ============================================================
   DIVI CONTACT FORM
============================================================ */
.et_pb_contact_form_container input,
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select,
.et_pb_contact input[type="text"],
.et_pb_contact input[type="email"],
.et_pb_contact input[type="tel"],
.et_pb_contact textarea {
  background-color: var(--lim-bg-3) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: 10px !important;
  color: var(--lim-text-1) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  padding: 12px 16px !important;
  transition: border-color 0.2s !important;
}
.et_pb_contact input:focus,
.et_pb_contact textarea:focus {
  border-color: rgba(34,211,238,0.4) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(34,211,238,0.08) !important;
}
.et_pb_contact input::placeholder,
.et_pb_contact textarea::placeholder {
  color: var(--lim-text-3) !important;
}
.et_pb_contact_submit {
  background: linear-gradient(135deg, var(--lim-cyan-dim), var(--lim-cyan)) !important;
  color: #000 !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: all 0.25s !important;
}
.et_pb_contact_submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 0 30px rgba(34,211,238,0.4) !important;
}

/* ============================================================
   DIVI ACCORDION / TOGGLE (FAQs)
============================================================ */
.et_pb_toggle {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-md) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
}
.et_pb_toggle_title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: var(--lim-white) !important;
  padding: 18px 20px !important;
  cursor: pointer !important;
}
.et_pb_toggle_open .et_pb_toggle_title {
  color: var(--lim-cyan) !important;
}
.et_pb_toggle_content {
  color: var(--lim-text-2) !important;
  padding: 0 20px 18px !important;
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  border-top: 1px solid var(--lim-border) !important;
}
.et_pb_toggle::before,
.et_pb_toggle_close::before,
.et_pb_toggle_open::before {
  color: var(--lim-cyan) !important;
}

/* ============================================================
   DIVI TABS MODULE
============================================================ */
.et_pb_tabs_controls {
  background-color: var(--lim-bg-2) !important;
  border-bottom: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-md) var(--lim-radius-md) 0 0 !important;
}
.et_pb_tabs_controls li a {
  color: var(--lim-text-2) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
}
.et_pb_tabs_controls li.et_pb_tab_active a {
  color: var(--lim-white) !important;
}
.et_pb_tabs_controls li.et_pb_tab_active {
  border-bottom: 2px solid var(--lim-cyan) !important;
}
.et_pb_tab {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-top: none !important;
  color: var(--lim-text-2) !important;
  padding: 24px !important;
}

/* ============================================================
   DIVI TEAM MEMBER MODULE
============================================================ */
.et_pb_team_member {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
  overflow: hidden !important;
  transition: all 0.3s !important;
}
.et_pb_team_member:hover {
  border-color: rgba(34,211,238,0.2) !important;
  transform: translateY(-4px) !important;
}
.et_pb_team_member_description {
  padding: 20px !important;
}
.et_pb_team_member_name {
  color: var(--lim-white) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}
.et_pb_member_position {
  color: var(--lim-cyan) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}
.et_pb_team_member .et_pb_social_media_follow a {
  background: var(--lim-bg-3) !important;
  border-radius: 8px !important;
}

/* ============================================================
   DIVI NUMBER COUNTER
============================================================ */
.et_pb_number_counter .et_pb_counter_amount_number {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: var(--lim-white) !important;
  font-weight: 900 !important;
}
.et_pb_number_counter .et_pb_counter_title {
  color: var(--lim-text-2) !important;
  font-size: 0.875rem !important;
}

/* ============================================================
   DIVI BAR COUNTER
============================================================ */
.et_pb_counters_title { color: var(--lim-white) !important; }
.et_pb_counter_container { background-color: var(--lim-bg-3) !important; border-radius: 4px !important; }
.et_pb_counter_amount { background: linear-gradient(90deg, var(--lim-cyan-dim), var(--lim-cyan)) !important; border-radius: 4px !important; }

/* ============================================================
   DIVI IMAGE & DIVIDER MODULES
============================================================ */
.et_pb_image img {
  border-radius: var(--lim-radius-md) !important;
}
.et_pb_divider {
  border-color: var(--lim-border) !important;
}

/* ============================================================
   DIVI CTA / CALLOUT MODULE
============================================================ */
.et_pb_promo {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
  padding: 48px !important;
}
.et_pb_promo_description p { color: var(--lim-text-2) !important; }
.et_pb_promo h2 { color: var(--lim-white) !important; }

/* ============================================================
   BLOG / POSTS MODULE
============================================================ */
.et_pb_post {
  background-color: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
  overflow: hidden !important;
  transition: all 0.3s !important;
}
.et_pb_post:hover {
  border-color: rgba(34,211,238,0.18) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4) !important;
}
.et_pb_post .post-content,
.et_pb_post .entry-content {
  padding: 24px !important;
}
.et_pb_post .entry-title a,
.et_pb_post h2 a {
  color: var(--lim-white) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}
.et_pb_post .entry-title a:hover {
  color: var(--lim-cyan) !important;
}
.et_pb_post .post-meta,
.et_pb_post .post-meta a {
  color: var(--lim-text-3) !important;
  font-size: 0.78rem !important;
}
.et_pb_post .post-content p { color: var(--lim-text-2) !important; font-size: 0.9rem !important; }
.et_pb_post .more-link {
  color: var(--lim-cyan) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
}

/* ============================================================
   SINGLE BLOG POST
============================================================ */
#left-area,
.et_post_meta_wrapper,
#main-content .container {
  background-color: transparent !important;
}
.entry-header h1.entry-title { color: var(--lim-white) !important; }
.post-meta, .post-meta a, .entry-date { color: var(--lim-text-3) !important; }
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 { color: var(--lim-white) !important; }
.entry-content p,
.entry-content li { color: var(--lim-text-2) !important; line-height: 1.75 !important; }
.entry-content a { color: var(--lim-cyan) !important; }
.entry-content blockquote {
  border-left: 3px solid var(--lim-cyan) !important;
  background: var(--lim-bg-2) !important;
  padding: 20px 24px !important;
  border-radius: 0 var(--lim-radius-md) var(--lim-radius-md) 0 !important;
  color: var(--lim-text-1) !important;
}
.entry-content code,
.entry-content pre {
  background: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: 8px !important;
  color: var(--lim-cyan) !important;
}
#comment-wrap { background-color: var(--lim-bg-1) !important; }
.comment-body { border-bottom: 1px solid var(--lim-border) !important; }
.comment-author .fn a { color: var(--lim-white) !important; }
.comment-text p { color: var(--lim-text-2) !important; }
#comment-input input, #comment-input textarea,
#comment-content textarea {
  background-color: var(--lim-bg-3) !important;
  border: 1px solid var(--lim-border) !important;
  color: var(--lim-text-1) !important;
  border-radius: 10px !important;
}

/* ============================================================
   WOOCOMMERCE (if used)
============================================================ */
.woocommerce .products .product,
.woocommerce-page .products .product {
  background: var(--lim-bg-2) !important;
  border: 1px solid var(--lim-border) !important;
  border-radius: var(--lim-radius-lg) !important;
  padding: 20px !important;
  transition: all 0.3s !important;
}
.woocommerce .products .product:hover {
  border-color: rgba(34,211,238,0.2) !important;
  transform: translateY(-4px) !important;
}
.woocommerce .products .product .woocommerce-loop-product__title {
  color: var(--lim-white) !important;
}
.woocommerce .products .product .price { color: var(--lim-cyan) !important; }

/* ============================================================
   PAGE HERO BANNER (for inner pages using Divi section)
============================================================ */
.lim-page-hero {
  background: linear-gradient(160deg, #0d1117 0%, #080b12 60%, #0c0f1a 100%) !important;
  padding: 120px 0 80px !important;
  position: relative !important;
  overflow: hidden !important;
  border-bottom: 1px solid var(--lim-border) !important;
}
.lim-page-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(ellipse 60% 60% at 50% 0%, rgba(34,211,238,0.06) 0%, transparent 60%) !important;
  pointer-events: none !important;
}
.lim-page-hero h1 { font-size: clamp(2.2rem, 5vw, 3.8rem) !important; }

/* ============================================================
   SCROLLBAR
============================================================ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--lim-bg-0); }
::-webkit-scrollbar-thumb { background: var(--lim-bg-3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--lim-text-3); }

/* ============================================================
   SELECTION
============================================================ */
::selection {
  background: rgba(34,211,238,0.2);
  color: var(--lim-white);
}
