/* ============================================================
   STABLE LEDGER — CUSTOM CSS (v10 - clean baseline)
   Paste this entire file into:
   Appearance → Customize → Additional CSS
   (replace everything that's already there)

   This is a clean copy of your working setup.
   No divider experiments included.
   ============================================================ */


/* ============================================================
   WPFORMS FIXES
   ============================================================ */

.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
    background: #fff;
    border-width: 0 0 1px 0;
    color: var(--ast-global-color-2);
    opacity: 0.5;
}

.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    outline: none;
    opacity: 1;
    border-color: var(--ast-global-color-0);
}

.wpforms-container textarea {
    resize: none;
}

.wpforms-container .wpforms-field-textarea textarea.wpforms-field-medium {
    height: 136px;
}

.wpforms-container button {
    padding: 15px 34px;
    font-size: 15px;
}

.wpforms-submit {
  background-color: #B8894A !important;
  color: #FFFFFF !important;
  border: none !important;
}

.wpforms-submit:hover {
  background-color: #7AAB8A !important;
}


/* ============================================================
   FOOTER GRID
   ============================================================ */

.ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 3fr 1fr 3fr;
}


/* ============================================================
   BRAND — BASE STYLES
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  line-height: 1.3 !important;
}

body {
  font-family: 'Lato', sans-serif !important;
}

/* All buttons saddlewood */
.elementor-button,
.elementor-widget-button .elementor-button,
a.elementor-button {
  background-color: #B8894A !important;
  color: #FFFFFF !important;
}

.elementor-button:hover,
.elementor-button:focus,
.elementor-widget-button .elementor-button:hover,
a.elementor-button:hover {
  background-color: #7AAB8A !important;
  color: #FFFFFF !important;
}

.elementor-info-card-description {
  white-space: pre-line !important;
  word-break: break-word !important;
}


/* ============================================================
   EYEBROW LABELS — desktop
   ============================================================ */

.pain-eyebrow,
.section-eyebrow,
.about-eyebrow {
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

.pain-eyebrow .elementor-heading-title,
.section-eyebrow .elementor-heading-title,
.about-eyebrow .elementor-heading-title {
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #7AAB8A !important;
  font-weight: 700 !important;
  font-family: 'Lato', sans-serif !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* ============================================================
   HEADLINE — italic green on em/i tags
   ============================================================ */

.elementor-heading-title em,
.elementor-heading-title i {
  color: #1a5c3a;
  font-style: italic;
}


/* ============================================================
   BULLET LIST
   ============================================================ */

.elementor-widget-container ul {
  list-style: none !important;
  padding-left: 0 !important;
}

.elementor-widget-container ul li,
.elementor-widget-container ul li.whitespace-normal {
  list-style: none !important;
  padding: 8px 0 8px 22px !important;
  position: relative !important;
  border-bottom: 0.5px solid #ede9df !important;
  font-size: 14px !important;
  color: #3b3b3b !important;
  line-height: 1.55 !important;
}

.elementor-widget-container ul li:last-child,
.elementor-widget-container ul li.whitespace-normal:last-child {
  border-bottom: none !important;
}

.elementor-widget-container ul li::before,
.elementor-widget-container ul li.whitespace-normal::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 15px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #1a5c3a !important;
}


/* ============================================================
   SERVICES SECTION
   ============================================================ */

.elementor-icon-box-title,
.elementor-icon-box-title a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  color: #1c2418 !important;
}

.elementor-icon-box-description {
  font-size: 13px !important;
  color: #4a4a4a !important;
  line-height: 1.6 !important;
}


/* ============================================================
   ABOUT SECTION
   ============================================================ */

.about-section .elementor-widget-text-editor p {
  font-size: 14px !important;
  color: #4a4a4a !important;
  line-height: 1.75 !important;
}

.about-section .elementor-image img {
  border-radius: 12px !important;
}


/* ============================================================
   TESTIMONIAL SECTION
   ============================================================ */

.elementor-testimonial__content {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-style: italic !important;
  color: #1c2418 !important;
  line-height: 1.5 !important;
}

.elementor-testimonial__name {
  font-size: 13px !important;
  color: #7a7060 !important;
  letter-spacing: 0.04em !important;
}


/* ============================================================
   CTA / QUESTIONS SECTION
   ============================================================ */

.cta-section .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 42px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}


/* ============================================================
   RESPONSIVE — TABLET (max 1024px)
   ============================================================ */

@media (max-width: 1024px) {

  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }

}


/* ============================================================
   RESPONSIVE — MOBILE (max 767px)
   ============================================================ */

@media (max-width: 767px) {

  /* Hero H1 headline */
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin-bottom: 14px !important;
  }

  /* H2 on mobile */
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  /* Stronger H2 override for mobile */
  h2.elementor-heading-title,
  .elementor-widget-heading .elementor-heading-title[class*="h2"] {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }

  /* H3 on mobile */
  .elementor-widget-heading h3.elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  /* Pain-point card titles smaller */
  .elementor-widget-icon-box h3.elementor-icon-box-title,
  .elementor-widget-icon-box .elementor-icon-box-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  /* CTA section heading */
  .cta-section .elementor-heading-title {
    font-size: 32px !important;
  }

  /* Eyebrow labels */
  .pain-eyebrow,
  .section-eyebrow,
  .about-eyebrow {
    margin-bottom: -10px !important;
  }

  .pain-eyebrow .elementor-heading-title,
  .section-eyebrow .elementor-heading-title,
  .about-eyebrow .elementor-heading-title {
    font-size: 9px !important;
    letter-spacing: 0.15em !important;
  }

  /* Subtitle text */
  .elementor-widget-text-editor p {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  /* Hero subtitle needs air above it */
  .elementor-widget-heading + .elementor-widget-text-editor {
    margin-top: 14px !important;
  }

  /* Tighter section padding */
  .elementor-section > .elementor-container {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  /* Service card icon-boxes tighter */
  .elementor-widget-icon-box {
    padding: 10px 0 !important;
  }

  .elementor-icon-box-content {
    padding: 4px 0 !important;
  }

  /* Service card illustrations sized for mobile */
  .elementor-widget-image img {
    max-width: 180px !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  /* About section image — keep larger */
  .about-section .elementor-widget-image img {
    max-width: 100% !important;
  }

  /* Testimonial image — keep larger */
  .elementor-widget-testimonial img,
  .elementor-testimonial img {
    max-width: 100% !important;
  }

  /* Bullets tighter */
  .elementor-widget-container ul li,
  .elementor-widget-container ul li.whitespace-normal {
    padding: 6px 0 6px 20px !important;
    font-size: 13px !important;
  }

  /* Buttons on mobile */
  .elementor-button {
    padding: 14px 24px !important;
    font-size: 13px !important;
  }

  /* Center buttons on mobile */
  .elementor-widget-button {
    text-align: center !important;
  }

}


/* ============================================================
   END OF FILE
   ============================================================ */