/*
Theme Name: Divi Child Theme
Description: A child theme to house custom coding which modifies the Divi parent theme by Elegant Themes. Includes default line numbers where the code was taken from in the parent theme.
Author:   Brad Dalton http://wpsites.net
Template: Divi
*/
@import url("../Divi/style.css");
/* ====== CF7 Skin (sin .pm-form) ====== */

/* Inputs, select, textarea */
.ens-skin .wpcf7-form input.wpcf7-form-control[type="text"],
.ens-skin .wpcf7-form input.wpcf7-form-control[type="email"],
.ens-skin .wpcf7-form input.wpcf7-form-control[type="number"],
.ens-skin .wpcf7-form input.wpcf7-form-control[type="url"],
.ens-skin .wpcf7-form input.wpcf7-form-control[type="tel"],
.ens-skin .wpcf7-form select.wpcf7-form-control,
.ens-skin .wpcf7-form textarea.wpcf7-form-control {
	background-color: var(--pmpro--color--base, #fff);
	border: 1px solid var(--pmpro--color--border, #d1d5db);
	border-radius: var(--pmpro--base--border-radius, 12px);
	box-shadow: none;
	box-sizing: border-box;
	color: var(--pmpro--color--contrast, #111827);
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
	min-height: auto;
	outline: none;
	padding: var(--pmpro--base--spacing--small, 12px);
	width: 100%;
}

/* Placeholder */
.ens-skin .wpcf7-form input::placeholder,
.ens-skin .wpcf7-form textarea::placeholder {
	color: var(--pmpro--color--contrast-muted, #6b7280);
}

/* Focus */
.ens-skin .wpcf7-form input.wpcf7-form-control:focus,
.ens-skin .wpcf7-form select.wpcf7-form-control:focus,
.ens-skin .wpcf7-form textarea.wpcf7-form-control:focus {
	border-color: var(--pmpro--color--border-focus, #2563eb);
	box-shadow: 0 0 0 3px var(--pmpro--focus-ring, rgba(37,99,235,.25));
}

/* Select caret */
.ens-skin .wpcf7-form select.wpcf7-form-control {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--pmpro--color--contrast, #111827) 50%),
		linear-gradient(135deg, var(--pmpro--color--contrast, #111827) 50%, transparent 50%);
	background-position: calc(100% - 18px) calc(1em + 2px),
						 calc(100% - 13px) calc(1em + 2px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

/* File input */
.ens-skin .wpcf7-form input.wpcf7-form-control[type="file"],
.ens-skin .wpcf7-form .wpcf7-file {
	border: 1px dashed var(--pmpro--color--border, #d1d5db);
	padding: var(--pmpro--base--spacing--small, 12px);
	border-radius: var(--pmpro--base--border-radius, 12px);
	color: var(--pmpro--color--contrast, #111827);
	background: var(--pmpro--color--base, #fff);
	width: 100%;
}

/* Chips (checkbox/radio con use_label_element) */
.ens-skin .wpcf7-form .wpcf7-list-item { 
	margin: 9px 7px 0px 3px;
}
.ens-skin .wpcf7-form .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--pmpro--color--base, #fff);
	border: 1px solid var(--pmpro--color--border, #d1d5db);
	border-radius: var(--pmpro--base--border-radius, 12px);
	padding: var(--pmpro--base--spacing--small, 10px) var(--pmpro--base--spacing--medium, 14px);
	cursor: pointer;
	color: var(--pmpro--color--contrast, #111827);
	transition: .15s ease;
}

/* Hover */
.ens-skin .wpcf7-form .wpcf7-list-item label:hover {
	border-color: var(--pmpro--color--border-focus, #c4b8e9);
}

/* Checked */
.ens-skin .wpcf7-form .wpcf7-list-item input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
/*
input.aceptacion-check {
	position: relative !important;
	opacity: unset !important;
	width: 13px !important;
	height: 13px !important;
}
*/



.ens-skin .wpcf7-form .wpcf7-list-item label:has(input:checked),
.ens-skin .wpcf7-form .wpcf7-list-item input[type="checkbox"]:checked + span {
	background: #c3b7e6 !important;
	border-color: #c3b7e6 !important;
	color: #0b1220 !important; /* texto oscuro para buen contraste, ajustable */
	box-shadow: 0 0 0 3px rgb(196 184 233) !important;
}

/* Botones */
.ens-skin .wpcf7-form .pm-btn,
.ens-skin .wpcf7-form input[type="submit"] {
	padding: var(--pmpro--base--spacing--small, 12px) var(--pmpro--base--spacing--medium, 16px);
	border-radius: var(--pmpro--base--border-radius, 12px);
	font-weight: 600;
	border: none;
	cursor: pointer;
	background: var(--pmpro--color--primary, #0ea5e9);
	color: var(--pmpro--color--primary-contrast, #fff);
	transition: .2s ease;
}

.ens-skin .wpcf7-form .pm-btn:hover,
.ens-skin .wpcf7-form input[type="submit"]:hover {
	background: var(--pmpro--color--primary-hover, #0284c7);
}

/* Botón anterior */
.ens-skin .wpcf7-form .pm-btn.pm-prev {
	background: var(--pmpro--color--base, #fff);
	color: var(--pmpro--color--contrast-muted, #6b7280);
	border: 1px solid var(--pmpro--color--border, #d1d5db);
}

.ens-skin .wpcf7-form .pm-btn.pm-prev:hover {
	border-color: var(--pmpro--color--border-focus, #2563eb);
}

/* Fila de 2 columnas: label arriba, input abajo */
.ens-skin .wpcf7-form .ens-row {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.ens-skin .wpcf7-form .ens-row .ens-col {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
}

.cf7mls_next.action-button, form.cf7mls input.wpcf7-form-control.wpcf7-submit, input.wpcf7-form-control.wpcf7-submit.has-spinner.pm-form-submit.btn-form  {
	color: #FBF9F6 !important;
	border-radius: 25px;
	font-size: 17px;
	background-color: #5FB7B1 !important;
	padding-right: 40px !important;
	padding-left: 40px !important;
}

.cf7mls .cf7mls_back.action-button{
	color: #5FB7B1;
	border-radius: 25px;
	border-width: 1px;
	border-color: #5FB7B1;
	border-style: solid;
	font-size: 17px;
	background-color: #FFF !important;
	padding-right: 50px !important;
	padding-left: 50px !important;
}

.ens-skin .wpcf7-form .ens-row .ens-col strong {
  display: block;
  margin-bottom: 12px;
}
.cf7mls-btns .cf7mls_next.action-button{
	min-width: 183px;
}
/* ===== ACEPTACIÓN: checkbox custom ===== */

/* Quitar estilo de chip SOLO para el acceptance */
.ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label, .ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label:has(input:checked) {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	gap: 0 !important;
}

/* El texto del acceptance */
.ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item input.aceptacion-check + span {
	position: relative;
	padding-left: 22px; /* espacio para el cuadradito */
}
.ens-skin .wpcf7-form .wpcf7-list-item input.aceptacion-check[type="checkbox"]:checked + span {
	background: transparent !important;
	border: unset !important;
	box-shadow: unset !important;
}

/* Ocultar el checkbox original */
.ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item input.aceptacion-check {
	position: absolute;
	opacity: 0;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

/* Cuadrado del checkbox (SIN check) */
.ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item input.aceptacion-check + span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border-radius: 3px;              /* opcional */
	background-color: #e0e0e0;       /* fondo sin marcar */
	border: 1px solid #ccc;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

/* Fondo cuando está checkeado */
.ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item input.aceptacion-check:checked + span::before {
	background-color: #4AC1A1;       /* color del fondo con check */
	border-color: #4AC1A1;
}

/* Tilde del check */
.ens-skin .wpcf7-form .wpcf7-acceptance .wpcf7-list-item input.aceptacion-check:checked + span::after {
	content: "✓";
	position: absolute;
	left: 3px;
	top: 50%;
	transform: translateY(-55%);
	font-size: 12px;
	color: #ffffff;                  /* color del tilde */
	font-weight: bold;
}

.mobile_menu_bar:before, .mobile_menu_bar:after, #top-menu li.current-menu-ancestor>a, #top-menu li.current-menu-item>a {
	color: #5FB7B1;
}

.form-psicologo-single p {
	padding-bottom: 10px;
	line-height: 10px;
}

.form-psicologo-single textarea.wpcf7-form-control.wpcf7-textarea {
	max-height: 150px;
}

/* Mobile: se apilan */
@media (max-width: 767px) {
	.ens-skin .wpcf7-form .ens-row {
	flex-wrap: wrap;
	gap: 2px;
	margin-bottom: 16px;
  }
  .ens-skin .wpcf7-form .ens-row .ens-col {
	flex: 1 1 100%;
  }
}