/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 19 2026 | 10:24:53 */
/* =========================================================
   TURISME.HOUSEOF.IO — UI LAYER (Astra + Elementor)
   Versión limpia: legacy + UI layer fusionados, sin duplicados.
   ========================================================= */

/* ---------- 0) Imports ---------- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500&display=swap');

/* ---------- 1) Variables ---------- */
:root{
  /* TEAL (primario) */
  --tur-primary:   #0f766e;
  --tur-primary-2: #14b8a6;

  /* Paleta acento Uixó (Manual de marca 2024) */
  --tur-deep:      #00594c;  /* Pantone 561 C */
  --tur-mint:      #b7d6bb;  /* Pantone 559 C */
  --tur-terra:     #db5929;  /* Pantone 7579 C */
  --tur-ocher:     #e0a053;  /* Pantone 7411 C */
  --tur-accent:    var(--tur-ocher);

  /* Texto y superficies */
  --tur-text:      #1a2e2a;
  --tur-text-soft: #4f6259;
  --tur-bg:        #fbf6ec;
  --tur-surface:   rgba(255,255,255,.55);
  --tur-border:    rgba(0,89,76,.10);

  --tur-shadow-sm: 0 8px 24px rgba(15,118,110,.08);
  --tur-shadow-md: 0 18px 50px rgba(15,118,110,.14);
  --tur-radius: 24px;
  --tur-max: 1280px;
  --tur-ease: cubic-bezier(.22,1,.36,1);
  --tur-speed: .35s;
}

/* ---------- 2) Base ---------- */
html{ scroll-behavior: smooth; }

html, body{
  max-width: 100%;
  overflow-x: clip;
}

body{
  background:
    radial-gradient(50vmax 40vmax at 10% 15%, rgba(183,214,187,.35), transparent 55%),
    radial-gradient(45vmax 35vmax at 92% 12%, rgba(224,160,83,.22), transparent 55%),
    radial-gradient(60vmax 40vmax at 50% 95%, rgba(219,89,41,.10), transparent 60%),
    var(--tur-bg);
  color: var(--tur-text);
}

.site, #page{ overflow-x: clip; }

img{ border-radius: 14px; }

a{
  transition: color var(--tur-speed) var(--tur-ease);
}

/* ---------- 3) Contenedores ---------- */
.ast-container,
.elementor-section.elementor-section-boxed > .elementor-container{
  max-width: var(--tur-max);
}

/* ---------- 4) Tipografía ---------- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title{
  letter-spacing: -.02em;
  line-height: 1.08;
  color: var(--tur-text);
}

h1, .elementor-widget-heading h1.elementor-heading-title{
  font-size: clamp(2.4rem, 4vw, 4.8rem);
  font-weight: 800;
}

h2, .elementor-widget-heading h2.elementor-heading-title{
  font-size: clamp(1.9rem, 2.6vw, 3rem);
  font-weight: 800;
}

h3, .elementor-widget-heading h3.elementor-heading-title{
  font-size: clamp(1.25rem, 1.7vw, 1.7rem);
  font-weight: 700;
}

p, li,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content{
  color: var(--tur-text-soft);
  line-height: 1.75;
}

/* 4b) H2 con gradient text + accent bar */
.elementor-widget-heading h2.elementor-heading-title{
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
  background: linear-gradient(90deg, var(--tur-primary), var(--tur-deep));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
          color: transparent;
}

.elementor-widget-heading h2.elementor-heading-title::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--tur-primary), var(--tur-ocher));
  transform-origin: left;
  animation: tur-accent .9s var(--tur-ease) both;
}

.elementor-widget-heading.elementor-widget__width-auto[class*="align-center"] h2.elementor-heading-title::after,
.elementor-widget-heading .elementor-heading-title[style*="text-align:center"]::after,
.elementor-widget-heading .elementor-heading-title[style*="text-align: center"]::after{
  left: 50%;
  transform: translateX(-50%);
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)){
  .elementor-widget-heading h2.elementor-heading-title{
    background: none;
    color: var(--tur-primary);
  }
}

@keyframes tur-accent{
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* Ajuste de título del sitio en móvil */
@media (max-width: 767px){
  .site-title a{
    white-space: nowrap !important;
    font-size: clamp(14px, 4.5vw, 19px) !important;
  }
}

/* ---------- 5) Botones ---------- */
.elementor-button,
button:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)),
input[type="button"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)),
input[type="submit"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)),
.wp-block-button__link,
.ast-button,
.ast-custom-button{
  position: relative;
  isolation: isolate;
  clip-path: inset(0 round 999px);
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 700;
  letter-spacing: .01em;
  text-align: center !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--tur-primary), var(--tur-primary-2)) !important;
  box-shadow: 0 12px 30px rgba(15,118,110,.28);
  transition:
    transform var(--tur-speed) var(--tur-ease),
    box-shadow var(--tur-speed) var(--tur-ease);
}

.elementor-button::before,
button:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close))::before,
input[type="submit"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close))::before,
.ast-button::before,
.ast-custom-button::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.22) 50%, transparent 80%);
  transform: translateX(-120%);
  transition: transform .9s var(--tur-ease);
  pointer-events: none;
}

