/* 
 Theme Name:     Divi Engineering Divi Child Theme
 Author:         Mark Hendriksen
 Author URI:     https://markhendriksen.com
 Template:       Divi
 Version:        1.0
 Description:    A Divi Child Theme 
*/ 


/* ----------- PUT YOUR CUSTOM CSS BELOW THIS LINE -- DO NOT EDIT ABOVE THIS LINE --------------------------- */

/*
 * Paleta Tecal (valores en includes/tecal-colors.php → variables :root)
 * Gris acero #4c555f | Rojo #ff1919 | Rojo claro #ff5050 | Tecal Ferrari #ED2228 | Texto #2a2a2a
 */

.tecal-topbar-emphasis,
.tecal-topbar-emphasis em {
	color: #ff1919 !important;
	font-style: italic;
}

/* Títulos / subtítulos en módulos de texto Divi (p. ej. <h4><span class="tecal-accent">…</span></h4>) */
.tecal-accent,
.tecal-accent em {
	color: var(--tecal-accent, #ff1919) !important;
}

.tecal-ferrari,
.tecal-ferrari em {
	color: var(--tecal-ferrari, #ED2228) !important;
}

.et_pb_text .et_pb_text_inner .tecal-accent,
.et_pb_text .et_pb_text_inner h4 .tecal-accent,
.et_pb_text .et_pb_text_inner h3 .tecal-accent,
.et_pb_text .et_pb_text_inner h2 .tecal-accent {
	color: var(--tecal-accent, #ff1919) !important;
}

/* Enlaces email: rojo Tecal (override Divi et_color_scheme_red #cd5c5c) */
.et_pb_text .et_pb_text_inner a[href^="mailto:"],
.et_pb_blurb .et_pb_blurb_description a[href^="mailto:"] {
	color: var(--tecal-accent, #ff1919) !important;
}

.et_pb_text .et_pb_text_inner a[href^="mailto:"]:hover,
.et_pb_blurb .et_pb_blurb_description a[href^="mailto:"]:hover {
	color: var(--tecal-accent-light, #ff5050) !important;
}

/* Contacto: fila «Nuestro Equipo» (emails departamentos; no depende del índice et_pb_row_N) */
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_flex_column,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_column {
	row-gap: 0 !important;
	gap: 0 !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text.et_pb_module,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text.et_pb_module {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_column > .et_pb_text.et_pb_module + .et_pb_text.et_pb_module,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_column > .et_pb_text.et_pb_module + .et_pb_text.et_pb_module {
	margin-top: 0.55em !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text:has(.et_pb_text_inner > p:only-child a[href^="mailto:"]) + .et_pb_text.et_pb_module,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text:has(.et_pb_text_inner > p:only-child a[href^="mailto:"]) + .et_pb_text.et_pb_module {
	margin-top: 1.35em !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text:has(.et_pb_text_inner > p:nth-child(2)) + .et_pb_text.et_pb_module,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text:has(.et_pb_text_inner > p:nth-child(2)) + .et_pb_text.et_pb_module {
	margin-top: 1.1em !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text_inner p,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text_inner p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text_inner p + p,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text_inner p + p {
	margin-top: 0.18em !important;
}
body.page-id-21156 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text_inner > p:only-child,
body.page-id-21158 #page-container .et_pb_row:has(a[href*="contabilidad@tecalquimica.com"]):has(a[href*="mgismero@tecalquimica.com"]) .et_pb_text_inner > p:only-child {
	line-height: 1.45 !important;
}

/* Contacto + Boletín: mensajes de validación (campos obligatorios) */
.et_pb_contact_form_1 .et-pb-contact-message,
.tecal-newsletter-section .et-pb-contact-message {
	color: #ffffff !important;
}
.et_pb_contact_form_1 .et-pb-contact-message p,
.et_pb_contact_form_1 .et-pb-contact-message ul,
.et_pb_contact_form_1 .et-pb-contact-message li,
.et_pb_contact_form_1 .et-pb-contact-message .et_pb_contact_error_text,
.et_pb_contact_form_1 .et-pb-contact-message .et_normal_padding,
.tecal-newsletter-section .et-pb-contact-message p,
.tecal-newsletter-section .et-pb-contact-message ul,
.tecal-newsletter-section .et-pb-contact-message li,
.tecal-newsletter-section .et-pb-contact-message .et_pb_contact_error_text,
.tecal-newsletter-section .et-pb-contact-message .et_normal_padding {
	color: #ffffff !important;
}

/* Avisos y agradecimiento: Contacto y Boletín en ES/CA/EN.
 * No depende del número de módulo que Divi asigna a cada página.
 */
body #page-container .et_pb_contact_form_container .et-pb-contact-message,
body #page-container .et_pb_contact_form_container .et-pb-contact-message p,
body #page-container .et_pb_contact_form_container .et-pb-contact-message ul,
body #page-container .et_pb_contact_form_container .et-pb-contact-message li {
	color: #ffffff !important;
	font-size: 20px !important;
	line-height: 1.5 !important;
}

/* Contacto: ocultar etiqueta duplicada del checkbox de privacidad */
.et_pb_contact_form_1 .et_pb_contact_field[data-id="privacy"] .et_pb_contact_form_label {
	display: none !important;
}

/* Contacto + Boletín: texto y placeholder de campos (mismo color en todos) */
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"]),
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) textarea,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"]),
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) textarea {
	color: #030303 !important;
}
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"])::placeholder,
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) textarea::placeholder,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"])::placeholder,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) textarea::placeholder {
	color: #030303 !important;
	opacity: 1 !important;
}
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"])::-webkit-input-placeholder,
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) textarea::-webkit-input-placeholder,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"])::-webkit-input-placeholder,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) textarea::-webkit-input-placeholder {
	color: #030303 !important;
	opacity: 1 !important;
}
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"])::-moz-placeholder,
.et_pb_contact_form_1 .et_pb_contact_form .et_pb_contact_field:not(.et_pb_contact_right) textarea::-moz-placeholder,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"])::-moz-placeholder,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) textarea::-moz-placeholder {
	color: #030303 !important;
	opacity: 1 !important;
}

/* Contacto + Boletín: captcha, checkbox privacidad, campos */
.et_pb_contact_form_1 .et_pb_contact_right p,
.et_pb_contact_form_1 .et_pb_contact_captcha_question,
.tecal-newsletter-section .et_pb_contact_right p,
.tecal-newsletter-section .et_pb_contact_captcha_question {
	color: #ffffff !important;
}
.et_pb_contact_form_1 .et_pb_contact_captcha,
.tecal-newsletter-section .et_pb_contact_captcha {
	background-color: #e8e8e8 !important;
	color: #030303 !important;
	border: 0 !important;
	border-bottom: 2px solid #ff1919 !important;
	border-radius: 7px !important;
	padding: 16px !important;
}
.et_pb_contact_form_1 .et_pb_contact_field .input[type="checkbox"] + label,
.et_pb_contact_form_1 .et_pb_contact_field .input[type="checkbox"] + label a,
.tecal-newsletter-section .et_pb_contact_field .input[type="checkbox"] + label,
.tecal-newsletter-section .et_pb_contact_field .input[type="checkbox"] + label a {
	color: #ffffff !important;
}
.et_pb_contact_form_1 .et_pb_contact_field .input[type="checkbox"] + label i,
.tecal-newsletter-section .et_pb_contact_field .input[type="checkbox"] + label i {
	background-color: #e8e8e8 !important;
	border-bottom: 2px solid #ff1919 !important;
	border-radius: 7px !important;
}

/* Formularios: tic del checkbox blanco (override Divi #2ea3f2) */
.et_pb_contact .et_pb_contact_field input[type="checkbox"]:checked + label i,
.et_pb_subscribe .et_pb_contact_field input[type="checkbox"]:checked + label i,
.et_pb_contact_form .et_pb_contact_field input[type="checkbox"]:checked + label i,
.et_pb_contact_form_1 .et_pb_contact_field input[type="checkbox"]:checked + label i,
.tecal-newsletter-section .et_pb_contact_field input[type="checkbox"]:checked + label i {
	background-color: var(--tecal-accent, #ff1919) !important;
	border-bottom-color: var(--tecal-accent, #ff1919) !important;
}

.et_pb_contact .et_pb_contact_field input[type="checkbox"]:checked + label i:before,
.et_pb_subscribe .et_pb_contact_field input[type="checkbox"]:checked + label i:before,
.et_pb_contact_form .et_pb_contact_field input[type="checkbox"]:checked + label i:before,
.et_pb_contact_form_1 .et_pb_contact_field input[type="checkbox"]:checked + label i:before,
.tecal-newsletter-section .et_pb_contact_field input[type="checkbox"]:checked + label i:before,
.et-db #et-boc .et-l .et_pb_contact .et_pb_contact_field input[type="checkbox"]:checked + label i:before,
.et-db #et-boc .et-l .et_pb_subscribe .et_pb_contact_field input[type="checkbox"]:checked + label i:before {
	color: #ffffff !important;
}

/* Menos hueco antes del checkbox de privacidad */
.et_pb_contact_form_1 .et_pb_contact_field[data-id="message"] + .et_pb_contact_field[data-id="privacy"],
.tecal-newsletter-section .et_pb_contact_field[data-id="email"] + .et_pb_contact_field[data-id="privacy"],
body #page-container form.et_pb_contact_form:has([data-id="brand"]) .et_pb_contact_field[data-id="email"] + .et_pb_contact_field[data-id="privacy"] {
	margin-top: -11px !important;
}

/* Contacto + Boletín: fila captcha alineada y botón igual de alto */
.et_pb_contact_form_1 .et_contact_bottom_container,
.tecal-newsletter-section .et_contact_bottom_container {
	text-align: right !important;
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
}
.et_pb_contact_form_1 .et_pb_contact_right.et_pb_contact_field,
.tecal-newsletter-section .et_pb_contact_right.et_pb_contact_field {
	display: inline-block !important;
	min-width: 105px !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
}
.et_pb_contact_form_1 .et_pb_contact_right p.clearfix,
.tecal-newsletter-section .et_pb_contact_right p.clearfix {
	display: inline-block !important;
	margin: 0 !important;
	text-align: left !important;
	vertical-align: middle !important;
}
.et_pb_contact_form_1 .et_pb_contact_right label,
.tecal-newsletter-section .et_pb_contact_right label {
	display: inline !important;
	vertical-align: middle !important;
	line-height: 1.7em !important;
}
.et_pb_contact_form_1 .et_pb_contact_right .et_pb_contact_captcha_question,
.tecal-newsletter-section .et_pb_contact_right .et_pb_contact_captcha_question {
	vertical-align: middle !important;
	display: inline !important;
}
.et_pb_contact_form_1 .et_pb_contact_right input.et_pb_contact_captcha,
.tecal-newsletter-section .et_pb_contact_right input.et_pb_contact_captcha {
	width: auto !important;
	max-width: none !important;
	display: inline-block !important;
	vertical-align: middle !important;
	padding: 16px !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
}
.et_pb_contact_form_1 .et_pb_contact_submit,
.et_pb_contact_form_1.et_pb_contact_form_container .et_pb_button.et_pb_contact_submit,
.tecal-newsletter-section .et_pb_contact_submit,
.tecal-newsletter-section .et_pb_contact_form_container .et_pb_button {
	padding: 16px 1em !important;
	margin-left: 18px !important;
	font-size: 16px !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	border: 0 !important;
	border-radius: 7px !important;
	background-color: #ff1919 !important;
	color: #ffffff !important;
	vertical-align: middle !important;
	display: inline-block !important;
	cursor: pointer !important;
}
.et_pb_contact_form_1 .et_pb_contact_submit:hover,
.et_pb_contact_form_1.et_pb_contact_form_container .et_pb_button.et_pb_contact_submit:hover,
.tecal-newsletter-section .et_pb_contact_submit:hover,
.tecal-newsletter-section .et_pb_contact_form_container .et_pb_button:hover {
	background-color: #2a2a2a !important;
	color: #ffffff !important;
	padding: 16px 1em !important;
	border-color: #2a2a2a !important;
}
.et_pb_contact_form_1.et_pb_contact_form_container .et_pb_button:before,
.et_pb_contact_form_1.et_pb_contact_form_container .et_pb_button:after,
.tecal-newsletter-section .et_pb_contact_form_container .et_pb_button:before,
.tecal-newsletter-section .et_pb_contact_form_container .et_pb_button:after {
	display: none !important;
}

/*
 * Boletín Noticias: respaldo visual Contacto (Divi no siempre carga fields.css aquí).
 */

/* Columna del formulario: gris acero (mismo que Contacto; el global layout a veces no aplica el color Divi) */
.tecal-newsletter-section .et_pb_column:has(.et_pb_contact_form_container),
body #page-container .tecal-newsletter-section .et_pb_column:has([data-id="brand"]) {
	background-color: var(--gcid-b9977658-4716-4f1b-8f0f-15b61fc8dfd9, var(--tecal-steel, #4c555f)) !important;
	padding: 50px !important;
	box-sizing: border-box !important;
	border-radius: 7px !important;
}

.tecal-newsletter-section .et_pb_contact_main_title {
	display: none !important;
}
.tecal-newsletter-section .et_pb_contact_form_label {
	display: none !important;
}
.tecal-newsletter-section form.et_pb_contact_form,
body #page-container form.et_pb_contact_form:has([data-id="brand"]) {
	--vertical-gap: 15px;
	--horizontal-gap: 15px;
	row-gap: 15px !important;
}
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) {
	padding: 0 !important;
	margin-bottom: 0 !important;
}
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) .input:not([type="checkbox"]):not([type="radio"]),
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) select,
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) textarea {
	background-color: #e8e8e8 !important;
	border: 0 !important;
	border-bottom: 2px solid #ff1919 !important;
	border-radius: 7px !important;
	padding: 16px 20px 16px 16px !important;
	font-size: 14px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	-webkit-appearance: none;
	color: #030303 !important;
}
.tecal-newsletter-section .et_pb_contact_field[data-id="brand"] select option {
	color: #030303 !important;
}
.tecal-newsletter-section .et_pb_contact_field:not(.et_pb_contact_right) textarea::-moz-placeholder {
	color: #030303 !important;
	opacity: 1 !important;
}

