/*
 * Formulario Dynamics 365 con el estilo del form original del theme.
 * Todo queda acotado a .dynamics-form. Usa !important porque Dynamics
 * inyecta su propio <style> en el body después de cargar este archivo.
 */

.dynamics-form,
.dynamics-form .marketingForm,
.dynamics-form form,
.dynamics-form table.outer,
.dynamics-form .columnContainer {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	font-family: inherit !important;
	color: var(--bs-body-color) !important;
}

/* Bloques de campo */
.dynamics-form [data-editorblocktype] {
	padding: 0 8px !important;
	margin: 0 0 1rem !important;
	background: transparent !important;
}

/* Labels: igual que el label del theme */
.dynamics-form label,
.dynamics-form .lp-form-fieldInput label,
.dynamics-form .block-label {
	display: block !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: var(--bs-body-color) !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	background: transparent !important;
}
.dynamics-form label::after { color: #ff0000 !important; }
.dynamics-form label *,
.dynamics-form .consentBlock *,
.dynamics-form [data-editorblocktype="Consent"] *,
.dynamics-form [data-editorblocktype="CheckboxFormField"] * {
	color: inherit;
	background: transparent !important;
}

/* Inputs: .form-control redondeado del theme */
.dynamics-form input[type="text"],
.dynamics-form input[type="email"],
.dynamics-form input[type="tel"],
.dynamics-form input[type="number"],
.dynamics-form input[type="search"],
.dynamics-form input[type="url"],
.dynamics-form input[type="date"],
.dynamics-form select,
.dynamics-form textarea:not(.g-recaptcha-response) {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.8em !important;
	padding: .55rem .75rem !important;
	color: var(--bs-body-color) !important;
	background-color: var(--bs-body-bg) !important;
	border: 1px solid !important;
	border-radius: 30px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
}
.dynamics-form textarea:not(.g-recaptcha-response) {
	border-radius: 15px !important;
	min-height: 140px !important;
	resize: vertical;
}
.dynamics-form input:focus,
.dynamics-form select:focus,
.dynamics-form textarea:focus {
	border-color: var(--bs-dark) !important;
	box-shadow: none !important;
}
.dynamics-form ::placeholder { color: #8a8a8a !important; opacity: 1; }

/* Lookup de País: lugar para la lupa */
.dynamics-form .lookupFormFieldBlock input,
.dynamics-form [data-editorblocktype="LookupFormField"] input { padding-right: 2.5rem !important; }
.dynamics-form .lookupFormFieldBlock button,
.dynamics-form [data-editorblocktype="LookupFormField"] button { right: 12px !important; background: transparent !important; border: 0 !important; }

/* Checkboxes de consentimiento */
.dynamics-form input[type="checkbox"],
.dynamics-form input[type="radio"] {
	width: 1em !important;
	height: 1em !important;
	margin: .3em .5em 0 0 !important;
	accent-color: var(--bs-dark);
	flex-shrink: 0;
}
.dynamics-form .consentBlock,
.dynamics-form .checkboxFormFieldBlock,
.dynamics-form [data-editorblocktype="Consent"],
.dynamics-form [data-editorblocktype="CheckboxFormField"] {
	display: flex !important;
	align-items: flex-start !important;
}
.dynamics-form input[type="checkbox"] ~ label,
.dynamics-form input[type="checkbox"] + label,
.dynamics-form .consentBlock label,
.dynamics-form .consentBlock p {
	display: inline !important;
	font-weight: 400 !important;
	margin: 0 !important;
	background: transparent !important;
}
.dynamics-form a { color: var(--bs-primary) !important; }

/* reCAPTCHA centrado */
.dynamics-form [data-editorblocktype="Captcha"],
.dynamics-form .g-recaptcha,
.dynamics-form iframe[src*="recaptcha"] {
	display: flex !important;
	justify-content: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Botón: .btn.btn-primary del theme */
.dynamics-form .submitButtonWrapper,
.dynamics-form [data-editorblocktype="SubmitButton"] {
	text-align: center !important;
	margin: 1.5rem 0 !important;
	background: transparent !important;
}
.dynamics-form button[type="submit"],
.dynamics-form .submitButton,
.dynamics-form input[type="submit"] {
	display: inline-block !important;
	width: auto !important;
	min-width: 150px !important;
	padding: 10px 70px !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	color: var(--bs-light) !important;
	background: var(--bs-primary) !important;
	border: 1px solid var(--bs-primary) !important;
	border-radius: 30px !important;
	cursor: pointer;
	transition: .15s all;
}
.dynamics-form button[type="submit"]:hover,
.dynamics-form .submitButton:hover,
.dynamics-form input[type="submit"]:hover {
	color: var(--bs-primary) !important;
	background: var(--bs-light) !important;
}

/* Mensajes de error / éxito */
.dynamics-form .error,
.dynamics-form [class*="error"] { color: #ff0000 !important; font-size: 14px; }
.dynamics-form .onFormSubmittedFeedback,
.dynamics-form .onFormSubmittedFeedbackMessage {
	font-size: 18px !important;
	font-weight: 500 !important;
	text-align: center !important;
	background: transparent !important;
}

/* Mobile: una columna, botón ancho completo */
@media screen and (max-width: 767px) {
	.dynamics-form .columnContainer,
	.dynamics-form table.outer tr,
	.dynamics-form .marketingForm .columns { display: block !important; }
	.dynamics-form .columnContainer > *,
	.dynamics-form table.outer td { display: block !important; width: 100% !important; }
	.dynamics-form button[type="submit"],
	.dynamics-form .submitButton { width: 100% !important; padding: 10px 30px !important; }
}

/* Campo interno de reCAPTCHA: siempre oculto */
.dynamics-form .g-recaptcha-response,
.dynamics-form textarea[name="g-recaptcha-response"] {
	display: none !important;
}