.elementor-button:hover,
button:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)):hover,
input[type="button"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)):hover,
input[type="submit"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)):hover,
.wp-block-button__link:hover,
.ast-button:hover,
.ast-custom-button:hover{
  transform: translateY(-3px);
  background: linear-gradient(135deg, #12968c, var(--tur-primary-2)) !important;
  box-shadow: 0 18px 38px rgba(15,118,110,.32);
}

.elementor-button:hover::before,
button:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)):hover::before,
input[type="submit"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)):hover::before,
.ast-button:hover::before,
.ast-custom-button:hover::before{
  transform: translateX(120%);
}

/* 5b) Ocultar input submit duplicado del search-form (Astra) — el <button>
   con el icono de lupa ya cumple la función de envío. */
.search-form input.search-submit,
.search-form input[type="submit"].search-submit{
  display: none !important;
}

/* 5c) Botón con icono del search-form: compacto y anclado a la derecha del campo.
   Sin esto, Astra lo renderiza a ancho completo del contenedor en mobile. */
.search-form label{
  display: block;
  position: relative;
}
.search-form .search-field{
  width: 100%;
  padding-right: 44px !important;
}
.search-form button.search-submit{
  position: absolute !important;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--tur-text-soft) !important;
  cursor: pointer;
  line-height: 1;
}
.search-form button.search-submit:hover{
  color: var(--tur-primary) !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ---------- 6) Hero ---------- */
.elementor-top-section{ position: relative; isolation: isolate; }
.elementor-top-section > .elementor-container{ position: relative; z-index: 1; }

.elementor-top-section:first-of-type{ padding-top: clamp(32px, 4vw, 72px); }

.elementor-top-section:first-of-type::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 20%, rgba(183,214,187,.30), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(224,160,83,.20), transparent 24%);
}

/* ---------- 7) Cards (glass) ---------- */
.elementor-widget-image-box .elementor-image-box-wrapper,
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-post,
.elementor-loop-container .e-loop-item,
.wp-block-group.is-layout-flow,
.elementor-widget-posts .elementor-post{
  overflow: hidden;
  border: 1px solid var(--tur-border);
  border-radius: var(--tur-radius);
  background: rgba(255,255,255,.9);
  box-shadow: var(--tur-shadow-sm);
  transition:
    transform var(--tur-speed) var(--tur-ease),
    box-shadow var(--tur-speed) var(--tur-ease),
    border-color var(--tur-speed) var(--tur-ease);
}

.elementor-widget-image-box .elementor-image-box-wrapper:hover,
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover,
.elementor-post:hover,
.elementor-loop-container .e-loop-item:hover,
.wp-block-group.is-layout-flow:hover,
.elementor-widget-posts .elementor-post:hover{
  transform: translateY(-8px);
  box-shadow: var(--tur-shadow-md);
  border-color: rgba(20,184,166,.22);
}

/* Cajas enlazables */
.elementor a.elementor-image-box-wrapper,
.elementor a.elementor-icon-box-wrapper,
.elementor .elementor-post__card a{ text-decoration: none; }

.elementor a.elementor-image-box-wrapper:hover .elementor-image-box-title,
.elementor a.elementor-icon-box-wrapper:hover .elementor-icon-box-title,
.elementor-widget-posts .elementor-post__title a:hover,
.elementor-loop-container .elementor-post__title a:hover{
  color: var(--tur-primary);
}

/* ---------- 8) Layout interno de cards ---------- */
.elementor-widget-image-box .elementor-image-box-wrapper,
.elementor-widget-posts .elementor-post,
.elementor-loop-container .e-loop-item{
  align-items: flex-start;
  justify-content: flex-start;
}

.elementor-widget-image-box .elementor-image-box-wrapper{ padding: 0 !important; }
.elementor-widget-image-box:not(:where(.elementor-1340 *, .elementor-5180 *, .elementor-5182 *, .elementor-5184 *)) .elementor-image-box-content,
.elementor-post__card:not(:where(.elementor-1340 *, .elementor-5180 *, .elementor-5182 *, .elementor-5184 *)) .elementor-post__text{ padding: 20px 20px 22px !important; }
.elementor-widget-image-box .elementor-image-box-img{ margin-bottom: 0 !important; }
.elementor-post__thumbnail{ margin-bottom: 0 !important; }

.elementor-widget-icon-box .elementor-icon-box-wrapper{ padding: 20px !important; }
.elementor-widget-icon-box .elementor-icon-box-content{ padding: 0 !important; }

.elementor-post__title,
.elementor-post__excerpt,
.elementor-post__meta-data,
.elementor-image-box-title,
.elementor-image-box-description,
.elementor-icon-box-title,
.elementor-icon-box-description{
  margin: 0 !important;
  padding-left: 0 !important;
}

.elementor-widget-posts .elementor-post__title,
.elementor-loop-container .elementor-post__title{
  font-size: 1.1rem;
  line-height: 1.35;
}

/* Bypass del estilo de card */
.sin-estilo-card,
.sin-estilo-card .elementor-image-box-wrapper,
.sin-estilo-card .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Utility: imagen/caja plana — sin border-radius ni efecto hover.
   Pega "sin-efectos" en Avanzado > Clases CSS del widget. */
.sin-efectos,
.sin-efectos .elementor-widget-container,
.sin-efectos .elementor-image-box-wrapper,
.sin-efectos .swiper-slide-inner,
.sin-efectos img{
  border-radius: 0 !important;
  transition: none !important;
}

.sin-efectos:hover,
.sin-efectos:hover .elementor-image-box-wrapper,
.sin-efectos .elementor-image-box-wrapper:hover,
.sin-efectos:hover img,
.sin-efectos:hover .elementor-post__thumbnail img{
  transform: none !important;
}

