/*
 * Modo accesible (taolis_a11y=1 cookie).
 * Todos los selectores van prefijados con .a11y-mode para
 * activarse solo cuando el visitante pulsa el toggle de accesibilidad.
 * Los cambios estructurales (ARIA, landmarks, .sr-only, .js gating,
 * prefers-reduced-motion) viven en los CSS base y no se replican aqui.
 */

/* === Variables: colores con mayor contraste === */
.a11y-mode {
	--gray: #64748B;
	--secondary: #946C00;
	--alt: #946C00;
}

/* === Tarjetas de equipo: imagen arriba, contenido sobre fondo sólido abajo === */
.a11y-mode .member {
	background-color: #1E293B;
}
.a11y-mode .member::after {
	content: none;
}
.a11y-mode .member .thumb {
	height: 62%;
	object-fit: cover;
}
.a11y-mode .member > a {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 62%;
	display: block;
	overflow: hidden;
}
.a11y-mode .member > a .thumb {
	height: 100%;
}
.a11y-mode .member .content,
.a11y-mode .member .info {
	background-color: #1E293B;
	position: relative;
	z-index: 2;
	width: 100%;
}

/* === Banner feature: degradado para legibilidad del texto blanco === */
.a11y-mode .banner-feature .content {
	background-color: rgba(22, 64, 116, 0.25);
	background-image: linear-gradient(
		180deg,
		rgba(22, 64, 116, 0.88) 0%,
		rgba(22, 64, 116, 0.65) 18%,
		rgba(22, 64, 116, 0.10) 40%,
		rgba(22, 64, 116, 0.10) 60%,
		rgba(22, 64, 116, 0.65) 82%,
		rgba(22, 64, 116, 0.88) 100%
	);
}

/* === Color de claves de propiedad === */
.a11y-mode .property-features .key {
	color: #475569;
}

