/*
 * blocks.css — CSS scoped portado de los componentes Vue originales.
 *
 * Fuente: /vue-webs/src/clients/erescambio/components/Bloque*.vue (<style scoped>)
 *
 * Cada sección /* === Bloque X === */
/*  contiene el <style scoped> del componente Vue equivalente, prefijado
 *  con .wrapper-bloque-X (o .wrapper-slider para sliders) para emular
 *  el aislamiento que Vue scoped hacía via data-v atributos auto-generados.
 *
 *  Reglas:
 *  - Selectores prefijados con la clase wrapper del bloque
 *  - SCSS nesting expandido a CSS plano
 *  - /deep/ y >>> eliminados (en CSS plano no hacen nada)
 *  - @media queries conservadas
 *  - NO añadir nada que no provenga del Vue original
 */


/* ============================================================
 * === Bloque Slider (BloqueSlider.vue) ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueSlider.vue líneas 331-467
 * ============================================================ */

.wrapper-slider .img-mobile {
  display: none;
}
@media (max-width: 768px) {
  .wrapper-slider .img-mobile {
    display: block;
  }
  .wrapper-slider .img-desktop {
    display: none;
  }
}

.wrapper-slider .swiper-button-prev.swiper-button-disabled,
.wrapper-slider .swiper-button-next.swiper-button-disabled {
  display: none;
}