/* ---------- 9) Imágenes ---------- */

/* 9a) Reset border-radius / box-shadow en contextos sin card */
.blog img,
.mega-pll-parent-menu-item img,
.map img,
.mega-lang-item img,
.custom-logo,
.ast-related-posts-wrapper img,
.single-post figure,
.mega-menu-link img,
.gtranslate_wrapper img{
  border-radius: 0 !important;
  box-shadow: none !important;
}

.custom-logo{ filter: none !important; }

/* 9b) Utilities legacy (.shadow / .radius) */
.shadow img{ box-shadow: none; }
.radius img{ border-radius: 0; }

/* 9c) Estilo por defecto en widgets imagen Elementor */
.elementor-widget-image img{
  border-radius: 5px !important;
  box-shadow: 1px 1px 12px 5px rgba(0,0,0,.2) !important;
}

.swiper-slide-inner{ border-radius: 20px !important; }

/* 9d) Motion en imágenes (hover scale + filter) */
.elementor-widget-image img,
.elementor-widget-theme-post-featured-image img,
.elementor-post__thumbnail img{
  transition: transform .5s var(--tur-ease);
}

.elementor-widget-image:hover img,
.elementor-widget-theme-post-featured-image:hover img,
.elementor-post:hover .elementor-post__thumbnail img{
  transform: scale(1.04);
}

/* 9e) Utilities .imgzoom / .widebox */
.imgzoom{ transition: transform .5s ease-in-out; }
.imgzoom:hover{ transform: scale(1.05); }

.widebox{
  width: 1000px;
  max-width: 100%;
}

/* 9f) Imágenes en entradas single-post */
.single-post .entry-content img,
.single-post .post-thumb img{
  width: 50% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: initial !important;
}

@media (max-width: 1024px){
  .single-post .entry-content img,
  .single-post .post-thumb img{ width: 70% !important; }
}

@media (max-width: 767px){
  .single-post .entry-content img,
  .single-post .post-thumb img{ width: 100% !important; }
}

/* 9g) Bloquear scroll cuando el lightbox de Elementor está abierto */
.elementor-lightbox--open{
  overflow: hidden !important;
  touch-action: none;
  overscroll-behavior: none;
}

/* ---------- 10) Joy en bloques de texto ---------- */

/* Bullets diamante */
.elementor-widget-text-editor ul,
.elementor-widget-theme-post-content ul{
  list-style: none;
  padding-left: 0;
}

.elementor-widget-text-editor ul > li,
.elementor-widget-theme-post-content ul > li{
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
}

.elementor-widget-text-editor ul > li::before,
.elementor-widget-theme-post-content ul > li::before{
  content: "";
  position: absolute;
  left: 2px;
  top: .55em;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background: linear-gradient(135deg, var(--tur-primary), var(--tur-mint));
  transform: rotate(45deg);
  box-shadow: 0 4px 10px rgba(15,118,110,.22);
}

/* Listas numeradas con badge */
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ol{
  list-style: none;
  padding-left: 0;
  counter-reset: tur-counter;
}

.elementor-widget-text-editor ol > li,
.elementor-widget-theme-post-content ol > li{
  counter-increment: tur-counter;
  position: relative;
  padding-left: 44px;
  margin-bottom: 14px;
}

.elementor-widget-text-editor ol > li::before,
.elementor-widget-theme-post-content ol > li::before{
  content: counter(tur-counter);
  position: absolute;
  left: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  font-size: .85em;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--tur-terra), var(--tur-ocher));
  box-shadow: 0 6px 14px rgba(219,89,41,.28);
}

/* Marker ocre bajo <strong> */
.elementor-widget-text-editor strong,
.elementor-widget-theme-post-content strong{
  background-image: linear-gradient(180deg, transparent 65%, rgba(224,160,83,.45) 65%);
  padding: 0 .12em;
  color: var(--tur-text);
}

/* Blockquote */
.elementor-widget-text-editor blockquote,
.elementor-widget-theme-post-content blockquote{
  position: relative;
  margin: 32px 0;
  padding: 24px 28px 24px 56px;
  border-left: 4px solid var(--tur-terra);
  border-radius: 18px;
  background: rgba(183,214,187,.20);
  font-style: italic;
  color: var(--tur-text);
}

.elementor-widget-text-editor blockquote::before,
.elementor-widget-theme-post-content blockquote::before{
  content: "\201C";
  position: absolute;
  left: 14px;
  top: -4px;
  font-size: 4em;
  line-height: 1;
  color: var(--tur-terra);
  opacity: .55;
  font-style: normal;
}

/* Enlaces inline con subrayado animado */
.elementor-widget-text-editor a:not(.elementor-button),
.elementor-widget-theme-post-content a:not(.elementor-button){
  color: var(--tur-primary);
  font-weight: 600;
  text-decoration: none;
  background-image: linear-gradient(90deg, var(--tur-primary), var(--tur-mint));
  background-repeat: no-repeat;
  background-size: 0% 2px;
  background-position: 0 100%;
  transition: background-size .35s var(--tur-ease), color .25s var(--tur-ease);
}

.elementor-widget-text-editor a:not(.elementor-button):hover,
.elementor-widget-theme-post-content a:not(.elementor-button):hover{
  background-size: 100% 2px;
  color: var(--tur-deep);
}

