/**
 * Accesibilidad Kit Digital / UNE-EN 301549 para Verum Rebus (Divi).
 */

/* 9.2.4.1 — Skip link visible al recibir foco */
.vr-a11y-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000000;
	padding: 12px 16px;
	background: #1a1a1a;
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	min-height: 44px;
	min-width: 24px;
	line-height: 1.4;
}

.vr-a11y-skip-link:focus,
.vr-a11y-skip-link:focus-visible {
	left: 8px;
	top: 8px;
	outline: 3px solid #ffd100 !important;
	outline-offset: 2px;
}

.vr-a11y-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

#main-content:focus {
	outline: none;
}

h1.vr-a11y-page-title {
	font-size: 1.75rem;
	line-height: 1.4;
	color: #1a1a1a;
	margin: 1.5rem 0 1rem;
	text-decoration: underline;
}

/* 9.1.4.3 — Contraste mínimo (texto #666 sobre blanco ≈ 3,9:1) */
body {
	color: #333333;
}

a {
	color: #0a5785;
}

#top-menu li a,
#et-secondary-menu li a,
.et_pb_widget a,
.et_pb_bg_layout_light .et_pb_widget li a {
	color: #1a1a1a;
}

#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a,
.mobile_menu_bar:before,
.mobile_menu_bar:after {
	color: #0a5785 !important;
}

.et_pb_module.et_pb_button,
.et_pb_bg_layout_light.et_pb_module.et_pb_button,
.et_pb_contact_submit,
a.et_pb_more_button {
	color: #0a5785 !important;
}

.et_pb_slide.et_pb_bg_layout_dark .et_pb_slide_title,
.et_pb_slide.et_pb_bg_layout_dark .et_pb_slide_content,
.et_pb_slide.et_pb_bg_layout_dark .et_pb_slide_content p {
	color: #ffffff;
}

.et_pb_slide.et_pb_bg_layout_dark .et_pb_more_button {
	color: #ffffff !important;
	border-color: #ffffff !important;
}

/* Copyright y verdes claros sobre fondo blanco */
body .et_pb_text_0_tb_footer,
body .et_pb_text_0_tb_footer.et_pb_text,
body .et_pb_text_0_tb_footer p,
body .et_pb_text_0_tb_footer span,
body .et-l--footer .et_pb_text_0_tb_footer,
body .et-l--footer span[style*="#83ab3d"],
body .et-l--footer span[style*="#83983D"],
body .et-l--footer span[style*="#71935E"] {
	color: #3a5a14 !important;
}

.et-l--footer .et_pb_heading_container .et_pb_module_heading,
.et-l--footer .et_pb_heading_container a {
	display: inline-block;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.5;
	color: #1a1a1a !important;
	text-decoration: underline;
	min-height: 24px;
	padding: 8px 0;
}

.et_pb_contact_form_label {
	display: block !important;
	position: static !important;
	height: auto !important;
	width: auto !important;
	clip: auto !important;
	margin: 0 0 6px !important;
	color: #1a1a1a !important;
	font-size: 16px !important;
	font-weight: 600;
}

.et_pb_contact_form input.input,
.et_pb_contact_form textarea,
.et-search-field,
.et_pb_contact_select {
	color: #1a1a1a !important;
}

.et_pb_contact_form input.input::placeholder,
.et_pb_contact_form textarea::placeholder,
.et-search-field::placeholder {
	color: #595959 !important;
	opacity: 1 !important;
}

/* 9.2.5.8 — Área táctil mínima 24×24 px y separación */
a,
button,
input[type="submit"],
input[type="button"],
.et_pb_button,
.et_pb_contact_submit {
	min-height: 24px;
	min-width: 24px;
}

a.et_pb_button,
.et_pb_button,
button.et_pb_contact_submit,
.et_pb_contact_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 20px;
	box-sizing: border-box;
}

#top-menu > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 12px 16px;
}

/* Restaurar el recorte de Divi: el flex hacía que el logo se viera a tamaño real. */
#main-header .logo_container a {
	display: inline !important;
	min-width: 0 !important;
	min-height: 0 !important;
}

#main-header #logo {
	max-height: 48px !important;
	max-width: 160px !important;
	width: auto !important;
	height: auto !important;
}

#et_top_search,
#et_search_icon,
.mobile_menu_bar,
.et_close_search_field,
.et_pb_scroll_top {
	min-width: 44px !important;
	min-height: 44px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.mobile_nav.closed .mobile_menu_bar,
.mobile_nav.opened .mobile_menu_bar {
	padding: 10px;
}

.et-pb-controllers a {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	margin: 0 8px !important;
	border-radius: 50%;
	padding: 0 !important;
	text-indent: -9999px;
	overflow: hidden;
}

.et-pb-arrow-prev,
.et-pb-arrow-next {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px;
	min-height: 44px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	opacity: 1 !important;
}

.et_pb_contact_field_checkbox label,
.et_pb_contact_field_radio label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 24px;
	padding: 8px 0;
	color: #1a1a1a;
}

.et_pb_contact p input[type="checkbox"] + label i,
.et_pb_contact p input[type="radio"] + label i,
.et_pb_contact_field_checkbox label i,
.et_pb_contact_field .input[type="checkbox"] + label i {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	line-height: 24px !important;
	flex-shrink: 0;
}

.et-social-icon a {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.et-l--footer a {
	min-height: 24px;
}

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
[tabindex]:focus {
	outline: 3px solid #0a5785 !important;
	outline-offset: 2px;
}
