/* --- MANAGED FONT IMPORTS START (do not edit manually) --- */
/* @import url() FONT IMPORTS MUST ALWAYS BE AT THE VERY TOP OF THIS FILE, ABOVE THE TAILWIND IMPORTS — DO NOT DELETE THIS COMMENT */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* --- MANAGED FONT IMPORTS END --- */

:root {
  --color-primary: #07493a;
  --color-primary-dark: #053a2e;
  --color-accent: #c9a961;
  --color-accent-dark: #b39650;
  --color-cream: #f8f6f3;
  --color-cream-dark: #ebe8e3;
}
body {
  font-family: 'Montserrat', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', serif;
  font-weight: 500;
}
/* Blog article prose styles */
.prose-article p {
  color: #374151;
  line-height: 1.8;
  margin-bottom: 1.5rem;
  font-size: 1.0625rem;
}
.prose-article h2 {
  font-family: 'Montserrat', serif;
  font-size: 1.625rem;
  font-weight: 500;
  color: #111827;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #f3f4f6;
}
.prose-article h3 {
  font-family: 'Montserrat', serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #1f2937;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
.prose-article ul {
  list-style: disc outside;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}
.single-service-content ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1.5rem;
}
.prose-article ul li {
  margin-bottom: 0.625rem;
  color: #374151;
  line-height: 1.7;
}
.prose-article ul li::marker {
  color: #c9a961;
}
.single-service-content ul li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.625rem;
  color: #374151;
  line-height: 1.7;
}
.single-service-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2307493a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.prose-article strong {
  color: #111827;
  font-weight: 600;
}
.prose-article a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.prose-article a:hover {
  color: var(--color-accent);
}

/* --- MagicPatterns Custom Micro Animations --- */
.mp-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.mp-reveal.mp-animated {
  opacity: 1;
  transform: translateY(0);
}
.mp-delay-100 { transition-delay: 100ms; }
.mp-delay-200 { transition-delay: 200ms; }
.mp-delay-300 { transition-delay: 300ms; }
.mp-delay-400 { transition-delay: 400ms; }
.mp-delay-500 { transition-delay: 500ms; }

@keyframes smoothfloat {
  0% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
  100% { transform: translateY(0); }
}
.animate-smooth-float {
  animation: smoothfloat 5s ease-in-out infinite;
}

/* --- Formidable Forms Custom Styling for Equity Rich --- */
.equity-formidable-wrapper .frm_forms .frm_primary_label,
.equity-formidable-wrapper .frm_forms label.frm_primary_label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #374151 !important;
  font-family: 'Roboto', sans-serif !important;
}

.equity-formidable-wrapper .frm_forms .frm_required {
  color: #ef4444 !important;
}

.equity-formidable-wrapper .frm_forms input[type="text"],
.equity-formidable-wrapper .frm_forms input[type="email"],
.equity-formidable-wrapper .frm_forms input[type="url"],
.equity-formidable-wrapper .frm_forms input[type="password"],
.equity-formidable-wrapper .frm_forms input[type="tel"],
.equity-formidable-wrapper .frm_forms input[type="number"],
.equity-formidable-wrapper .frm_forms select,
.equity-formidable-wrapper .frm_forms textarea {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid #d1d5db !important;
  border-radius: 0.5rem !important;
  transition: all 0.2s ease-in-out !important;
  font-family: 'Roboto', sans-serif !important;
  color: #111827 !important;
  font-size: 1rem !important;
  background-color: white !important;
  box-shadow: none !important;
}

.equity-formidable-wrapper .frm_forms input:focus,
.equity-formidable-wrapper .frm_forms select:focus,
.equity-formidable-wrapper .frm_forms textarea:focus {
  outline: none !important;
  border-color: transparent !important;
  box-shadow: 0 0 0 2px var(--color-primary) !important;
}

.equity-formidable-wrapper .frm_forms textarea {
  resize: none !important;
}

.equity-formidable-wrapper .frm_forms .frm_submit button,
.equity-formidable-wrapper .frm_forms input[type="submit"] {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem 2rem !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  background-color: var(--color-primary) !important;
  color: white !important;
  border: none !important;
  border-radius: 0.75rem !important;
  transition: all 0.2s ease-in-out !important;
  cursor: pointer !important;
  font-family: 'Roboto', sans-serif !important;
  margin-top: 1rem !important;
}

.equity-formidable-wrapper .frm_forms .frm_submit button:hover,
.equity-formidable-wrapper .frm_forms input[type="submit"]:hover {
  background-color: var(--color-primary-dark) !important;
}

.response-result-title {
    font-size: 48px;
    font-weight: 700;
    color: #000;
    margin-bottom: 0;
}

/* Inline Input Groups (e.g. for Home Value $) */
.equity-formidable-wrapper .frm_forms .frm_input_group {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

.equity-formidable-wrapper .frm_forms .frm_input_group > span,
.equity-formidable-wrapper .frm_forms .frm_input_group .frm_inline_box {
  position: absolute !important;
  left: 1rem !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #6b7280 !important;
  font-size: 1rem !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.equity-formidable-wrapper .frm_forms .frm_input_group input {
  padding-left: 2.25rem !important;
}

#frm_checkbox_28-0 a {
  text-decoration: underline !important;
  color: var(--color-primary) !important;
}

#frm_field_28_container,
#frm_field_13_container {
  margin-bottom: 0;
}

/* --- Form Success Message Styling --- */
.equity-formidable-wrapper .frm_message {
  padding: 4rem 2rem !important;
  background-color: var(--color-cream) !important;
  border: none !important;
  border-radius: 1rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Base text styling for the message */
.equity-formidable-wrapper .frm_message,
.equity-formidable-wrapper .frm_message p {
  font-family: 'Roboto', sans-serif !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

.equity-formidable-wrapper .response-result {
  font-size: 1.5rem !important;
}

/* The calculated dollar amount (assumed to be wrapped in a span or strong internally, or targeted via line breaks, but here we cover the generic text. We will assume the user styled the dollar amount with inline html or we can target the specific variable span if we had classes) */
.equity-formidable-wrapper .frm_message span.response-result-title,
.response-result-title {
  font-size: 3.5rem !important;
  font-weight: 800 !important;
  color: #f59e0b !important; /* The bright orange from the screenshot, distinct from the primary accent */
  display: block !important;
  letter-spacing: -0.02em !important;
}

/* The bottom small text */
.equity-formidable-wrapper .frm_message p:last-child {
  font-size: 1.25rem !important;
  margin-top: 1rem !important;
}

/* Equity result card reveal animation */
@keyframes equityReveal {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.equity-borrow-form__result.equity-result-animate {
  animation: equityReveal 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Hide ALL Formidable previous-page buttons inside the Borrow Form Section
   (we render our own styled "Back to Property Details" link above the heading). */
.equity-borrow-form .frm_prev_page,
.equity-borrow-form .frm_page_back,
.equity-borrow-form input[name="frm_prev_page"],
.equity-borrow-form button.frm_prev_page,
.equity-borrow-form .frm_submit button[name="frm_prev_page"],
.equity-borrow-form .frm_submit .frm_prev_page {
  display: none !important;
}

/* Arrow on Formidable buttons inside the Borrow Form Section (exclude Previous) */
.equity-borrow-form .frm_submit button:not(.frm_prev_page):not([name="frm_prev_page"]),
.equity-borrow-form .frm_submit input[type="submit"],
.equity-borrow-form .frm_button_submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.equity-borrow-form .frm_submit button:not(.frm_prev_page):not([name="frm_prev_page"])::after,
.equity-borrow-form .frm_button_submit::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 4px;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}
