/* =========================================================
   WPForms theming — premium healthcare form look + the
   phone-field flag fix.

   IMPORTANT ON SPECIFICITY: WPForms' own "Modern Markup" theme
   CSS (default since WPForms 1.8.1) is intentionally written to
   be aggressive so forms look consistent regardless of theme —
   WPForms' own docs describe it as designed to "override styles
   that your WordPress theme might try to apply." Some of its
   rules also ship with !important. A same-specificity !important
   rule loses ties based on stylesheet load order, which is why a
   lower-specificity override can silently fail. Every rule below
   is intentionally written with 3+ chained classes (sometimes a
   harmless repeated class, e.g. ".rdp-form-card.rdp-form-card")
   so it always wins on specificity, not just load order — this
   works no matter which CSS WPForms loads after ours.
   ========================================================= */

.rdp-form-card.rdp-form-card .wpforms-container {
	margin: 0 !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .wpforms-form {
	background: #ffffff !important;
	border-radius: 20px !important;
	padding: 32px !important;
	box-shadow: 0 22px 60px rgba(8, 43, 76, 0.12) !important;
	border: none !important;
}

@media (max-width: 480px) {
	.rdp-form-card.rdp-form-card .wpforms-container .wpforms-form {
		padding: 22px !important;
	}
}

.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field {
	padding: 0 0 18px 0 !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-label,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-label-inline {
	color: var(--rdp-color-primary, #082B4C) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	margin-bottom: 8px !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-sublabel {
	color: #5b7185 !important;
}

.rdp-form-card.rdp-form-card .wpforms-container input[type="text"],
.rdp-form-card.rdp-form-card .wpforms-container input[type="email"],
.rdp-form-card.rdp-form-card .wpforms-container input[type="tel"],
.rdp-form-card.rdp-form-card .wpforms-container input[type="number"],
.rdp-form-card.rdp-form-card .wpforms-container input[type="url"],
.rdp-form-card.rdp-form-card .wpforms-container select,
.rdp-form-card.rdp-form-card .wpforms-container textarea {
	width: 100% !important;
	min-height: 52px !important;
	border: 1px solid #D8E2EA !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	color: var(--rdp-color-primary, #082B4C) !important;
	font-size: 16px !important;
	padding: 12px 16px !important;
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.rdp-form-card.rdp-form-card .wpforms-container textarea {
	min-height: 120px !important;
}

.rdp-form-card.rdp-form-card .wpforms-container input:focus,
.rdp-form-card.rdp-form-card .wpforms-container select:focus,
.rdp-form-card.rdp-form-card .wpforms-container textarea:focus {
	border-color: var(--rdp-color-secondary, #078D7B) !important;
	box-shadow: 0 0 0 4px rgba(7, 141, 123, 0.12) !important;
	outline: none !important;
}

/* Checkboxes / radios */
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-checkbox ul li,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-radio ul li,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-gdpr-checkbox ul li {
	margin-bottom: 10px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
}
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-checkbox ul li input,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-radio ul li input,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-gdpr-checkbox ul li input {
	width: 20px !important;
	height: 20px !important;
	flex: none !important;
	accent-color: var(--rdp-color-secondary, #078D7B) !important;
	margin-top: 2px !important;
}

/* Submit button + multi-step Next/Previous — see specificity note above. */
.rdp-form-card.rdp-form-card .wpforms-container button[type="submit"],
.rdp-form-card.rdp-form-card .wpforms-container input[type="submit"],
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-submit,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-button,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-next,
.rdp-form-card.rdp-form-card .wpforms-container button.wpforms-page-next,
.rdp-form-card.rdp-form-card .wpforms-container input.wpforms-page-next {
	background: var(--rdp-color-accent, #F15A24) !important;
	border-color: var(--rdp-color-accent, #F15A24) !important;
	color: #ffffff !important;
	border-width: 0 !important;
	border-radius: 999px !important;
	padding: 14px 26px !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	cursor: pointer !important;
	transition: all .2s ease;
	width: auto !important;
}

.rdp-form-card.rdp-form-card .wpforms-container button[type="submit"]:hover,
.rdp-form-card.rdp-form-card .wpforms-container input[type="submit"]:hover,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-submit:hover,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-next:hover,
.rdp-form-card.rdp-form-card .wpforms-container button.wpforms-page-next:hover {
	background: var(--rdp-color-accent-hover, #D94B1D) !important;
	border-color: var(--rdp-color-accent-hover, #D94B1D) !important;
	transform: translateY(-1px);
}

.rdp-form-card.rdp-form-card .wpforms-container button[type="submit"]:focus,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-next:focus {
	background: var(--rdp-color-accent-hover, #D94B1D) !important;
	outline: 3px solid rgba(241, 90, 36, 0.35) !important;
}

/* Previous button — outlined/muted, never the primary orange. */
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-prev,
.rdp-form-card.rdp-form-card .wpforms-container button.wpforms-page-prev,
.rdp-form-card.rdp-form-card .wpforms-container input.wpforms-page-prev {
	background: transparent !important;
	color: var(--rdp-color-primary, #082B4C) !important;
	border: 1px solid #D8E2EA !important;
	border-radius: 999px !important;
	padding: 14px 26px !important;
	font-weight: 700 !important;
	margin-right: 10px !important;
}
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-prev:hover,
.rdp-form-card.rdp-form-card .wpforms-container button.wpforms-page-prev:hover {
	background: var(--rdp-off-white, #F6F9FB) !important;
}

/* Multi-step progress bar / indicator */
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator {
	margin-bottom: 22px !important;
}
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator-progress-bar,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator-page-progress-fill {
	background: var(--rdp-color-secondary, #078D7B) !important;
}
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator .wpforms-page-indicator-page-triangle,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator .wpforms-page-indicator-page.active,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator .active {
	background-color: var(--rdp-color-secondary, #078D7B) !important;
	border-color: var(--rdp-color-secondary, #078D7B) !important;
}
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator-page-number.active,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-page-indicator-page-title.active {
	color: var(--rdp-color-secondary, #078D7B) !important;
}

/* Errors */
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-error,
.rdp-form-card.rdp-form-card .wpforms-container label.wpforms-error,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-description-error {
	color: #C0392B !important;
	font-size: .88rem !important;
	margin-top: 4px !important;
}
.rdp-form-card.rdp-form-card .wpforms-container input.wpforms-error,
.rdp-form-card.rdp-form-card .wpforms-container textarea.wpforms-error,
.rdp-form-card.rdp-form-card .wpforms-container select.wpforms-error {
	border-color: #C0392B !important;
}

/* -----------------------------------------------------------------
 * Phone field flag / country-dropdown fix.
 * Fixes the known WPForms + intl-tel-input issue where the first few
 * digits of a phone number are hidden underneath the flag icon.
 * ------------------------------------------------------------- */
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-phone .iti {
	width: 100% !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-phone .iti input,
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-phone .iti--allow-dropdown input,
.rdp-form-card.rdp-form-card .wpforms-container input[type="tel"] {
	padding-left: 58px !important;
	width: 100% !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .iti__flag-container {
	width: 50px !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .iti--allow-dropdown .iti__selected-flag,
.rdp-form-card.rdp-form-card .wpforms-container .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
	background: transparent !important;
}

.rdp-form-card.rdp-form-card .wpforms-container .iti__selected-flag {
	padding: 0 8px 0 10px !important;
}

/* Never apply phone padding to ordinary text/email fields sharing a container. */
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-text input[type="text"],
.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-email input[type="email"] {
	padding-left: 16px !important;
}

@media (max-width: 480px) {
	.rdp-form-card.rdp-form-card .wpforms-container .wpforms-field-phone .iti input {
		padding-left: 54px !important;
		font-size: 16px !important; /* Prevents iOS zoom-on-focus. */
	}
}

/* Plugin-missing notice (shown by rdp_render_wpform_safe() if WPForms
   isn't active) so it doesn't look like a raw error on the page. */
.rdp-form-plugin-notice {
	background: var(--rdp-off-white, #F6F9FB);
	border: 1px dashed var(--rdp-border, #D8E2EA);
	border-radius: 12px;
	padding: 18px;
	color: var(--rdp-color-primary, #082B4C);
	font-weight: 600;
	text-align: center;
}