/* === Splide arrows: reset visual y focus-visible accesible === */
.a11y-mode .splide .splide__arrows > *:not(.see-more) {
	border: none !important;
	border-radius: 0 !important;
	background: none !important;
	background-color: transparent !important;
	padding: 0 !important;
	color: inherit;
	cursor: pointer;
}
.a11y-mode .splide .splide__arrows > button.splide__arrow:not(.see-more):focus-visible {
	outline: 2px solid var(--secondary);
	outline-offset: 2px;
}
.a11y-mode .splide__arrow--prev.see-more,
.a11y-mode .splide__arrow--next.see-more,
.a11y-mode button.splide__arrow.see-more {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.a11y-mode button.splide__arrow.see-more:focus-visible {
	outline: 2px solid var(--secondary);
	outline-offset: 4px;
}
.a11y-mode .see-more:before {
	transform: rotate(45deg) scale(0.7);
}
.a11y-mode .see-more svg {
	width: 19px;
}

/* === HubSpot forms: contraste de inputs, placeholders y labels === */
.a11y-mode .hs-form-private input:not([type=radio]):not([type=checkbox]),
.a11y-mode .hs-form-private select,
.a11y-mode .hs-form-private textarea {
	border-bottom: 1px solid rgba(30, 41, 59, 0.70) !important;
	color: #1e293b !important;
	font-weight: 400 !important;
}
.a11y-mode .hs-form-private ::placeholder {
	font-weight: 400 !important;
	color: #475569 !important;
	opacity: 1 !important;
}
.a11y-mode .hs-form-private label,
.a11y-mode .hs-form-private legend,
.a11y-mode .hs-form-private .hs-form-field > label,
.a11y-mode .hs-form-private .hsfc-FieldLabel,
.a11y-mode .hs-form-private .hsfc-Label {
	color: #1e293b !important;
}
.a11y-mode .hs-form-private .hs-error-msg,
.a11y-mode .hs-form-private .hs-error-msgs label,
.a11y-mode .hs-form-private .hsfc-FieldError {
	color: #b00020 !important;
}

/* === Login form: colores accesibles === */
.a11y-mode .login-page .form-control:hover {
	border-color: #64748B !important;
}
.a11y-mode .login-page .form-control::placeholder {
	color: #64748B !important;
}
.a11y-mode .login-page .form-control-icon {
	color: #64748B !important;
}
.a11y-mode .login-page .form-control-toggle,
.a11y-mode .login-page .password-toggle {
	color: #64748B !important;
}

/* === Gravity Forms: color accesible === */
.a11y-mode .form-wrapper .gform_wrapper .gfield input,
.a11y-mode .form-wrapper .gform_wrapper .gfield select,
.a11y-mode .form-wrapper .gform_wrapper .gfield textarea {
	color: #64748B;
}

/* === Advisor profile: mensaje vacio === */
.a11y-mode .empty-sales-message {
	color: #64748B;
}

/* === My account: color accesible === */
.a11y-mode .my-account .password-toggle,
.a11y-mode .my-account button.password-toggle {
	color: #64748B;
}

/* === Leaflet: close button con contraste suficiente === */
.a11y-mode .leaflet-popup-close-button,
.a11y-mode .leaflet-popup-close-button span {
	color: var(--primary, #1E293B) !important;
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	width: 1.75rem !important;
	height: 1.75rem !important;
	padding: 0.25rem !important;
}
.a11y-mode .leaflet-popup-close-button:hover,
.a11y-mode .leaflet-popup-close-button:focus,
.a11y-mode .leaflet-popup-close-button:hover span,
.a11y-mode .leaflet-popup-close-button:focus span {
	color: var(--secondary, #946C00) !important;
}
.a11y-mode .leaflet-popup-close-button:focus-visible {
	outline: 2px solid var(--secondary, #946C00);
	outline-offset: 2px;
}

/* === HubSpot submit button (HSFC widget en shadow DOM) === */
.a11y-mode .hs-form-frame,
.a11y-mode .hs-form,
.a11y-mode .hs-form-loader,
.a11y-mode hs-form-loader,
.a11y-mode [data-hsfc-id],
.a11y-mode .hsfc-Button,
.a11y-mode .hsfc-PrimaryButton {
	--hsf-button__background-color: #946C00 !important;
	--hsf-default-button__background-color: #946C00 !important;
	--hsf-button__hover__background-color: #7a5800 !important;
	--hsf-default-button__hover__background-color: #7a5800 !important;
	--hsf-button__focus__background-color: #7a5800 !important;
}
.a11y-mode .hsfc-Button,
.a11y-mode .hsfc-PrimaryButton,
.a11y-mode .hs-form-private input[type="submit"],
.a11y-mode .hs-form-private button[type="submit"] {
	background-color: #946C00 !important;
	background: #946C00 !important;
	border-color: #946C00 !important;
}
.a11y-mode .hsfc-Button:hover,
.a11y-mode .hsfc-PrimaryButton:hover,
.a11y-mode .hs-form-private input[type="submit"]:hover,
.a11y-mode .hs-form-private button[type="submit"]:hover {
	background-color: #7a5800 !important;
	background: #7a5800 !important;
	border-color: #7a5800 !important;
}

/* === ElevenLabs Convai widget: accent en custom-element (shadow DOM) === */
.a11y-mode elevenlabs-convai {
	--el-accent: #946C00 !important;
	--el-accent-hover: #946C00 !important;
	--el-accent-active: #946C00 !important;
}

/* === Animaciones de entrada: deshabilitadas en modo accesible === */
.a11y-mode .animated-element,
.a11y-mode .js .animated-element,
.a11y-mode .animated-element.visible,
.a11y-mode .js .animated-element.visible,
.a11y-mode .inview .scaled,
.a11y-mode .inview .translated,
.a11y-mode .inview.visible .scaled,
.a11y-mode .inview.visible .translated,
.a11y-mode .js .inview .scaled,
.a11y-mode .js .inview .translated,
.a11y-mode .js .inview.visible .scaled,
.a11y-mode .js .inview.visible .translated {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	transition: none !important;
}
