.elementor-kit-4{--e-global-color-primary:#1B87CC;--e-global-color-secondary:#0C3A56;--e-global-color-text:#40667E;--e-global-color-accent:#FFD23F;--e-global-typography-primary-font-family:"Fredoka";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Fredoka";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Karla";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Karla";--e-global-typography-accent-font-weight:600;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-line-height:1.5em;background-color:#F2FAFE;color:#0C3A56;font-family:"Karla", Sans-serif;font-size:17px;font-weight:400;line-height:1.6em;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:#0E6BA8;}.elementor-kit-4 a:hover{color:#1B87CC;}.elementor-kit-4 h1{color:#0C3A56;font-family:"Fredoka", Sans-serif;font-size:52px;font-weight:600;line-height:1.12em;letter-spacing:-0.02em;}.elementor-kit-4 h2{color:#0C3A56;font-family:"Fredoka", Sans-serif;font-size:38px;font-weight:600;line-height:1.12em;letter-spacing:-0.02em;}.elementor-kit-4 h3{color:#0C3A56;font-family:"Fredoka", Sans-serif;font-size:28px;font-weight:600;line-height:1.12em;letter-spacing:-0.02em;}.elementor-kit-4 h4{color:#0C3A56;font-family:"Fredoka", Sans-serif;font-size:22px;font-weight:600;line-height:1.12em;letter-spacing:-0.02em;}.elementor-kit-4 h5{color:#0C3A56;font-family:"Fredoka", Sans-serif;font-size:19px;font-weight:600;line-height:1.12em;letter-spacing:-0.02em;}.elementor-kit-4 h6{color:#0C3A56;font-family:"Fredoka", Sans-serif;font-size:17px;font-weight:600;line-height:1.12em;letter-spacing:-0.02em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-family:"Fredoka", Sans-serif;font-size:16px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* skill-baseline: applied */
.elementor-widget-text-editor > p:last-child,
.elementor-widget-text-editor > .elementor-widget-container > p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor > p:first-child,
.elementor-widget-text-editor > .elementor-widget-container > p:first-child { margin-top: 0; }
.elementor a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* tarjetas */
.ca-card { transition: transform .25s ease, box-shadow .25s ease; }
.ca-card:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(12,58,86,.12); }

/* filas de precios y horarios */
.ca-fila-precio { border-bottom: 1px solid #E7F2F8; }
.ca-fila-precio:last-child { border-bottom: 0; }
.ca-fila-precio-osc { border-bottom: 1px solid rgba(234,246,253,.16); }
.ca-fila-precio-osc:last-child { border-bottom: 0; }

/* anchos de contenedor: Elementor pone --width:100% a todos por defecto */
.e-con.ca-hug { --width: fit-content; max-width: 100%; }
.e-con.ca-fija { --width: 200px; flex: 0 0 auto; }
.e-con.ca-crece { --width: auto; flex: 1 1 0; min-width: 0; }

/* logos: nunca deformar, manda el ancho */
.elementor-location-header .elementor-widget-image img,
.elementor-location-footer .elementor-widget-image img { height: auto; }

/* hero: carrusel de fotos a sangre dentro de la caja redondeada */
.ca-hero-slider,
.ca-hero-slider > .elementor-widget-container,
.ca-hero-slider .elementor-image-carousel-wrapper { height: auto; }
.ca-hero-slider figure, .ca-hero-slider .swiper-slide-image { margin: 0; height: auto; }
.ca-hero-slider img { width: 100% !important; height: 420px !important; object-fit: cover; display: block; }
.ca-hero-slider .swiper-pagination { bottom: 14px; left: 18px; width: auto; text-align: left; }
.ca-hero-slider .swiper-pagination-bullet { width: 9px; height: 9px; background: #fff; opacity: .35; }
.ca-hero-slider .swiper-pagination-bullet-active { opacity: 1; }

/* hero: burbuja de precio, circulo sobre la esquina de la foto */
.e-con.ca-burbuja {
  position: absolute;
  top: -22px;
  right: -10px;
  --width: 118px;
  width: 118px;
  height: 118px;
  min-height: 118px;
  border-radius: 50%;
  z-index: 2;
  animation: ca-flota 4s ease-in-out infinite;
}
.e-con.ca-burbuja > .e-con-inner { width: 100%; padding: 0; }
@keyframes ca-flota {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@media (prefers-reduced-motion: reduce) {
  .e-con.ca-burbuja { animation: none; }
}

@media (max-width: 767px) {
  .e-con.ca-fija { --width: 100%; }
  .ca-hero-slider img { height: 260px !important; }
  .e-con.ca-burbuja { top: -16px; right: 0; --width: 96px; width: 96px; height: 96px; min-height: 96px; }

  /* desplegable del menu: anclado a la derecha, sin salirse de la pantalla */
  .elementor-location-header .elementor-nav-menu--dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    width: calc(100vw - 48px);
    max-width: calc(100vw - 48px);
  }
}
/* bandas que hacen de tarjeta: alinearlas con el resto del contenido */
.e-con.ca-banda { --width: auto; width: auto; margin-inline: 20px; max-width: calc(100% - 40px); }


/* .elementor-kit-4 de idioma ES / EN en la barra superior */
.ca-idiomas .ca-ls { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ca-idiomas .ca-ls a { display: inline-block; min-width: 26px; padding: 5px 4px; text-align: center; color: #fff; font-family: 'Karla', sans-serif; font-size: 14px; line-height: 1.2; opacity: .7; text-decoration: none; }
.ca-idiomas .ca-ls a:hover, .ca-idiomas .ca-ls a:focus-visible { opacity: 1; }
.ca-idiomas .ca-ls-actual a { opacity: 1; font-weight: 700; }

/* icon-box con icono a la izquierda: no centrar cuando el texto es corto */
.elementor-widget-icon-box.elementor-position-inline-start { width: 100%; }
.elementor-widget-icon-box.elementor-position-inline-start .elementor-icon-box-wrapper { justify-content: flex-start; }

/* barra inferior del pie: copyright, legales y credito */
.ca-pie-legal p { margin: 0; }
.ca-pie-legal a { color: #EAF6FD; text-decoration: none; }
.ca-pie-legal a:hover, .ca-pie-legal a:focus-visible { text-decoration: underline; }
.ca-legales a { margin-right: 18px; }
.ca-legales a:last-child { margin-right: 0; }
@media (max-width: 767px) {
  .ca-pie-legal > .e-con-inner { flex-direction: column; align-items: flex-start; text-align: left; }
  .ca-legales a { margin-right: 14px; }
}

/* tarjetas de cifras de Nosotros: contenido centrado */
.ca-cifra > .e-con-inner { align-items: center; }/* End custom CSS */