.elementor-9 .elementor-element.elementor-element-1eeb4c2{--display:flex;--min-height:782px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-1eeb4c2::before, .elementor-9 .elementor-element.elementor-element-1eeb4c2 > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-1eeb4c2 > .e-con-inner > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-1eeb4c2 > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-1eeb4c2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-1eeb4c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #000000 0%, #000000 100%);}.elementor-9 .elementor-element.elementor-element-1eeb4c2.e-con{--e-con-transform-skewX:0deg;--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-9 .elementor-element.elementor-element-1eeb4c2 .elementor-background-slideshow__slide__image{background-position:center center;}.elementor-9 .elementor-element.elementor-element-543ff7b{--display:flex;--margin-top:0px;--margin-bottom:61px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-9 .elementor-element.elementor-element-9471642{text-align:center;}.elementor-9 .elementor-element.elementor-element-9471642 .elementor-heading-title{font-family:"Instrument Sans", Sans-serif;font-size:36px;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9 .elementor-element.elementor-element-ebe0a7f{text-align:center;font-family:"Instrument Sans", Sans-serif;font-size:23px;font-weight:400;color:#FFFFFF;}.elementor-9 .elementor-element.elementor-element-d6f8b56{--display:flex;}.elementor-9 .elementor-element.elementor-element-eddd7be{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-5bd308ef:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-5bd308ef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}.elementor-9 .elementor-element.elementor-element-5bd308ef{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:40px 0px 10px 0px;}.elementor-9 .elementor-element.elementor-element-5bd308ef > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-9 .elementor-element.elementor-element-8036b71{text-align:center;}.elementor-9 .elementor-element.elementor-element-8036b71 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:30px;font-weight:700;color:#29235C;}.elementor-9 .elementor-element.elementor-element-354537e7{text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;color:#2D2D28;}.elementor-9 .elementor-element.elementor-element-f7046ec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-ed8f5fa{--display:flex;}.elementor-9 .elementor-element.elementor-element-26bd494{--display:flex;--min-height:350px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9 .elementor-element.elementor-element-7b5830c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-78adef9{--display:flex;}.elementor-widget-video-playlist .e-tabs-wrapper .e-tabs-header .e-tabs-title{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-wrapper .e-tabs-header .e-tabs-videos-count{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-wrapper .e-tabs-header .e-tabs-header-right-side i{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-wrapper .e-tabs-header .e-tabs-header-right-side svg{fill:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items .e-tab-title .e-tab-title-text{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items .e-tab-title .e-tab-title-text button{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-video-playlist .e-tabs-items .e-tab-title .e-tab-duration{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text button{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-duration{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-section-title{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-inner-tabs .e-inner-tabs-wrapper .e-inner-tab-title a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-video-playlist .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content .e-inner-tab-text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-video-playlist .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content button{color:var( --e-global-color-text );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-video-playlist .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content button:hover{color:var( --e-global-color-text );}.elementor-9 .elementor-element.elementor-element-4716d08 .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text{color:#556068;}.elementor-9 .elementor-element.elementor-element-4716d08 .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text button{color:#556068;}.elementor-9 .elementor-element.elementor-element-4716d08 .e-tabs-items-wrapper .e-section-title{border-style:solid;}.elementor-9 .elementor-element.elementor-element-4e3a437{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-fe3782b{padding:40px 0px 10px 0px;}.elementor-9 .elementor-element.elementor-element-d740caa{text-align:center;}.elementor-9 .elementor-element.elementor-element-d740caa .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:30px;font-weight:700;color:#29235C;}.elementor-9 .elementor-element.elementor-element-0bdc093{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-ca8a0a2{--display:flex;}.elementor-9 .elementor-element.elementor-element-2677e83{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-e8ae975{--display:flex;}.elementor-9 .elementor-element.elementor-element-3b4d1c5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-ce2b51e{--display:flex;}.elementor-9 .elementor-element.elementor-element-c960898{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-9 .elementor-element.elementor-element-fa6df93 .elementor-button{background-color:#ABAAB1;fill:#FFFFFF;color:#FFFFFF;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-9 .elementor-element.elementor-element-2ebe199{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9 .elementor-element.elementor-element-6eb7770{--display:flex;}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-1eeb4c2{--min-height:508px;}.elementor-9 .elementor-element.elementor-element-ebe0a7f{font-size:16px;}.elementor-9 .elementor-element.elementor-element-5bd308ef > .elementor-container{max-width:350px;}.elementor-9 .elementor-element.elementor-element-5bd308ef{padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-8036b71 .elementor-heading-title{font-size:25px;}.elementor-9 .elementor-element.elementor-element-354537e7 > .elementor-widget-container{margin:0px 0px -20px 0px;}.elementor-9 .elementor-element.elementor-element-354537e7{font-size:14px;line-height:1.4em;}.elementor-9 .elementor-element.elementor-element-26bd494{--min-height:350px;}.elementor-9 .elementor-element.elementor-element-fe3782b > .elementor-container{max-width:350px;}.elementor-9 .elementor-element.elementor-element-fe3782b{padding:40px 10px 0px 10px;}.elementor-9 .elementor-element.elementor-element-d740caa .elementor-heading-title{font-size:25px;}}@media(min-width:768px){.elementor-9 .elementor-element.elementor-element-1eeb4c2{--width:100.492%;}}/* Start custom CSS for shortcode, class: .elementor-element-0affdcc *//* =========================================
   Rainbow – Tabs + Paneles (CSS)
   ========================================= */
:root{
  --ta-color:#352D74;          /* color principal */
  --ta-gap-desktop:40px;       /* espacio entre items (desktop) */
  --ta-gap-mobile:18px;        /* espacio entre items (móvil) */
}

.ta-cats{ background:#fff; margin:0; padding:0; }
.ta-container{ max-width:1200px; margin:0 auto; padding:0 8px; }

/* Barra (mobile-first) */
.ta-bar{
  display:flex; align-items:center; gap:var(--ta-gap-mobile);
  padding:6px 0;
  overflow-x:auto; overflow-y:hidden;
  -webkit-overflow-scrolling:touch; scrollbar-width:none;
  touch-action:pan-x;
}
.ta-bar::-webkit-scrollbar{ display:none; }

/* Item */
.ta-item{
  position:relative; display:inline-flex; align-items:center; gap:8px;
  color:var(--ta-color); font-weight:700; font-size:16px;
  text-decoration:none; padding:6px 2px; white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  border:0 !important; outline:0 !important; box-shadow:none !important;
  transition:color .2s ease;
}
.ta-item i{ font-size:18px; line-height:1; }
.ta-item:hover{ color:#24185e; }

/* Subrayado del activo */
.ta-item::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:3px;
  width:0; margin:0 auto; background:var(--ta-color); border-radius:2px;
  transition:width .25s ease;
}
.ta-item.is-active::after{ width:100%; }

/* Arrastre */
.ta-bar.dragging{ cursor:grabbing; user-select:none; }

/* Paneles */
.ta-panels{ position:relative; }
.ta-panel{
  display:none; border-top:1px solid #eee; margin-top:6px;
  opacity:0; transition:opacity .18s ease;
}
.ta-panel.is-open{ display:block; opacity:1; }

/* Grid de contenido */
.ta-panel__grid{
  display:grid; gap:16px; padding:16px 0;
  grid-template-columns:repeat(2, minmax(160px,1fr)); /* 2 col en móvil */
}
.ta-list{ list-style:none; margin:0; padding:0; }
.ta-heading{ font-weight:800; color:#111; margin-bottom:8px; }
.ta-list a{
  display:block; padding:6px 0; color:#2c2c2c; text-decoration:none;
  border-radius:6px; transition:color .2s ease, background .2s ease;
}
.ta-list a:hover{ color:var(--ta-color); background:#f6f6fb; }

/* CTA genérico (si lo usas) */
.ta-panel__all{
  display:inline-block; margin:-4px 0 16px; color:var(--ta-color);
  font-weight:700; text-decoration:none;
}
.ta-panel__all:hover{ text-decoration:underline; }

/* Desktop / tablet */
@media (min-width:768px){
  .ta-container{ padding:0 12px; }
  .ta-bar{ justify-content:center; gap:var(--ta-gap-desktop); overflow-x:visible; }
  .ta-panel__grid{ grid-template-columns:repeat(4, minmax(180px,1fr)); gap:20px; }
}

/* Desactivar animación si agregas .no-anim en el panel */
.ta-panel.no-anim{ transition:none; }

/* ===== Extra: quitar “cuadrado negro” de foco en pestañas ===== */
.ta-bar .ta-item,
.ta-bar .ta-item:link,
.ta-bar .ta-item:visited{
  border:0 !important;
}
.ta-bar .ta-item:focus,
.ta-bar .ta-item:focus-visible,
.ta-bar .ta-item:active{
  outline:none !important;
  box-shadow:none !important;
  border:0 !important;
}
/* Accesibilidad: mantener solo el subrayado al enfocar con teclado */
.ta-bar .ta-item:focus-visible::after{
  width:100%;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-fa902b9 *//* =========================================================
   BASE / VARIABLES GLOBALES
   ========================================================= */
:root{
  --brand: #352D74;
  --page-max: 1200px;                 /* ancho máximo en desktop */
  --page-gutter: clamp(8px, 3vw, 16px);/* menos blanco lateral */
  --pad-mobile: 12px;
  --pad-tablet: 20px;
  --tour-card-ratio: 4/3;             /* alto uniforme (fallback) */
}

* { box-sizing: border-box; }
html, body { width: 100%; overflow-x: hidden; }
img, video, canvas, svg, iframe { max-width: 100%; height: auto; display: block; }
body { overflow-wrap:anywhere; word-break:normal; }

/* Oculta overlays molestos en pantallas pequeñas */
@media (max-width:575px){
  .gt_float_wrapper, .gt_float_switcher, .gtranslate_wrapper, a[href*="gtranslate.io"], #gtranslate_wrapper{ display:none !important; }
  .joinchat{ display:none !important; }
}

/* =========================================================
   ELEMENTOR / CONTENEDORES / TIPOGRAFÍA RESPONSIVE
   ========================================================= */
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section > .elementor-container,
.elementor .e-con-inner{
  max-width: var(--page-max);
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con{
  box-sizing: border-box;
  max-width: 100%;
}

/* Widgets con width inline, que no rompan */
.elementor *[style*="width:"]{ max-width: 100% !important; }

/* Imágenes/iframes fluidos dentro de Elementor */
.elementor img,
.elementor iframe,
.elementor video{
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

/* Tipografía fluida */
h1 { font-size: clamp(28px, 6vw, 44px); line-height: 1.1; }
h2 { font-size: clamp(22px, 5vw, 34px); line-height: 1.15; }
h3 { font-size: clamp(18px, 4.5vw, 28px); line-height: 1.2; }

/* Paddings laterales coherentes */
@media (max-width: 1024px){
  .elementor-section,
  .e-con{ padding-left: var(--pad-tablet) !important; padding-right: var(--pad-tablet) !important; }
}
@media (max-width: 767px){
  .elementor-section,
  .e-con{ padding-left: var(--pad-mobile) !important; padding-right: var(--pad-mobile) !important; }

  /* Columnas a 100% y botones fluidos */
  .elementor-container,.container,.site-content,.content-area,.wrap { max-width: 100% !important; }
  .elementor-column,.elementor-col-50,.elementor-col-33,.elementor-col-25{ width: 100% !important; }
  .elementor a.elementor-button,.elementor .elementor-button{ width: 100%; }
}

/* Evitar márgenes que empujen el layout en móvil */
@media (max-width: 768px){
  [style*="margin-left"], [style*="margin-right"]{
    margin-left: 0 !important; 
    margin-right: 0 !important;
  }
}

/* Sliders sin desbordes laterales */
.swiper, .swiper-container, .slick-slider { max-width: 100%; overflow: hidden; }

/* Quitar min-height fijos que crean huecos */
.elementor-section[style*="min-height"],
[class*="min-height"], [class*="vh"] { min-height: auto !important; }

/* Evita desbordes por animaciones/transform */
body .elementor-section,
body .e-con{ overflow-x: hidden; }

/* Reduce espacio vertical exagerado en móvil */
@media (max-width: 767px){
  .elementor-section{ padding-top: min(8vw, 40px) !important; padding-bottom: min(8vw, 40px) !important; }
}

/* Títulos centrados y textos JUSTIFICADOS en móvil/tablet */
@media (max-width: 1024px){
  .elementor .elementor-heading-title{ text-align:center !important; }
  .elementor .elementor-widget-text-editor,
  .elementor .elementor-widget-text-editor p,
  .elementor p{
    text-align: justify !important;
    text-justify: inter-word;
    -webkit-hyphens: auto; hyphens: auto;
  }
}

/* Embeds (YouTube/Maps/etc.) fluidos */
.responsive-embed iframe,
iframe[src*="youtube"], iframe[src*="maps.google"],
iframe[src*="booking.com"], iframe[src*="tripadvisor"]{
  width: 100% !important; min-width: 0;
}

/* =========================================================
   GLSR (Site Reviews) — COLORES, BARRAS, LISTADOS
   ========================================================= */
.glsr-summary .glsr-stars svg path { fill: var(--brand) !important; }
.glsr-summary .glsr-stars span { color: var(--brand) !important; }
.glsr-summary .glsr-stars img { filter: hue-rotate(250deg) saturate(2); }

/* Fallback estrellas */
.glsr-star.glsr-star-full,
.glsr-star.glsr-star-half,
.glsr-star.glsr-star-empty{
  filter:brightness(0) saturate(100%) invert(20%) sepia(25%) saturate(2000%) hue-rotate(215deg) brightness(90%) contrast(92%) !important;
}

/* Variante sin estrellas/número (para bloque barras) */
.sin-estrellas .glsr-summary-stars,
.sin-estrellas .glsr-summary-average,
.sin-estrellas .glsr-summary-text{ display:none !important; }

/* Estrellas centradas cuando uses .shortcode-con-estrellas */
.shortcode-con-estrellas .glsr-summary-stars{ text-align:center !important; display:block !important; margin:auto !important; }
.shortcode-con-estrellas .glsr-summary-stars .glsr-star-full,
.shortcode-con-estrellas .glsr-summary-stars .glsr-star-half,
.shortcode-con-estrellas .glsr-summary-stars .glsr-star-empty{
  filter:brightness(0) saturate(100%) invert(20%) sepia(25%) saturate(1950%) hue-rotate(215deg) brightness(90%) contrast(92%) !important;
}

/* Barras moradas y redondeadas */
.shortcode-sin-numero .glsr-bar,
.shortcode-sin-numero .glsr-bar-background{ border-radius:8px !important; overflow:hidden !important; }
.shortcode-sin-numero .glsr-bar-background-percent,
.shortcode-sin-numero .site-reviews-bar__fill{ background:var(--brand) !important; }

/* Separador entre reseñas verticales */
.glsr-review{ border-bottom:1px solid #ddd; padding-bottom:20px; margin-bottom:20px; }
.glsr-review:last-child{ border-bottom:none; }

/* Chips */
.chips button{
  border:1px solid var(--brand); border-radius:999px; padding:8px 14px; background:#fff; cursor:pointer;
  color:var(--brand); font-weight:600; transition:background .2s ease, color .2s ease;
}
.chips button:hover{ background:#e6e6e6; color:var(--brand); }
.chips button.active{ background:#e6e6e6; color:var(--brand); border-color:var(--brand); }

/* Enlace “Ver más comentarios” destacado */
a[href="https://rainbowmountainhikes.com/comentarios-viajeros/"]{
  color: var(--brand) !important; font-weight: 700 !important; text-decoration: none !important;
}

/* =========================================================
   RHM — CAJAS DE CALIFICACIÓN (tours)
   ========================================================= */
[id^="rhm-rating-box-"] .glsr-summary{
  font-size:16px !important; font-weight:400 !important; color:#333 !important; line-height:1.4 !important;
}
[id^="rhm-rating-box-"] .glsr-summary *{ font-size:inherit !important; font-weight:inherit !important; color:inherit !important; }

[id^="rhm-rating-box-"] .glsr-summary-average,
[id^="rhm-rating-box-"] .glsr-value,
[id^="rhm-rating-box-"] .glsr-rating-value,
[id^="rhm-rating-box-"] .glsr-tag-value,
[id^="rhm-rating-box-"] .glsr-tag-out-of{
  display:inline-block !important;
  font-size:36px !important; font-weight:700 !important; color:var(--brand) !important;
  line-height:1.2 !important; vertical-align:baseline !important;
}
[id^="rhm-rating-box-"] .glsr-tag-out-of{ margin-left:6px; }

[id^="rhm-rating-box-"] .glsr-summary-stars{
  display:block !important; margin:8px auto 0 !important; text-align:center !important;
}
[id^="rhm-rating-box-"] .glsr-summary-stars svg path{ fill:var(--brand) !important; }

[id^="rhm-rating-box-"] .glsr-summary-text,
[id^="rhm-rating-box-"] .glsr-summary__text,
[id^="rhm-rating-box-"] .glsr-summary-count,
[id^="rhm-rating-box-"] .glsr-summary__count{
  display:block !important; font-size:14px !important; font-weight:400 !important; color:#333 !important; margin-top:6px !important;
}

/* Barras por tour */
[id^="rhm-bars-"] .glsr-summary-stars,
[id^="rhm-bars-"] .glsr-summary-average,
[id^="rhm-bars-"] .glsr-summary-text{ display:none !important; }
[id^="rhm-bars-"] .site-reviews-bar__fill,
[id^="rhm-bars-"] .glsr-bar-background-percent{ background:var(--brand) !important; }
[id^="rhm-bars-"] .site-reviews-bar,
[id^="rhm-bars-"] .glsr-bar,
[id^="rhm-bars-"] .glsr-bar-background{ border-radius:8px !important; overflow:hidden !important; }

/* =========================================================
   TARJETAS DE RESEÑAS EN GRID (viator-cards)
   ========================================================= */
.viator-cards{
  --flag-size: 32px;
  --flag-gap: 12px;
  --title-pad-right: calc(var(--flag-size) + var(--flag-gap) + 8px);
  --card-radius: 14px;
  --card-border: #e5e7eb;
  --card-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.viator-cards ul.glsr-reviews,
.viator-cards ol.glsr-reviews,
.viator-cards .glsr-reviews,
.viator-cards ul.site-reviews,
.viator-cards .reviews-list,
.viator-cards .glsr-latest,
.viator-cards .elementor-widget-container > ul{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:20px;
}
.viator-cards .glsr-reviews > li,
.viator-cards .glsr-reviews > .glsr-review,
.viator-cards .site-reviews > li,
.viator-cards .reviews-list > *,
.viator-cards .glsr-latest > *,
.viator-cards .elementor-widget-container > ul > li{
  background:#fff; border:1px solid var(--card-border); border-radius:var(--card-radius);
  box-shadow:var(--card-shadow); padding:18px 16px; display:flex; flex-direction:column; height:100%; position:relative;
}
.viator-cards .glsr-review,.viator-cards .site-review{ display:flex; flex-direction:column; height:100%; }
.viator-cards .glsr-review__title,
.viator-cards .glsr-review__title a,
.viator-cards .site-review-title,
.viator-cards .site-review-title a{
  display:block; width:100%; min-width:0; box-sizing:border-box; max-width:100%;
  font-size:18px; font-weight:700; line-height:1.25; margin:0 0 6px;
  padding-right: var(--title-pad-right); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:inherit; text-decoration:none;
}
.viator-cards .glsr-stars,.viator-cards .site-review-stars{ font-size:18px; line-height:1; color:var(--brand); margin-right:8px; }
.viator-cards time,.viator-cards .glsr-review-date,.viator-cards .site-review-date{ font-size:13px; color:#666; }
.viator-cards .glsr-review__content,.viator-cards .site-review-content{
  margin-top:6px; font-size:14px; line-height:1.55; color:#222;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.viator-cards .glsr-review__meta,.viator-cards .site-review-meta{ font-size:13px; color:#555; margin-top:auto; }
.viator-cards .glsr-review__country img,
.viator-cards .review-flag,.viator-cards .glsr-flag,.viator-cards .glsr-country-badge{
  position:absolute; top:12px; right:12px; width:32px; height:32px; background:#fff; border:1px solid var(--card-border);
  border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.06); object-fit:cover; pointer-events:none; z-index:1;
}
.viator-cards, .glsr, .glsr-reviews, .reviews-list{ text-align: left !important; }

@media (max-width:1200px){
  .viator-cards ul.glsr-reviews,
  .viator-cards ol.glsr-reviews,
  .viator-cards .glsr-reviews,
  .viator-cards .reviews-list,
  .viator-cards .glsr-latest{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width:900px){
  .viator-cards ul.glsr-reviews,
  .viator-cards ol.glsr-reviews,
  .viator-cards .glsr-reviews,
  .viator-cards .reviews-list,
  .viator-cards .glsr-latest{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .viator-cards ul.glsr-reviews,
  .viator-cards ol.glsr-reviews,
  .viator-cards .glsr-reviews,
  .viator-cards .reviews-list,
  .viator-cards .glsr-latest{ grid-template-columns: 1fr; }
}

/* Efecto lift en hover (desktop) */
@media (hover:hover) and (pointer:fine){
  .viator-cards .glsr-reviews > li,
  .viator-cards .glsr-reviews > .glsr-review,
  .viator-cards .site-reviews > li,
  .viator-cards .reviews-list > *{
    --lift: 10px;
    transform: translate3d(0,0,0);
    will-change: transform, box-shadow;
    transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease, filter 220ms ease;
  }
  .viator-cards .glsr-reviews > li:hover,
  .viator-cards .site-reviews > li:hover,
  .viator-cards .reviews-list > *:hover{
    transform: translate3d(0, calc(-1 * var(--lift)), 0);
    box-shadow: 0 16px 30px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);
    filter: saturate(1.02);
  }
}

/* =========================================================
   SWIPER / SLIDERS
   ========================================================= */
.swiper-button-prev, .swiper-button-next{
  position:absolute !important; top:50% !important; width:40px !important; height:40px !important;
  margin-top:-20px !important; color:var(--brand) !important; z-index:1000 !important; background:transparent !important;
  border-radius:50%; cursor:pointer; box-shadow:0 0 5px rgba(53,45,116,.5);
  display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:bold; user-select:none;
}
.swiper-button-prev{ left:-50px !important; } 
.swiper-button-next{ right:-50px !important; }
.swiper-button-prev::after{ content:'<'; color:var(--brand); font-weight:bold; font-size:28px; }
.swiper-button-next::after{ content:'>'; color:var(--brand); font-weight:bold; font-size:28px; }
.swiper-pagination{ position:static !important; margin-top:12px !important; }
.swiper.mySwiper{ padding-bottom:60px !important; }

/* Bullets bajo el contenido */
.rhm-swiper .swiper{ overflow:visible !important; padding-bottom:0 !important; }
.rhm-swiper .swiper-pagination{ position:static !important; margin-top:14px !important; text-align:center !important; }
.rhm-swiper .swiper-pagination-bullet{ margin:0 5px !important; }
.rhm-swiper .rhm-card{ margin-bottom:8px; }
.rhm-swiper{ max-width:1080px; margin:0 auto; padding-bottom:56px; }
@media (max-width:600px){ .rhm-swiper{ padding-bottom:60px; } }

/* =========================================================
   CARRUSEL FULL EN MÓVIL (clase utilitaria)
   ========================================================= */
@media (max-width:767px){
  .carrusel-full{ position:relative; left:-10px; width:calc(100% + 20px) !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  .carrusel-full .swiper-slide img{ display:block !important; width:100% !important; height:auto !important; object-fit:cover; }
}

/* =========================================================
   ACORDEONES FULL + PÁGINAS DE TOURS
   ========================================================= */
.elementor-widget.acordeon-full,
.elementor-widget.acordeon-full .elementor-accordion,
.elementor-widget.acordeon-full .elementor-accordion-item{
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; border-radius:0 !important;
}
.elementor-widget.acordeon-full .elementor-widget-container{ padding:0 !important; }

/* =========================================================
   CTA “Descubre más experiencias…” – sin hueco entre foto y caja
   ========================================================= */
@media (max-width: 1024px){
  .elementor-widget-image{ line-height: 0 !important; }
  .elementor .e-con[style*="margin-top"], .elementor-section[style*="margin-top"]{ margin-top: min(12px, 2.5vw) !important; }
  .elementor .e-con[style*="padding-top"], .elementor-section[style*="padding-top"]{ padding-top: min(22px, 5vw) !important; }
}

/* =========================================================
   FOOTER – MÉTODOS DE PAGO (logos sin deformarse)
   ========================================================= */
.site-footer .elementor-widget-image img,
footer .elementor-widget-image img{
  object-fit: contain !important;
  aspect-ratio: auto !important;
  max-height: 72px;
  width: auto;
  height: auto !important;
  margin: 0 auto;
}

/* =========================================================
   TOURS (Elementor Loop) – todas las imágenes con la MISMA altura
   ========================================================= */
.e-loop-item .elementor-widget-image,
.e-loop-item .elementor-image,
.e-loop-item .elementor-post__thumbnail,
.e-loop-item .elementor-cta__image,
.e-loop-item .elementor-widget-image-box .elementor-image-box-img{
  aspect-ratio: var(--tour-card-ratio) !important;
  width: 100% !important;
  overflow: hidden !important;
  line-height: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.e-loop-item .elementor-widget-image img,
.e-loop-item .elementor-image img,
.e-loop-item .elementor-post__thumbnail img,
.e-loop-item .elementor-cta__image img,
.e-loop-item .elementor-widget-image-box .elementor-image-box-img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.e-loop-item{
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(31,27,86,.10) !important;
}
@media (max-width: 767px){
  .e-loop-item .elementor-widget-container{ padding: 14px 16px !important; }
}

/* =========================================================
   SHORTCODE .tc1 — Carrusel de 4 cartillas (las de la home)
   ========================================================= */

/* Variables base del componente */
.tc1 {
  --tc1-gap: 24px;
  --tc1-color: var(--brand);
  --tc1-img-ratio: 4/3;        /* móvil */
  --tc1-img-height: 260px;     /* tablet/desktop: AJUSTA si quieres 240–300px */
}
.tc1 * { box-sizing: border-box; }
.tc1 { width: 100%; max-width: 100%; margin: 0 auto; overflow-x: hidden; }

/* Carrusel en móvil (scroll horizontal) */
@media (max-width: 767px){
  .tc1 .tour-carousel{ overflow:hidden; }
  .tc1 .tour-carousel__track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding:0 16px;
  }
  .tc1 .tour-carousel__track::-webkit-scrollbar{ display:none; }
  .tc1 .tour-carousel__track{ scrollbar-width:none; }
  .tc1 .tour-carousel__track .tour-card{
    flex:0 0 85%;
    scroll-snap-align:start;
    margin:0;
  }
}

/* Carrusel en escritorio (grid 4 columnas) */
@media (min-width: 768px){
  .tc1 .tour-carousel{ overflow:visible; }
  .tc1 .tour-carousel__track{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:var(--tc1-gap);
    max-width:1400px;
    margin-left:auto;
    margin-right:auto;
    padding:0;
    overflow:visible;
  }
  .tc1 .tour-carousel__track .tour-card{ flex:initial; }
}

/* Tarjeta */
.tc1 .tour-card{
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
  cursor:pointer;
}
.tc1 .tour-card:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}

/* ====== IMAGEN: MISMA ALTURA EN LAS 4 (como “Full Day”) ====== */
.tc1 .tour-image{
  position:relative;
  width:100%;
  aspect-ratio: var(--tc1-img-ratio);  /* móvil: ratio 4/3 */
  overflow:hidden;
  line-height:0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.tc1 .tour-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
/* En tablet/desktop fijamos altura exacta para igualarlas */
@media (min-width:768px){
  .tc1 .tour-image{
    aspect-ratio:auto;                 /* anulamos el ratio */
    height:var(--tc1-img-height) !important;
  }
}

/* Badges */
.tc1 .tour-badge{
  position:absolute; top:12px; left:12px; z-index:2;
  color:#fff; font-size:13px; padding:6px 12px;
  border-radius:999px; font-weight:700;
  box-shadow:0 4px 10px rgba(0,0,0,.15); white-space:nowrap;
}
.tc1 .badge-mas-vendido{ background:var(--tc1-color); }
.tc1 .badge-rapido{ background:#352D74; }
.tc1 .badge-oferta{ background:#ff7043; }
.tc1 .badge-nuevo{ background:#7e57c2; }

/* Contenido */
.tc1 .tour-content{ padding:16px; }
.tc1 .tour-title{
  font-size:18px; font-weight:700; line-height:1.28;
  margin:6px 0 10px; color:#222;
}
.tc1 .tour-details{ list-style:none; padding:0; margin:0 0 12px; color:#555; font-size:14px; }
.tc1 .tour-details li{ margin:4px 0; }

/* Precios */
.tc1 .tour-price{ font-size:15px; color:#333; }
.tc1 .tour-price .from{ font-size:13px; color:#777; display:block; }
.tc1 .tour-price .price{ font-size:18px; font-weight:800; color:var(--tc1-color); margin-right:6px; }
.tc1 .tour-price .old-price{ font-size:14px; text-decoration:line-through; color:#999; }

/* ===== RATING en tarjetas (.tc1) ===== */
.tc1 .tour-rating{ margin-bottom:10px; }
.tc1 .rhm-card-rating{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.tc1 .rhm-card-rating .rhm-avg{ font-weight:700; font-size:14px; color:var(--tc1-color); }
.tc1 .rhm-card-rating .rhm-count{ font-size:13px; color:#666; }

/* Estrellas gruesas */
.tc1 .rhm-starsbar{
  --star-size: 18px;
  --color: var(--tc1-color);
  --bg: #e6e6f0;
  position: relative;
  display:inline-block;
  flex:0 0 auto;
  width: calc(var(--star-size) * 5);
  min-width: calc(var(--star-size) * 5);
  height: var(--star-size);
  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'>\
<path d='M316.9 18C311 6.1 300-0.2 288 0s-23 6.1-28.9 18L195 150.3 49.2 171.5c-12.5 1.8-22.6 10.6-26.5 22.6s-.7 25.1 8.6 33.7L150 319.3 124 470.4c-2.1 12.4 3 24.9 13.1 32.5s23.4 8.6 34.3 2.5L288 405.5l116.6 60c10.9 5.6 24.2 4.7 34.3-2.5s15.1-20.2 13.1-32.5L450 319.3 544.7 228c9.3-8.6 12.6-21.7 8.6-33.7s-14-20.9-26.5-22.6L381 150.3 316.9 18z'/>\
</svg>") left / var(--star-size) var(--star-size) repeat-x;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'>\
<path d='M316.9 18C311 6.1 300-0.2 288 0s-23 6.1-28.9 18L195 150.3 49.2 171.5c-12.5 1.8-22.6 10.6-26.5 22.6s-.7 25.1 8.6 33.7L150 319.3 124 470.4c-2.1 12.4 3 24.9 13.1 32.5s23.4 8.6 34.3 2.5L288 405.5l116.6 60c10.9 5.6 24.2 4.7 34.3-2.5s15.1-20.2 13.1-32.5L450 319.3 544.7 228c9.3-8.6 12.6-21.7 8.6-33.7s-14-20.9-26.5-22.6L381 150.3 316.9 18z'/>\
</svg>") left / var(--star-size) var(--star-size) repeat-x;
  background: var(--bg);
  filter: drop-shadow(0 0 0 var(--bg));
  border-radius: 3px;
}
.tc1 .rhm-starsbar::before{
  content:"";
  position:absolute; inset:0;
  background: var(--color);
  width: calc(var(--p) * 100%);
}

/* Ocultar texto nativo del plugin en las cards (.tc1) */
.tc1 .rhm-card-rating .glsr-summary .glsr-stars,
.tc1 .rhm-card-rating .glsr-summary .glsr-star,
.tc1 .rhm-card-rating .glsr-summary svg,
.tc1 .rhm-card-rating .glsr-summary-text,
.tc1 .rhm-card-rating .glsr-summary__text{
  display:none !important;
}

/* ===========================
   AJUSTE: cartillas más bajas
   (no cambia textos ni paddings)
   =========================== */
@media (min-width:768px){
  .tc1{ --tc1-img-height: 220px; }   /* antes 260px – súbelo/bájalo a tu gusto (200–260) */
}

/* ===========================
   BADGES / ETIQUETAS “pill”
   =========================== */
.tc1 .tour-badge{
  top: 14px; left: 14px;
  padding: 8px 14px;                 /* más “pill” */
  font-size: 14px;
  font-weight: 800;
  border-radius: 999px;
  color:#fff;
  letter-spacing:.2px;
  border: 2px solid rgba(255,255,255,.95);   /* filo blanco como antes */
  box-shadow:
    0 8px 18px rgba(0,0,0,.18),
    0 2px 6px rgba(0,0,0,.10);
  backdrop-filter: blur(1px);                /* sutil, no obligatorio */
}

/* Colores con degradado suave (look más “pro”) */
.tc1 .badge-mas-vendido{
  background: linear-gradient(135deg, #3b2e8f, #5a46d6);
}
.tc1 .badge-rapido{
  background: linear-gradient(135deg, #2e276f, #4b3ca7);
}
.tc1 .badge-oferta{
  background: linear-gradient(135deg, #ff8a4c, #ff5a2f);
}
.tc1 .badge-nuevo{
  background: linear-gradient(135deg, #8b6eea, #5e3fb3);
}

/* Evita que las etiquetas se achiquen por error */
.tc1 .tour-image{ position:relative; overflow:hidden; }
.tc1 .tour-image img{ display:block; width:100%; height:100%; object-fit:cover; }

/* === Badges más “gruesas” (sin borde) === */
.tc1 .tour-badge{
  padding: 10px 16px !important;   /* ↑ alto/espesor */
  font-size: 14.5px !important;     /* texto un poco mayor */
  font-weight: 800 !important;      /* más grueso */
  border: none !important;          /* SIN borde blanco */
  border-radius: 999px !important;
  line-height: 1 !important;
  letter-spacing: .2px;
  box-shadow: 0 8px 18px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.08);
}

/* Ajuste en móviles pequeños para que no tapen la foto */
@media (max-width:420px){
  .tc1 .tour-badge{
    padding: 8px 12px !important;
    font-size: 13.5px !important;
  }
}

/* Colores (mantén los tuyos si ya los tienes) */
.tc1 .badge-mas-vendido{ background:#4a3fb1 !important; }
.tc1 .badge-rapido{      background:#3c348c !important; }
.tc1 .badge-oferta{      background:#ff6f3d !important; }
.tc1 .badge-nuevo{       background:#6f5bd6 !important; }

/* === TC1: cartillas más anchas en móvil === */
@media (max-width: 767px){
  /* menos padding lateral del carrusel */
  .tc1 .tour-carousel__track{
    padding: 0 10px;
    gap: 12px;
  }
  /* cada tarjeta ocupa casi toda la pantalla */
  .tc1 .tour-carousel__track .tour-card{
    flex: 0 0 96%;   /* prueba 98% si las quieres aún más anchas */
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-2c622d2 *//* =========================================================
   BASE / VARIABLES GLOBALES
   ========================================================= */
:root{
  --brand: #352D74;
  --page-max: 1200px;                 /* ancho máximo en desktop */
  --page-gutter: clamp(8px, 3vw, 16px);/* menos blanco lateral */
  --pad-mobile: 12px;
  --pad-tablet: 20px;
  --tour-card-ratio: 4/3;             /* alto uniforme (fallback) */
}

* { box-sizing: border-box; }
html, body { width: 100%; overflow-x: hidden; }
img, video, canvas, svg, iframe { max-width: 100%; height: auto; display: block; }
body { overflow-wrap:anywhere; word-break:normal; }

/* Oculta overlays molestos en pantallas pequeñas */
@media (max-width:575px){
  .gt_float_wrapper, .gt_float_switcher, .gtranslate_wrapper, a[href*="gtranslate.io"], #gtranslate_wrapper{ display:none !important; }
  .joinchat{ display:none !important; }
}

/* =========================================================
   ELEMENTOR / CONTENEDORES / TIPOGRAFÍA RESPONSIVE
   ========================================================= */
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section > .elementor-container,
.elementor .e-con-inner{
  max-width: var(--page-max);
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con{
  box-sizing: border-box;
  max-width: 100%;
}

/* Widgets con width inline, que no rompan */
.elementor *[style*="width:"]{ max-width: 100% !important; }

/* Imágenes/iframes fluidos dentro de Elementor */
.elementor img,
.elementor iframe,
.elementor video{
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

/* Tipografía fluida */
h1 { font-size: clamp(28px, 6vw, 44px); line-height: 1.1; }
h2 { font-size: clamp(22px, 5vw, 34px); line-height: 1.15; }
h3 { font-size: clamp(18px, 4.5vw, 28px); line-height: 1.2; }

/* Paddings laterales coherentes */
@media (max-width: 1024px){
  .elementor-section,
  .e-con{ padding-left: var(--pad-tablet) !important; padding-right: var(--pad-tablet) !important; }
}
@media (max-width: 767px){
  .elementor-section,
  .e-con{ padding-left: var(--pad-mobile) !important; padding-right: var(--pad-mobile) !important; }

  /* Columnas a 100% y botones fluidos */
  .elementor-container,.container,.site-content,.content-area,.wrap { max-width: 100% !important; }
  .elementor-column,.elementor-col-50,.elementor-col-33,.elementor-col-25{ width: 100% !important; }
  .elementor a.elementor-button,.elementor .elementor-button{ width: 100%; }
}

/* Evitar márgenes que empujen el layout en móvil */
@media (max-width: 768px){
  [style*="margin-left"], [style*="margin-right"]{
    margin-left: 0 !important; 
    margin-right: 0 !important;
  }
}

/* Sliders sin desbordes laterales */
.swiper, .swiper-container, .slick-slider { max-width: 100%; overflow: hidden; }

/* Quitar min-height fijos que crean huecos */
.elementor-section[style*="min-height"],
[class*="min-height"], [class*="vh"] { min-height: auto !important; }

/* Evita desbordes por animaciones/transform */
body .elementor-section,
body .e-con{ overflow-x: hidden; }

/* Reduce espacio vertical exagerado en móvil */
@media (max-width: 767px){
  .elementor-section{ padding-top: min(8vw, 40px) !important; padding-bottom: min(8vw, 40px) !important; }
}

/* Títulos centrados y textos JUSTIFICADOS en móvil/tablet */
@media (max-width: 1024px){
  .elementor .elementor-heading-title{ text-align:center !important; }
  .elementor .elementor-widget-text-editor,
  .elementor .elementor-widget-text-editor p,
  .elementor p{
    text-align: justify !important;
    text-justify: inter-word;
    -webkit-hyphens: auto; hyphens: auto;
  }
}

/* Embeds (YouTube/Maps/etc.) fluidos */
.responsive-embed iframe,
iframe[src*="youtube"], iframe[src*="maps.google"],
iframe[src*="booking.com"], iframe[src*="tripadvisor"]{
  width: 100% !important; min-width: 0;
}

/* =========================================================
   GLSR (Site Reviews) — COLORES, BARRAS, LISTADOS
   ========================================================= */
.glsr-summary .glsr-stars svg path { fill: var(--brand) !important; }
.glsr-summary .glsr-stars span { color: var(--brand) !important; }
.glsr-summary .glsr-stars img { filter: hue-rotate(250deg) saturate(2); }

/* Fallback estrellas */
.glsr-star.glsr-star-full,
.glsr-star.glsr-star-half,
.glsr-star.glsr-star-empty{
  filter:brightness(0) saturate(100%) invert(20%) sepia(25%) saturate(2000%) hue-rotate(215deg) brightness(90%) contrast(92%) !important;
}

/* Variante sin estrellas/número (para bloque barras) */
.sin-estrellas .glsr-summary-stars,
.sin-estrellas .glsr-summary-average,
.sin-estrellas .glsr-summary-text{ display:none !important; }

/* Estrellas centradas cuando uses .shortcode-con-estrellas */
.shortcode-con-estrellas .glsr-summary-stars{ text-align:center !important; display:block !important; margin:auto !important; }
.shortcode-con-estrellas .glsr-summary-stars .glsr-star-full,
.shortcode-con-estrellas .glsr-summary-stars .glsr-star-half,
.shortcode-con-estrellas .glsr-summary-stars .glsr-star-empty{
  filter:brightness(0) saturate(100%) invert(20%) sepia(25%) saturate(1950%) hue-rotate(215deg) brightness(90%) contrast(92%) !important;
}

/* Barras moradas y redondeadas */
.shortcode-sin-numero .glsr-bar,
.shortcode-sin-numero .glsr-bar-background{ border-radius:8px !important; overflow:hidden !important; }
.shortcode-sin-numero .glsr-bar-background-percent,
.shortcode-sin-numero .site-reviews-bar__fill{ background:var(--brand) !important; }

/* Separador entre reseñas verticales */
.glsr-review{ border-bottom:1px solid #ddd; padding-bottom:20px; margin-bottom:20px; }
.glsr-review:last-child{ border-bottom:none; }

/* Chips */
.chips button{
  border:1px solid var(--brand); border-radius:999px; padding:8px 14px; background:#fff; cursor:pointer;
  color:var(--brand); font-weight:600; transition:background .2s ease, color .2s ease;
}
.chips button:hover{ background:#e6e6e6; color:var(--brand); }
.chips button.active{ background:#e6e6e6; color:var(--brand); border-color:var(--brand); }

/* Enlace “Ver más comentarios” destacado */
a[href="https://rainbowmountainhikes.com/comentarios-viajeros/"]{
  color: var(--brand) !important; font-weight: 700 !important; text-decoration: none !important;
}

/* =========================================================
   RHM — CAJAS DE CALIFICACIÓN (tours)
   ========================================================= */
[id^="rhm-rating-box-"] .glsr-summary{
  font-size:16px !important; font-weight:400 !important; color:#333 !important; line-height:1.4 !important;
}
[id^="rhm-rating-box-"] .glsr-summary *{ font-size:inherit !important; font-weight:inherit !important; color:inherit !important; }

[id^="rhm-rating-box-"] .glsr-summary-average,
[id^="rhm-rating-box-"] .glsr-value,
[id^="rhm-rating-box-"] .glsr-rating-value,
[id^="rhm-rating-box-"] .glsr-tag-value,
[id^="rhm-rating-box-"] .glsr-tag-out-of{
  display:inline-block !important;
  font-size:36px !important; font-weight:700 !important; color:var(--brand) !important;
  line-height:1.2 !important; vertical-align:baseline !important;
}
[id^="rhm-rating-box-"] .glsr-tag-out-of{ margin-left:6px; }

[id^="rhm-rating-box-"] .glsr-summary-stars{
  display:block !important; margin:8px auto 0 !important; text-align:center !important;
}
[id^="rhm-rating-box-"] .glsr-summary-stars svg path{ fill:var(--brand) !important; }

[id^="rhm-rating-box-"] .glsr-summary-text,
[id^="rhm-rating-box-"] .glsr-summary__text,
[id^="rhm-rating-box-"] .glsr-summary-count,
[id^="rhm-rating-box-"] .glsr-summary__count{
  display:block !important; font-size:14px !important; font-weight:400 !important; color:#333 !important; margin-top:6px !important;
}

/* Barras por tour */
[id^="rhm-bars-"] .glsr-summary-stars,
[id^="rhm-bars-"] .glsr-summary-average,
[id^="rhm-bars-"] .glsr-summary-text{ display:none !important; }
[id^="rhm-bars-"] .site-reviews-bar__fill,
[id^="rhm-bars-"] .glsr-bar-background-percent{ background:var(--brand) !important; }
[id^="rhm-bars-"] .site-reviews-bar,
[id^="rhm-bars-"] .glsr-bar,
[id^="rhm-bars-"] .glsr-bar-background{ border-radius:8px !important; overflow:hidden !important; }

/* =========================================================
   TARJETAS DE RESEÑAS EN GRID (viator-cards)
   ========================================================= */
.viator-cards{
  --flag-size: 32px;
  --flag-gap: 12px;
  --title-pad-right: calc(var(--flag-size) + var(--flag-gap) + 8px);
  --card-radius: 14px;
  --card-border: #e5e7eb;
  --card-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.viator-cards ul.glsr-reviews,
.viator-cards ol.glsr-reviews,
.viator-cards .glsr-reviews,
.viator-cards ul.site-reviews,
.viator-cards .reviews-list,
.viator-cards .glsr-latest,
.viator-cards .elementor-widget-container > ul{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:20px;
}
.viator-cards .glsr-reviews > li,
.viator-cards .glsr-reviews > .glsr-review,
.viator-cards .site-reviews > li,
.viator-cards .reviews-list > *,
.viator-cards .glsr-latest > *,
.viator-cards .elementor-widget-container > ul > li{
  background:#fff; border:1px solid var(--card-border); border-radius:var(--card-radius);
  box-shadow:var(--card-shadow); padding:18px 16px; display:flex; flex-direction:column; height:100%; position:relative;
}
.viator-cards .glsr-review,.viator-cards .site-review{ display:flex; flex-direction:column; height:100%; }
.viator-cards .glsr-review__title,
.viator-cards .glsr-review__title a,
.viator-cards .site-review-title,
.viator-cards .site-review-title a{
  display:block; width:100%; min-width:0; box-sizing:border-box; max-width:100%;
  font-size:18px; font-weight:700; line-height:1.25; margin:0 0 6px;
  padding-right: var(--title-pad-right); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:inherit; text-decoration:none;
}
.viator-cards .glsr-stars,.viator-cards .site-review-stars{ font-size:18px; line-height:1; color:var(--brand); margin-right:8px; }
.viator-cards time,.viator-cards .glsr-review-date,.viator-cards .site-review-date{ font-size:13px; color:#666; }
.viator-cards .glsr-review__content,.viator-cards .site-review-content{
  margin-top:6px; font-size:14px; line-height:1.55; color:#222;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.viator-cards .glsr-review__meta,.viator-cards .site-review-meta{ font-size:13px; color:#555; margin-top:auto; }
.viator-cards .glsr-review__country img,
.viator-cards .review-flag,.viator-cards .glsr-flag,.viator-cards .glsr-country-badge{
  position:absolute; top:12px; right:12px; width:32px; height:32px; background:#fff; border:1px solid var(--card-border);
  border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.06); object-fit:cover; pointer-events:none; z-index:1;
}
.viator-cards, .glsr, .glsr-reviews, .reviews-list{ text-align: left !important; }

@media (max-width:1200px){
  .viator-cards ul.glsr-reviews,
  .viator-cards ol.glsr-reviews,
  .viator-cards .glsr-reviews,
  .viator-cards .reviews-list,
  .viator-cards .glsr-latest{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width:900px){
  .viator-cards ul.glsr-reviews,
  .viator-cards ol.glsr-reviews,
  .viator-cards .glsr-reviews,
  .viator-cards .reviews-list,
  .viator-cards .glsr-latest{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .viator-cards ul.glsr-reviews,
  .viator-cards ol.glsr-reviews,
  .viator-cards .glsr-reviews,
  .viator-cards .reviews-list,
  .viator-cards .glsr-latest{ grid-template-columns: 1fr; }
}

/* Efecto lift en hover (desktop) */
@media (hover:hover) and (pointer:fine){
  .viator-cards .glsr-reviews > li,
  .viator-cards .glsr-reviews > .glsr-review,
  .viator-cards .site-reviews > li,
  .viator-cards .reviews-list > *{
    --lift: 10px;
    transform: translate3d(0,0,0);
    will-change: transform, box-shadow;
    transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease, filter 220ms ease;
  }
  .viator-cards .glsr-reviews > li:hover,
  .viator-cards .site-reviews > li:hover,
  .viator-cards .reviews-list > *:hover{
    transform: translate3d(0, calc(-1 * var(--lift)), 0);
    box-shadow: 0 16px 30px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);
    filter: saturate(1.02);
  }
}

/* =========================================================
   SWIPER / SLIDERS
   ========================================================= */
.swiper-button-prev, .swiper-button-next{
  position:absolute !important; top:50% !important; width:40px !important; height:40px !important;
  margin-top:-20px !important; color:var(--brand) !important; z-index:1000 !important; background:transparent !important;
  border-radius:50%; cursor:pointer; box-shadow:0 0 5px rgba(53,45,116,.5);
  display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:bold; user-select:none;
}
.swiper-button-prev{ left:-50px !important; } 
.swiper-button-next{ right:-50px !important; }
.swiper-button-prev::after{ content:'<'; color:var(--brand); font-weight:bold; font-size:28px; }
.swiper-button-next::after{ content:'>'; color:var(--brand); font-weight:bold; font-size:28px; }
.swiper-pagination{ position:static !important; margin-top:12px !important; }
.swiper.mySwiper{ padding-bottom:60px !important; }

/* Bullets bajo el contenido */
.rhm-swiper .swiper{ overflow:visible !important; padding-bottom:0 !important; }
.rhm-swiper .swiper-pagination{ position:static !important; margin-top:14px !important; text-align:center !important; }
.rhm-swiper .swiper-pagination-bullet{ margin:0 5px !important; }
.rhm-swiper .rhm-card{ margin-bottom:8px; }
.rhm-swiper{ max-width:1080px; margin:0 auto; padding-bottom:56px; }
@media (max-width:600px){ .rhm-swiper{ padding-bottom:60px; } }

/* =========================================================
   CARRUSEL FULL EN MÓVIL (clase utilitaria)
   ========================================================= */
@media (max-width:767px){
  .carrusel-full{ position:relative; left:-10px; width:calc(100% + 20px) !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  .carrusel-full .swiper-slide img{ display:block !important; width:100% !important; height:auto !important; object-fit:cover; }
}

/* =========================================================
   ACORDEONES FULL + PÁGINAS DE TOURS
   ========================================================= */
.elementor-widget.acordeon-full,
.elementor-widget.acordeon-full .elementor-accordion,
.elementor-widget.acordeon-full .elementor-accordion-item{
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; border-radius:0 !important;
}
.elementor-widget.acordeon-full .elementor-widget-container{ padding:0 !important; }

/* =========================================================
   CTA “Descubre más experiencias…” – sin hueco entre foto y caja
   ========================================================= */
@media (max-width: 1024px){
  .elementor-widget-image{ line-height: 0 !important; }
  .elementor .e-con[style*="margin-top"], .elementor-section[style*="margin-top"]{ margin-top: min(12px, 2.5vw) !important; }
  .elementor .e-con[style*="padding-top"], .elementor-section[style*="padding-top"]{ padding-top: min(22px, 5vw) !important; }
}

/* =========================================================
   FOOTER – MÉTODOS DE PAGO (logos sin deformarse)
   ========================================================= */
.site-footer .elementor-widget-image img,
footer .elementor-widget-image img{
  object-fit: contain !important;
  aspect-ratio: auto !important;
  max-height: 72px;
  width: auto;
  height: auto !important;
  margin: 0 auto;
}

/* =========================================================
   TOURS (Elementor Loop) – todas las imágenes con la MISMA altura
   ========================================================= */
.e-loop-item .elementor-widget-image,
.e-loop-item .elementor-image,
.e-loop-item .elementor-post__thumbnail,
.e-loop-item .elementor-cta__image,
.e-loop-item .elementor-widget-image-box .elementor-image-box-img{
  aspect-ratio: var(--tour-card-ratio) !important;
  width: 100% !important;
  overflow: hidden !important;
  line-height: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.e-loop-item .elementor-widget-image img,
.e-loop-item .elementor-image img,
.e-loop-item .elementor-post__thumbnail img,
.e-loop-item .elementor-cta__image img,
.e-loop-item .elementor-widget-image-box .elementor-image-box-img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.e-loop-item{
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(31,27,86,.10) !important;
}
@media (max-width: 767px){
  .e-loop-item .elementor-widget-container{ padding: 14px 16px !important; }
}

/* =========================================================
   SHORTCODE .tc1 — Carrusel de 4 cartillas (las de la home)
   ========================================================= */

/* Variables base del componente */
.tc1 {
  --tc1-gap: 24px;
  --tc1-color: var(--brand);
  --tc1-img-ratio: 4/3;        /* móvil */
  --tc1-img-height: 260px;     /* tablet/desktop: AJUSTA si quieres 240–300px */
}
.tc1 * { box-sizing: border-box; }
.tc1 { width: 100%; max-width: 100%; margin: 0 auto; overflow-x: hidden; }

/* Carrusel en móvil (scroll horizontal) */
@media (max-width: 767px){
  .tc1 .tour-carousel{ overflow:hidden; }
  .tc1 .tour-carousel__track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding:0 16px;
  }
  .tc1 .tour-carousel__track::-webkit-scrollbar{ display:none; }
  .tc1 .tour-carousel__track{ scrollbar-width:none; }
  .tc1 .tour-carousel__track .tour-card{
    flex:0 0 85%;
    scroll-snap-align:start;
    margin:0;
  }
}

/* Carrusel en escritorio (grid 4 columnas) */
@media (min-width: 768px){
  .tc1 .tour-carousel{ overflow:visible; }
  .tc1 .tour-carousel__track{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:var(--tc1-gap);
    max-width:1400px;
    margin-left:auto;
    margin-right:auto;
    padding:0;
    overflow:visible;
  }
  .tc1 .tour-carousel__track .tour-card{ flex:initial; }
}

/* Tarjeta */
.tc1 .tour-card{
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
  cursor:pointer;
}
.tc1 .tour-card:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}

/* ====== IMAGEN: MISMA ALTURA EN LAS 4 (como “Full Day”) ====== */
.tc1 .tour-image{
  position:relative;
  width:100%;
  aspect-ratio: var(--tc1-img-ratio);  /* móvil: ratio 4/3 */
  overflow:hidden;
  line-height:0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.tc1 .tour-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
/* En tablet/desktop fijamos altura exacta para igualarlas */
@media (min-width:768px){
  .tc1 .tour-image{
    aspect-ratio:auto;                 /* anulamos el ratio */
    height:var(--tc1-img-height) !important;
  }
}

/* Badges */
.tc1 .tour-badge{
  position:absolute; top:12px; left:12px; z-index:2;
  color:#fff; font-size:13px; padding:6px 12px;
  border-radius:999px; font-weight:700;
  box-shadow:0 4px 10px rgba(0,0,0,.15); white-space:nowrap;
}
.tc1 .badge-mas-vendido{ background:var(--tc1-color); }
.tc1 .badge-rapido{ background:#352D74; }
.tc1 .badge-oferta{ background:#ff7043; }
.tc1 .badge-nuevo{ background:#7e57c2; }

/* Contenido */
.tc1 .tour-content{ padding:16px; }
.tc1 .tour-title{
  font-size:18px; font-weight:700; line-height:1.28;
  margin:6px 0 10px; color:#222;
}
.tc1 .tour-details{ list-style:none; padding:0; margin:0 0 12px; color:#555; font-size:14px; }
.tc1 .tour-details li{ margin:4px 0; }

/* Precios */
.tc1 .tour-price{ font-size:15px; color:#333; }
.tc1 .tour-price .from{ font-size:13px; color:#777; display:block; }
.tc1 .tour-price .price{ font-size:18px; font-weight:800; color:var(--tc1-color); margin-right:6px; }
.tc1 .tour-price .old-price{ font-size:14px; text-decoration:line-through; color:#999; }

/* ===== RATING en tarjetas (.tc1) ===== */
.tc1 .tour-rating{ margin-bottom:10px; }
.tc1 .rhm-card-rating{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.tc1 .rhm-card-rating .rhm-avg{ font-weight:700; font-size:14px; color:var(--tc1-color); }
.tc1 .rhm-card-rating .rhm-count{ font-size:13px; color:#666; }

/* Estrellas gruesas */
.tc1 .rhm-starsbar{
  --star-size: 18px;
  --color: var(--tc1-color);
  --bg: #e6e6f0;
  position: relative;
  display:inline-block;
  flex:0 0 auto;
  width: calc(var(--star-size) * 5);
  min-width: calc(var(--star-size) * 5);
  height: var(--star-size);
  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'>\
<path d='M316.9 18C311 6.1 300-0.2 288 0s-23 6.1-28.9 18L195 150.3 49.2 171.5c-12.5 1.8-22.6 10.6-26.5 22.6s-.7 25.1 8.6 33.7L150 319.3 124 470.4c-2.1 12.4 3 24.9 13.1 32.5s23.4 8.6 34.3 2.5L288 405.5l116.6 60c10.9 5.6 24.2 4.7 34.3-2.5s15.1-20.2 13.1-32.5L450 319.3 544.7 228c9.3-8.6 12.6-21.7 8.6-33.7s-14-20.9-26.5-22.6L381 150.3 316.9 18z'/>\
</svg>") left / var(--star-size) var(--star-size) repeat-x;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'>\
<path d='M316.9 18C311 6.1 300-0.2 288 0s-23 6.1-28.9 18L195 150.3 49.2 171.5c-12.5 1.8-22.6 10.6-26.5 22.6s-.7 25.1 8.6 33.7L150 319.3 124 470.4c-2.1 12.4 3 24.9 13.1 32.5s23.4 8.6 34.3 2.5L288 405.5l116.6 60c10.9 5.6 24.2 4.7 34.3-2.5s15.1-20.2 13.1-32.5L450 319.3 544.7 228c9.3-8.6 12.6-21.7 8.6-33.7s-14-20.9-26.5-22.6L381 150.3 316.9 18z'/>\
</svg>") left / var(--star-size) var(--star-size) repeat-x;
  background: var(--bg);
  filter: drop-shadow(0 0 0 var(--bg));
  border-radius: 3px;
}
.tc1 .rhm-starsbar::before{
  content:"";
  position:absolute; inset:0;
  background: var(--color);
  width: calc(var(--p) * 100%);
}

/* Ocultar texto nativo del plugin en las cards (.tc1) */
.tc1 .rhm-card-rating .glsr-summary .glsr-stars,
.tc1 .rhm-card-rating .glsr-summary .glsr-star,
.tc1 .rhm-card-rating .glsr-summary svg,
.tc1 .rhm-card-rating .glsr-summary-text,
.tc1 .rhm-card-rating .glsr-summary__text{
  display:none !important;
}

/* ===========================
   AJUSTE: cartillas más bajas
   (no cambia textos ni paddings)
   =========================== */
@media (min-width:768px){
  .tc1{ --tc1-img-height: 220px; }   /* antes 260px – súbelo/bájalo a tu gusto (200–260) */
}

/* ===========================
   BADGES / ETIQUETAS “pill”
   =========================== */
.tc1 .tour-badge{
  top: 14px; left: 14px;
  padding: 8px 14px;                 /* más “pill” */
  font-size: 14px;
  font-weight: 800;
  border-radius: 999px;
  color:#fff;
  letter-spacing:.2px;
  border: 2px solid rgba(255,255,255,.95);   /* filo blanco como antes */
  box-shadow:
    0 8px 18px rgba(0,0,0,.18),
    0 2px 6px rgba(0,0,0,.10);
  backdrop-filter: blur(1px);                /* sutil, no obligatorio */
}

/* Colores con degradado suave (look más “pro”) */
.tc1 .badge-mas-vendido{
  background: linear-gradient(135deg, #3b2e8f, #5a46d6);
}
.tc1 .badge-rapido{
  background: linear-gradient(135deg, #2e276f, #4b3ca7);
}
.tc1 .badge-oferta{
  background: linear-gradient(135deg, #ff8a4c, #ff5a2f);
}
.tc1 .badge-nuevo{
  background: linear-gradient(135deg, #8b6eea, #5e3fb3);
}

/* Evita que las etiquetas se achiquen por error */
.tc1 .tour-image{ position:relative; overflow:hidden; }
.tc1 .tour-image img{ display:block; width:100%; height:100%; object-fit:cover; }

/* === Badges más “gruesas” (sin borde) === */
.tc1 .tour-badge{
  padding: 10px 16px !important;   /* ↑ alto/espesor */
  font-size: 14.5px !important;     /* texto un poco mayor */
  font-weight: 800 !important;      /* más grueso */
  border: none !important;          /* SIN borde blanco */
  border-radius: 999px !important;
  line-height: 1 !important;
  letter-spacing: .2px;
  box-shadow: 0 8px 18px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.08);
}

/* Ajuste en móviles pequeños para que no tapen la foto */
@media (max-width:420px){
  .tc1 .tour-badge{
    padding: 8px 12px !important;
    font-size: 13.5px !important;
  }
}

/* Colores (mantén los tuyos si ya los tienes) */
.tc1 .badge-mas-vendido{ background:#4a3fb1 !important; }
.tc1 .badge-rapido{      background:#3c348c !important; }
.tc1 .badge-oferta{      background:#ff6f3d !important; }
.tc1 .badge-nuevo{       background:#6f5bd6 !important; }

/* === TC1: cartillas más anchas en móvil === */
@media (max-width: 767px){
  /* menos padding lateral del carrusel */
  .tc1 .tour-carousel__track{
    padding: 0 10px;
    gap: 12px;
  }
  /* cada tarjeta ocupa casi toda la pantalla */
  .tc1 .tour-carousel__track .tour-card{
    flex: 0 0 96%;   /* prueba 98% si las quieres aún más anchas */
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-07945cd *//* ===== Bloque destinos (aplanado más) ===== */

.pe-destinos {
  --pe-gap: 20px;
  --pe-radius: 10px;                  /* esquinas suaves */
  --pe-overlay: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%);
  --pe-shadow: 0 6px 14px rgba(0,0,0,.1);
}

.pe-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--pe-gap);
}

.pe-card {
  position: relative;
  display: block;
  height: 110px;                      /* 🔽 más aplanado */
  border-radius: var(--pe-radius);
  overflow: hidden;
  box-shadow: var(--pe-shadow);
  text-decoration: none;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease;
}

.pe-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,.15);
}

.pe-bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  filter: saturate(1.05);
}

.pe-bg::after {
  content: "";
  position: absolute; inset: 0;
  background: var(--pe-overlay);
  z-index: 1;
}

.pe-label {
  position: absolute;
  left: 14px;
  bottom: 10px;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  font-size: 16px;                   /* 🔽 un poco más chico */
  letter-spacing: .2px;
  text-shadow: 0 2px 6px rgba(0,0,0,.3);
}

/* Responsivo */
@media (max-width: 1200px){
  .pe-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px){
  .pe-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px){
  .pe-grid { grid-template-columns: repeat(2, 1fr); }
  .pe-card { height: 95px; }         /* 🔽 más bajitas en móvil */
  .pe-label { font-size: 14px; }
}
@media (max-width: 420px){
  .pe-grid { grid-template-columns: 1fr; }
  .pe-card { height: 120px; }        /* 🔽 un poco más alta para 1 columna */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78adef9 *//* Solo afecta a ESTE widget */
.elementor-9 .elementor-element.elementor-element-78adef9 { 
  overflow: visible !important;
}

/* Player fluido 16:9 */
.elementor-9 .elementor-element.elementor-element-78adef9 iframe[src*="youtube"],
.elementor-9 .elementor-element.elementor-element-78adef9 .elementor-video-playlist__iframe,
.elementor-9 .elementor-element.elementor-element-78adef9 .elementor-video-playlist__player iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  display: block !important;
}

/* Contenedor del player sin altura fija */
.elementor-9 .elementor-element.elementor-element-78adef9 .elementor-video-playlist__player {
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
}

/* En móvil, evita compresiones raras del layout */
@media (max-width: 900px){
  .elementor-9 .elementor-element.elementor-element-78adef9 .elementor-video-playlist__main,
  .elementor-9 .elementor-element.elementor-element-78adef9 .elementor-video-playlist__wrapper {
    display: block !important;
    height: auto !important;
  }
}

/* Si el tema aplica wrapper con ratio, anúlalo aquí */
.elementor-9 .elementor-element.elementor-element-78adef9 .elementor-responsive-video {
  padding: 0 !important;
  height: auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bdc093 *//* ===== Guard-rails responsive globales ===== */
:root{
  --wrap: 1200px;                              /* ancho máximo de contenido */
  --gutter: clamp(16px, 4vw, 28px);            /* padding lateral fluido   */
}

html, body{ width:100%; overflow-x:hidden; }

*{ box-sizing:border-box; }

/* Medios nunca se salen */
img, video, canvas, svg, iframe{
  display:block;
  max-width:100%;
  height:auto;
}

/* Contenedores típicos (OceanWP + Elementor) centrados y con gutters */
.site-main .container,
.content-area,
.wrap,
.container,
.elementor-section > .elementor-container{
  max-width: var(--wrap);
  width: min(100% - (2 * var(--gutter)), var(--wrap));
  margin-inline: auto;
}

/* Gutter lateral en secciones (por si algún template no lo trae) */
.elementor-section{ padding-inline: var(--gutter); }

/* Columnas a 100% en móvil y sin desbordes */
@media (max-width: 768px){
  .elementor-column, .elementor-col-50, .elementor-col-33, .elementor-col-25{ 
    width:100% !important; 
  }
  /* evita que “containers” anidados se pasen del ancho */
  [class*="container"]{ max-width:100% !important; width:100% !important; }
}

/* Grids/carruseles genéricos: 1 columna en móvil */
@media (max-width:768px){
  .tour-cards, .blog-grid, .products .columns-4, .products .columns-3, 
  .viator-cards, .rw-grid{
    display:grid; grid-template-columns:1fr; gap:16px;
  }
}

/* Sliders / iframes que suelen desbordar */
.swiper, .swiper-container, .slick-slider{ max-width:100%; overflow:hidden; }
.responsive-embed iframe,
iframe[src*="youtube"], iframe[src*="maps.google"]{ width:100% !important; min-width:0; }

/* Evita huecos por min-height fijos en secciones */
.elementor-section[style*="min-height"]{ min-height:auto !important; }

/* Tipos largos (títulos, botones) no rompen layout */
h1,h2,h3,h4,h5,h6, p, a, button{ overflow-wrap:anywhere; }

/* ===== Utilidad para “bloques rebeldes” =====
   Si algún bloque sigue “salido”, agrega la clase CSS: fix-wrap
   a la sección/columna en Elementor */
.fix-wrap,
.fix-wrap > .elementor-container,
.fix-wrap .elementor-widget-container{
  max-width: var(--wrap);
  width: min(100% - (2 * var(--gutter)), var(--wrap));
  margin-inline:auto;
  padding-inline: var(--gutter);
}

/* Cards internas: redondeo/overflow coherente para que nada se salga */
.fix-wrap .card, 
.fix-wrap .elementor-widget-container, 
.fix-wrap .glsr-review{
  border-radius: 14px;
  overflow: hidden;
}

/* Botón flotante (back-to-top) que no tape contenido en móvil */
@media (max-width:768px){
  .has-fab-safe{ padding-bottom: 84px; } /* añade esta clase a la sección donde se superpone */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a38832c *//* Caja del resumen */
.gr-summary .glsr-summary {
  background: #f5f6f8;        /* gris suave como la captura */
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Nota media (4.9) más grande y marcada */
.gr-summary .glsr-summary-rating {
  font-size: 22px;
  font-weight: 800;
}

/* Estrellas alineadas */
.gr-summary .glsr-stars {
  font-size: 18px;
  line-height: 1;
}

/* Conteo (1,577) discreto */
.gr-summary .glsr-summary-count {
  color: #7a7a7a;
  margin-left: 6px;
}

/* (Opcional) Título "Google Reviews" a la izquierda del bloque  */
.gr-summary .glsr-summary::before {
  content: "Google Reviews";
  font-weight: 700;
  margin-right: 12px;
}/* End custom CSS */