/* ---------- 11) Formularios ---------- */
input[type="text"]:not(:where(#wpadminbar *)),
input[type="email"]:not(:where(#wpadminbar *)),
input[type="tel"]:not(:where(#wpadminbar *)),
input[type="url"]:not(:where(#wpadminbar *)),
input[type="search"]:not(:where(#wpadminbar *)),
input[type="number"]:not(:where(#wpadminbar *)),
input[type="password"]:not(:where(#wpadminbar *)),
textarea:not(:where(#wpadminbar *)),
select:not(:where(#wpadminbar *)){
  min-height: 54px;
  padding: 14px 18px !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.88) !important;
  color: var(--tur-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  transition:
    border-color var(--tur-speed) var(--tur-ease),
    box-shadow var(--tur-speed) var(--tur-ease),
    transform var(--tur-speed) var(--tur-ease);
}

textarea:not(:where(#wpadminbar *)){ min-height: 140px; }

select:not(:where(#wpadminbar *)){
  height: 54px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 54px;
}

input:not(:where(#wpadminbar *)):focus,
textarea:not(:where(#wpadminbar *)):focus,
select:not(:where(#wpadminbar *)):focus{
  outline: 0 !important;
  border-color: rgba(20,184,166,.55) !important;
  box-shadow:
    0 0 0 4px rgba(20,184,166,.10),
    0 10px 25px rgba(15,23,42,.05) !important;
  transform: translateY(-1px);
}

/* ---------- 12) Footer ---------- */
.site-footer::before,
.ast-footer-wrap::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(20,184,166,.35), transparent);
}

.site-footer a,
.ast-footer-wrap a{
  color: var(--tur-text-soft);
  transition:
    color var(--tur-speed) var(--tur-ease),
    transform var(--tur-speed) var(--tur-ease);
}

.site-footer a:hover,
.ast-footer-wrap a:hover{
  color: var(--tur-primary);
  transform: translateX(2px);
}

.site-footer .widget-title,
.site-footer h2, .site-footer h3, .site-footer h4,
.ast-footer-wrap .widget-title,
.ast-footer-wrap h2, .ast-footer-wrap h3, .ast-footer-wrap h4{
  color: var(--tur-text);
  font-weight: 800;
}

.site-footer .menu,
.footer-widget-area .menu{
  display: grid;
  gap: 8px;
}

.site-footer .menu a,
.footer-widget-area .menu a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}

.site-footer .menu a::before,
.footer-widget-area .menu a::before{
  content: "→";
  font-size: .85em;
  opacity: .45;
  transition: transform var(--tur-speed) var(--tur-ease), opacity var(--tur-speed) var(--tur-ease);
}

.site-footer .menu a:hover::before,
.footer-widget-area .menu a:hover::before{
  opacity: 1;
  transform: translateX(3px);
}

/* ---------- 13) Utility class .tur-card ----------
   Uso: pegar "tur-card" en Avanzado > CSS Classes de un Container/widget/sección.
   Variantes: tur-card--solid, tur-card--warm, tur-card--no-accent, tur-card--grid */

.tur-card{
  position: relative;
  padding: 24px 28px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,118,110,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 10px 28px rgba(15,118,110,.08);
  transition:
    transform var(--tur-speed) var(--tur-ease),
    box-shadow var(--tur-speed) var(--tur-ease),
    border-color var(--tur-speed) var(--tur-ease);
  isolation: isolate;
}

.tur-card::before{
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, var(--tur-primary), var(--tur-ocher));
  opacity: .8;
  transition: opacity var(--tur-speed) var(--tur-ease);
}

.tur-card:hover{
  transform: translateY(-4px);
  border-color: rgba(15,118,110,.25);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 18px 42px rgba(15,118,110,.14);
}

.tur-card:hover::before{ opacity: 1; }

.tur-card > .elementor-widget-heading:first-child,
.tur-card > :first-child{ margin-top: 0; }

.tur-card h3.elementor-heading-title{
  color: var(--tur-deep);
  margin-bottom: 8px;
}

/* Variantes */
.tur-card.tur-card--solid{
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 10px 28px rgba(15,118,110,.10);
}

.tur-card.tur-card--warm::before{
  background: linear-gradient(180deg, var(--tur-ocher), var(--tur-terra));
}

.tur-card.tur-card--no-accent::before{ content: none; }

.tur-card.tur-card--grid{
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.tur-card.tur-card--grid::before{ content: none; }

.tur-card.tur-card--grid > .e-con.e-child,
.tur-card.tur-card--grid > .elementor-column{
  position: relative;
  padding: 22px 24px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,118,110,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 8px 22px rgba(15,118,110,.08);
  transition:
    transform var(--tur-speed) var(--tur-ease),
    box-shadow var(--tur-speed) var(--tur-ease);
}

.tur-card.tur-card--grid > .e-con.e-child:hover,
.tur-card.tur-card--grid > .elementor-column:hover{
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 14px 34px rgba(15,118,110,.14);
}

@media (max-width: 767px){
  .tur-card{
    padding: 18px 18px 18px 22px;
    border-radius: 14px;
  }
  .tur-card:hover{ transform: none; }
  .tur-card.tur-card--grid > .e-con.e-child,
  .tur-card.tur-card--grid > .elementor-column{
    padding: 16px 16px 16px 20px;
  }
  .tur-card.tur-card--grid > .e-con.e-child:hover,
  .tur-card.tur-card--grid > .elementor-column:hover{ transform: none; }
}

/* ---------- 14) GTranslate switcher ---------- */
.gtranslate_wrapper{
  transform: scale(.7) !important;
  transform-origin: top left !important;
  position: relative !important;
  top: 7px !important;
}

/* Que el menú no fuerce wrap y que el item del switcher no se rompa */
#mega-menu-primary{
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
#mega-menu-primary > li.mega-menu-item{
  white-space: normal !important;
}
#mega-menu-item-3350{
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

/* Clamp del código de idioma para que la traducción no ensanche el botón */
.gt-lang-code{
  display: inline-block !important;
  max-width: 2.2em !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

/* Permitir que el dropdown se salga del item */
#mega-menu-item-3350,
#mega-menu-item-3350 > .mega-menu-link,
.gtranslate_wrapper,
#gt_float_wrapper,
.gt_float_switcher{
  overflow: visible !important;
  clip-path: none !important;
}

.gtranslate_wrapper,
#gt_float_wrapper,
.gt_float_switcher{
  min-width: 0 !important;
  white-space: nowrap !important;
}

#gt_float_wrapper,
.gt_float_switcher{ position: relative !important; }

.gt_options{
  position: absolute !important;
  top: 100% !important;
  margin-top: -4px !important;
  left: auto !important;
  right: 0 !important;
  width: max-content !important;
  min-width: unset !important;
  z-index: 99999 !important;
  background: #fff !important;
  padding: 6px 0 !important;
}

/* ---------- 15) Mega Menu ---------- */

/* 15b) Botón hamburguesa en mobile/tablet — tamaño reducido */
@media (max-width: 1024px){
  #mega-menu-wrap-primary .mega-menu-toggle{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 34px !important;
    margin-left: auto !important;
  }

  #mega-menu-wrap-primary .mega-toggle-animated{
    transform: scale(.86) !important;
    transform-origin: center !important;
  }
}

/* 15c) Items "elementor-library" dentro del mega menu (iconos) */
.mega-menu-item-elementor-library .elementor-widget-image-box,
.mega-menu-item-elementor-library .elementor-widget-image-box .elementor-image-box-wrapper,
.mega-menu-item-elementor-library .elementor-widget-image-box .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

.mega-menu-item-elementor-library .elementor-widget-image-box{ text-align: center !important; }

.mega-menu-item-elementor-library .elementor-image-box-content{
  width: 100% !important;
  margin: 0 !important;
  padding: 8px 0 0 !important;
}

/* Título del image-box dentro de los templates de mega-menú (1340, 6030, 5182, 5184):
   anular line-height 1.75 heredado de p */
.elementor-1340 .elementor-image-box-title,
.elementor-1340 .elementor-image-box-title a,
.elementor-1340 .elementor-image-box-title p,
.elementor-1340 p.elementor-image-box-title,
.elementor-1340 .elementor-image-box-description,
.elementor-6030 .elementor-image-box-title,
.elementor-6030 .elementor-image-box-title a,
.elementor-6030 .elementor-image-box-title p,
.elementor-6030 p.elementor-image-box-title,
.elementor-6030 .elementor-image-box-description,
.elementor-5182 .elementor-image-box-title,
.elementor-5182 .elementor-image-box-title a,
.elementor-5182 .elementor-image-box-title p,
.elementor-5182 p.elementor-image-box-title,
.elementor-5182 .elementor-image-box-description,
.elementor-5184 .elementor-image-box-title,
.elementor-5184 .elementor-image-box-title a,
.elementor-5184 .elementor-image-box-title p,
.elementor-5184 p.elementor-image-box-title,
.elementor-5184 .elementor-image-box-description{
  line-height: 1.25 !important;
  margin: 0 !important;
}

/* Evita que el descender (p, g, j…) se recorte por overflow:hidden + border-radius
   heredados de la regla de cards (sección 7) que sigue tocando el wrapper */
.elementor-1340 .elementor-image-box-content,
.elementor-6030 .elementor-image-box-content,
.elementor-5182 .elementor-image-box-content,
.elementor-5184 .elementor-image-box-content{
  padding: 8px 4px 12px !important;
  overflow: visible !important;
}
.elementor-1340 .elementor-image-box-wrapper,
.elementor-1340 .elementor-widget-container,
.elementor-1340 .e-con,
.elementor-1340 .elementor-element,
.elementor-6030 .elementor-image-box-wrapper,
.elementor-6030 .elementor-widget-container,
.elementor-6030 .e-con,
.elementor-6030 .elementor-element,
.elementor-5182 .elementor-image-box-wrapper,
.elementor-5182 .elementor-widget-container,
.elementor-5182 .e-con,
.elementor-5182 .elementor-element,
.elementor-5184 .elementor-image-box-wrapper,
.elementor-5184 .elementor-widget-container,
.elementor-5184 .e-con,
.elementor-5184 .elementor-element{
  overflow: visible !important;
  border-radius: 0 !important;
  border: 0 !important;
}

.mega-menu-item-elementor-library .elementor-image-box-img{
  width: auto !important;
  margin: 0 auto 8px !important;
}

.mega-menu-item-elementor-library .elementor-image-box-img img{
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  object-fit: contain !important;
  animation: none !important;
  transform: none !important;
}

.mega-menu-item-elementor-library-5 .elementor-image-box-title,
.mega-menu-item-elementor-library-5 .elementor-image-box-title a{
  display: block !important;
  max-width: 90px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  color: var(--tur-text) !important;
}

.mega-menu-item-elementor-library-5 .elementor-image-box-wrapper:hover,
.mega-menu-item-elementor-library-5 .elementor-widget-image-box:hover{
  transform: none !important;
  box-shadow: none !important;
}

/* 15d) Items de menú que contienen los templates Elementor #1340, #5180, #5182, #5184
   Mantener el submenú siempre abierto y ocultar el link del título.
   Anclado a los templates (.elementor-XXXX) en vez de al ID del menú, para que
   sobreviva si cambia el ID del menu-item. */
.mega-menu > li.mega-menu-item:has(.elementor-1340) .mega-sub-menu,
.mega-menu > li.mega-menu-item:has(.elementor-5180) .mega-sub-menu,
.mega-menu > li.mega-menu-item:has(.elementor-5182) .mega-sub-menu,
.mega-menu > li.mega-menu-item:has(.elementor-5184) .mega-sub-menu{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

.mega-menu > li.mega-menu-item:has(.elementor-1340) > .mega-menu-link,
.mega-menu > li.mega-menu-item:has(.elementor-5180) > .mega-menu-link,
.mega-menu > li.mega-menu-item:has(.elementor-5182) > .mega-menu-link,
.mega-menu > li.mega-menu-item:has(.elementor-5184) > .mega-menu-link{
  display: none !important;
}

/* ---------- 16) Cookie banner ---------- */
[class*="cookie"]{
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

[class*="cookie"] button,
[class*="cookie"] .cmplz-btn,
[class*="cookie"] .cky-btn{ border-radius: 999px !important; }

/* ---------- 17) Animaciones ---------- */
.elementor-column{ animation: tur-fade-up .4s var(--tur-ease) both; }

.elementor-column:nth-child(2){ animation-delay: .08s; }
.elementor-column:nth-child(3){ animation-delay: .14s; }
.elementor-column:nth-child(4){ animation-delay: .20s; }

@keyframes tur-fade-up{
  from{ opacity: 0; transform: translateY(24px); }
  to  { opacity: 1; transform: translateY(0); }
}

/* ---------- 18) Accesibilidad ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline: 3px solid rgba(20,184,166,.35);
  outline-offset: 3px;
  border-radius: 10px;
}

/* ---------- 19) Responsive ---------- */
@media (max-width: 1024px){
  .sub-menu, .mega-sub-menu{ border-radius: 16px; }

  .elementor-widget-image-box:not(:where(.elementor-1340 *, .elementor-5180 *, .elementor-5182 *, .elementor-5184 *)) .elementor-image-box-wrapper,
  .elementor-widget-icon-box .elementor-icon-box-wrapper,
  .elementor-post,
  .elementor-loop-container .e-loop-item{ border-radius: 20px; }
}

@media (max-width: 767px){
  body{
    background:
      radial-gradient(circle at top left, rgba(20,184,166,.08), transparent 35%),
      var(--tur-bg);
  }

  h1, .elementor-widget-heading h1.elementor-heading-title{ font-size: clamp(2rem, 9vw, 3rem); }
  h2, .elementor-widget-heading h2.elementor-heading-title{ font-size: clamp(1.6rem, 7vw, 2.2rem); }

  .elementor-button,
  button:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)),
  input[type="submit"]:not(:where(.elementor-add-section-area-button, #wpadminbar *, .search-submit, .mega-toggle-animated, .mega-close)),
  .ast-button,
  .ast-custom-button{
    width: 100%;
    justify-content: center;
  }

  .site-footer .menu,
  .footer-widget-area .menu{ gap: 4px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation: none !important;
    transition: none !important;
  }
}

/* ---------- 20) Pies de foto (figcaption) ---------- */

/* 1. Pies de foto NORMALES (Tamaño reducido) */
figcaption,
.wp-block-image figcaption,
.wp-caption-text,
.gallery-caption,
.elementor-image-gallery .gallery-caption,
figcaption *,
.wp-block-image figcaption *,
.wp-caption-text * {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important; /* <- Reducido desde 22px */
  color: var(--tur-deep) !important;
  line-height: 1.4 !important; /* Subimos un poco el line-height para legibilidad */
  text-transform: none !important;
  letter-spacing: 0.5px !important; /* Reducido para encajar mejor en tamaño pequeño */
}

/* 2. Proteger TODOS los carruseles de Elementor (Mantienen el tamaño original grande si lo tenían) */
.elementor-image-carousel-wrapper figcaption,
.elementor-image-carousel-caption,
.elementor-image-carousel-wrapper figcaption *,
.elementor-image-carousel-caption * {
  font-size: 22px !important; /* Restauramos el tamaño original para que no se afecten */
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
}

/* 3. Override: el carrusel de la home vuelve a tipografía base (Tu regla original) */
.carrusel-home figcaption,
.carrusel-home .elementor-image-carousel-caption,
.carrusel-home figcaption *,
.carrusel-home .elementor-image-carousel-caption *{
  font-family: inherit !important;
  font-size: 16px !important;
  color: #fff !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}



/* Bandera valenciana dentro del desplegable */
.mega-lang-item-ca img[src*="catalonia.svg"] {
  content: url("https://turisme.houseof.io/wp-content/uploads/2026/04/Flag_of_the_Valencian_Community_2x3.svg.png") !important;
  width: 24px !important;
  height: auto !important;
  object-fit: contain !important;
  vertical-align: middle !important;
}

/* Bandera valenciana en el idioma seleccionado del Max Mega Menu */
a[href="#lmat_switcher"] > img[src*="catalonia.svg"] {
  content: url("https://turisme.houseof.io/wp-content/uploads/2026/04/Flag_of_the_Valencian_Community_2x3.svg.png") !important;
  width: 24px !important;
  height: auto !important;
  object-fit: contain !important;
  vertical-align: middle !important;
}


/* Oculta todos los bloques de footer por idioma */
.footer-lang {
  display: none !important;
}

/* Español */
html[lang^="es-ES"] .footer-es {
  display: block !important;
}

/* Valenciano / Catalán */
html[lang^="ca"] .footer-va {
  display: block !important;
}

/* Inglés */
html[lang^="en-GB"] .footer-en {
  display: block !important;
}

/* Francés */
html[lang^="fr-FR"] .footer-fr {
  display: block !important;
}

/* =========================================================
   Parche temporal — Elementor Lightbox iconos gigantes
   ========================================================= */

#elementor-lightbox,
.dialog-type-lightbox {
  font-size: 16px !important;
}

#elementor-lightbox .elementor-slideshow__counter,
.dialog-type-lightbox .elementor-slideshow__counter {
  font-size: 14px !important;
  line-height: 1 !important;
  color: #ffffff !important;
}

#elementor-lightbox i,
#elementor-lightbox [class*="eicon"],
#elementor-lightbox [class^="eicon"],
.dialog-type-lightbox i,
.dialog-type-lightbox [class*="eicon"],
.dialog-type-lightbox [class^="eicon"] {
  font-size: 24px !important;
  line-height: 1 !important;
  width: 24px !important;
  height: 24px !important;
  transform: none !important;
}

#elementor-lightbox [class*="eicon"]::before,
#elementor-lightbox [class^="eicon"]::before,
.dialog-type-lightbox [class*="eicon"]::before,
.dialog-type-lightbox [class^="eicon"]::before {
  font-size: 24px !important;
  line-height: 1 !important;
}

#elementor-lightbox svg,
.dialog-type-lightbox svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
}

#elementor-lightbox .dialog-lightbox-close-button,
.dialog-type-lightbox .dialog-lightbox-close-button {
  width: 32px !important;
  height: 32px !important;
  font-size: 24px !important;
}

#elementor-lightbox .elementor-swiper-button,
.dialog-type-lightbox .elementor-swiper-button {
  width: 44px !important;
  height: 44px !important;
}

#elementor-lightbox .elementor-swiper-button i,
.dialog-type-lightbox .elementor-swiper-button i {
  font-size: 28px !important;
}

/* =========================================================
   Elementor Lightbox — color iconos
   ========================================================= */

.elementor-lightbox .elementor-slideshow__header i,
.elementor-lightbox .elementor-slideshow__header svg,
.elementor-lightbox .elementor-slideshow__header .e-font-icon-svg,
.elementor-lightbox .dialog-lightbox-close-button i,
.elementor-lightbox .dialog-lightbox-close-button svg,
.elementor-lightbox .dialog-lightbox-close-button .e-font-icon-svg,
.elementor-lightbox .elementor-swiper-button i,
.elementor-lightbox .elementor-swiper-button svg,
.elementor-lightbox .elementor-swiper-button .e-font-icon-svg,
.dialog-type-lightbox .elementor-slideshow__header i,
.dialog-type-lightbox .elementor-slideshow__header svg,
.dialog-type-lightbox .elementor-slideshow__header .e-font-icon-svg,
.dialog-type-lightbox .dialog-lightbox-close-button i,
.dialog-type-lightbox .dialog-lightbox-close-button svg,
.dialog-type-lightbox .dialog-lightbox-close-button .e-font-icon-svg,
.dialog-type-lightbox .elementor-swiper-button i,
.dialog-type-lightbox .elementor-swiper-button svg,
.dialog-type-lightbox .elementor-swiper-button .e-font-icon-svg {
  color: #db5929 !important;
  fill: #db5929 !important;
  stroke: #db5929 !important;
}

/* Para iconos antiguos basados en fuente */
.elementor-lightbox [class*="eicon"]::before,
.dialog-type-lightbox [class*="eicon"]::before {
  color: #db5929 !important;
}

/* Hover */
.elementor-lightbox .elementor-slideshow__header i:hover,
.elementor-lightbox .elementor-slideshow__header svg:hover,
.elementor-lightbox .dialog-lightbox-close-button:hover,
.elementor-lightbox .elementor-swiper-button:hover,
.dialog-type-lightbox .elementor-slideshow__header i:hover,
.dialog-type-lightbox .elementor-slideshow__header svg:hover,
.dialog-type-lightbox .dialog-lightbox-close-button:hover,
.dialog-type-lightbox .elementor-swiper-button:hover {
  color: #db5929 !important;
  fill: #db5929 !important;
  stroke: #db5929 !important;
}

.img-footer {
	margin: 0 -130px;
}

/* Paginación del blog siempre clicable */
.elementor-pagination,
.navigation.pagination,
.ast-pagination,
.pagination {
  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
}

/* Enlaces de paginación */
.elementor-pagination a,
.elementor-pagination .page-numbers,
.navigation.pagination a,
.navigation.pagination .page-numbers,
.ast-pagination a,
.ast-pagination .page-numbers,
.pagination a,
.pagination .page-numbers {
  position: relative !important;
  z-index: 60 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Evita que fondos, overlays o formas de Elementor bloqueen clics */
.elementor-background-overlay,
.elementor-shape,
.elementor-shape svg {
  pointer-events: none !important;
}

/* Astra - Sustituir visualmente "Blog de Turismo" por "Blog" sin desplazarlo */
.ast-archive-entry-banner .ast-container {
  position: relative !important;
}

.ast-archive-entry-banner .ast-container > h1 {
  color: transparent !important;
}

.ast-archive-entry-banner .ast-container > h1::before {
  content: "Blog";
  color: #ffffff !important;

  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  text-align: center !important;
  white-space: nowrap !important;
}

/* =========================================================
   Corrección alineación vertical - Botón WPForms
   ========================================================= */
div.wpforms-container .wpforms-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}


/* Rutas ciclistas: el segundo li y siguientes usan punto negro normal */
.tur-card ul > li > ul > li {
  content: "•" !important;
  top: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: none !important;
  transform: none !important;
  box-shadow: none !important;
  color: #000 !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* Listas anidadas dentro de .tur-card: puntos negros */
.tur-card ul > li > ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-top: 8px !important;
}

/* Li internos */
.tur-card ul > li > ul > li {
  position: relative !important;
  padding-left: 22px !important;
  margin-bottom: 4px !important;
}

/* Punto negro en vez de rombo verde */
.tur-card ul > li > ul > li::before {
  content: "•" !important;
  position: absolute !important;
  left: 4px !important;
  top: 0 !important;

  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;

  background: none !important;
  transform: none !important;
  box-shadow: none !important;

  color: #000 !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* Ajustar icono HO del footer */
.site-footer .ast-builder-social-element svg {
  max-height: 32px;
}

/* Icono personalizado HO */
.site-footer .ast-builder-social-element svg[viewBox="2.6 7.9 27.6 15.6"] {
  width: 76px !important;
  height: 32px !important;
}

/* =========================================================
   WP GPX Maps — Datos + botón GPX multidioma
   ========================================================= */

.ruta-gpx {
  width: 100%;
  overflow: visible !important;
  font-size: 0; /* Oculta textos sueltos como "Download file:" */
}

.ruta-gpx .leaflet-container,
.ruta-gpx .wpgpxmaps_summary,
.ruta-gpx canvas,
.ruta-gpx span,
.ruta-gpx a[href$=".gpx"] {
  font-size: initial;
}

/* Datos del shortcode */
.ruta-gpx .wpgpxmaps_summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;

  margin: 14px 0 0;
  padding: 10px;

  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.04);
  border-radius: 8px;
  box-shadow: none;
  line-height: 1;
}

.ruta-gpx .wpgpxmaps_summary br {
  display: none;
}

.ruta-gpx .wpgpxmaps_summary > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;

  min-height: 40px;
  padding: 8px 10px;

  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.05);
  border-radius: 7px;

  color: #33413e;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
}

.ruta-gpx .wpgpxmaps_summary > span span {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.ruta-gpx .wpgpxmaps_summary .summaryvalue {
  color: #0f172a;
  font-weight: 700;
}

/* Botón GPX */
.ruta-gpx a[href$=".gpx"] {
  position: relative;
  isolation: isolate;

  display: flex !important;
  align-items: center;
  justify-content: center;

  width: fit-content !important;
  max-width: 100%;

  margin: 8px auto 18px !important;
  padding: 10px 20px !important;

  border: none !important;
  border-radius: 999px !important;

  background: #0f766e !important;
  color: #ffffff !important;

  font-size: 0 !important;
  font-weight: 600;
  line-height: 1 !important;
  white-space: nowrap;

  text-decoration: none !important;
  cursor: pointer;
  overflow: hidden !important;

  transition: background 0.2s ease, transform 0.2s ease;
}

/* Texto base por defecto */
.ruta-gpx a[href$=".gpx"]::before {
  content: "Descargar archivo GPX";
  position: relative;
  z-index: 2;

  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

/* Español */
html[lang^="es"] .ruta-gpx a[href$=".gpx"]::before {
  content: "Descargar archivo GPX";
}

/* Valenciano / Catalán */
html[lang^="ca"] .ruta-gpx a[href$=".gpx"]::before {
  content: "Descarregar arxiu GPX";
}

/* Inglés */
html[lang^="en"] .ruta-gpx a[href$=".gpx"]::before {
  content: "Download GPX file";
}

/* Francés */
html[lang^="fr"] .ruta-gpx a[href$=".gpx"]::before {
  content: "Télécharger le fichier GPX";
}

.ruta-gpx a[href$=".gpx"]::after {
  content: "";
  position: absolute;
  top: 0;
  left: -85%;
  z-index: 1;

  width: 55%;
  height: 100%;

  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.18) 35%,
    rgba(255,255,255,0.42) 50%,
    rgba(255,255,255,0.18) 65%,
    transparent 100%
  );

  transform: skewX(-22deg);
  opacity: 0;
  pointer-events: none;
}

.ruta-gpx a[href$=".gpx"]:hover {
  background: #115e59 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.ruta-gpx a[href$=".gpx"]:hover::after {
  opacity: 1;
  animation: gpx-shimmer-hover 0.9s ease forwards;
}

.ruta-gpx a[href$=".gpx"]:focus,
.ruta-gpx a[href$=".gpx"]:active {
  color: #ffffff !important;
}

@keyframes gpx-shimmer-hover {
  from {
    left: -85%;
  }

  to {
    left: 130%;
  }
}

/* Responsive */
@media (max-width: 900px) {
  .ruta-gpx .wpgpxmaps_summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .ruta-gpx .wpgpxmaps_summary {
    grid-template-columns: 1fr;
  }

  .ruta-gpx .wpgpxmaps_summary > span {
    justify-content: flex-start;
    text-align: left;
  }
}