/*
 Theme Name:  Divi Child Theme
 Theme URI:    https://divilife.com
 Description:  Child Theme for Divi
 Author:       Tim Strifler
 Author URI:   https://divilife.com
 Template:     Divi
 Version:      1.0.0
*/

/***** Add any custom CSS below this line *****/




/* Base */
body{
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--c-text);
}

/* Semantic defaults */
h1{ font:700 var(--h1)/var(--lh-head) var(--font-serif); color:var(--c-head); margin:0 0 24px; }
h2{ font:700 var(--h2)/var(--lh-head) var(--font-serif); color:var(--c-head); margin:0 0 24px; }
h3{ font:700 var(--h3)/var(--lh-head) var(--font-sans);  color:var(--c-head); margin:0 0 20px; }
h4{ font:700 var(--h4)/var(--lh-head) var(--font-sans);  color:var(--c-head); margin:0 0 16px; }
h5{ font:700 var(--h5)/var(--lh-head) var(--font-sans);  color:var(--c-head); margin:0 0 12px; }
h6{ font:700 var(--h6)/var(--lh-head) var(--font-sans);  color:var(--c-head); margin:0 0 12px; }

p, li{
  font:400 var(--p)/var(--lh-p) var(--font-sans);
  color: var(--c-text);
}
p{ margin:0 0 20px; }

ul, ol, dl{ margin:0 0 40px; padding-left:20px; }
li{ margin-left:20px; }

a{ color:inherit; text-decoration:underline; font-weight:700; }
a:hover{ color:inherit; }

hr{ border:0; height:1px; background:var(--c-rule); margin:32px 0; }

blockquote{
  margin:24px 0;
  padding:16px 20px;
  border-left:4px solid var(--c-rule);
  color:var(--c-head);
}
blockquote p{
  margin:0;
  font-family: var(--font-serif);
  font-weight:400;
  font-size:22px;
  line-height:var(--lh-head);
}

sup{ vertical-align: middle; font-size: 50%; }

/* ===== LIST NORMALIZATION (TEXT MODULES) ===== */

/* Control list indentation */
ul, ol {
  padding-left: 12px !important;
}

li {
  margin-left: 12px;
  padding-bottom: 12px;
}

/* Remove spacing from last item only */
li:last-child {
  padding-bottom: 0;
}

/* Strong emphasis inside list items */
li strong {
  color: var(--c-head); /* #141414 */
  font-weight: 700;
}
/* ===== LIST NORMALIZATION (TEXT MODULES) ===== */

/* ===== TOKENS ===== */


/* ===== DIVI OVERRIDES ===== */
/* ==========================================================
   DIVI OVERRIDES (THE IMPORTANT PART)
   Divi sets typography via module instance rules/presets.
   We override the real selectors Divi uses.
   ========================================================== */

/* ---- Text Modules: cover generic + instance classes (et_pb_text_0, etc.) ---- */
.et_pb_text h1,
.et_pb_text .et_pb_text_inner h1,
.et_pb_module.et_pb_text h1,
.et_pb_module[class*="et_pb_text_"] h1{
  font-size: var(--h1) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-serif) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

.et_pb_text h2,
.et_pb_text .et_pb_text_inner h2,
.et_pb_module.et_pb_text h2,
.et_pb_module[class*="et_pb_text_"] h2{
  font-size: var(--h2) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-serif) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

.et_pb_text h3,
.et_pb_text .et_pb_text_inner h3,
.et_pb_module.et_pb_text h3,
.et_pb_module[class*="et_pb_text_"] h3{
  font-size: var(--h3) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-sans) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

.et_pb_text h4,
.et_pb_text .et_pb_text_inner h4,
.et_pb_module.et_pb_text h4,
.et_pb_module[class*="et_pb_text_"] h4{
  font-size: var(--h4) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-sans) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

.et_pb_text h5,
.et_pb_text .et_pb_text_inner h5,
.et_pb_module.et_pb_text h5,
.et_pb_module[class*="et_pb_text_"] h5{
  font-size: var(--h5) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-sans) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

.et_pb_text h6,
.et_pb_text .et_pb_text_inner h6,
.et_pb_module.et_pb_text h6,
.et_pb_module[class*="et_pb_text_"] h6{
  font-size: var(--h6) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-sans) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

