/* Styles for behaviors the clone adds in place of Thrive runtime JS (see clone.js). */

/* Opt-in forms: honeypot stays off-screen; success and error notes replace Thrive's toast. */
.cch-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cch-form-note { margin: 12px 0 0; padding: 12px 14px; border-radius: 4px; background: #e9f5ee; color: #1d5c37; font-size: 16px; line-height: 1.5; text-align: center; }
.cch-form-note.cch-form-error { background: #fdecea; color: #8a1f11; }

/* Thrive's responsive video box is height 0 with a 56.25% bottom padding, but a later Thrive rule resets
   that padding to 1px, so on live Shannon's testimonial on the quit page is a 2px line with the video
   hidden. Swarmify sizes its own player (swarm-fluid), so let the box take the player's height. */
.tve_responsive_video_container:has(.smartvideo-player, smartvideo) { height: auto !important; padding-bottom: 0 !important; overflow: visible !important; }

/* Mobile spacing fixes (2026-10-07, first departure from the Thrive clone). Thrive left these edge cases
   with zero or uneven space; selectors lean on Thrive's generated data-css ids, so they are page-specific. */
@media (max-width: 767px) {
  /* Stacked video + caption columns: the caption ran straight into the next video. One even gap. */
  .tcb-flex-col:has(.swarm-fluid):has(.thrv_text_element) { padding-bottom: 40px !important; }
  .tcb-flex-row:has(> .tcb-flex-col .swarm-fluid):has(.thrv_text_element) { padding-top: 0 !important; padding-bottom: 0 !important; }
  .thrv_wrapper:has(> .tcb-flex-row .swarm-fluid):has(.thrv_text_element) { margin-top: 0 !important; margin-bottom: 0 !important; }

  /* Home: hero button was a narrow left-aligned box wrapping to three lines, hugging the hero's bottom edge. */
  [data-css="tve-u-19c6cf2e273"] { width: min(300px, calc(100% - 30px)); margin: 0 auto 35px !important; }
  [data-css="tve-u-19c6cf2e273"] .tcb-button-link { justify-content: center; white-space: nowrap; }

  /* Home: "Lose Weight" card button sat flush against the card bottom (other cards leave 65px). */
  [data-css="tve-u-16db2e8e44b"] { margin-bottom: 30px !important; }
  [data-css="tve-u-16981fed812"] { padding-bottom: 35px !important; }

  /* Home: "Get Started Now" below the testimonial videos touched the next section and sat left of center. */
  [data-css="tve-u-18a6fbbf88e"] { margin: 0 auto 40px !important; }
}

/* Testimonial initials in place of a photo (home, /call): no photos exist for these clients. */
.tve_image_frame.cch-initials { display: flex !important; align-items: center; justify-content: center; width: 120px; height: 120px; margin: 0 auto; border-radius: 50%; background: #336D99; color: #fff; font: 700 38px/1 Lato, Arial, sans-serif; letter-spacing: 1px; }
