.elementor-kit-290{--e-global-color-primary:#D81B60;--e-global-color-secondary:#1E293B;--e-global-color-text:#0F172A;--e-global-color-accent:#C2185B;--e-global-color-d765ef3:#F8FAFC;--e-global-color-8276bba:#475569;--e-global-color-a8ab310:#02010100;--e-global-color-239f85f:#E2E8F0;--e-global-color-ind0b1a:#FFFFFF;--e-global-color-ind0f1f:#F1F5F9;--e-global-color-ind0ac2:#9D174D;--e-global-color-ind0rso:#F48FB1;--e-global-color-ind0tco:#CBD5E1;--e-global-typography-primary-font-family:"Chivo";--e-global-typography-primary-font-size:80px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Chivo";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:1.05em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:1.5em;--e-global-typography-6f4ef39-font-family:"Inter";--e-global-typography-6f4ef39-font-size:17px;--e-global-typography-6f4ef39-font-weight:600;--e-global-typography-6f4ef39-text-transform:none;--e-global-typography-6f4ef39-line-height:1.25em;--e-global-typography-3449f52-font-family:"Chivo";--e-global-typography-3449f52-font-size:20px;--e-global-typography-3449f52-font-weight:700;--e-global-typography-3449f52-text-transform:none;--e-global-typography-3449f52-line-height:1.25em;--e-global-typography-3449f52-letter-spacing:-0.01em;--e-global-typography-dd67cb1-font-family:"Chivo";--e-global-typography-dd67cb1-font-size:80px;--e-global-typography-dd67cb1-font-weight:800;--e-global-typography-dd67cb1-text-transform:none;--e-global-typography-dd67cb1-line-height:0.95em;--e-global-typography-dd67cb1-letter-spacing:-0.03em;--e-global-typography-9fc0928-font-family:"Inter";--e-global-typography-9fc0928-font-size:20px;--e-global-typography-9fc0928-font-weight:500;--e-global-typography-9fc0928-text-transform:none;--e-global-typography-9fc0928-line-height:1.45em;background-color:var( --e-global-color-d765ef3 );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-290 button,.elementor-kit-290 input[type="button"],.elementor-kit-290 input[type="submit"],.elementor-kit-290 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-6f4ef39-font-family ), Sans-serif;font-size:var( --e-global-typography-6f4ef39-font-size );font-weight:var( --e-global-typography-6f4ef39-font-weight );text-transform:var( --e-global-typography-6f4ef39-text-transform );line-height:var( --e-global-typography-6f4ef39-line-height );color:var( --e-global-color-ind0b1a );border-radius:0px 0px 0px 0px;padding:16px 28px 16px 28px;}.elementor-kit-290 button:hover,.elementor-kit-290 button:focus,.elementor-kit-290 input[type="button"]:hover,.elementor-kit-290 input[type="button"]:focus,.elementor-kit-290 input[type="submit"]:hover,.elementor-kit-290 input[type="submit"]:focus,.elementor-kit-290 .elementor-button:hover,.elementor-kit-290 .elementor-button:focus{background-color:var( --e-global-color-ind0ac2 );color:var( --e-global-color-ind0b1a );}.elementor-kit-290 e-page-transition{background-color:#FFBC7D;}.elementor-kit-290 a{color:var( --e-global-color-accent );}.elementor-kit-290 a:hover{color:var( --e-global-color-ind0ac2 );}.elementor-kit-290 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-290 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-290 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-3449f52-font-family ), Sans-serif;font-size:var( --e-global-typography-3449f52-font-size );font-weight:var( --e-global-typography-3449f52-font-weight );text-transform:var( --e-global-typography-3449f52-text-transform );line-height:var( --e-global-typography-3449f52-line-height );letter-spacing:var( --e-global-typography-3449f52-letter-spacing );}.elementor-kit-290 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-9fc0928-font-family ), Sans-serif;font-size:var( --e-global-typography-9fc0928-font-size );font-weight:var( --e-global-typography-9fc0928-font-weight );text-transform:var( --e-global-typography-9fc0928-text-transform );line-height:var( --e-global-typography-9fc0928-line-height );}.elementor-kit-290 label{color:var( --e-global-color-text );}.elementor-kit-290 input:not([type="button"]):not([type="submit"]),.elementor-kit-290 textarea,.elementor-kit-290 .elementor-field-textual{color:var( --e-global-color-text );background-color:var( --e-global-color-ind0b1a );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-8276bba );border-radius:0px 0px 0px 0px;padding:12px 14px 12px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-290{--e-global-typography-primary-font-size:52px;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:17px;--e-global-typography-3449f52-font-size:20px;--e-global-typography-dd67cb1-font-size:64px;--e-global-typography-9fc0928-font-size:20px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-290 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-290 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-290 h3{font-size:var( --e-global-typography-3449f52-font-size );line-height:var( --e-global-typography-3449f52-line-height );letter-spacing:var( --e-global-typography-3449f52-letter-spacing );}.elementor-kit-290 h4{font-size:var( --e-global-typography-9fc0928-font-size );line-height:var( --e-global-typography-9fc0928-line-height );}.elementor-kit-290 button,.elementor-kit-290 input[type="button"],.elementor-kit-290 input[type="submit"],.elementor-kit-290 .elementor-button{font-size:var( --e-global-typography-6f4ef39-font-size );line-height:var( --e-global-typography-6f4ef39-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-290{--e-global-typography-primary-font-size:34px;--e-global-typography-primary-line-height:1.05em;--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-size:17px;--e-global-typography-3449f52-font-size:18px;--e-global-typography-dd67cb1-font-size:56px;--e-global-typography-9fc0928-font-size:18px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-290 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-290 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-290 h3{font-size:var( --e-global-typography-3449f52-font-size );line-height:var( --e-global-typography-3449f52-line-height );letter-spacing:var( --e-global-typography-3449f52-letter-spacing );}.elementor-kit-290 h4{font-size:var( --e-global-typography-9fc0928-font-size );line-height:var( --e-global-typography-9fc0928-line-height );}.elementor-kit-290 button,.elementor-kit-290 input[type="button"],.elementor-kit-290 input[type="submit"],.elementor-kit-290 .elementor-button{font-size:var( --e-global-typography-6f4ef39-font-size );line-height:var( --e-global-typography-6f4ef39-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ============================================================
   Transportes Indalsola · CSS de utilidad del Kit (Wilapp)
   Solo lo que Elementor no expone como control. Sin !important.
   ============================================================ */

/* Motivo «chaflán de bañera»: la caja basculante con la cola cortada.
   Elementor no tiene control de clip-path: se aplica con la clase en
   Avanzado → Clases CSS del widget o del contenedor. */
.ind-chaflan { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%); }
.ind-chaflan-sm { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%); }
.ind-chaflan-lg { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 96px), calc(100% - 96px) 100%, 0 100%); }
.ind-foto-chaflan img { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 56px), calc(100% - 56px) 100%, 0 100%); }
/* El botón principal lleva el mismo corte; el foco va hacia dentro para que el recorte no lo esconda. */
.ind-boton .elementor-button { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%); }
.ind-boton .elementor-button:focus-visible { outline: 3px solid #FFFFFF; outline-offset: -7px; }

/* Imágenes que deben llenar su caja (Elementor no expone object-fit en el widget Imagen con altura en %). */
.ind-cubre, .ind-cubre .elementor-widget-container, .ind-cubre img { height: 100%; }
.ind-cubre img { width: 100%; object-fit: cover; }

/* Foco visible en todo el sitio (ni el kit ni Hello lo traen). */
body a:focus-visible, body button:focus-visible, body input:focus-visible,
body select:focus-visible, body textarea:focus-visible, body [tabindex]:focus-visible {
	outline: 3px solid var(--e-global-color-accent); outline-offset: 3px;
}
body .ind-oscuro a:focus-visible, body .ind-oscuro button:focus-visible,
body .ind-oscuro input:focus-visible, body .ind-oscuro select:focus-visible {
	outline-color: var(--e-global-color-ind0rso);
}

/* Los campos del Formulario quitan el contorno con más especificidad: se repone con la misma familia de .elementor-kit-290es. */
body .elementor-field-group .elementor-field:focus-visible, body .elementor-field-group .elementor-field-textual:focus-visible,
body .elementor-field-group input[type="checkbox"]:focus-visible {
	outline: 3px solid var(--e-global-color-accent); outline-offset: 2px;
}
/* Sobre la baldosa rosa el foco va en blanco (el rosa de acción no se distingue del fondo). */
body .ind-sobre-rosa a:focus-visible, body .ind-sobre-rosa button:focus-visible,
body .ind-sobre-rosa .elementor-field-group .elementor-field:focus-visible,
body .ind-sobre-rosa .elementor-field-group input[type="checkbox"]:focus-visible { outline-color: #FFFFFF; }

/* Enlace «Ir al contenido» visible al recibir el foco. */
body .skip-link.screen-reader-text:focus {
	clip: auto; clip-path: none; width: auto; height: auto; z-index: 100000;
	top: 8px; left: 8px; padding: 12px 18px; background: #FFFFFF; color: var(--e-global-color-text);
}

/* Enlaces dentro de párrafos: subrayados (WCAG 1.4.1). */
body .elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 0.15em; }
body .ind-oscuro .elementor-widget-text-editor a { color: var(--e-global-color-ind0rso); }
body .elementor-icon-list-item a:hover .elementor-icon-list-text,
body .elementor-icon-list-item a:focus-visible .elementor-icon-list-text { text-decoration: underline; }

/* Titulares sin viudas (web-design-guidelines). */
body h1, body h2, body h3 { text-wrap: balance; }

/* Enlaces del texto de aceptación de los formularios: subrayados, como los de los párrafos (WCAG 1.4.1). */
body .elementor-field-subgroup a, body .elementor-field-option a { text-decoration: underline; text-underline-offset: 0.15em; }

/* Encabezado solo para lectores de pantalla (secciones cuyo título es visual). */
.ind-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Casilla de privacidad a 24 px (WCAG 2.5.8): el Formulario no tiene ese control. */
body .elementor-field-type-acceptance input[type="checkbox"] { width: 24px; height: 24px; }

/* Estado en vivo del horario: lo enciende el snippet «Indalsola · horario en vivo».
   Sin JavaScript no se ve y queda el horario fijo escrito al lado. */
.ind-estado { display: none; }
.ind-estado.is-ready, .elementor-editor-active .ind-estado { display: block; }

/* Idiomas de GTranslate en la cabecera («ES · EN»): el shortcode no tiene controles de estilo en Elementor.
   Objetivo táctil de 40 px de alto; el idioma activo, subrayado y en rosa claro. */
.ind-idioma .gtranslate_wrapper { display: flex; gap: 2px; align-items: center; }
.ind-idioma .gtranslate_wrapper a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 9px; color: #FFFFFF; font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; text-decoration: none; letter-spacing: 0.02em; }
.ind-idioma .gtranslate_wrapper a:hover, .ind-idioma .gtranslate_wrapper a.gt-current-lang { color: var(--e-global-color-ind0rso); text-decoration: underline; text-underline-offset: 0.2em; }
.ind-idioma .gtranslate_wrapper a:focus-visible { outline: 3px solid var(--e-global-color-ind0rso); outline-offset: -3px; }

/* Aviso de cookies de Complianz con el lenguaje de la web: barra blanca a sangre pegada abajo, banda rosa arriba,
   título en Chivo alineado al contenido (1280 px) y botones con el chaflán. Complianz no expone estos controles. */
body .cmplz-cookiebanner { z-index: 1000000; }
body .cmplz-cookiebanner.cmplz-bottom { left: 0; right: 0; bottom: 0; width: 100%; max-width: none; margin: 0; transform: none; border-radius: 0;
	border-top: 6px solid var(--e-global-color-primary); box-shadow: 0 -12px 32px rgba(15, 23, 42, 0.18);
	/* Sin «display»: lo pone Complianz (grid al mostrarse, none al responder); forzarlo dejaba el aviso visible tras aceptar. */
	padding: 24px max(24px, calc((100vw - 1280px) / 2)); grid-template-columns: minmax(0, 1fr) auto; column-gap: 48px; row-gap: 10px; align-items: center; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-header { grid-column: 1; grid-row: 1; display: block; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-logo, body .cmplz-cookiebanner.cmplz-bottom .cmplz-divider { display: none; }
/* Complianz centra el título (justify-self) y lo oculta por debajo de 425 px: aquí va siempre visible y a la izquierda. */
body .cmplz-cookiebanner.cmplz-bottom .cmplz-header .cmplz-title { display: block; width: auto; margin: 0; justify-self: start; text-align: left; font-family: Chivo, sans-serif; font-weight: 800; font-size: 20px; line-height: 1.2; letter-spacing: -0.01em; color: var(--e-global-color-text); }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-body { grid-column: 1; grid-row: 2; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-message { font-family: Inter, sans-serif; font-size: 16px; line-height: 1.5; color: var(--e-global-color-text); max-width: 70ch; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-documents { grid-column: 1; grid-row: 3; justify-content: flex-start; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-documents ul { gap: 6px 20px; justify-content: flex-start; flex-wrap: wrap; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-documents a { font-size: 15px; line-height: 24px; color: var(--e-global-color-accent); text-decoration: underline; text-underline-offset: 0.15em; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons { grid-column: 2; grid-row: 1 / span 3; display: flex; flex-direction: row; gap: 12px; }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-btn { width: auto; min-width: 170px; height: auto; min-height: 50px; padding: 14px 26px; border-radius: 0; border-width: 2px;
	font-family: Inter, sans-serif; font-size: 17px; font-weight: 600; line-height: 1.25;
}
/* El chaflán solo en «Aceptar» (sólido): en «Denegar», de contorno, el recorte cortaría el borde. Mismo tamaño. */
body .cmplz-cookiebanner.cmplz-bottom .cmplz-btn.cmplz-accept { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%); }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-btn.cmplz-accept:hover { background-color: var(--e-global-color-ind0ac2); border-color: var(--e-global-color-ind0ac2); }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-btn.cmplz-deny:hover { background-color: var(--e-global-color-ind0f1f); }
body .cmplz-cookiebanner.cmplz-bottom .cmplz-btn:focus-visible { outline: 3px solid var(--e-global-color-text); outline-offset: -7px; }
@media (max-width: 767px) {
	body .cmplz-cookiebanner.cmplz-bottom { grid-template-columns: minmax(0, 1fr); padding: 18px 16px 20px; row-gap: 12px; }
	body .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons { grid-column: 1; grid-row: 3; }
	body .cmplz-cookiebanner.cmplz-bottom .cmplz-documents { grid-row: 4; }
	body .cmplz-cookiebanner.cmplz-bottom .cmplz-btn { flex: 1 1 0; min-width: 0; }
	body .cmplz-cookiebanner.cmplz-bottom .cmplz-message { font-size: 15px; }
}
/* Botón «Cambiar mi decisión sobre las cookies» de la política: es un <button> de Complianz en un widget HTML
   (el widget Botón pinta un <a> que Complianz no escucha), así que no hereda el estilo del Botón: se replica aquí. */
body .ind-boton-cookies { display: inline-flex; align-items: center; min-height: 48px; padding: 14px 26px; border: 0; border-radius: 0; cursor: pointer;
	background: var(--e-global-color-accent); color: #FFFFFF; font-family: Inter, sans-serif; font-size: 17px; font-weight: 600; line-height: 1.25;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%); transition: background-color .2s; }
body .ind-boton-cookies:hover { background: var(--e-global-color-ind0ac2); }
body .ind-boton-cookies:focus-visible { outline: 3px solid #FFFFFF; outline-offset: -7px; }

/* Tabla de cookies: desplazamiento horizontal con teclado (tabindex en la tabla) por debajo de 768 px; nombre sin partir. */
body .elementor-widget-text-editor table caption { text-align: left; font-weight: 600; padding: 0 0 10px; }
body .elementor-widget-text-editor tbody th { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--e-global-color-239f85f); white-space: nowrap; font-weight: 600; }
@media (max-width: 767px) { body .elementor-widget-text-editor table { display: block; overflow-x: auto; } }

/* Joinchat 6.x solo tiñe la ventana: el botón flotante va en el color de acción
   (el verde de WhatsApp no da 3:1 sobre el fondo claro). */
body .joinchat .joinchat__button { background-color: var(--e-global-color-accent); }

/* Sin desbordamiento horizontal por la bañera gigante ni por las entradas laterales. */
body .e-con.e-parent { overflow-x: clip; }

/* Enlaces del texto de aceptación del formulario sobre la baldosa rosa (el Formulario no tiene control de color de enlace). */
body .ind-sobre-rosa .elementor-field-subgroup a, body .ind-sobre-rosa .elementor-field-option a { color: #FFFFFF; text-decoration: underline; }

/* Tabla de cookies en la política: se ajusta al ancho sin desplazamiento horizontal. */
body .elementor-widget-text-editor table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
body .elementor-widget-text-editor thead th, body .elementor-widget-text-editor td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--e-global-color-239f85f); }
body .elementor-widget-text-editor thead th { background: var(--e-global-color-ind0f1f); }

/* Movimiento de firma «persiana»: la foto principal se abre desde abajo al entrar en pantalla.
   Se activa con la clase ind-persiana en un widget Imagen que tenga animación de entrada. */
@keyframes ind-persiana { from { clip-path: inset(100% 0 0 0); transform: scale(1.12); } to { clip-path: inset(0 0 0 0); transform: scale(1); } }
.ind-persiana.animated .elementor-widget-container { animation: ind-persiana 1.1s cubic-bezier(.2,.7,.2,1) both; overflow: hidden; }

/* Movimiento reducido: el contenido aparece sin recorrido. */
@media (prefers-reduced-motion: reduce) {
	body .elementor-invisible { visibility: visible; animation: none; }
	body .animated, .ind-persiana.animated .elementor-widget-container { animation: none; }
}/* End custom CSS */