.et_pb_text p,
.et_pb_text li,
.et_pb_module.et_pb_text p,
.et_pb_module.et_pb_text li,
.et_pb_module[class*="et_pb_text_"] p,
.et_pb_module[class*="et_pb_text_"] li{
  font-size: var(--p) !important;
  line-height: var(--lh-p) !important;
  font-family: var(--font-sans) !important;
  color: var(--c-text) !important;
}

.et_pb_text a,
.et_pb_module.et_pb_text a,
.et_pb_module[class*="et_pb_text_"] a{
  color: inherit !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* ---- If Divi page title is enabled anywhere, keep it consistent ---- */
.et_pb_post_title h1,
.et_pb_post_title .entry-title{
  font-size: var(--h1) !important;
  line-height: var(--lh-head) !important;
  font-family: var(--font-serif) !important;
  font-weight: 700 !important;
  color: var(--c-head) !important;
}

/* ===== DIVI OVERRIDES ===== */

/* ===== Center header logo on mobile only ===== */
@media (max-width: 767px) {
  .et-l--header .et_pb_image,
  .et-l--header .et_pb_image_wrap,
  .et-l--header img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }

  .et-l--header .et_pb_column {
    text-align: center;
  }
}
/* ===== Center header logo on mobile only ===== */

/* ===== Vituity CTA Buttons (scoped) ===== */
.vituity-cta-row {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
}

/* Base button */
.vituity-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 224px;
  height: 61px;

  font-family: 'Basetica';
  font-weight: 700;
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 0.005em;

  border-radius: 4px;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Primary (black) */
.vituity-btn--primary {
  background: #141414;
  border: 1px solid #141414;
  color: #FFFEFC;
}

.vituity-btn--primary:hover {
  background: #FFE0CC; /* primary-100 */
  border-color: #FFE0CC;
  color: #141414;
}

/* Secondary (white) */
.vituity-btn--secondary {
  background: transparent;
  border: 1px solid #141414;
  color: #141414;
}

.vituity-btn--secondary:hover {
  background: #E0DED3; /* neutral-warm-200 */
  border-color: #141414;
  color: #141414;
}

/* ============================
   Mobile stacking
   ============================ */
@media (max-width: 768px) {
  .vituity-cta-row {
    flex-direction: column;
    align-items: center;
  }

  .vituity-btn{ width:224px; height:61px; }
}
/* ===== Vituity CTA Buttons (scoped) ===== */

/* ===== MISC ===== */
/* Utility color classes */
.common-orange {
  color: var(--common-orange);
}

/* Yellow Bar Left (opt-in) */
.yellow-bar-left{
  position: relative;
  padding-top: 20px; /* space for the bar */
}

.yellow-bar-left::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 6px;
  background: #FFC400;
  display: block;
}

/* Reverse Mobile Stack */
@media (max-width: 768px) {
  .reverse-mobile-stack {
    display: flex !important;
    flex-direction: column-reverse;
  }
}

/* Mobile: Headline, Image, Text (even when image is in another column) */
@media (max-width: 980px) {

  /* Convert row to a single vertical flow */
  .et_pb_row.vituity-swap-mobile {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Remove Divi column behavior */
  .et_pb_row.vituity-swap-mobile > .et_pb_column {
    width: 100% !important;
    margin: 0 !important;
  }

  /* Flatten columns so modules can reorder */
  .et_pb_row.vituity-swap-mobile > .et_pb_column {
    display: contents !important;
  }

  /* Explicit module order */
  .vituity-swap-mobile .vituity-headline { order: 1 !important; }
  .vituity-swap-mobile .et_pb_image       { order: 2 !important; }
  .vituity-swap-mobile .vituity-text       { order: 3 !important; }
}




/* ===== MISC ===== */


/* ===== Vituity Centered Quote Module ===== */
/* Quote text */
.vituity-quote-text {
  color: #141414;
  font-family: 'Basetica';
  font-style: normal;
  font-weight: 300;
  font-size: 22px;
  line-height: 145%;
  padding-bottom: 24px;
  text-align: center !important;
}
/* ===== Vituity Centered Quote Module ===== */

/* ===== Remove space AFTER the Theme Builder footer content ===== */
.et-l--footer,
.et-l--footer .et_builder_inner_content,
.et-l--footer .et_pb_section,
.et-l--footer .et_pb_row {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Divi sometimes adds clearfix pseudo-elements that can create space */
.et-l--footer:after,
.et-l--footer .et_builder_inner_content:after,
.et-l--footer .et_pb_section:after,
.et-l--footer .et_pb_row:after {
  display: none !important;
  content: none !important;
}
/* ===== Remove space AFTER the Theme Builder footer content ===== */