/* Cosmética y Farmacia: bloques de producto por marca (3 columnas) */
.tecal-brand-product-row {
	margin-bottom: 10px;
}

.tecal-brand-product-row.et_pb_row,
.tecal-brand-product-row.et_block_row {
	display: flex;
	align-items: stretch;
}

.tecal-brand-product-row .et_pb_column {
	display: flex;
	flex-direction: column;
}

.tecal-brand-product-row .tecal-brand-product-card-wrap,
.tecal-brand-product-row .tecal-brand-product-card-wrap.et_pb_module {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.tecal-brand-product-card-wrap .et_pb_text_inner {
	padding: 0;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.tecal-brand-product-card {
	background: #ffffff;
	border: 1px solid #dfe3e8;
	border-radius: 15px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	flex: 1 1 auto;
	min-height: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.tecal-brand-product-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 190px;
	min-height: 190px;
	flex-shrink: 0;
	margin-top: auto;
	padding: 24px;
	background: #ffffff;
	border-top: 1px solid #eceff2;
	text-decoration: none;
}

a.tecal-brand-product-card__logo:hover img {
	border-color: #cfd6dd;
}

.tecal-brand-product-card__logo img {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 260px;
	height: auto;
	max-height: 120px;
	object-fit: contain;
	padding: 18px 22px;
	background: #ffffff;
	border: 1px solid #dfe3e8;
	border-radius: 10px;
}

.tecal-brand-product-card__logo-text {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 260px;
	min-height: 120px;
	padding: 18px 22px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	color: var(--tecal-text, #2a2a2a);
	background: #ffffff;
	border: 1px solid #dfe3e8;
	border-radius: 10px;
}

.tecal-brand-product-card__title {
	margin: 0;
	padding: 20px 24px 10px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--tecal-text, #2a2a2a);
	flex-shrink: 0;
}

.tecal-brand-product-row .tecal-brand-product-card .tecal-brand-product-card__text,
.tecal-brand-product-card-wrap .et_pb_text_inner p.tecal-brand-product-card__text,
.et_pb_text_inner .tecal-brand-product-card p.tecal-brand-product-card__text {
	margin: 0 !important;
	padding: 0 24px 20px !important;
	flex: 0 1 auto;
	font-size: 14px;
	line-height: 1.55;
	color: #4c555f;
	box-sizing: border-box;
}

/* Con botón «Ver»: menos aire bajo el párrafo (el botón ya aporta margen). */
.tecal-brand-product-card:has(.tecal-brand-product-card__btn) .tecal-brand-product-card__text {
	padding-bottom: 14px !important;
}

.tecal-brand-product-card__btn {
	display: inline-block;
	margin: auto 24px 24px;
	padding: 11px 22px;
	border-radius: 4px;
	background: var(--tecal-accent, #ff1919);
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	align-self: flex-start;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.tecal-brand-product-card__btn:hover {
	background: var(--tecal-text, #2a2a2a);
	color: #ffffff !important;
}

@media (max-width: 980px) {
	.tecal-brand-product-row.et_pb_row,
	.tecal-brand-product-row.et_block_row {
		display: block;
	}

	.tecal-brand-product-row .et_pb_column {
		display: block;
		margin-bottom: 24px;
	}

	.tecal-brand-product-row .et_pb_column:last-child {
		margin-bottom: 0;
	}

	.tecal-brand-product-card {
		height: auto;
		min-height: 0;
	}
}

/* Coatings / Recubrimientos: listas de productos en tarjetas */
.tecal-coatings-list,
.et_pb_text .tecal-coatings-list,
.et_pb_text_inner .tecal-coatings-list,
.service-card-column-v2 .tecal-coatings-list,
.et-db #et-boc .et-l .et_pb_text ul.tecal-coatings-list {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0;
	padding: 0;
}
.tecal-coatings-list > li,
.et_pb_text .tecal-coatings-list > li,
.et_pb_text_inner .tecal-coatings-list > li,
.service-card-column-v2 .tecal-coatings-list > li {
	position: relative;
	padding-left: 1.1em;
	margin-bottom: 0.45em;
	line-height: 1.45;
	color: var(--tecal-text, #2a2a2a);
	list-style: none !important;
	list-style-type: none !important;
}
.tecal-coatings-list > li::marker,
.et_pb_text .tecal-coatings-list > li::marker,
.et_pb_text_inner .tecal-coatings-list > li::marker {
	content: "" !important;
	font-size: 0 !important;
	color: transparent !important;
}
.tecal-coatings-list > li::before,
.et_pb_text .tecal-coatings-list > li::before,
.et_pb_text_inner .tecal-coatings-list > li::before {
	content: "" !important;
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--tecal-accent, #ff1919);
}
.tecal-coatings-list ul,
.et_pb_text .tecal-coatings-list ul,
.et_pb_text_inner .tecal-coatings-list ul {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0.35em 0 0.5em 0;
	padding-left: 1em;
}
.tecal-coatings-list ul li,
.et_pb_text .tecal-coatings-list ul li,
.et_pb_text_inner .tecal-coatings-list ul li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.3em;
	font-size: 0.95em;
	color: #4c555f;
	list-style: none !important;
	list-style-type: none !important;
}
.tecal-coatings-list ul li::marker,
.et_pb_text .tecal-coatings-list ul li::marker,
.et_pb_text_inner .tecal-coatings-list ul li::marker {
	content: "" !important;
	font-size: 0 !important;
	color: transparent !important;
}
.tecal-coatings-list ul li::before,
.et_pb_text .tecal-coatings-list ul li::before,
.et_pb_text_inner .tecal-coatings-list ul li::before {
	content: "–" !important;
	position: absolute;
	left: 0;
	color: var(--tecal-accent, #ff1919);
	background: none !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	top: 0;
}
.service-card-column-v2 .et_pb_text h3 {
	line-height: 1.25em;
}
.service-card-column-v2 .tecal-sector-hidden-title {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Tarjetas Productos: recortar triángulo rojo del hover (clases estables; no depender de et_pb_image_N en caché Divi) */
.service-card-column-v2 .et_pb_image.card-overlay-triangle.service-card-v2 {
	overflow: hidden;
	position: relative;
}

.service-card-column-v2 .et_pb_image.card-overlay-triangle.service-card-v2 .et_pb_image_wrap {
	overflow: hidden;
	display: block;
}

/* Bloque Productos: fondo gris acero + rombo (respaldo si et-cache no genera section_4 en front) */
body.home #page-container .et_pb_section:has(.service-card-column-v2),
body.page-id-20908 #page-container .et_pb_section:has(.service-card-column-v2) {
	background-color: var(--gcid-b9977658-4716-4f1b-8f0f-15b61fc8dfd9, var(--tecal-steel, #4c555f)) !important;
	background-image: url("../../uploads/2026/05/corner-dots-left-top-light.png");
	background-repeat: no-repeat;
	background-size: initial;
	background-position: left top;
}

/* Barra superior Theme Builder (clases estables; no usar índices _0_tb_header) */
.et-l--header .top-custom-header .tecal-topbar-emphasis,
.et-l--header .top-custom-header .tecal-topbar-emphasis em,
.et-l--header .top-custom-header span[style*="ff1919"] em {
	color: #ff1919 !important;
	font-style: italic;
}

/* Hero: "Tecal Química, S.A." (solo inicio; no usar .et_pb_section_0/.et_pb_text_0 sin scope: Divi los repite en cada página) */
body.home #page-container .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner,
body.home #page-container .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner p,
body.page-id-20908 #page-container .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner,
body.page-id-20908 #page-container .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner p,
body.page-id-20937 #page-container .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner,
body.page-id-20937 #page-container .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner p {
	color: var(--tecal-accent, #ff1919) !important;
}

/* Hero: tres columnas (Who we are / Our projects / Our expertise) */
.blurbs-hero .et_pb_blurb_0 .et_pb_module_header,
.blurbs-hero .et_pb_blurb_1 .et_pb_module_header,
.blurbs-hero .et_pb_blurb_2 .et_pb_module_header {
	color: var(--tecal-accent, #ff1919) !important;
}

.blurbs-hero .et_pb_blurb_0:hover,
.blurbs-hero .et_pb_blurb_1:hover,
.blurbs-hero .et_pb_blurb_2:hover,
.et-db #et-boc .et-l .blurbs-hero .et_pb_blurb_0:hover,
.et-db #et-boc .et-l .blurbs-hero .et_pb_blurb_1:hover,
.et-db #et-boc .et-l .blurbs-hero .et_pb_blurb_2:hover {
	background-color: var(--tecal-accent, #ff1919) !important;
}

/* Inicio: botones rojos "Read More" — hover gris oscuro + texto blanco */
body.home #page-container .et_pb_section .et_pb_button:not(.et_pb_button_7):not(.et_pb_button_10):not(.et_pb_button_11):not(.et_pb_button_12):not(.et_pb_button_14):hover,
body.page-id-20908 #page-container .et_pb_section .et_pb_button:not(.et_pb_button_7):not(.et_pb_button_10):not(.et_pb_button_11):not(.et_pb_button_12):not(.et_pb_button_14):hover,
body.page-id-20937 #page-container .et_pb_section .et_pb_button:not(.et_pb_button_7):not(.et_pb_button_10):not(.et_pb_button_11):not(.et_pb_button_12):not(.et_pb_button_14):hover,
body.home #page-container .et_pb_section .et_pb_contact_form_0 .et_pb_button:hover,
body.page-id-20908 #page-container .et_pb_section .et_pb_contact_form_0 .et_pb_button:hover,
body.page-id-20937 #page-container .et_pb_section .et_pb_contact_form_0 .et_pb_button:hover {
	background-color: var(--tecal-text, #2a2a2a) !important;
	color: #fff !important;
	border-color: var(--tecal-text, #2a2a2a) !important;
}

/* Bloque Productos (solo inicio): eyebrow y enlace "Ver todos los productos" */
body.home #page-container .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner,
body.home #page-container .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner p,
body.page-id-20908 #page-container .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner,
body.page-id-20908 #page-container .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner p,
body.page-id-20937 #page-container .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner,
body.page-id-20937 #page-container .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner p,
.et-db #et-boc .et-l body.home .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner,
.et-db #et-boc .et-l body.home .et_pb_section_4 .et_pb_text_24 .et_pb_text_inner p {
	color: #ff5050 !important;
}

/* Enlace "Ver todos los productos": #ff5050 por defecto, blanco al hover (solo inicio) */
body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7,
body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:link,
body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:visited,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:link,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:visited,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:link,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:visited,
.et-db #et-boc .et-l body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7 {
	color: #ff5050 !important;
}

body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover,
body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus,
.et-db #et-boc .et-l body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover,
.et-db #et-boc .et-l body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus {
	color: #ffffff !important;
}

body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:after,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:after,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:after,
.et-db #et-boc .et-l body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:after {
	color: #ff5050 !important;
}

body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover:after,
body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus:after,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover:after,
body.page-id-20908 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus:after,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover:after,
body.page-id-20937 #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus:after,
.et-db #et-boc .et-l body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:hover:after,
.et-db #et-boc .et-l body.home #page-container .et_pb_section_4 a.et_pb_button.et_pb_button_7:focus:after {
	color: #ffffff !important;
}

/* Logo Tecal (SVG) — máximo dentro de la barra sin aumentar su altura */
#logo,
.et-l--header .et_pb_menu__logo-wrap img,
.header-menu .et_pb_menu__logo-wrap img,
.header-menu .et_pb_menu__logo img {
	height: 68px;
	width: auto;
	max-width: 280px;
	display: block;
}

/* Logo alineado con el menú (sin hueco vertical extra) */
.et-l--header .header-menu .et_pb_menu__logo-wrap,
#logo {
	margin-top: 0;
	margin-bottom: 0;
}

/*
 * =============================================================================
 * CABECERA GLOBAL (Theme Builder) — OBLIGATORIO EN TODAS LAS PÁGINAS
 * =============================================================================
 * Divi renombra módulos por página (et_pb_menu_0_tb_header → menu_1, row_3…).
 * El CSS generado por Divi solo coincide en páginas con poco contenido.
 * NUNCA estilizar la cabecera con índices (_0_tb_header, _1_tb_header, etc.).
 *
 * Usar siempre estas clases del layout TB (presentes en todas las páginas):
 *   .et-l--header              contenedor cabecera
 *   .top-custom-header          barra gris (eslogan + teléfono; oculta en escritorio si el eslogan va junto al logo)
 *   .tecal-header-tagline       eslogan junto al logo en barra roja
 *   .blurb-header-phone         teléfono (+34) 93 713 34 17
 *   .header-column             columna logo + menú
 *   .header-menu               menú principal + selector de idiomas (.tecal-lang-switcher)
 *   .header-slide-in-icon      hamburguesa demo (oculta en escritorio)
 *   .custom-menu-v1-button      fila "Get in touch" (oculta)
 *
 * Valores de referencia (igual que Inicio / Página de ejemplo):
 *   --tecal-header-tagline-min-width: 1400px   ancho mínimo para mostrar eslogan junto al logo
 *   Menú primario: fondo Tecal Ferrari (#ED2228), enlaces blancos 17px, activo resaltado en blanco
 *   Teléfono: 14px, var(--tecal-text)
 *   Sin padding vertical en fila del menú ni margen del logo
 *
 * CSS de contenido por página: usar clases propias (.blurbs-hero) o
 * body.page-id-XXXX / body.home — no et_pb_section_N suelto.
 * =============================================================================
 */

/* Cabecera global Theme Builder (Divi 5) — clases estables, no índices por página */
.et-l--header {
	position: relative;
	z-index: 100;
	background-color: var(--tecal-white);
	--tecal-header-gutter: 25px;
	--tecal-header-menu-bg: var(--tecal-ferrari, #ED2228);
	--tecal-header-menu-min-height: 76px;
	--tecal-header-menu-divider: #ffffff;
	--tecal-header-tagline-min-width: 1400px;
}

.et-l--header > .et_builder_inner_content > .et_pb_section {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background-color: var(--tecal-white) !important;
	box-shadow: 0 12px 25px -6px rgba(0, 0, 0, 0.2);
	z-index: 10;
}

.et-l--header .top-custom-header {
	background-color: #f2f2f2;
	max-width: 100% !important;
	width: 100% !important;
	padding: 5px var(--tecal-header-gutter) !important;
}

.et-l--header .et_pb_row:has(.header-column) {
	max-width: 100% !important;
	width: 100% !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.et-l--header .header-menu.et_pb_menu {
	background-color: var(--tecal-header-menu-bg, #ED2228) !important;
	padding-left: var(--tecal-header-gutter) !important;
	padding-right: var(--tecal-header-gutter) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	min-height: var(--tecal-header-menu-min-height, 76px);
	overflow: visible !important;
	box-sizing: border-box;
}

.et-l--header .header-menu .et_pb_menu_inner_container {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	min-height: calc(var(--tecal-header-menu-min-height, 76px) - 8px);
	justify-content: flex-start !important;
}

.et-l--header .header-menu.et_pb_menu--style-left_aligned .et_pb_menu__menu > nav > ul {
	margin-right: 0 !important;
}

.et-l--header .blurb-header-phone .et_pb_blurb_content {
	max-width: none !important;
	width: 100%;
}

.et-l--header .header-menu .tecal-header-tagline {
	display: none !important;
}

/* Fila demo "Get in touch": oculta en escritorio (como CSS dinámico de Divi en páginas simples) */
@media (min-width: 981px) {
	.et-l--header .et_pb_row:has(> .et_pb_column .et_pb_text.custom-menu-v1-button) {
		display: none !important;
	}
}

/* Escritorio: menú horizontal */
@media (min-width: 981px) {
	/* Eslogan junto al logo (barra roja); la barra gris queda oculta en escritorio */
	.et-l--header .top-custom-header {
		display: none !important;
	}

	.et-l--header .header-column {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex-wrap: nowrap !important;
		width: 100%;
	}

	.et-l--header .header-menu.et_pb_menu {
		flex: 1 1 auto;
		min-width: 0;
	}

	.et-l--header .header-menu .et_pb_menu_inner_container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		width: 100% !important;
		justify-content: flex-start !important;
	}

	.et-l--header .header-menu .et_pb_menu__logo-wrap {
		flex: 0 0 auto;
		line-height: 0;
	}

	.et-l--header .header-menu .et_pb_menu__logo-wrap img,
	.header-menu .et_pb_menu__logo-wrap img {
		height: 68px !important;
		max-width: 280px !important;
	}

	.et-l--header .header-menu .et_pb_menu__wrap {
		display: flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: flex-end !important;
		overflow: visible !important;
		margin-left: auto !important;
		min-width: 0;
	}

	.et-l--header .header-menu .et_pb_menu__menu {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0;
		overflow: visible !important;
	}

	.et-l--header .header-menu .et_pb_menu__menu,
	.et-l--header .header-menu .et_pb_menu__menu > nav,
	.et-l--header .header-menu .et_pb_menu__menu > nav > ul {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.et-l--header .header-menu .et_pb_menu__menu > nav > ul > li {
		display: flex !important;
		align-items: center !important;
		list-style: none !important;
	}

	/* Productos: mismo <a> que el resto pero sin navegación (hover en el li abre submenú) */
	.et-l--header .header-menu .et-menu > li.tecal-menu-no-link > a.tecal-menu-label {
		pointer-events: none;
		cursor: default;
	}

	/* Submenú Productos: desplegar bajo el ítem padre sin tapar el texto */
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children {
		position: relative !important;
	}

	.et-l--header .header-menu.de-custom-menu .nav li.menu-item-has-children > ul,
	.et-l--header .header-menu.de-custom-menu .et-menu-nav > ul > li.menu-item-has-children > ul,
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > ul.sub-menu {
		top: 100% !important;
		left: 0 !important;
		margin-top: 1px !important;
		border-top: 3px solid var(--tecal-accent, #ff1919) !important;
		border-top-color: var(--tecal-accent, #ff1919) !important;
		z-index: 100010 !important;
		pointer-events: auto !important;
	}

	/* Puente invisible: el hueco entre Productos y el desplegable no pierde el hover */
	.et-l--header .header-menu.de-custom-menu .nav li.menu-item-has-children > ul::before,
	.et-l--header .header-menu.de-custom-menu .et-menu-nav > ul > li.menu-item-has-children > ul::before,
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > ul.sub-menu::before {
		content: "";
		position: absolute;
		top: -12px;
		left: 0;
		width: 100%;
		height: 12px;
		background: transparent;
	}

	.et-l--header .header-menu .nav li.menu-item-has-children:hover > ul,
	.et-l--header .header-menu .nav li.menu-item-has-children.et-hover > ul,
	.et-l--header .header-menu .nav li.menu-item-has-children > ul:hover {
		opacity: 1 !important;
		visibility: visible !important;
	}

	.et-l--header .header-menu .et_pb_menu__wrap,
	.et-l--header .header-menu .et_pb_menu__menu,
	.et-l--header .header-menu .et_pb_menu__menu > nav,
	.et-l--header .header-menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children {
		overflow: visible !important;
	}

	.et-l--header .header-menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > .tecal-menu-label,
	.et-l--header .header-menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a {
		position: relative;
		z-index: 2;
	}

	/* Selector de idioma ES | CA | EN (junto al menú, fuera del ul) */
	.et-l--header .header-menu .tecal-lang-switcher-desktop {
		display: flex !important;
		flex: 0 0 auto;
		align-items: center;
		margin-left: 28px;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile {
		display: none !important;
	}

	.et-l--header .header-menu .tecal-lang-switcher__list {
		display: inline-flex;
		flex-direction: row;
		align-items: stretch;
		margin: 0;
		padding: 0;
		list-style: none;
		gap: 0;
	}

	.et-l--header .header-menu .tecal-lang-switcher__cell {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.et-l--header .header-menu .tecal-lang-switcher__item {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 46px;
		height: 38px;
		line-height: 38px;
		padding: 0 10px;
		border: 1px solid rgba(255, 255, 255, 0.45);
		background: rgba(255, 255, 255, 0.08);
		color: #ffffff !important;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0.02em;
		text-decoration: none;
		margin-left: -1px;
	}

	.et-l--header .header-menu .tecal-lang-switcher__cell:first-child .tecal-lang-switcher__item {
		margin-left: 0;
		border-top-left-radius: 999px;
		border-bottom-left-radius: 999px;
	}

	.et-l--header .header-menu .tecal-lang-switcher__cell:last-child .tecal-lang-switcher__item {
		border-top-right-radius: 999px;
		border-bottom-right-radius: 999px;
	}

	.et-l--header .header-menu .tecal-lang-switcher__item.is-active,
	.et-l--header .header-menu .tecal-lang-switcher__item[aria-current="true"] {
		position: relative;
		z-index: 1;
		background: #ffffff !important;
		border-color: #ffffff !important;
		color: var(--tecal-ferrari, #ED2228) !important;
		opacity: 1 !important;
	}

	/* Enlaces menú sobre fondo rojo (no aplica al selector de idiomas) */
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > a,
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > .tecal-menu-label {
		color: #ffffff !important;
		opacity: 0.92;
	}

	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > a:hover,
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > a:focus,
	.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > .tecal-menu-label:hover {
		color: #ffffff !important;
		opacity: 1;
	}

	.et-l--header .header-menu.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li {
		border-left: 0 !important;
		box-shadow: none !important;
		position: relative;
	}

	.et-l--header .header-menu.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li::before,
	.et-l--header .header-menu.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li::after {
		content: none !important;
		display: none !important;
	}

	/* Separador 1px sólido (mismo grosor en todos los ítems; evita subpíxeles del ::before) */
	.et-l--header .header-menu.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li + li {
		border-left: 1px solid var(--tecal-header-menu-divider, #ffffff) !important;
	}

	/* Ocultar ítems antiguos Polylang en menú (si siguieran en BD) */
	.et-l--header .header-menu .et_pb_menu__menu > nav > ul > li.lang-item,
	.et-l--header .header-menu .et_pb_menu__menu > nav > ul > li.lang-sep,
	.et-l--header .header-menu .tecal-lang-switcher-menu-item {
		display: none !important;
	}

	/* Menú principal: enlace activo (blanco sólido sobre rojo) */
	.et-l--header .header-menu.et_pb_menu ul li.current-menu-item > a,
	.et-l--header .header-menu.et_pb_menu ul li.current-menu-ancestor > a,
	.et-l--header .header-menu.et_pb_menu ul:not(.sub-menu) > li.current-menu-ancestor > a,
	.et-l--header .header-menu.et_pb_menu ul li.tecal-menu-no-link.current-menu-ancestor > .tecal-menu-label,
	.et-l--header .header-menu.et_pb_menu ul:not(.sub-menu) > li.tecal-menu-no-link.current-menu-ancestor > .tecal-menu-label {
		color: #ffffff !important;
		opacity: 1 !important;
		font-weight: 700;
	}

	.et-l--header .header-menu .et_mobile_nav_menu {
		display: none !important;
	}

	.et-l--header .header-slide-in-icon {
		display: none !important;
	}
}

/* Eslogan: solo pantallas anchas (evita solapamiento con el menú) */
@media (min-width: 1400px) {
	.et-l--header .header-menu .tecal-header-tagline,
	.et-l--header .header-menu.et_pb_text_align_right .tecal-header-tagline,
	.et-l--header .header-menu.et_pb_text_align_right-tablet .tecal-header-tagline,
	.et-l--header .header-menu.et_pb_text_align_right-phone .tecal-header-tagline {
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		align-self: center;
		flex: 0 1 auto;
		min-width: 0;
		max-width: 360px;
		margin-left: 18px;
		margin-right: 0;
		padding-right: 12px;
		text-align: left !important;
	}

	.et-l--header .header-menu .tecal-header-tagline__line,
	.et-l--header .header-menu.et_pb_text_align_right .tecal-header-tagline__line,
	.et-l--header .header-menu.et_pb_text_align_right-tablet .tecal-header-tagline__line,
	.et-l--header .header-menu.et_pb_text_align_right-phone .tecal-header-tagline__line {
		margin: 0;
		padding: 0;
		width: 100%;
		text-align: left !important;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.22;
		color: #ffffff !important;
	}

	.et-l--header .header-menu .tecal-header-tagline__line--emphasis,
	.et-l--header .header-menu .tecal-header-tagline__line--emphasis em {
		font-style: italic;
		font-weight: 700;
		color: #ffffff !important;
	}
}

/* Móvil / tablet: hamburguesa Divi + logo legible */
@media (max-width: 980px) {
	/* Barra gris superior + fila demo "Get in touch" (índices Divi varían por página) */
	.et-l--header .top-custom-header,
	.et-l--header .et_pb_row:has(> .et_pb_column .et_pb_text.custom-menu-v1-button) {
		display: none !important;
	}

	.et-l--header .header-column {
		display: block !important;
		width: 100%;
	}

	.et-l--header .header-menu .et_pb_menu_inner_container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		width: 100% !important;
	}

	.et-l--header .header-menu .et_pb_menu__logo-wrap {
		flex: 0 1 auto;
		max-width: calc(100% - 56px);
	}

	.et-l--header .header-menu .et_pb_menu__logo-wrap img,
	.header-menu .et_pb_menu__logo-wrap img {
		height: 60px !important;
		width: auto !important;
		max-width: 240px !important;
		min-width: 120px;
	}

	/* Ocultar menú de escritorio (evita enlaces cortados) */
	.et-l--header .header-menu .et_pb_menu__menu {
		display: none !important;
	}

	.et-l--header .header-menu .tecal-lang-switcher-desktop {
		display: none !important;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile {
		display: flex !important;
		align-items: center;
		flex: 0 0 auto;
		margin-left: auto;
		margin-right: 10px;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__list {
		display: inline-flex;
		flex-direction: row;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__cell {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__item {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 42px;
		height: 34px;
		padding: 0 8px;
		border: 1px solid rgba(255, 255, 255, 0.45);
		background: rgba(255, 255, 255, 0.08);
		color: #ffffff !important;
		font-size: 13px;
		font-weight: 600;
		text-decoration: none;
		margin-left: -1px;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__cell:first-child .tecal-lang-switcher__item {
		margin-left: 0;
		border-top-left-radius: 999px;
		border-bottom-left-radius: 999px;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__cell:last-child .tecal-lang-switcher__item {
		border-top-right-radius: 999px;
		border-bottom-right-radius: 999px;
	}

	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__item.is-active,
	.et-l--header .header-menu .tecal-lang-switcher-mobile .tecal-lang-switcher__item[aria-current="true"] {
		background: #ffffff !important;
		border-color: #ffffff !important;
		color: var(--tecal-ferrari, #ED2228) !important;
		opacity: 1 !important;
	}

	.et-l--header .header-menu .mobile_menu_bar:before {
		font-size: 32px;
		color: #ffffff;
	}

	.et-l--header .header-menu .et_pb_menu__wrap {
		display: flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: auto !important;
	}

	.et-l--header .header-menu .et_mobile_nav_menu {
		display: block !important;
		float: none !important;
		margin: 0 !important;
	}

	.et-l--header .header-menu .mobile_menu_bar {
		display: block !important;
		position: relative;
		z-index: 10;
	}

	/* Icono slide-in del demo: desactivado en móvil en Divi; asegurar que no robe espacio */
	.et-l--header .header-slide-in-icon {
		display: none !important;
	}

	.et-l--header .header-menu .et_pb_menu__wrap {
		padding-right: 10px !important;
	}
}

/* ########################### */
/* ###### CHANGE COLORS ###### */
/* ########################### */

/* ### Vertical line with dot ### */
.dot-right-bottom:after,
.dot-left-top:after,
.dot-left-bottom:after,
.dot-right-top:after,
.sub-page-dot.dot-right-bottom:after {
    color: var(--tecal-accent); /* Dot color */
}

/* ### Border bottom line dropdown menu ### */
.de-custom-menu .nav li li {
    border-top: 1px solid rgba(0, 0, 0, 0.1); /* Border line color */
}

.header-v2 .de-custom-menu .nav li li,
.header-v3 .de-custom-menu .nav li li,
.header-v4 .de-custom-menu .nav li li {
    border-top: 1px solid rgba(255, 255, 255, 0.2); /* Border line color */
}

/* #### Collaping Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	color: var(--tecal-accent); /* Icon color */
	background: #f1f1f1; /* Icon background color */
}

/* ### Slide icons color - home page ### */
.slide-active .et_pb_icon_wrap,
.slide-icon:hover .et_pb_icon_wrap {
	background-color: var(--tecal-accent); /* Background icon */
	border: 1px solid var(--tecal-accent); /* Border icon */
    color: #fff; /* Icon color */
}

.slide-active .et_pb_icon_wrap .et-pb-icon,
.slide-icon:hover .et_pb_icon_wrap .et-pb-icon {
	color: #fff !important; /* Icon hover color */
}

/* ### Service card V2 ### */
.card-overlay-triangle:before {
	background-color: var(--tecal-accent); /* Background triangle */
}

.active-card-v2 .service-card-v2:before {
	background-color: color-mix(in srgb, var(--tecal-accent) 76%, transparent);
}

.card-overlay-triangle:after {
	content: var(--tecal-read-more, "Leer Más"); /* Polylang: EN → Read More */
	color: #ffffff; /* Read more text color */
}

/* ### Person module ### */
.person-module .et_pb_member_social_links {
    background-color: var(--tecal-accent); /* Social link background color */
}

.person-module .et_pb_team_member_image:before {
	content: var(--tecal-read-more, "Leer Más"); /* Polylang: EN → Read More */
	background-color: color-mix(in srgb, var(--tecal-steel) 74%, transparent);
    color: #fff; /* Read more text color */	
}

/* Entradas del blog: cuerpo gris oscuro, 16px, peso 400 (Theme Builder + editor clásico) */
body.single-post .et_pb_post_content,
body.single-post .et_pb_post_content p,
body.single-post .et_pb_post_content li,
body.single-post .entry-content .et_pb_text .et_pb_text_inner,
body.single-post .entry-content .et_pb_text .et_pb_text_inner p,
body.single-post .entry-content .et_pb_text .et_pb_text_inner li,
body.single-post .entry-content .et_pb_post_content p,
body.single-post .entry-content .et_pb_post_content li {
	color: var(--tecal-text, #2a2a2a) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5em !important;
}

/* Entradas del blog: espacio imagen destacada → texto (solo plantilla clásica sin TB) */
body.single-post:not(.et-tb-has-body) .entry-content .et_pb_section {
	padding-top: 12px !important;
}

/* Entradas TB: menos margen interior de la caja de contenido (layout tenía 50px) */
body.single-post.et-tb-has-body #page-container .et_pb_column[class*="_tb_body"]:has(> .et_pb_post_content),
body.single-post.et-tb-has-body #page-container .et_pb_column_5_tb_body {
	padding: 40px 20px !important;
}

/* Respaldo si alguna entrada conserva bloques Divi dentro del módulo de contenido */
body.single-post.et-tb-has-body #page-container .et_pb_post_content .et-l--post .et_pb_section,
body.single-post.et-tb-has-body #page-container .et_pb_post_content .et-l--post .et_pb_row,
body.single-post.et-tb-has-body #page-container .et_pb_post_content .et-l--post .et_pb_column {
	padding: 0 !important;
	margin: 0 !important;
}

@media (max-width: 980px) {
	body.single-post.et-tb-has-body #page-container .et_pb_column[class*="_tb_body"]:has(> .et_pb_post_content),
	body.single-post.et-tb-has-body #page-container .et_pb_column_5_tb_body {
		padding: 32px 16px !important;
	}
}

body.single-post.et-tb-has-body .et_pb_post_content {
	padding-top: 0 !important;
	margin: 0 !important;
}

/* Cabecera de entrada: fecha y categoría legibles sobre imagen */
body.single-post.et-tb-has-body #page-container .et_pb_post_title_0_tb_body .et_pb_title_meta_container,
body.single-post.et-tb-has-body #page-container .et_pb_post_title_0_tb_body .et_pb_title_meta_container a {
	color: #ffffff !important;
	font-size: 16px !important;
	text-align: center !important;
}

/* Módulo blog (listados): hover imagen rojo Tecal + "Leer Más", como bloque productos */
.et_pb_blog .et_pb_post .et_overlay,
.et_pb_blog_grid .et_pb_post .et_overlay {
	background-color: color-mix(in srgb, var(--tecal-accent, #ff1919) 76%, transparent) !important;
	border: none !important;
}

.et_pb_blog .et_pb_post .et_overlay:before,
.et_pb_blog_grid .et_pb_post .et_overlay:before {
	content: var(--tecal-read-more, "Leer Más") !important;
	font-family: inherit !important;
	font-size: 21px !important;
	font-weight: 900 !important;
	color: #ffffff !important;
}

/* ### Blog listado (Noticias): 3 columnas + sidebar 1/4 ### */
.blog-grid-3 .et_pb_blog_posts.et_grid_module,
.blog-grid-2 .et_pb_blog_posts.et_grid_module {
	column-gap: 20px;
	row-gap: 28px;
}

.blog-grid-3 .et_pb_blog_posts.et_grid_module > article.et_pb_post,
.blog-grid-2 .et_pb_blog_posts.et_grid_module > article.et_pb_post {
	margin-bottom: 0 !important;
	padding-bottom: 20px;
	border-bottom: 5px solid var(--tecal-accent, #ff1919);
	height: 100%;
	box-sizing: border-box;
}

.blog-grid-3 .et_pb_blog_posts.et_grid_module > article.et_pb_post .entry-title,
.blog-grid-3 .et_pb_blog_posts.et_grid_module > article.et_pb_post .entry-title a {
	font-size: 20px !important;
	line-height: 1.25 !important;
}

.blog-grid-3 .et_pb_blog_posts.et_grid_module > article.et_pb_post .post-content-inner,
.blog-grid-3 .et_pb_blog_posts.et_grid_module > article.et_pb_post .post-meta {
	font-size: 14px !important;
	line-height: 1.45 !important;
}

@media (max-width: 980px) {
	.blog-grid-3 .et_pb_blog_posts.et_grid_module {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.blog-grid-3 .et_pb_blog_posts.et_grid_module,
	.blog-grid-2 .et_pb_blog_posts.et_grid_module {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ### Blog fullwidth ### */
.blog-fullwidth article {
	border-bottom: 5px solid var(--tecal-accent) !important; /* Bottom border color */
}

.blog-sidebar .et_pb_widget {
    border-bottom: 5px solid var(--tecal-accent); /* Bottom border color */
	background-color: #fff; /* Widget background color */
}

.blog-sidebar .et_pb_widget ul li::before {
    color: var(--tecal-accent);	/* Widget list icon color */
}

/* ### Header V2 ### */
.header-v2 .header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    border-left: 1px solid #767676; /* Header vertical line color */
}

/* ### Header V4 ### */
.header-v4 .de-custom-menu li.current-menu-item,
.header-v4 .de-custom-menu li:hover {
    background-color: var(--tecal-accent);	/* Background color */	
}

.header-v4 .de-custom-menu.et_pb_menu ul li.current-menu-item a,
.header-v4 .de-custom-menu.et_pb_menu ul li:hover a {
	color: #fff !important /* Text color */;
	opacity: 1;
}

/* ### Slide-in scrollbar ### */
#style-scrollbar::-webkit-scrollbar-track,
#style-scrollbar::-webkit-scrollbar {
  background-color: #F5F5F5; /* Scroll bar color */
}

#style-scrollbar::-webkit-scrollbar-thumb {
  background-color: var(--tecal-accent); /* Scroll bar handle color */
}

/* ### END COLORS ### */

/* Comentarios desactivados (ver includes/tecal-comments.php) */
body.single-post #comment-wrap,
body.single-post #respond,
body.single-post #commentform,
.et_pb_comments_module,
.blog-sidebar .widget_recent_comments,
.blog-sidebar .wp-block-latest-comments,
.blog-sidebar .wp-block-group:has(.wp-block-latest-comments) {
	display: none !important;
}

/* ### Menu ### */
.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul li a,
.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul li a:link,
.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul li a:visited,
.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul li .tecal-menu-label {
	font-size: 17px !important;
	opacity: 1 !important;
}

.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > a,
.et-l--header .header-menu.et_pb_menu .et_pb_menu__menu ul:not(.sub-menu):not(.tecal-lang-switcher__list) > li > .tecal-menu-label {
	color: #ffffff !important;
}

/* Selector de idiomas: activo rojo sobre blanco; resto blanco sobre rojo */
.et-l--header .header-menu .tecal-lang-switcher a.tecal-lang-switcher__item,
.et-l--header .header-menu .tecal-lang-switcher a.tecal-lang-switcher__item:link,
.et-l--header .header-menu .tecal-lang-switcher a.tecal-lang-switcher__item:visited {
	color: #ffffff !important;
}

.et-l--header .header-menu .tecal-lang-switcher a.tecal-lang-switcher__item.is-active,
.et-l--header .header-menu .tecal-lang-switcher a.tecal-lang-switcher__item[aria-current="true"] {
	color: var(--tecal-ferrari, #ED2228) !important;
	background: #ffffff !important;
	border-color: #ffffff !important;
	opacity: 1 !important;
}

.et-l--header .header-menu.et_pb_menu .sub-menu li a,
.et-l--header .header-menu.et_pb_menu .sub-menu li .tecal-menu-label {
	color: var(--tecal-text, #2a2a2a) !important;
}

.header-menu .et_pb_menu_inner_container {
	height: 100%;
}

.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 0;
    border-left: 0;
    position: relative;
    padding: 0px 20px;
}

.et-l--header .header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    border-left: 0;
}

.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a,
.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>.tecal-menu-label {
    align-self: center;
}

.header-column {
	display:flex;
}

.header-menu {
	display: flex;
    align-items: center;
}

.de-custom-menu,
.et_pb_menu_inner_container {
	width: 100%;
}

.blurb-header-phone .et_pb_blurb_content {
	display: flex;
    justify-content: flex-end;
	align-items: center;
}

.blurb-header-phone .et_pb_main_blurb_image {
	margin-bottom: 0px;
}

.blurb-header-phone h4.et_pb_module_header {
	padding-bottom: 0px;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--tecal-text, #2a2a2a) !important;
	text-transform: none !important;
}

.top-custom-header {
	display: flex;
    align-items: center;
}

@media (max-width: 980px) {
.de-custom-menu.et_pb_menu .et_mobile_nav_menu {
    float: right;
}}

.header-slide-in-icon .et_pb_icon_wrap  {
	height: 100%;
	display: flex;
    align-items: center;
}

.hero-home-column-1 {
	-webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(6px);
}

.de-custom-menu .et-menu li li.menu-item-has-children>a:first-child:after {
    top: 12px !important;
}

/* ### Menu header V4 ### */
.header-v4 .de-custom-menu li {
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
}

.header-v4 .de-custom-menu {
	padding-right: 0px !important;
}

/* ########## Dropdown menu ########### */

.de-custom-menu.et_pb_menu .et-menu-nav>ul ul {
    padding: 0px 0 !important;
	border-radius: 8px;
}

.de-custom-menu .nav li li {
	padding: 0 0px !important;
}

.de-custom-menu .nav li ul {
    width: 240px;
}

.de-custom-menu .et-menu li li a {
    width: 240px !important;
	padding: 12px 20px;
	font-size: 14px !important;
}

.et-l--header .header-menu.de-custom-menu .nav li ul.sub-menu li a:hover,
.et-l--header .header-menu.de-custom-menu .nav li ul.sub-menu li a:focus,
.et-l--header .header-menu.et_pb_menu .nav li ul.sub-menu li a:hover,
.et-l--header .header-menu.et_pb_menu .nav li ul.sub-menu li a:focus {
	background-color: #e0e0e0 !important;
	opacity: 1 !important;
	color: var(--tecal-text, #2a2a2a) !important;
}

.de-custom-menu .nav li li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.de-custom-menu .fas {
	padding-right: 10px;
}

/* ### General ### */

@media (max-width: 980px) {
.remove-margin-column {
	margin-bottom: 0px !important;
}}

/* ### Logos row ### */
@media (min-width: 981px) {
.logos-row {
    display: flex;
    align-items: center;
}}

/* ### Circle counter percent ### */
.circle-counter-percent .percent-sign {
	font-size:26px;
}

/* ### Projects special section ### */

@media (min-width: 981px) {
.project-special-section .et_pb_column.et_pb_column_1_2>.et_pb_row_inner.et_pb_gutters2>.et_pb_column_1_4, .project-special-section .et_pb_gutters2 .et_pb_column_1_2>.et_pb_row_inner>.et_pb_column_1_4 {
    width: 49.25%;
    margin-right: 1.5%;
}

.project-special-section .et_pb_gutters2 .et_pb_column_1_2, .project-special-section .et_pb_gutters2.et_pb_row .et_pb_column_1_2 {
    width: 49.65%;
    margin-right: 0.7%;
}

.project-overlay:before {
	content: '';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
	opacity:0;
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
	background-color: rgb(0 0 0 / 43%);
}

.project-overlay:hover:before {
	opacity:1;
}}

/* ### Projects section 2 columns ### */
@media (min-width: 981px) {
.project-row.et_pb_gutters2 .et_pb_column_1_2, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_2 {
    width: 49.75%;
}

.project-row.et_pb_gutters2 .et_pb_column, .project-row.et_pb_gutters2.et_pb_row .et_pb_column {
    margin-right: 0.5%;
}}

/* ### Projects section 4 columns ### */
@media (min-width: 981px) {
.project-row.et_pb_gutters2 .et_pb_column_1_4, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_4 {
    width: 24.625%;
}}

/* ### Projects section 5 columns ### */
@media (min-width: 981px) {
.project-row.et_pb_gutters2 .et_pb_column_1_5, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_5 {
    width: 19.6%;
}}

/* ### Projects overlay columns ### */
.project-row .et_pb_column:before {
	content: '';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
	opacity:0;
	z-index:-1;
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
	background-color: rgb(0 0 0 / 43%);
}

.project-row .et_pb_column:hover:before {
	opacity:1;
} 

/* ### Custom slider ### */

/* ### Slide icons ### */
.slide-active .et_pb_icon_wrap,
.slide-icon:hover .et_pb_icon_wrap {
	cursor: pointer;
}

.slide-icon .et_pb_icon_wrap {
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;	
}

.icon-row {
	display: flex;
	flex-wrap: wrap;
}

#slider-icon-row .slide-icon {
	margin-left: 0px !important;
    margin-right: 20px !important;	
}

/* ### Slide text ### */
.slider-text {
	display: none;
}

.slider-text.active-slide-text {
	display: block;
}

/* ### Slide image ### */
.slider-image {
	position: absolute;
	visibility: hidden;
  	opacity: 0;
}

.slider-image.active-slide-image {
	visibility: visible;
  	opacity: 1;
	position: relative;
}

/* ### Service card V1 ### */
.service-card-blurb-v1 {
	position: absolute;
    bottom: -125px;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-blurb-v1 .service-card-blurb-v1 {
	bottom: 0px;
}

/* ### Service card V2 ### */
.card-overlay-triangle:before {
	content:"";
	width: 100%;
	height: 100%;
	position: absolute;
	top:-70%;
	right:-70%;
	z-index: 9;
	transform: rotate(45deg);
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-v2 .service-card-v2:before {
	width: 300%;
	height: 300%;
}

.card-overlay-triangle:after {
	font-size: 21px;
	font-weight: 900;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
	opacity:0;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-v2 .service-card-v2:after {
	opacity: 1;
}

/* ### Service card V3 ### */
.service-card-blurb-v3 {
	position: absolute;
    top: 100%;
	margin-top:-8px;
	height: 100%;
	display: flex;
    align-items: center;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-blurb-v3 .service-card-blurb-v3 {
	top: 0%;
	margin-top:0px;
}

/* ### Service card V3 ### */
.project-blurb {
	position: absolute;
    top: 100%;
	margin-top:-8px;
	height: 100%;
	display: flex;
    align-items: center;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-project .project-blurb {
	top: 0%;
	margin-top:0px;
}

@media (min-width: 981px) {
.project-5-column.et_pb_gutters1 .et_pb_column_1_5, .project-5-column.et_pb_gutters1.et_pb_row .et_pb_column_1_5 {
    width: 19.68%;
}
	
.project-5-column.et_pb_gutters1 .et_pb_column, .project-5-column.et_pb_gutters1.et_pb_row .et_pb_column {
    margin-right: .4%;
}}

/* ### Person module ### */
.person-module .et_pb_member_social_links {
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
    padding: 5px 20px 0px 20px;
	visibility: hidden;
	z-index:-999;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.person-module:hover .et_pb_member_social_links {
	bottom:-32px;
	visibility: visible;
	z-index:1;
}

.et_pb_team_member_description {
	padding: 10px 20px;
}

.et_pb_team_member_description h4.et_pb_module_header {
	padding-bottom: 0px;
}

.person-module .et_pb_team_member_image:before {
	font-size: 18px;
	font-weight: 900;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
	opacity:0;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;	
}

.person-module:hover .et_pb_team_member_image:before {
	opacity:1;
}

/* ### Blurbs under hero ### */
@media (max-width: 479px) {
.blurbs-hero .et_pb_blurb_container {
	padding-left: 6px !important;
}}

/* ### Blog fullwidth (legacy) ### */
.blog-fullwidth article {
    padding-bottom: 45px;	
}

.blog-sidebar .et_pb_widget {
	padding: 25px;
    box-shadow: 0 0 30px 5px rgb(0 0 0 / 10%);
	border-radius: 3px;
}

.blog-sidebar .et_pb_widget ul li::before {
	content: "\25a0";
    font-weight: bold;
    display: inline-block;
    width: 1.5em;
    margin-left: -1.5em;
    margin-top: -2px;
    float: left;	
}

.blog-sidebar.et_pb_widget_area ul {
    margin: 0 0 1.5em 1.5em !important;
}

/* #### Collaping Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	border-radius: 50%;
	padding: 3px;
}

ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after {
	content: '\32';
}

.et_mobile_menu .menu-item-has-children>a {
    font-weight: 500 !important; 
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon {
	text-align: center;
	opacity: 1;
}

/* ### Responsive from 981px ### */

@media (min-width: 981px) and (max-width: 1200px) { 
.hero-home-column-1 {
	padding: 35px !important;	
}}

@media (min-width: 1201px) and (max-width: 1500px) { 
.hero-home-column-1 {
	padding: 75px !important;	
}}

@media (min-width: 981px) and (max-width: 1500px) { 
.hero-home-column-1 h1 {
    font-size: 54px !important;
}}

@media (min-width: 981px) and (max-width: 1100px) { 
.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    padding: 0px 20px !important;
}}

/* ### Responsive from 981px - single service page ### */

@media (min-width: 981px) and (max-width: 1400px) {
.single-service-column-2 {
	padding: 20px !important;
}

.single-service-column-2 .et_pb_blurb_description p {
	font-size: 18px !important;	
}

.single-service-column-2 .et_pb_blurb_0 .et_pb_main_blurb_image .et_pb_image_wrap {
    width: 50px !important;
}}

/* ### Responsive from 981px - project page ### */

@media (min-width: 981px) and (max-width: 1400px) {
.project-column .et_pb_blurb.project-blurb {
	padding-right: 20px!important;
    padding-left: 20px!important;
}

.project-column .et_pb_blurb.project-blurb .et_pb_blurb_description {
	font-size: 12px;
	line-height: 1.5em;
}

.project-column .et_pb_blurb.project-blurb .et_pb_main_blurb_image {
    display: inline-block;
	margin-bottom: 10px;
}}

@media (max-width: 980px) {
.circle-counter-row .et_pb_column_1_6 {
	width: 100%!important;
	margin-right: 0px !important;
	margin-bottom: 30px !important;
}}

/* ### Line dot - top left to right bottom ### */

.dot-right-bottom:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    right: -7px;
	top:65px;	
}

.dot-left-top:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    left: -7px;
	top:-15px;
}

.dot-left-bottom:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    left: -7px;
	top:65px;
}

.dot-right-top:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    right: -7px;
    top: -15px;
}

.sub-page-dot.dot-right-bottom:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    right: -7px;
	top:15px;	
}


.et-l--footer .et_builder_inner_content {
    z-index: 99999;
}

/* Pie Theme Builder (layout original Divi Engineering) */
body.et-tb-has-footer #main-footer {
	display: none !important;
}

.et-l--footer .et_pb_section {
	background-color: #000000 !important;
}

.et-l--footer .et_pb_text h4,
.et-l--footer .et_pb_text h2 {
	color: #ffffff !important;
}

.et-l--footer .et_pb_text a,
.et-l--footer .et_pb_blurb .et_pb_blurb_description {
	color: #9ca5af !important;
}

.et-l--footer .et_pb_text a:hover {
	color: #ffffff !important;
}

.et-l--footer .tecal-accent,
.et-l--footer h2 span[style*="#ff"] {
	color: var(--tecal-accent, #ff1919) !important;
}

/* Pie: espaciado compacto y redes sociales (refuerzo; reglas completas en tecal-footer.php) */
.et-l--footer .et_pb_section_0_tb_footer.et_pb_section {
	padding-bottom: 16px !important;
}

.et-l--footer .et_pb_section_1_tb_footer .et_pb_row_0_tb_footer {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

.et-l--footer .et_pb_text_10_tb_footer .et_pb_text_inner {
	color: #b0b8c0 !important;
}

.et-l--footer .et_pb_social_media_follow {
	margin: 0 !important;
}
  
.slide-in-section .custom-menu-v1-row:before {
  content:"";
  background-color: #000;
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
} 

/* ###  Style scroll bar ### */

#style-scrollbar::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  border-radius: 0px;
}

#style-scrollbar::-webkit-scrollbar {
  width: 10px;
}

#style-scrollbar::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
}

.custom-menu-v1-row {
	overflow: hidden;
  	transform: translateX(100%);
  	transition: all .3s ease;
	opacity:1;
}

.custom-menu-v1-row.active-menu-v1 {
  	overflow: hidden;
  	transform: translateX(0%);
  	transition: all .3s ease;
	opacity:1;
}
  
@media (max-width: 980px) {
.menu-v1-desktop-column {
   	height: 100vh; 
}} 
  
/* ###  Hide on visual builder ### */

.et-fb .slide-image-2,
.et-fb .slide-image-3,
.et-fb .slide-image-4,
.et-fb .slide-image-5,
.et-fb .slide-image-6 {
display: none;
}
