/* =========================================================
   WPForms Premium Theme Styling
   ========================================================= */
.wpforms-container{
	font-family: var(--font-body);
	margin: 0 !important;
	background: #fff;
	border-radius: var(--radius);
	padding: 4px;
}
.wpforms-container .wpforms-field-label{
	color: var(--color-navy);
	font-weight: 600;
	font-size: .95rem;
}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=number],
.wpforms-container select,
.wpforms-container textarea{
	border: 1.5px solid var(--color-border) !important;
	border-radius: var(--radius-sm) !important;
	padding: 12px 14px !important;
	font-size: 1rem !important;
	background: #fff !important;
	transition: border-color .15s ease, box-shadow .15s ease;
	width: 100%;
	max-width: 100%;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus{
	border-color: var(--color-gold) !important;
	box-shadow: 0 0 0 3px rgba(201,162,39,0.18) !important;
	outline: none !important;
}
.wpforms-container .wpforms-field{
	padding: 10px 0 !important;
}
.wpforms-container .wpforms-field-radio input[type=radio],
.wpforms-container .wpforms-field-checkbox input[type=checkbox]{
	accent-color: var(--color-gold);
	width: 18px; height: 18px;
}
.wpforms-container .wpforms-submit-container{
	margin-top: 14px !important;
}

/* Match every WPForms button to the theme button style. */
.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit,
.wpforms-container .wpforms-page-button,
.wpforms-container .wpforms-page-next,
.wpforms-container .wpforms-page-prev,
.wpforms-container button.wpforms-page-button{
	border-radius: var(--btn-radius) !important;
	padding: 15px 32px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	border: 2px solid transparent !important;
	transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease !important;
	line-height: 1.1 !important;
	cursor: pointer;
}
.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit,
.wpforms-container .wpforms-page-next{
	background: var(--btn-primary-bg) !important;
	color: var(--btn-primary-text) !important;
	box-shadow: var(--shadow-sm) !important;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-submit:hover,
.wpforms-container .wpforms-page-next:hover{
	background: var(--btn-primary-bg-hover) !important;
	color: var(--btn-primary-text) !important;
	transform: translateY(-1px);
}
.wpforms-container .wpforms-page-prev{
	background: transparent !important;
	border-color: var(--color-navy) !important;
	color: var(--color-navy) !important;
}
.wpforms-container .wpforms-page-prev:hover{
	background: var(--color-navy) !important;
	color: #fff !important;
}

/* Multi-step / page indicator styling */
.wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page,
.wpforms-container .wpforms-page-indicator-page-title{
	color: var(--color-gray) !important;
}
.wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress,
.wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap .wpforms-page-indicator-page-progress{
	background-color: var(--wpforms-progress-color, var(--color-gold)) !important;
}
.wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-active .wpforms-page-indicator-page-number,
.wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page-active .wpforms-page-indicator-page-number{
	background: var(--wpforms-progress-color, var(--color-gold)) !important;
	border-color: var(--wpforms-progress-color, var(--color-gold)) !important;
	color: #fff !important;
}
.wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page-number,
.wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-number{
	border-color: var(--wpforms-progress-color, var(--color-gold)) !important;
}
.wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-triangle,
.wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-number{
	color: var(--wpforms-progress-color, var(--color-gold)) !important;
}

/* =========================================================
   CRITICAL FIX: WPForms Smart Phone field / intl-tel-input
   flag icon covering the first 3 digits of the phone number.
   ========================================================= */
.iti{
	width: 100% !important;
}
.iti input,
.iti input[type="tel"],
.wpforms-field-phone input,
.wpforms-container .wpforms-field-phone input[type="tel"]{
	padding-left: 58px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.iti__flag-container{
	z-index: 5 !important;
}
.wpforms-container .iti--allow-dropdown input{
	padding-left: 58px !important;
}
.iti__selected-flag{
	padding: 0 8px 0 10px !important;
}

@media (max-width: 768px){
	.iti input,
	.iti input[type="tel"],
	.wpforms-field-phone input,
	.wpforms-container .wpforms-field-phone input[type="tel"]{
		padding-left: 62px !important;
		min-height: 48px;
	}
	.wpforms-container button[type=submit],
	.wpforms-container .wpforms-submit,
	.wpforms-container .wpforms-page-button{
		width: 100% !important;
		margin-top: 8px !important;
	}
}

/* Graceful fallback if WPForms plugin is inactive or shortcode fails */
.form-fallback{
	background: var(--color-ivory);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	padding: 28px;
	text-align: center;
}
.wpforms-container .wpforms-page-button[data-action="next"],
.wpforms-container button.wpforms-page-next,
.wpforms-container input.wpforms-page-next{
	background: var(--btn-primary-bg) !important;
	color: var(--btn-primary-text) !important;
	border-color: transparent !important;
}
.wpforms-container .wpforms-page-button[data-action="next"]:hover,
.wpforms-container button.wpforms-page-next:hover,
.wpforms-container input.wpforms-page-next:hover{
	background: var(--btn-primary-bg-hover) !important;
	color: var(--btn-primary-text) !important;
}
.wpforms-container .wpforms-page-button[data-action="prev"],
.wpforms-container button.wpforms-page-prev,
.wpforms-container input.wpforms-page-prev{
	background: transparent !important;
	border-color: var(--color-navy) !important;
	color: var(--color-navy) !important;
}

/* =========================================================
   Strong WPForms override patch 1.0.3
   WPForms often ships highly specific selectors and medium-width fields.
   These rules force the forms to use the theme button colors and full-width
   fields inside form cards, so the layout does not look half empty.
   ========================================================= */
div.wpforms-container-full,
div.wpforms-container-full .wpforms-form{
  margin:0 !important;
  background:transparent !important;
}
div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
div.wpforms-container-full .wpforms-form select.wpforms-field-medium,
div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium,
.wpforms-container input.wpforms-field-medium,
.wpforms-container select.wpforms-field-medium,
.wpforms-container textarea.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-medium{
  max-width:100% !important;
  width:100% !important;
}
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form input[type="submit"],
div.wpforms-container-full .wpforms-form button.wpforms-submit,
div.wpforms-container-full .wpforms-form .wpforms-submit,
div.wpforms-container-full .wpforms-form button.wpforms-page-button,
div.wpforms-container-full .wpforms-form input.wpforms-page-button,
div.wpforms-container-full .wpforms-form .wpforms-page-next,
div.wpforms-container-full .wpforms-form button.wpforms-page-next,
div.wpforms-container-full .wpforms-form input.wpforms-page-next,
.wpforms-container .wpforms-form button[type="submit"],
.wpforms-container .wpforms-form input[type="submit"],
.wpforms-container .wpforms-form button.wpforms-submit,
.wpforms-container .wpforms-form button.wpforms-page-next,
.wpforms-container .wpforms-form input.wpforms-page-next{
  background: var(--btn-primary-bg) !important;
  background-color: var(--btn-primary-bg) !important;
  border-color: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
  border-radius: var(--btn-radius) !important;
  padding: 14px 30px !important;
  font-weight: 800 !important;
  box-shadow: var(--shadow-sm) !important;
  line-height: 1.1 !important;
}
div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
div.wpforms-container-full .wpforms-form button.wpforms-submit:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
div.wpforms-container-full .wpforms-form button.wpforms-page-button:hover,
div.wpforms-container-full .wpforms-form input.wpforms-page-button:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-next:hover,
div.wpforms-container-full .wpforms-form button.wpforms-page-next:hover,
div.wpforms-container-full .wpforms-form input.wpforms-page-next:hover{
  background: var(--btn-primary-bg-hover) !important;
  background-color: var(--btn-primary-bg-hover) !important;
  border-color: var(--btn-primary-bg-hover) !important;
  color: var(--btn-primary-text) !important;
}
div.wpforms-container-full .wpforms-form button.wpforms-page-prev,
div.wpforms-container-full .wpforms-form input.wpforms-page-prev{
  background:transparent !important;
  color:var(--color-navy) !important;
  border-color:var(--color-navy) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-page-indicator-page-progress,
div.wpforms-container-full .wpforms-form .wpforms-progress-bar-progress{
  background-color: var(--wpforms-progress-color, var(--btn-primary-bg)) !important;
}


/* =========================================================
   Patch 1.0.4: stronger button size + premium WPForms controls
   ========================================================= */
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form input[type="submit"],
div.wpforms-container-full .wpforms-form button.wpforms-submit,
div.wpforms-container-full .wpforms-form input.wpforms-submit,
div.wpforms-container-full .wpforms-form button.wpforms-page-button,
div.wpforms-container-full .wpforms-form input.wpforms-page-button,
div.wpforms-container-full .wpforms-form button.wpforms-page-next,
div.wpforms-container-full .wpforms-form input.wpforms-page-next,
div.wpforms-container-full .wpforms-form .wpforms-page-next,
.wpforms-container .wpforms-form button[type="submit"],
.wpforms-container .wpforms-form input[type="submit"],
.wpforms-container .wpforms-form button.wpforms-submit,
.wpforms-container .wpforms-form input.wpforms-submit,
.wpforms-container .wpforms-form button.wpforms-page-button,
.wpforms-container .wpforms-form input.wpforms-page-button,
.wpforms-container .wpforms-form button.wpforms-page-next,
.wpforms-container .wpforms-form input.wpforms-page-next{
  min-width: 150px !important;
  min-height: 52px !important;
  padding: 14px 34px !important;
  border-radius: var(--btn-radius) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}
div.wpforms-container-full .wpforms-form input.wpforms-page-next,
div.wpforms-container-full .wpforms-form input.wpforms-submit,
.wpforms-container .wpforms-form input.wpforms-page-next,
.wpforms-container .wpforms-form input.wpforms-submit{
  height: 52px !important;
}
.home-insurance-form-card div.wpforms-container-full .wpforms-form button.wpforms-page-next,
.home-insurance-form-card div.wpforms-container-full .wpforms-form input.wpforms-page-next,
.hero-form-card div.wpforms-container-full .wpforms-form button.wpforms-page-next,
.hero-form-card div.wpforms-container-full .wpforms-form input.wpforms-page-next{
  min-width: 165px !important;
}
@media (max-width: 768px){
  div.wpforms-container-full .wpforms-form button[type="submit"],
  div.wpforms-container-full .wpforms-form input[type="submit"],
  div.wpforms-container-full .wpforms-form button.wpforms-submit,
  div.wpforms-container-full .wpforms-form input.wpforms-submit,
  div.wpforms-container-full .wpforms-form button.wpforms-page-button,
  div.wpforms-container-full .wpforms-form input.wpforms-page-button,
  .wpforms-container .wpforms-form button[type="submit"],
  .wpforms-container .wpforms-form input[type="submit"],
  .wpforms-container .wpforms-form button.wpforms-submit,
  .wpforms-container .wpforms-form input.wpforms-submit,
  .wpforms-container .wpforms-form button.wpforms-page-button,
  .wpforms-container .wpforms-form input.wpforms-page-button{
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   Patch 1.0.5: stronger mobile WPForms polish
   ========================================================= */
@media (max-width: 780px){
  div.wpforms-container-full,
  div.wpforms-container-full .wpforms-form,
  .wpforms-container,
  .wpforms-container .wpforms-form{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  div.wpforms-container-full .wpforms-form .wpforms-field,
  .wpforms-container .wpforms-field{
    padding:8px 0 !important;
  }

  div.wpforms-container-full .wpforms-form input[type="text"],
  div.wpforms-container-full .wpforms-form input[type="email"],
  div.wpforms-container-full .wpforms-form input[type="tel"],
  div.wpforms-container-full .wpforms-form input[type="number"],
  div.wpforms-container-full .wpforms-form select,
  div.wpforms-container-full .wpforms-form textarea,
  .wpforms-container input[type="text"],
  .wpforms-container input[type="email"],
  .wpforms-container input[type="tel"],
  .wpforms-container input[type="number"],
  .wpforms-container select,
  .wpforms-container textarea{
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
    font-size:16px !important;
    box-sizing:border-box !important;
  }

  div.wpforms-container-full .wpforms-form button[type="submit"],
  div.wpforms-container-full .wpforms-form input[type="submit"],
  div.wpforms-container-full .wpforms-form button.wpforms-submit,
  div.wpforms-container-full .wpforms-form input.wpforms-submit,
  div.wpforms-container-full .wpforms-form button.wpforms-page-button,
  div.wpforms-container-full .wpforms-form input.wpforms-page-button,
  div.wpforms-container-full .wpforms-form button.wpforms-page-next,
  div.wpforms-container-full .wpforms-form input.wpforms-page-next,
  .wpforms-container .wpforms-form button[type="submit"],
  .wpforms-container .wpforms-form input[type="submit"],
  .wpforms-container .wpforms-form button.wpforms-submit,
  .wpforms-container .wpforms-form input.wpforms-submit,
  .wpforms-container .wpforms-form button.wpforms-page-button,
  .wpforms-container .wpforms-form input.wpforms-page-button,
  .wpforms-container .wpforms-form button.wpforms-page-next,
  .wpforms-container .wpforms-form input.wpforms-page-next{
    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;
    height:auto !important;
    padding:14px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  div.wpforms-container-full .wpforms-form .wpforms-page-button + .wpforms-page-button,
  .wpforms-container .wpforms-form .wpforms-page-button + .wpforms-page-button{
    margin-top:10px !important;
  }

  div.wpforms-container-full .wpforms-form .wpforms-page-indicator,
  .wpforms-container .wpforms-form .wpforms-page-indicator{
    margin-bottom:14px !important;
  }
}