.wrapper-slider .swiper-slide {
  height: auto;
}
.wrapper-slider .swiper-slide .slide-element {
  display: flex;
  align-items: center;
  flex: 1;
}
@media (max-width: 768px) {
  .wrapper-slider .swiper-slide .slide-element {
    background-image: none !important;
    flex-flow: column;
    display: flex;
    flex-direction: column;
    align-items: baseline;
  }
}
.wrapper-slider .swiper-slide .slide-element .imagen-slider {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.wrapper-slider .swiper-slide .slide-element img {
  width: 100%;
}

.wrapper-slider .swiper-slide .slide-content {
  position: absolute;
  z-index: 77;
  padding: 30px;
  text-align: center;
}
.wrapper-slider .swiper-slide .slide-content .slide-content-text {
  padding: 30px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}
.wrapper-slider .swiper-slide .slide-content .slide-content-btn {
  text-shadow: none;
}
@media (max-width: 768px) {
  .wrapper-slider .swiper-slide .slide-content {
    width: 100% !important;
    padding: 35px !important;
    position: relative;
    box-sizing: border-box;
    text-align: center !important;
    align-items: center;
    display: flex !important;
  }
}

.wrapper-slider .swiper-slide .slide-content .slide-content-text h1,
.wrapper-slider .swiper-slide .slide-content .slide-content-text h2 {
  color: #ffffff;
  font-style: italic;
  font-size: 60px;
  font-weight: 400;
  margin: 0;
  text-transform: none;
}
@media (max-width: 480px) {
  .wrapper-slider .swiper-slide .slide-content .slide-content-text h1,
  .wrapper-slider .swiper-slide .slide-content .slide-content-text h2 {
    line-height: 1.2;
  }
}
.wrapper-slider .swiper-slide .slide-content .slide-content-text h3 {
  font-weight: 400;
  text-transform: none;
  margin-bottom: 0;
}

.wrapper-slider .swiper-slide .slide-content a {
  display: inline-block;
  text-align: center;
  padding: 15px 25px;
  text-transform: none;
  font-weight: 600;
  margin-top: 25px;
  border: none;
  border-radius: .25rem;
}
@media (max-width: 768px) {
  .wrapper-slider .swiper-slide .slide-content .slide-content-btn {
    font-size: 14px !important;
    line-height: 22px !important;
    padding: 8px 12px;
    margin: 25px 0 0 0 !important;
  }
}


/* ============================================================
 * === Bloque Blog Noticias (BloqueBlogNew.vue) ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueBlogNew.vue líneas 300-440
 * Nota: Vue v6 usaba .swiper-container; PHP usa .swiper (Swiper v7+).
 * ============================================================ */

.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper {
  padding: 0 90px 30px;
  position: relative;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper:before,
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper:after {
  content: '';
  width: 90px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 99;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper:before { left: 0; }
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper:after { right: 0; }
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper .swiper-button-prev,
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper .swiper-button-next {
  z-index: 999;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper .swiper-pagination-bullet {
  width: 20px !important;
  height: 20px !important;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper .swiper-pagination-bullet-active {
  opacity: .75;
}
@media (max-width: 768px) {
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper {
    margin-left: -30px;
    margin-right: -30px;
    padding: 0 30px 30px;
  }
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper:before,
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper:after {
    width: 30px;
  }
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper .swiper-button-prev,
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper .swiper-button-next {
    display: none;
  }
}

.wrapper-bloque-blog-noticias .wrapper-swipper-blog .swiper-slide {
  display: flex;
  height: auto;
}

.wrapper-bloque-blog-noticias .wrapper-swipper-blog .slide-element {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
  margin: 10px 20px 20px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 0;
  min-height: 500px;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .slide-element:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .slide-element .blog-img {
  height: 0;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .slide-element .blog-content {
  text-align: left;
  padding: 0 30px 20px;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .slide-element .blog-title {
  padding: 25px 0 25px;
  text-transform: uppercase;
  font-weight: 400;
  margin: 0;
  line-height: 26px;
  font-family: inherit !important;
  font-size: 1em;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog .slide-element .blog-desc {
  text-align: justify;
  margin: 0;
  color: #333;
  line-height: 22px;
}

.wrapper-bloque-blog-noticias .wrapper-swipper-blog.mosaico .col {
  min-width: 33% !important;
  max-width: 33% !important;
}
.wrapper-bloque-blog-noticias .wrapper-swipper-blog.mosaico .col .slide-element {
  margin: 15px 0;
}
@media (max-width: 991px) {
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog.mosaico .col {
    min-width: 50% !important;
    max-width: 50% !important;
  }
}
@media (max-width: 767px) {
  .wrapper-bloque-blog-noticias .wrapper-swipper-blog.mosaico .col {
    min-width: 100% !important;
    max-width: 100% !important;
  }
}


/* ============================================================
 * === Bloque Frases (BloqueFrases.vue) ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueFrases.vue líneas 144-271
 * Nota: Vue v6 usaba .swiper-container; PHP usa .swiper (Swiper v7+).
 * ============================================================ */

.wrapper-bloque-frase .wrapper-swipper-blog .swiper {
  padding: 0 90px 30px;
  position: relative;
}
.wrapper-bloque-frase .wrapper-swipper-blog .swiper:before,
.wrapper-bloque-frase .wrapper-swipper-blog .swiper:after {
  content: '';
  width: 90px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 99;
}
.wrapper-bloque-frase .wrapper-swipper-blog .swiper:before { left: 0; }
.wrapper-bloque-frase .wrapper-swipper-blog .swiper:after { right: 0; }
.wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-button-prev,
.wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-button-next {
  z-index: 999;
}
.wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-pagination-bullet {
  width: 20px !important;
  height: 20px !important;
}
.wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-pagination-bullet-active {
  opacity: .75;
}
@media (max-width: 768px) {
  .wrapper-bloque-frase .wrapper-swipper-blog .swiper {
    padding: 0 30px 30px;
  }
  .wrapper-bloque-frase .wrapper-swipper-blog .swiper:before,
  .wrapper-bloque-frase .wrapper-swipper-blog .swiper:after {
    width: 30px;
  }
  .wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-button-prev,
  .wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-button-next {
    display: none;
  }
  .wrapper-bloque-frase .wrapper-swipper-blog .swiper .swiper-pagination-bullets {
    bottom: -5px !important;
  }
}
.wrapper-bloque-frase .wrapper-swipper-blog .swiper-pagination-fraction,
.wrapper-bloque-frase .wrapper-swipper-blog .swiper-pagination-custom,
.wrapper-bloque-frase .wrapper-swipper-blog .swiper-horizontal > .swiper-pagination-bullets {
  bottom: 0;
  left: 0;
  width: 100%;
}

.wrapper-bloque-frase .wrapper-swipper-blog .slide-element {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
  margin: 10px 15px 20px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 0;
  border-radius: 5px;
}
.wrapper-bloque-frase .wrapper-swipper-blog .slide-element:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.wrapper-bloque-frase .wrapper-swipper-blog .slide-element .blog-img {
  height: 0;
  padding-top: 50%;
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.wrapper-bloque-frase .wrapper-swipper-blog .slide-element .blog-content {
  text-align: center;
  padding: 30px;
  min-height: 175px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.wrapper-bloque-frase .wrapper-swipper-blog .slide-element .blog-title {
  font-size: 20px;
  font-style: italic;
  line-height: 1.3em;
  font-weight: 600;
  text-transform: none;
  padding: 0;
  margin: 0 0 20px 0;
}
@media (max-width: 768px) {
  .wrapper-bloque-frase .wrapper-swipper-blog .slide-element .blog-title {
    font-weight: 400;
    font-size: 1.4em !important;
  }
}
.wrapper-bloque-frase .wrapper-swipper-blog .slide-element .blog-desc {
  padding: 0;
  margin: 0;
  line-height: 1;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
}


/* ============================================================
 * === Bloque Imagen (BloqueImagen.vue) ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueImagen.vue líneas 134-201
 * ============================================================ */

@media (max-width: 768px) {
  .wrapper-bloque-imagen .wrapper-swipper .swiper-button-prev,
  .wrapper-bloque-imagen .wrapper-swipper .swiper-button-next {
    display: none;
  }
}
.wrapper-bloque-imagen .slide-element {
  display: block;
  overflow: hidden;
  transition: all ease .15s;
  position: relative;
  cursor: pointer;
  line-height: 0;
}
.wrapper-bloque-imagen .slide-element:before {
  content: '';
  transition: all ease .3s;
  background-color: transparent;
  font-family: "Font Awesome 5 Free";
  display: flex;
  font-weight: 900;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.95;
}
.wrapper-bloque-imagen .slide-element:hover:before {
  content: "\f067";
  color: #fff;
}
.wrapper-bloque-imagen .slide-element img {
  width: auto;
}
@media (max-width: 768px) {
  .wrapper-bloque-imagen .slide-element-img {
    width: auto;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
}

.wrapper-bloque-imagen .wrapper-imagenes .col-lg-4 {
  margin: 15px 0;
}
.wrapper-bloque-imagen .wrapper-imagenes .col-lg-4 img {
  height: auto;
}
.wrapper-bloque-imagen .wrapper-imagenes .portfolio-item {
  margin: 0 0 15px;
}
.wrapper-bloque-imagen .swiper-lazy {
  aspect-ratio: 1;
  padding-top: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


/* ============================================================
 * === Bloque Iconos (BloqueIconos.vue + Icono.vue) ===
 * Fuente:
 *   - vue-webs/src/clients/erescambio/components/BloqueIconos.vue (8 lineas)
 *   - vue-webs/src/clients/erescambio/components/Icono.vue (77 lineas)
 * ============================================================ */

/* BloqueIconos.vue */
.wrapper-bloque-iconos .bloque-title {
  margin: 10px 0 90px 0;
}
.wrapper-bloque-iconos .descripcion {
  margin-bottom: 60px;
}

/* Icono.vue (componente hijo, scoped) */
.wrapper-bloque-iconos .icono {
  text-align: center;
  flex-flow: column;
  display: flex;
  margin-bottom: 45px;
}
@media (max-width: 992px) {
  .wrapper-bloque-iconos .icono {
    margin-bottom: 45px;
  }
}
.wrapper-bloque-iconos .icono .fa-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.wrapper-bloque-iconos .icono .fa-stack img {
  width: 100%;
}
.wrapper-bloque-iconos .icono .fa-stack.libre {
  display: flex;
  width: 100% !important;
  height: auto !important;
}
.wrapper-bloque-iconos .icono .fa-stack.libre img {
  width: 100% !important;
  height: auto !important;
}
.wrapper-bloque-iconos .icono .icono-title {
  min-height: 60px;
  font-size: larger;
  line-height: initial;
  height: auto;
  margin: 15px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wrapper-bloque-iconos .icono .icono-texto {
  margin-top: 0;
  padding: 0 20px;
}
.wrapper-bloque-iconos .icono .separator {
  border: 1px solid;
  width: 60%;
  margin: 0 auto 30px;
}
.wrapper-bloque-iconos .icono .boton {
  text-transform: uppercase;
  font-weight: 700;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.25rem;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
}
.wrapper-bloque-iconos .popup {
  width: 100%;
  height: 100%;
}

/* === Bloque Testimonios ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueTestimonios.vue (lines 189-369)
 * Wrapper: .wrapper-bloque-testimonios
 * Dos modos: mosaico (fila por fila con foto + texto) y carrusel (swiper centrado).
 */
.wrapper-bloque-testimonios h2 {
  margin-bottom: 35px;
}

/* --- Modo mosaico --- */
.wrapper-bloque-testimonios .mosaico {
  padding: 30px 0;
  margin: 0;
  font-size: inherit;
  min-height: 350px;
}
.wrapper-bloque-testimonios .mosaico .testimonio-imagen {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wrapper-bloque-testimonios .mosaico .testimonio-imagen .foto {
  width: 200px !important;
  height: 200px !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: none;
}
.wrapper-bloque-testimonios .mosaico.no-bg .testimonio-imagen {
  background: none !important;
}
.wrapper-bloque-testimonios .mosaico.no-bg .testimonio-imagen .foto {
  display: inline-block;
}
.wrapper-bloque-testimonios .mosaico .testimonio-texto {
  padding: 15px 35px;
  justify-content: center;
  display: flex;
  flex-direction: column;
}
.wrapper-bloque-testimonios .mosaico .testimonio-texto h3.testimonio-title {
  margin: 0 0 15px 0;
  font-size: 1.2rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.wrapper-bloque-testimonios .mosaico .testimonio-texto .stars {
  margin: 10px 0;
  font-size: 0.85rem;
  letter-spacing: 8px;
}
.wrapper-bloque-testimonios .mosaico .testimonio-texto .stars i {
  color: orange;
}
.wrapper-bloque-testimonios .mosaico .testimonio-texto .testimonio-content {
  margin: 0;
}
.wrapper-bloque-testimonios .mosaico.alt.testimonio-0 .testimonio-imagen {
  order: 1;
}
.wrapper-bloque-testimonios .mosaico.alt.testimonio-0 .testimonio-texto {
  order: 2;
  padding-right: 0;
}
.wrapper-bloque-testimonios .mosaico.alt.testimonio-1 .testimonio-imagen {
  order: 2;
}
.wrapper-bloque-testimonios .mosaico.alt.testimonio-1 .testimonio-texto {
  order: 1;
  padding-left: 0;
}
.wrapper-bloque-testimonios .mosaico.no-img {
  min-height: 0;
}
.wrapper-bloque-testimonios .mosaico.no-img .testimonio-imagen {
  width: 0;
  max-width: 0;
  padding: 0;
  flex: 0;
}
.wrapper-bloque-testimonios .mosaico.no-img .testimonio-texto {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding: 0;
}
.wrapper-bloque-testimonios .mosaico:last-child {
  border: none !important;
}
@media (max-width: 991px) {
  .wrapper-bloque-testimonios .mosaico .testimonio-imagen {
    background: none !important;
    order: 1 !important;
    padding-bottom: 25px;
  }
  .wrapper-bloque-testimonios .mosaico .testimonio-imagen .foto {
    display: inline-block;
  }
  .wrapper-bloque-testimonios .mosaico .testimonio-texto {
    order: 2 !important;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .wrapper-bloque-testimonios .bloque-testimonios .bloque-title {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .wrapper-bloque-testimonios .swiper-button-next,
  .wrapper-bloque-testimonios .swiper-button-prev {
    display: none;
  }
}

/* --- Modo carrusel --- */
.wrapper-bloque-testimonios .slide-element {
  max-width: 1024px;
  padding: 0 60px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .wrapper-bloque-testimonios .slide-element {
    padding: 0 15px;
  }
}
.wrapper-bloque-testimonios .slide-element .testimonio-header {
  padding-bottom: 5px;
}
@media (max-width: 768px) {
  .wrapper-bloque-testimonios .slide-element .testimonio-header {
    padding-bottom: 0;
  }
}
.wrapper-bloque-testimonios .slide-element .testimonio-header .fa-stack {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.wrapper-bloque-testimonios .slide-element .testimonio-header .stars {
  margin: 40px 0;
  font-size: 1.25rem;
  letter-spacing: 8px;
}
.wrapper-bloque-testimonios .slide-element .testimonio-header .stars i {
  color: orange;
}
.wrapper-bloque-testimonios .slide-element .testimonio-header .testimonio-title {
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 2px;
}
@media (max-width: 768px) {
  .wrapper-bloque-testimonios .slide-element .testimonio-header .testimonio-title {
    margin-bottom: 0;
  }
}
.wrapper-bloque-testimonios .slide-element .testimonio-content {
  font-size: 1.1em;
  line-height: 1.5;
}

/* === Bloque Texto ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueTexto.vue (lines 150-198)
 * Wrapper: .wrapper-bloque-texto
 * Nota: en Vue era <style lang="scss"> sin scoped (global), pero se prefija
 * aquí con .wrapper-bloque-texto para evitar fuga a otros bloques.
 *
 * Se omite la regla original `.bloque-texto { padding-top:0; padding-bottom:0 }`:
 * tenía la misma especificidad (0,1,0) que la regla dinámica
 * `.bloque-{ID} { padding-top:Xpx; padding-bottom:Ypx }`, y en producción la
 * dinámica ganaba por orden de carga. Portarla prefijada con
 * .wrapper-bloque-texto subiría su especificidad (0,2,0) y haría desaparecer
 * el padding del bloque, distorsionando la altura.
 */
.wrapper-bloque-texto .bg-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.wrapper-bloque-texto .bg-image.bg_contain {
  background-image: none !important;
  display: flex;
  align-items: center;
}
.wrapper-bloque-texto .bg-image.bg_contain .bg_contain {
  display: block;
}
.wrapper-bloque-texto .bloque-texto .servicio p {
  font-size: 16px;
  line-height: 26px;
}
.wrapper-bloque-texto .bloque-texto .geodir_post_meta p {
  font-size: 16px;
  line-height: 22px;
}
.wrapper-bloque-texto .bloque-texto .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wrapper-bloque-texto .img_entera {
  display: none;
  width: 100%;
}
@media (max-width: 991px) {
  .wrapper-bloque-texto .bg-image.bg_contain .bg_contain,
  .wrapper-bloque-texto .img_entera {
    display: none;
  }
}

/* === Bloque Video ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueVideo.vue (lines 68-104)
 * Wrapper: .wrapper-bloque-video
 * Vue era <style> sin scoped (global), prefijado aquí para evitar fugas.
 */
.wrapper-bloque-video .video-wrap {
  margin: 0 auto;
}
.wrapper-bloque-video .video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 80%;
  margin: 0 auto;
}
.wrapper-bloque-video .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 991px) {
  .wrapper-bloque-video .bloque-video .videos .col {
    min-width: 50% !important;
    max-width: 50% !important;
  }
  .wrapper-bloque-video .video-container {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .wrapper-bloque-video .bloque-video .videos .col {
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/* === Bloque Mapa ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueMapa.vue (lines 69-93)
 *         + GoogleMapLoader.vue (style global, no scoped, line 82-86)
 * Wrapper: .wrapper-bloque-mapa
 * /deep/ omitido (Vue scoped lo usaba para perforar; en CSS plano no aplica).
 * El height: 600px viene del CSS GLOBAL de GoogleMapLoader.vue (#map { height: 600px }).
 * En local el contenedor es .map-container — replica del #map de Vue.
 */
.wrapper-bloque-mapa .mapa {
  overflow: hidden;
  line-height: 0;
  height: 600px;
}
@media (max-width: 992px) {
  .wrapper-bloque-mapa .mapa {
    height: 40vh;
    position: relative;
  }
  .wrapper-bloque-mapa .mapa img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 40vh;
    width: auto !important;
    max-width: initial;
  }
}

/* === Bloque Formulario ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueFormulario.vue (lines 342-415)
 * Wrapper: .wrapper-bloque-formulario
 * Vue era <style lang="scss"> sin scoped (global). Prefijado aquí.
 * Excepciones: .wrapper-popup.popup-newsletter y .wrapper-popup.popup_legal_newsletter
 *   son popups globales que viven fuera del wrapper, se mantienen sin prefijar.
 */
.wrapper-bloque-formulario .bloque-formulario {
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
}
.wrapper-bloque-formulario .bloque-formulario a {
  text-decoration: none;
}
.wrapper-bloque-formulario .bloque-formulario a:hover {
  text-decoration: underline;
}
.wrapper-bloque-formulario .bloque-formulario .form-group {
  margin-bottom: 25px;
}
.wrapper-bloque-formulario .bloque-formulario textarea {
  height: calc(100% - 24px);
}
.wrapper-bloque-formulario .bloque-formulario .btn {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: 1px solid transparent;
  line-height: 1.25;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  padding: 20px 40px;
  border-radius: 3px;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  text-transform: uppercase;
}
.wrapper-bloque-formulario .bloque-formulario .mandatory {
  font-size: 12px;
}
@media (max-width: 992px) {
  .wrapper-bloque-formulario .bloque-formulario p {
    text-align: center;
    margin-bottom: 0;
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .wrapper-bloque-formulario .bloque-formulario .text-right {
    text-align: center !important;
  }
}
/* Popups globales del formulario (viven fuera del wrapper) */
.wrapper-popup.popup-newsletter.p-active {
  background: #1e1e1ede !important;
}
.wrapper-popup.popup_legal_newsletter .contenido_leyes_newsletter {
  padding: 15px 15px;
  margin-top: 70px;
}

/* === Bloque Promociones ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloquePromociones.vue (lines 240-440)
 * Wrapper: .wrapper-bloque-promociones
 * Variante extendida del swiper-blog con .blog-top, .part1, .ofrecido_por, etc.
 */
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper {
  padding: 0 90px 30px;
  position: relative;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper:before,
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper:after {
  content: '';
  width: 90px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 99;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper:before {
  left: 0;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper:after {
  right: 0;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-button-prev,
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-button-next {
  z-index: 999;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-pagination-bullet {
  width: 20px !important;
  height: 20px !important;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-pagination-bullet-active {
  opacity: 0.75;
}
@media (max-width: 768px) {
  .wrapper-bloque-promociones .wrapper-swipper-blog .swiper {
    padding: 0 30px 30px;
    margin-left: -30px;
    margin-right: -30px;
  }
  .wrapper-bloque-promociones .wrapper-swipper-blog .swiper:before,
  .wrapper-bloque-promociones .wrapper-swipper-blog .swiper:after {
    width: 30px;
  }
  .wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-button-prev,
  .wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-button-next {
    display: none;
  }
  .wrapper-bloque-promociones .wrapper-swipper-blog .swiper .swiper-pagination-bullets {
    bottom: -5px !important;
  }
}
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper-pagination-fraction,
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper-pagination-custom,
.wrapper-bloque-promociones .wrapper-swipper-blog .swiper-horizontal > .swiper-pagination-bullets {
  bottom: 0;
  left: 0;
  width: 100%;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
  margin: 10px 15px 20px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 0;
  border-radius: 5px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .wrapper-bloque-promociones .wrapper-swipper-blog .slide-element {
    margin: 0;
  }
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-img {
  height: 0;
  padding-top: 50%;
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-content {
  background: #ffffff;
  text-align: center;
  min-height: 175px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  padding: 30px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-title {
  font-size: 20px;
  font-style: italic;
  line-height: 1.3em;
  font-weight: 600;
  text-transform: none;
  padding: 0;
  margin: 0 0 20px 0;
}
@media (max-width: 768px) {
  .wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-title {
    font-weight: 400;
  }
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-desc {
  padding: 0;
  margin: 0;
  line-height: 1;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-boxes {
  flex-wrap: wrap;
  display: flex;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-top {
  display: flex;
  justify-content: space-between;
  color: #777777 !important;
  margin-bottom: 20px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-top .tipo {
  font-weight: 600 !important;
  text-transform: capitalize !important;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-top .fechas {
  font-size: 12px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-top .fechas .fas {
  padding-right: 5px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-top .fechas .con {
  color: #DDDDDD;
  margin: 0 8px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part {
  display: flex;
  flex-direction: column;
  flex: 1;
  flex-wrap: wrap;
  border-radius: 7px;
  padding: 10px 15px;
  margin: 4px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part span {
  text-align: left;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part.part1 .contenido {
  text-decoration: line-through;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part .icon {
  display: flex;
  justify-content: center;
  justify-items: center;
  align-items: center;
  text-align: center;
  width: 45px;
  min-width: 45px;
  background: #ffffff4d;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part .icon i {
  font-size: 18px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part .subcontenido {
  flex: 1;
  text-align: center;
  padding: 0;
  background: none;
  font-size: 11px;
  font-weight: normal;
  line-height: 12px;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .part .contenido {
  flex: 1;
  text-align: center;
  padding: 0;
  background: none;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .blog-titulo .contenido {
  font-weight: bold;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .ofrecido_por {
  text-align: left;
  font-size: 14px;
  color: #333 !important;
  line-height: 16px;
  font-weight: normal;
  margin: 20px 0;
  display: flex;
  flex-direction: column;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .ofrecido_por .sub {
  color: #333 !important;
  line-height: 16px;
  font-weight: 600;
}
.wrapper-bloque-promociones .wrapper-swipper-blog .slide-element .ofrecido_por .nombre {
  font-size: 12px;
  line-height: 14px;
  margin-top: 5px;
}

/* === Bloque Reto ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueReto.vue (lines 197-365)
 * Wrapper: .wrapper-bloque-reto
 * Similar al swiper-blog pero más simple (sin .part1/.ofrecido_por).
 */
.wrapper-bloque-reto .wrapper-swipper-blog .swiper {
  padding: 0 90px 30px;
  position: relative;
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper:before,
.wrapper-bloque-reto .wrapper-swipper-blog .swiper:after {
  content: '';
  width: 90px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 99;
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper:before {
  left: 0;
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper:after {
  right: 0;
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-button-prev,
.wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-button-next {
  z-index: 999;
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-pagination-bullet {
  width: 20px !important;
  height: 20px !important;
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-pagination-bullet-active {
  opacity: 0.75;
}
@media (max-width: 768px) {
  .wrapper-bloque-reto .wrapper-swipper-blog .swiper {
    padding: 0 30px 30px;
    margin-left: -30px;
    margin-right: -30px;
  }
  .wrapper-bloque-reto .wrapper-swipper-blog .swiper:before,
  .wrapper-bloque-reto .wrapper-swipper-blog .swiper:after {
    width: 30px;
  }
  .wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-button-prev,
  .wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-button-next {
    display: none;
  }
  .wrapper-bloque-reto .wrapper-swipper-blog .swiper .swiper-pagination-bullets {
    bottom: -5px !important;
  }
}
.wrapper-bloque-reto .wrapper-swipper-blog .swiper-pagination-fraction,
.wrapper-bloque-reto .wrapper-swipper-blog .swiper-pagination-custom,
.wrapper-bloque-reto .wrapper-swipper-blog .swiper-horizontal > .swiper-pagination-bullets {
  bottom: 0;
  left: 0;
  width: 100%;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
  margin: 10px 15px 20px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 0;
  border-radius: 5px;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .wrapper-bloque-reto .wrapper-swipper-blog .slide-element {
    margin: 0;
  }
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .blog-img {
  height: 0;
  padding-top: 50%;
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .blog-content {
  text-align: center;
  padding: 0;
  min-height: 175px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .blog-title {
  font-size: 20px;
  font-style: italic;
  line-height: 1.3em;
  font-weight: 600;
  text-transform: none;
  padding: 0;
  margin: 0 0 20px 0;
}
@media (max-width: 768px) {
  .wrapper-bloque-reto .wrapper-swipper-blog .slide-element .blog-title {
    font-weight: 400;
  }
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .blog-desc {
  padding: 0;
  margin: 0;
  line-height: 1;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .part {
  display: flex;
  flex: 1;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .part span {
  padding: 10px;
  text-align: left;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .part .icon {
  display: flex;
  justify-content: center;
  justify-items: center;
  align-items: center;
  text-align: center;
  width: 45px;
  min-width: 45px;
  background: #ffffff4d;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .part .icon i {
  font-size: 18px;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .part .contenido {
  flex: 1;
  padding: 10px 15px;
}
.wrapper-bloque-reto .wrapper-swipper-blog .slide-element .blog-titulo .contenido {
  font-weight: bold;
}

/* === Bloque Newsletter ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueNewsletter.vue (lines 230-244)
 * Sólo popups globales (ya cubiertos en sección Formulario arriba). No hay
 * CSS adicional específico del wrapper del bloque.
 */

/* === Bloque Sigueme ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueSigueme.vue (lines 122-128)
 * Wrapper: .wrapper-bloque-sigueme
 * Únicamente estilos del popup de leyes (ID global, se mantiene sin prefijo).
 */
#contenido_leyes_sigueme {
  padding: 15px 15px;
  margin-top: 70px;
  word-break: break-word;
}

/* === Bloque Redes ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueRedes.vue (lines 55-58)
 * <style scoped> vacío en el original. Sin CSS portado. */

/* === Bloque CallActions ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueCallActions.vue (lines 62-65)
 * <style scoped> vacío en el original. Sin CSS portado. */

/* === Bloque Logos ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueLogos.vue (lines 75-82)
 * + Logo.vue (lines 51-115)
 * Wrapper: .wrapper-bloque-iconos (compartido con BloqueIconos en PHP)
 * Todas las reglas (.icono, .fa-stack.libre, .icono-title, .icono-texto,
 * .separator, .boton, .bloque-title, .descripcion) ya están cubiertas en la
 * sección "Bloque Iconos" arriba, CON UNA EXCEPCIÓN: Logo.vue añade en .icono
 * `justify-content: center; align-items: center;` que Icono.vue NO tiene. Sin
 * eso el wrapper hace stretch y .fa-stack.libre img {width:100%} estira el logo
 * a todo el ancho de la columna (enorme en móvil). Se aplica por-bloque en
 * render/blocks/bloque_logos.php, no aquí, para no afectar a Bloque Iconos.
 */

/* === Bloque Boton ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueBoton.vue (lines 42-46)
 * Wrapper: .wrapper-bloque-boton */
.wrapper-bloque-boton .bloque-title {
  margin-bottom: 38px;
}

/* === Bloque Ecommerce ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueEcommerce.vue (lines 213-231)
 * Wrapper: .wrapper-bloque-ecommerce */
.wrapper-bloque-ecommerce .importe {
  border: 1px solid #eee;
  border-radius: 4px;
  height: 38px;
  padding: 5px 10px;
  text-align: center;
  max-width: 148px;
  font-size: 14px;
  display: block;
  margin: 25px auto;
}
.wrapper-bloque-ecommerce .fa-circle-notch {
  font-size: 30px;
}
.wrapper-bloque-ecommerce .centerTop {
  margin-top: 30px;
}

/* === Bloque Archivo / Codigo / Iframe ===
 * Fuentes: BloqueArchivo.vue, BloqueCodigo.vue, BloqueIframe.vue
 * Todas tienen <style scoped> vacío en el original. Sin CSS portado. */

/* === Bloque Eventos ===
 * Fuente: vue-webs/src/clients/erescambio/components/BloqueEventos.vue (lines 240-1155)
 * Wrapper: .wrapper-bloque-eventos
 *
 * Vue NO usaba <style scoped> aquí — el CSS era global. El bloque PHP utiliza
 * el HTML pre-renderizado de la API (campo `eventos`, string con la estructura
 * Elementor 41295 + widgets EventON + datos GeoDirectory), por lo que se portan
 * todas las reglas tal cual sin prefijar.
 */

/* Bloque de fecha de cada evento (dia_semana / dia / mes).
 * Faltaba en el port: el día salía a tamaño base en vez del número grande.
 * Reglas tomadas tal cual del bundle de referencia (.com app.css / tema v3.css). */
.evento_mini .dia_semana {
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
}
.evento_mini .dia {
	font-size: 30px;
	font-weight: 700;
}
.evento_mini .mes {
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
}

.elementor-row {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.elementor img {
	height: auto;
	max-width: 100%;
	border: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.elementor-41295 {
	margin-top: 8px;
}

.elementor-41295 .elementor-element.elementor-element-605ee8ba {
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-bc-flex-widget .elementor-41295 .elementor-element.elementor-element-4b8704a5.elementor-column .elementor-column-wrap {
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-4b8704a5.elementor-column.elementor-element[data-element_type="column"]>.elementor-column-wrap.elementor-element-populated>.elementor-widget-wrap {
	align-content: center;
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-4b8704a5>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-4b8704a5>.elementor-element-populated {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-521891c7 .elementor-text-editor {
	column-gap: 0px;
	text-align: left;
}

.elementor-41295 .elementor-element.elementor-element-521891c7 {
	color: #777777;
	text-transform: uppercase;
}

.elementor-41295 .elementor-element.elementor-element-521891c7>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-69444c26 {
	overflow: hidden;
	border-style: solid;
	border-width: 0px 0px 0px 0px;
	border-color: #e2e2e2;
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-69444c26:not(.elementor-motion-effects-element-type-background),
.elementor-41295 .elementor-element.elementor-element-69444c26>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-color: #ffffff;
}

.elementor-41295 .elementor-element.elementor-element-69444c26:hover {
	background-color: #ffffff;
}

.elementor-41295 .elementor-element.elementor-element-69444c26,
.elementor-41295 .elementor-element.elementor-element-69444c26>.elementor-background-overlay {
	border-radius: 4px 4px 4px 4px;
}

.elementor-bc-flex-widget .elementor-41295 .elementor-element.elementor-element-3c841901.elementor-column .elementor-column-wrap {
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-3c841901.elementor-column.elementor-element[data-element_type="column"]>.elementor-column-wrap.elementor-element-populated>.elementor-widget-wrap {
	align-content: center;
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-3c841901>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-3c841901>.elementor-element-populated {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-36584240>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-bc-flex-widget .elementor-41295 .elementor-element.elementor-element-4079a5a9.elementor-column .elementor-column-wrap {
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-4079a5a9.elementor-column.elementor-element[data-element_type="column"]>.elementor-column-wrap.elementor-element-populated>.elementor-widget-wrap {
	align-content: center;
	align-items: center;
	height: 100%;
}

.elementor-41295 .elementor-element.elementor-element-4079a5a9.elementor-column>.elementor-column-wrap>.elementor-widget-wrap {
	justify-content: center;
}

.elementor-41295 .elementor-element.elementor-element-4079a5a9>.elementor-element-populated {
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-6bae5cfe .elementor-text-editor {
	text-align: center;
}

.elementor-41295 .elementor-element.elementor-element-6bae5cfe {
	color: #777777;
}

.elementor-bc-flex-widget .elementor-41295 .elementor-element.elementor-element-7969c7a6.elementor-column .elementor-column-wrap {
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-7969c7a6.elementor-column.elementor-element[data-element_type="column"]>.elementor-column-wrap.elementor-element-populated>.elementor-widget-wrap {
	align-content: center;
	align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-7969c7a6>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-7969c7a6>.elementor-element-populated {
	margin: 0px 0px 0px 0px;
	padding: 10px 0px 10px 0px;
}

.elementor-41295 .elementor-element.elementor-element-2f87b35f .elementor-heading-title {
	font-size: 18px;
	line-height: 1em;
}

.elementor-41295 .elementor-element.elementor-element-2f87b35f>.elementor-widget-container {
	margin: 0px 0px 15px 0px;
	padding: 0px 15px 0px 15px;
}

.elementor-41295 .elementor-element.elementor-element-765c0cc .elementor-heading-title {
	color: #777777;
	font-size: 12px;
}

.elementor-41295 .elementor-element.elementor-element-765c0cc>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 15px 0px 15px;
}

.elementor-41295 .elementor-element.elementor-element-3a4be660:not(.elementor-motion-effects-element-type-background),
.elementor-41295 .elementor-element.elementor-element-3a4be660>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-color: #ffffff;
}

.elementor-41295 .elementor-element.elementor-element-3a4be660,
.elementor-41295 .elementor-element.elementor-element-3a4be660>.elementor-background-overlay {
	border-radius: 0px 0px 4px 4px;
}

.elementor-41295 .elementor-element.elementor-element-3a4be660 {
	margin-top: 0px;
	margin-bottom: 15px;
	padding: 2px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-2b494142>.elementor-element-populated {
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-71662ad1 .elementor-image img {
	width: 100%;
	max-width: 100%;
}

.elementor-41295 .elementor-element.elementor-element-71662ad1>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-1c6e0a87 {
	margin-top: 10px;
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-2e98c78b>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-2e98c78b>.elementor-element-populated {
	margin: 0px 0px 0px 0px;
	padding: 0px 30px 30px 30px;
}

.elementor-41295 .elementor-element.elementor-element-43838470 .elementor-heading-title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1, 3em;
}

.elementor-41295 .elementor-element.elementor-element-43838470>.elementor-widget-container {
	padding: 0px 0px 5px 0px;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	border-color: #EEEEEE;
}

.elementor-41295 .elementor-element.elementor-element-1ed05e2f>.elementor-widget-container {
	margin: 30px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-d530e19 {
	margin-top: 45px;
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-20485bc.elementor-column>.elementor-column-wrap>.elementor-widget-wrap {
	justify-content: flex-end;
}

.elementor-41295 .elementor-element.elementor-element-242bd3d7>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
	margin-bottom: 0px;
}

.elementor-41295 .elementor-element.elementor-element-242bd3d7>.elementor-element-populated {
	padding: 0px 20px 30px 20px;
}

.elementor-41295 .elementor-element.elementor-element-1f562cbb .elementor-heading-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1, 3em;
}

.elementor-41295 .elementor-element.elementor-element-1f562cbb>.elementor-widget-container {
	padding: 0px 0px 5px 0px;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	border-color: #EEEEEE;
}

.elementor-41295 .elementor-element.elementor-element-d0f8c45>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-41295 .elementor-element.elementor-element-3130ea4d>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 15px 5px;
}

.elementor-41295 .elementor-element.elementor-element-1cca5d14 {
	--divider-border-style: solid;
	--divider-color: #000;
	--divider-border-width: 0px;
}

.elementor-41295 .elementor-element.elementor-element-1cca5d14 .elementor-divider-separator {
	width: 100%;
}

.elementor-41295 .elementor-element.elementor-element-1cca5d14 .elementor-divider {
	padding-top: 15px;
	padding-bottom: 15px;
}

.elementor-41295 .elementor-element.elementor-element-7f84e4d9 .elementor-heading-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1, 3em;
}

.elementor-41295 .elementor-element.elementor-element-7f84e4d9>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 5px 0px;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	border-color: #EEEEEE;
}

.elementor-41295 .elementor-element.elementor-element-3de2ee3f>.elementor-widget-container {
	margin: 8px 0px 0px 0px;
	padding: 0px 0px 0px 15px;
}

.elementor-41295 .elementor-element.elementor-element-4b389377>.elementor-widget-container {
	margin: 8px 0px 0px 0px;
	padding: 0px 0px 0px 15px;
}

.elementor-41295 .elementor-element.elementor-element-20dcd5aa .elementor-button {
	fill: #ffffff;
	color: #ffffff;
	background-color: #015c77;
	border-radius: 4px 4px 4px 4px;
}

.elementor-41295 .elementor-element.elementor-element-20dcd5aa>.elementor-widget-container {
	padding: 10px 0px 10px 0px;
}

.elementor-41295 .elementor-element.elementor-element-3b61b26 {
	--divider-border-style: solid;
	--divider-color: #000;
	--divider-border-width: 0px;
}

.elementor-41295 .elementor-element.elementor-element-3b61b26 .elementor-divider-separator {
	width: 100%;
}

.elementor-41295 .elementor-element.elementor-element-3b61b26 .elementor-divider {
	padding-top: 15px;
	padding-bottom: 15px;
}

.elementor-41295 .elementor-element.elementor-element-876b3a3 .elementor-heading-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1, 3em;
}

.elementor-41295 .elementor-element.elementor-element-876b3a3>.elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 5px 0px;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	border-color: #EEEEEE;
}

.elementor-41295 .elementor-element.elementor-element-4cf57c3a>.elementor-widget-container {
	margin: 8px 8px 8px 8px;
}

.elementor-41295 .elementor-element.elementor-element-7969c7a6 {
  display: flex;
  align-items: center;
}

.elementor-41295 .elementor-element.elementor-element-71662ad1 .elementor-image img {
    max-width: 100%;
}

@media(max-width:1024px) {
	.elementor-41295 .elementor-element.elementor-element-242bd3d7>.elementor-element-populated {
		padding: 0px 0px 30px 0px;
	}
}

@media(min-width:768px) {
	.elementor-41295 .elementor-element.elementor-element-3c841901 {
		width: 10%;
		position: relative;
		overflow: hidden;
	}
	.elementor-41295 .elementor-element.elementor-element-4079a5a9 {
		width: 10%;
	}
	.elementor-41295 .elementor-element.elementor-element-7969c7a6 {
		width: 79.664%;
	}
	.elementor-41295 .elementor-element.elementor-element-2e98c78b {
		width: 65%;
	}
	.elementor-41295 .elementor-element.elementor-element-56098978 {
		width: 40%;
	}
	.elementor-41295 .elementor-element.elementor-element-20485bc {
		width: 60, 016%;
	}
	.elementor-41295 .elementor-element.elementor-element-242bd3d7 {
		width: 35%;
	}
}

@media(max-width:767px) {
	.elementor-41295 .elementor-element.elementor-element-3c841901 {
		width: 100%;
	}
	.elementor-41295 .elementor-element.elementor-element-3c841901>.elementor-element-populated {
		margin: 0px 0px 15px 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-4079a5a9 {
		width: 30%;
	}
	.elementor-bc-flex-widget .elementor-41295 .elementor-element.elementor-element-4079a5a9.elementor-column .elementor-column-wrap {
		align-items: center;
	}
	.elementor-41295 .elementor-element.elementor-element-4079a5a9.elementor-column.elementor-element[data-element_type="column"]>.elementor-column-wrap.elementor-element-populated>.elementor-widget-wrap {
		align-content: center;
		align-items: center;
	}
	.elementor-41295 .elementor-element.elementor-element-4079a5a9.elementor-column>.elementor-column-wrap>.elementor-widget-wrap {
		justify-content: center;
	}
	.elementor-41295 .elementor-element.elementor-element-4079a5a9>.elementor-element-populated {
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-6bae5cfe .elementor-text-editor {
		text-align: center;
	}
	.elementor-41295 .elementor-element.elementor-element-6bae5cfe>.elementor-widget-container {
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-7969c7a6 {
		width: 70%;
	}
	.elementor-41295 .elementor-element.elementor-element-7969c7a6>.elementor-element-populated {
		margin: 0px 0px 0px 0px;
		padding: 15px 0px 10px 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 {
		margin-top: 15px;
		margin-bottom: 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-2e98c78b>.elementor-element-populated {
		padding: 30px 15px 15px 15px;
	}
	.elementor-41295 .elementor-element.elementor-element-1ed05e2f>.elementor-widget-container {
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-56098978.elementor-column>.elementor-column-wrap>.elementor-widget-wrap {
		justify-content: center;
	}
	.elementor-41295 .elementor-element.elementor-element-20485bc.elementor-column>.elementor-column-wrap>.elementor-widget-wrap {
		justify-content: center;
	}
	.elementor-41295 .elementor-element.elementor-element-242bd3d7>.elementor-element-populated {
		padding: 15px 15px 15px 15px;
	}
	.elementor-41295 .elementor-element.elementor-element-1cca5d14>.elementor-widget-container {
		margin: 5px 0px 5px 0px;
	}
	.elementor-41295 .elementor-element.elementor-element-3b61b26>.elementor-widget-container {
		margin: 5px 0px 5px 0px;
	}
}


/* Start custom CSS for image, class: .elementor-element-36584240 */

.elementor-41295 .elementor-element.elementor-element-36584240 {
	height: 100%;
}

.elementor-41295 .elementor-element.elementor-element-36584240 img {
	min-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: auto;
	max-width: none;
}


/* End custom CSS */


/* Start custom CSS for text-editor, class: .elementor-element-6bae5cfe */

.elementor-41295 .elementor-element.elementor-element-6bae5cfe {
	text-align: center;
}


/* End custom CSS */


/* Start custom CSS for section, class: .elementor-element-69444c26 */

.elementor-41295 .elementor-element.elementor-element-69444c26:hover {
	cursor: pointer;
}


/* End custom CSS */


/* Start custom CSS for image, class: .elementor-element-71662ad1 */

.elementor-41295 .elementor-element.elementor-element-71662ad1 a {
	width: 100%;
}


/* End custom CSS */


/* Start custom CSS for heading, class: .elementor-element-43838470 */

.elementor-41295 .elementor-element.elementor-element-43838470:before {
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	float: left;
	font-size: 12px;
	color: #6b9aaa;
	margin-right: 5px;
	top: -2px;
	position: relative;
}


/* End custom CSS */


/* Start custom CSS for shortcode, class: .elementor-element-1ed05e2f */

.elementor-41295 .elementor-element.elementor-element-1ed05e2f .geodir-field-post_content {
	font-size: 16px !important;
}


/* End custom CSS */


/* Start custom CSS for shortcode, class: .elementor-element-58b469a3 */

.elementor-41295 .elementor-element.elementor-element-58b469a3 .fa {
	line-height: inherit;
}


/* End custom CSS */


/* Start custom CSS for shortcode, class: .elementor-element-3ba96388 */

.elementor-41295 .elementor-element.elementor-element-3ba96388 {
	text-align: right;
}

.elementor-41295 .elementor-element.elementor-element-3ba96388 form {
	display: inline-block;
}

.elementor-41295 .elementor-element.elementor-element-3ba96388 input[type=submit],
.elementor-41295 .elementor-element.elementor-element-3ba96388 .btn {
	font-weight: 500;
	fill: #2d758d;
	color: #2d758d;
	background-color: #fff;
	border-style: solid;
	border-width: 2px;
	border-color: #2d758d;
	font-size: 13px;
	padding: 6px 12px;
	font-weight: 600;
	border-radius: 4px;
	line-height: 16px !important;
	height: auto !important;
	max-height: none;
}

.elementor-41295 .elementor-element.elementor-element-3ba96388 .btn:hover,
.elementor-41295 .elementor-element.elementor-element-3ba96388 input[type=submit]:hover {
	background-color: #2d758d;
	color: #fff;
}


/* End custom CSS */


/* Start custom CSS for heading, class: .elementor-element-1f562cbb */

.elementor-41295 .elementor-element.elementor-element-1f562cbb:before {
	content: "\f025";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	float: left;
	font-size: 14px;
	color: #6b9aaa;
	margin-right: 5px;
	top: -2px;
	position: relative;
}


/* End custom CSS */


/* Start custom CSS for heading, class: .elementor-element-7f84e4d9 */

.elementor-41295 .elementor-element.elementor-element-7f84e4d9:before {
	content: "\f3c5";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	float: left;
	font-size: 14px;
	color: #6b9aaa;
	margin-right: 5px;
	top: -2px;
	position: relative;
}


/* End custom CSS */


/* Start custom CSS for shortcode, class: .elementor-element-3de2ee3f */

.elementor-41295 .elementor-element.elementor-element-3de2ee3f .geodir-schedule-start,
.elementor-41295 .elementor-element.elementor-element-3de2ee3f .geodir-schedule-sep,
.elementor-41295 .elementor-element.elementor-element-3de2ee3f .geodir-schedule-end,
.elementor-41295 .elementor-element.elementor-element-3de2ee3f .geodir_post_meta {
	font-size: 18px !important;
	color: #fdc652;
	font-weight: bold;
}


/* End custom CSS */


/* Start custom CSS for shortcode, class: .elementor-element-4b389377 */

.elementor-41295 .elementor-element.elementor-element-4b389377 .geodir-schedule-start,
.elementor-41295 .elementor-element.elementor-element-4b389377 .geodir-schedule-sep,
.elementor-41295 .elementor-element.elementor-element-4b389377 .geodir-schedule-end,
.elementor-41295 .elementor-element.elementor-element-4b389377 .geodir_post_meta {
	font-size: 18px !important;
}


/* End custom CSS */


/* Start custom CSS for heading, class: .elementor-element-876b3a3 */

.elementor-41295 .elementor-element.elementor-element-876b3a3:before {
	content: "\f025";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	float: left;
	font-size: 14px;
	color: #6b9aaa;
	margin-right: 5px;
	top: -2px;
	position: relative;
}


/* End custom CSS */


/* Start custom CSS for shortcode, class: .elementor-element-4cf57c3a */

.elementor-41295 .elementor-element.elementor-element-4cf57c3a .ficha_post.mini .bloq_autor a strong {
	color: #015c77;
}


/* End custom CSS */


/* Start custom CSS for section, class: .elementor-element-1c6e0a87 */

@media (max-width: 767px) {
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 #evento_sharer {
		text-align: center;
	}
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 #evento_exporter {
		text-align: center;
	}
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 #evento_exporter input[type=submit] {
		width: 100%;
	}
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 .reservar-fechas .geodir-schedules .geodir-schedule a,
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 .reservar-fecha .geodir-schedules .geodir-schedule {
		text-align: center;
		font-weight: 600;
	}
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 .reservar-fechas .geodir-schedules .geodir-schedule a:after,
	.elementor-41295 .elementor-element.elementor-element-1c6e0a87 .reservar-fecha .geodir-schedules .geodir-schedule:after {
		width: 100%;
		margin-bottom: 10px;
	}
}


/* End custom CSS */


/* Start custom CSS for section, class: .elementor-element-3a4be660 */

.elementor-41295 .elementor-element.elementor-element-3a4be660.oculto {
	margin-bottom: 0 !important;
}


/* End custom CSS */

.collapse-trigger {
	margin-bottom: 15px;
}

.collapse-evento:not(.oculto) {
	margin-bottom: 15px;
	visibility: visible;
	max-height: 100000px;
	overflow: initial;
	opacity: 1;
	transition: height ease .5s;
}

.oculto {
	visibility: hidden;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
}

section.elementor-element {
	padding: 0;
	background: none;
	border-radius: 6px;
	overflow: hidden;
	text-align: left;
}

.collapse-evento .elementor-element-3bd0af7 img {
	margin-bottom: 30px;
	width: 100%;
	height: auto;
}

section.elementor-element a {
	text-decoration: none;
}

.geodir-post-content-container a {}

.geodir-post-content-container h3 {}

.elementor-element-6a79f66 .elementor-heading-title {
	font-size: 18px;
	font-weight: 600;
}

.elementor-element.elementor-element-521dd18 .elementor-heading-title {
	font-size: 18px;
	line-height: 1em;
}

.geodir_more_info,
.geodir_post_meta,
.geodir_more_info span.geodir-i-select+ul li,
.geodir_post_meta span.geodir-i-select+ul li,
#post_infoTab .geodir_more_info,
#post_infoTab .geodir_more_info span.geodir-i-select+ul li,
#franchises .geodir_post_meta,
#franchises .geodir_post_meta span.geodir-i-select+ul li {
	display: inline !important;
	font-size: 14px !important;
	line-height: 24px !important;
}

.geodir-schedule .geodir-schedule-start,
.geodir-schedule .geodir-schedule-end,
.geodir-schedule .geodir-schedule-sep {
	display: inline-block;
}

.geodir-schedule-start i {
	display: none;
}

.img_autor {
	float: left;
	margin-right: 15px;
}

.img_autor img {
	border-radius: 50%;
	height: 45px !important;
	width: 45px;
}

#evento_sharer a {
	display: inline-block;
	height: 32px;
	width: 32px;
	border-radius: 50%;
	line-height: 32px;
	text-align: center;
}

#evento_exporter .btn.btn-primary {
	color: #fff !important;
}

.elementor-41295 .elementor-element.elementor-element-0fdb356>.elementor-widget-container {
	padding: 15px 0px 15px 5px;
	background-color: #ffffff;
}

.blue-popup {
	position: fixed;
	z-index: 299;
	background-color: rgba(0, 0, 0, 0.1);
	opacity: .5;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	max-height: 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
}

#evento_sharer>a {
	display: inline-block;
	height: 40px;
	width: 40px;
	border-radius: 50%;
	line-height: 34px;
	text-align: center;
	color: #005c76;
	transition: all ease .5s;
	font-size: 30px;
}

#evento_sharer>a:hover {}

#evento_sharer>a>i {
	font-size: 18px;
	line-height: 38px;
}

#evento_exporter {
	text-align: right;
	display: inline-block;
}

#evento_exporter input[type=submit] {
	font-size: 13px;
	padding: 6px 12px;
	font-weight: 600;
}


/* Address */

.geodir_post_meta.geodir-field-address {
	display: block !important;
	font-size: 12px !important;
}

.geodir_post_meta.geodir-field-address .geodir-i-address .geodir_post_meta_title {
	display: none;
}

.geodir_post_meta.geodir-field-address .geodir-i-location,
.geodir_post_meta.geodir-field-address span[itemprop=addressCountry],
.geodir_post_meta.geodir-field-address span[itemprop=postalCode],
.geodir_post_meta.geodir-field-address br,
.geodir_more_info.geodir_contact,
#franchises .geodir_post_meta.geodir-field-address .geodir-i-location,
#franchises .geodir_post_meta.geodir-field-address span[itemprop=addressCountry],
#franchises .geodir_post_meta.geodir-field-address span[itemprop=postalCode],
#franchises .geodir_post_meta.geodir-field-address br,
#gd_tab_franchisesTab .geodir_more_info.geodir_contact {
	display: none !important;
}

.geodir_post_meta.geodir-field-address span[itemprop=streetAddress]:after,
.geodir_post_meta.geodir-field-address span[itemprop=addressLocality]:after,
.geodir_post_meta.geodir-field-address span[itemprop=addressRegion]:after,
#franchises .geodir_post_meta.geodir-field-address span[itemprop=streetAddress]:after,
#franchises .geodir_post_meta.geodir-field-address span[itemprop=addressLocality]:after,
#franchises .geodir_post_meta.geodir-field-address span[itemprop=addressRegion]:after {
	content: ", ";
}

.geodir_more_info.post_address,
#franchises .geodir_post_meta.geodir-field-address {
	display: block !important;
}

.elementor-41295 .elementor-element.elementor-element-1c6e0a87 {
	padding-top: 30px;
	padding-bottom: 10px;
}

