/* =========================================================
   Perfumes Factory VE — CSS limpio v1.3.0
   Child theme popularfx-child | 2026-09-02
   ========================================================= */

:root {
  --pf-teal: #0E667E;
  --pf-teal-dark: #0a4f61;
  --pf-red: #911F30;
  --pf-ink: #1a1a1a;
  --pf-muted: #5c6670;
  --pf-line: rgba(14, 102, 126, 0.16);
  --pf-radius: 16px;
  --pf-content: min(1480px, 92vw);
}

/* Contenedores */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con { --container-max-width: var(--pf-content) !important; }
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--pf-content) !important;
}
.entry-content { max-width: var(--pf-content) !important; }

html, body { overflow-x: hidden; }
body.popularfx-body,
body.elementor-page {
  background: #fff;
  color: var(--pf-ink);
  -webkit-font-smoothing: antialiased;
}

.elementor img,
.entry-content img,
.elementor-widget-image img {
  max-width: 100% !important;
  height: auto !important;
}

/* ========== HEADER: logo + menú más equilibrados ========== */
.elementor-location-header .elementor-element-91d15e6 {
  box-shadow: 0 1px 0 var(--pf-line) !important;
  min-height: 84px !important;
}

@media (min-width: 1025px) {
  /* Logo más visible, menos “perdido” */
  .elementor-32 .elementor-element.elementor-element-1f8a8f52 {
    width: 18% !important;
  }
  .elementor-32 .elementor-element.elementor-element-ca6aead {
    width: 2% !important; /* columna vacía que desbalanceaba */
  }
  .elementor-32 .elementor-element.elementor-element-7e8b2a8c {
    width: 70% !important;
  }
  .elementor-32 .elementor-element.elementor-element-65f98e02 {
    width: 10% !important;
  }

  .elementor-32 .elementor-element.elementor-element-69455d95 {
    text-align: left !important;
  }
  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    width: auto !important;
    max-height: 58px !important;
    max-width: 240px !important;
  }

  /* Menú: legible, sin parecer “apagado” ni apretado raro */
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(18px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-family: "Varela Round", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--pf-teal) !important;
    white-space: nowrap;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main .elementor-item {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .elementor-32 .elementor-nav-menu--main > .elementor-nav-menu {
    flex-wrap: nowrap !important;
    justify-content: flex-end;
    align-items: center;
  }
  .elementor-32 .elementor-element.elementor-element-ca6aead > .elementor-element-populated {
    margin: 0 !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  :root { --pf-content: min(1200px, 94vw); }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(10px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 12.5px !important;
  }
  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 50px !important;
    max-width: 200px !important;
  }
}

/* ========== HERO / CARRUSEL: sin cortar la imagen ========== */
.elementor-43 .elementor-element.elementor-element-e6cc466 {
  padding: 12px 0 8px !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 clamp(10px, 2vw, 24px) !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
  /* Altura que respeta banners ~1700x500 (ratio ~3.4) */
  height: auto !important;
  aspect-ratio: 17 / 5;
  max-height: 420px;
  width: 100% !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(14, 102, 126, 0.14);
  background: #0E667E;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
  /* contain = se ve el banner completo, no se corta */
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #0E667E;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button {
  background: rgba(255,255,255,0.95) !important;
  color: var(--pf-teal) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}

@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    aspect-ratio: 16 / 9;
    max-height: 220px;
    border-radius: 12px !important;
  }
  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    padding: 0 10px !important;
  }
}

/* ========== FLIP BOXES: NUNCA blanco al hover ========== */
/* Matar por completo el flip / crossfade conflictivo de EAEL */
.elementor-43 .eael-animate-flip .eael-elements-flip-box-flip-card,
.elementor-43 .eael-elements-flip-box-flip-card {
  transform: none !important;
  -webkit-transform: none !important;
  transform-style: flat !important;
  transition: none !important;
}
.elementor-43 .eael-elements-flip-box-front-container,
.elementor-43 .eael-animate-flip .eael-elements-flip-box-front-container {
  position: absolute !important;
  inset: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  transform: none !important;
  -webkit-transform: none !important;
  backface-visibility: visible !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  background-color: #fff !important;
  z-index: 2 !important;
  transition: none !important;
}
/* Cara trasera siempre apagada (era la causa del blanco) */
.elementor-43 .eael-elements-flip-box-rear-container,
.elementor-43 .eael-animate-flip .eael-elements-flip-box-rear-container,
.elementor-43 .eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,
.elementor-43 .eael-elements-flip-box-container:focus-within .eael-elements-flip-box-rear-container {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* Hover: el frente SIGUE visible (antes opacity:0 → blanco) */
.elementor-43 .eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container,
.elementor-43 .eael-elements-flip-box-container:focus-within .eael-elements-flip-box-front-container {
  opacity: 1 !important;
  visibility: visible !important;
}

.elementor-43 .eael-elements-flip-box-container,
.elementor-43 .eael-elements-flip-box-flip-card {
  position: relative !important;
  display: block !important;
  min-height: 240px;
}
.eael-elements-flip-box-container {
  border-radius: var(--pf-radius);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background: #fff;
}
.eael-elements-flip-box-container:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(14, 102, 126, 0.14);
}

/* Recorte suave del reflejo en logos (sin ocultar el logo) */
.elementor-43 .elementor-element-5720c9f .eael-elements-flip-box-front-container,
.elementor-43 .elementor-element-18ac797 .eael-elements-flip-box-front-container,
.elementor-43 .elementor-element-9cb04fb .eael-elements-flip-box-front-container,
.elementor-43 .elementor-element-84ac77b .eael-elements-flip-box-front-container,
.elementor-43 .elementor-element-fdda18a .eael-elements-flip-box-front-container,
.elementor-43 .elementor-element-8898340 .eael-elements-flip-box-front-container {
  background-size: 72% auto !important;
  background-position: center 22% !important;
}

/* Separadores */
.elementor-43 .elementor-divider__text {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700 !important;
}

/* Menú móvil dropdown contraste */
.elementor-nav-menu--dropdown {
  background: #fff !important;
  z-index: 10050 !important;
}
.elementor-nav-menu--dropdown a.elementor-item,
.elementor-32 .elementor-nav-menu--dropdown a {
  color: var(--pf-teal) !important;
  background: #fff !important;
  font-weight: 600 !important;
  text-align: left !important;
  border-bottom: 1px solid var(--pf-line) !important;
}

.elementor-location-footer input[type="email"],
.elementor-location-footer input[type="text"] {
  border-radius: 999px !important;
  border: 1px solid var(--pf-line) !important;
  padding: 12px 18px !important;
}
.elementor-location-footer .elementor-button,
.elementor-location-footer button { border-radius: 999px !important; }

/* ========== TABLET / ≤1024: header compacto ========== */
@media (max-width: 1024px) {
  :root { --pf-content: min(960px, 96vw); }

  .elementor-32 .elementor-element-91d15e6 { display: none !important; }
  .elementor-32 .elementor-element-1adb9551 {
    display: block !important;
    background: #fff !important;
    box-shadow: 0 1px 0 var(--pf-line), 0 8px 20px rgba(14,102,126,0.06) !important;
    position: relative;
    z-index: 1000;
  }
  .elementor-32 .elementor-element-1adb9551 > .elementor-container {
    min-height: 72px !important;
    align-items: center !important;
    padding: 8px 12px !important;
  }
  .elementor-32 .elementor-element-2e422af5 { width: 20% !important; }
  .elementor-32 .elementor-element-2ec14e9f { width: 60% !important; }
  .elementor-32 .elementor-element-52308c00 img {
    width: auto !important;
    max-height: 48px !important;
    max-width: 200px !important;
    margin: 0 auto;
  }
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--main {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    color: var(--pf-teal) !important;
  }
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    width: 100vw !important;
    background: #fff !important;
    box-shadow: 0 16px 32px rgba(0,0,0,0.12) !important;
    z-index: 10040 !important;
  }
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown a {
    display: block !important;
    padding: 14px 20px !important;
    color: var(--pf-teal) !important;
    font-weight: 600 !important;
    text-align: left !important;
    border-bottom: 1px solid var(--pf-line) !important;
  }

  .elementor-43 .elementor-element.elementor-element-8ab5e32,
  .elementor-43 .elementor-element.elementor-element-4a16d87,
  .elementor-43 .elementor-element.elementor-element-ca683e5,
  .elementor-43 .elementor-element.elementor-element-0787238,
  .elementor-43 .elementor-element.elementor-element-0bc1538,
  .elementor-43 .elementor-element.elementor-element-abf30c5,
  .elementor-43 .elementor-element.elementor-element-d2497ee {
    width: calc(50% - 8px) !important;
    --width: 50% !important;
  }
  .elementor-43 .eael-flipbox-fixed-height:not(.eael-template) {
    height: 200px !important;
  }
}

@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-8ab5e32,
  .elementor-43 .elementor-element.elementor-element-4a16d87,
  .elementor-43 .elementor-element.elementor-element-ca683e5,
  .elementor-43 .elementor-element.elementor-element-0787238,
  .elementor-43 .elementor-element.elementor-element-0bc1538,
  .elementor-43 .elementor-element.elementor-element-abf30c5,
  .elementor-43 .elementor-element.elementor-element-d2497ee {
    width: 100% !important;
    --width: 100% !important;
  }
  .elementor-43 .elementor-element.elementor-element-2abd6a6,
  .elementor-43 .elementor-element.elementor-element-cc26bc2 {
    flex-direction: column !important;
  }
  .elementor-43 .eael-elements-flip-box-container {
    margin: 0 auto 10px;
    max-width: 420px;
  }
  .chaty-widget, .chaty-i, #chaty-widget {
    transform: scale(0.88);
    transform-origin: bottom right;
  }
}

/* Perfume Ideal */
.page-id-1791 .entry-header { display: none; }
.pf-ideal-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px 16px 56px;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(14, 102, 126, 0.10), transparent 65%),
    linear-gradient(180deg, #f7fbfc 0%, #ffffff 60%);
}
.pf-ideal-card {
  width: min(760px, 100%);
  background: #fff;
  border: 1px solid var(--pf-line);
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(14, 102, 126, 0.12);
  padding: 34px 26px 30px;
  text-align: center;
}
.pf-ideal-card h1 {
  margin: 0 0 12px;
  font-size: clamp(1.6rem, 4vw, 2.25rem);
  color: var(--pf-teal);
  font-weight: 700;
}
.pf-ideal-card p {
  margin: 0 auto 22px;
  max-width: 42ch;
  color: var(--pf-muted);
  line-height: 1.55;
}
.pf-ideal-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 28px;
  border-radius: 999px;
  background: var(--pf-teal);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(14, 102, 126, 0.28);
}
.pf-ideal-cta:hover { background: var(--pf-teal-dark); color: #fff !important; }
.pf-ideal-note { margin-top: 14px !important; font-size: 0.88rem !important; color: #7a8690 !important; }
.pf-ideal-back {
  display: inline-block;
  margin-top: 18px;
  color: var(--pf-teal) !important;
  font-weight: 600;
  text-decoration: none !important;
}
.pf-ideal-frame-desktop { display: none !important; }

/* ===== v1.3.1: carrusel sin franjas raras + header más compacto ===== */
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
  background: #fff !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
  background-color: #fff !important;
  background-size: contain !important;
}

@media (min-width: 1400px) {
  .elementor-32 .elementor-element.elementor-element-1f8a8f52 { width: 16% !important; }
  .elementor-32 .elementor-element.elementor-element-ca6aead { width: 0% !important; display: none !important; }
  .elementor-32 .elementor-element.elementor-element-7e8b2a8c { width: 74% !important; }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(16px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 14.5px !important;
  }
  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 62px !important;
    max-width: 260px !important;
  }
}

/* =========================================================
   v1.4.0 — Hero full-bleed pegado al menú + Perfume Ideal embebido
   ========================================================= */

/* Quitar hueco entre header y contenido del home */
.home .elementor-location-header,
.page-id-43 .elementor-location-header {
  margin-bottom: 0 !important;
  box-shadow: 0 1px 0 rgba(14,102,126,0.12) !important;
}
.home #content,
.home .site-main,
.home .entry-content,
.page-id-43 .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.home .elementor-43,
.page-id-43 .elementor-43 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Contenedor del carrusel: ancho completo, pegado al menú */
.elementor-43 .elementor-element.elementor-element-e6cc466 {
  max-width: 100% !important;
  width: 100% !important;
  --content-width: 100% !important;
  --container-max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.elementor-43 .elementor-element.elementor-element-e6cc466.e-con-boxed,
.elementor-43 .elementor-element.elementor-element-e6cc466 > .e-con-inner {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-43 .elementor-element.elementor-element-8530649 {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 21 / 6;
  max-height: min(42vw, 460px);
  min-height: 200px;
  height: auto !important;
  background: #0a4f61 !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
  /* cover a todo el ancho: look hero moderno */
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  border-radius: 0 !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button {
  width: 44px !important;
  height: 44px !important;
}

@media (max-width: 1024px) {
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    aspect-ratio: 16 / 7;
    max-height: 280px;
    min-height: 160px;
  }
}
@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    aspect-ratio: 16 / 9;
    max-height: 220px;
    min-height: 140px;
  }
}

/* ========== Perfume Ideal embebido + barra Volver ========== */
.page-id-1791 .entry-header { display: none !important; }
.page-id-1791 .entry-content {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.page-id-1791 .elementor-location-footer {
  /* footer debajo del embed; opcional ocultar para más espacio */
}
.page-id-1791 .chaty-widget,
.page-id-1791 #chaty-widget {
  display: none !important;
}

.pf-ideal-shell {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #f4f8f9;
}

.pf-ideal-bar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 10px 16px;
  background: #0E667E;
  color: #fff;
  box-shadow: 0 6px 18px rgba(10, 79, 97, 0.25);
}

.pf-ideal-bar-back,
.pf-ideal-bar-home {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 0.95rem;
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  transition: background 0.2s ease;
}
.pf-ideal-bar-back:hover,
.pf-ideal-bar-home:hover {
  background: rgba(255,255,255,0.28);
  color: #fff !important;
}

.pf-ideal-bar-title {
  font-weight: 600;
  font-size: 0.95rem;
  opacity: 0.95;
  text-align: center;
  flex: 1;
}

.pf-ideal-embed {
  display: block;
  width: 100%;
  border: 0;
  background: #fff;
  min-height: calc(100vh - 160px);
  height: calc(100vh - 160px);
}

@media (max-width: 767px) {
  .pf-ideal-bar {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 10px 12px;
  }
  .pf-ideal-bar-title {
    order: -1;
    flex: 1 1 100%;
    font-size: 0.88rem;
  }
  .pf-ideal-embed {
    min-height: calc(100vh - 180px);
    height: calc(100dvh - 180px);
  }
}

/* Legacy card styles (por si queda algo cacheado) */
.pf-ideal-wrap { display: none !important; }

/* ===== v1.4.1: forzar hero a 100vw (rompe el max-width del entry-content) ===== */
.home .entry-content,
.page-id-43 .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.elementor-43 .elementor-element.elementor-element-e6cc466 {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.elementor-43 .elementor-element.elementor-element-e6cc466 .e-con-inner,
.elementor-43 .elementor-element.elementor-element-8530649,
.elementor-43 .elementor-element.elementor-element-5b25830,
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
  width: 100% !important;
  max-width: 100% !important;
}

/* El resto del home sigue con ancho de contenido centrado */
.elementor-43 .elementor-element.elementor-element-7b22281,
.elementor-43 .elementor-element.elementor-element-2abd6a6,
.elementor-43 .elementor-element.elementor-element-cc26bc2 {
  max-width: var(--pf-content) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* PI también a todo el ancho bajo el menú */
.page-id-1791 .entry-content {
  max-width: 100% !important;
  width: 100% !important;
}
.page-id-1791 .pf-ideal-shell {
  width: 100% !important;
}
.page-id-1791 .elementor-location-header {
  margin-bottom: 0 !important;
}

/* =========================================================
   v1.5.0 — menú móvil limpio, flechas delgadas, PI sin botones
   ========================================================= */

/* Menú abierto: tapa el banner / contenido (no se ve naranja detrás) */
@media (max-width: 1024px) {
  .elementor-32 .elementor-element-1adb9551 {
    z-index: 10060 !important;
    background: #fff !important;
  }
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown {
    position: fixed !important;
    inset: 64px 0 0 0 !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 64px) !important;
    max-height: none !important;
    margin: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
    z-index: 10070 !important;
  }
  /* Oscurecer/ocultar lo de atrás mientras el menú está abierto */
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .elementor-location-header ~ *,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) #content,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .site-main,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .elementor-43,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .pf-ideal-shell {
    visibility: hidden !important;
  }
  /* El header (logo + X) se queda visible */
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .elementor-location-header {
    visibility: visible !important;
  }
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) {
    overflow: hidden !important;
  }
}

/* Carrusel: flechas delgadas (no círculos blancos grandes) */
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button,
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button-prev,
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button-next {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  width: 36px !important;
  height: 36px !important;
  opacity: 0.85;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button:hover {
  opacity: 1;
  background: transparent !important;
}
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button i,
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button svg {
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  color: rgba(255,255,255,0.95) !important;
  fill: rgba(255,255,255,0.95) !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.45));
}
/* Por si Elementor usa chevron como pseudo */
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button-prev:after,
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button-next:after {
  font-size: 28px !important;
  font-weight: 300 !important;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* Banner un poco más alto / más presencia */
.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
  aspect-ratio: 21 / 5.5 !important;
  max-height: min(48vw, 520px) !important;
  min-height: 220px !important;
}
@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    aspect-ratio: 16 / 8 !important;
    max-height: 240px !important;
    min-height: 160px !important;
  }
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button i,
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button svg {
    font-size: 20px !important;
  }
}

/* Perfume Ideal: barra mínima sin botones Volver/Inicio */
.pf-ideal-bar--minimal {
  justify-content: center !important;
  min-height: 40px !important;
  padding: 8px 12px !important;
}
.pf-ideal-bar--minimal .pf-ideal-bar-title {
  flex: none !important;
  font-size: 0.9rem !important;
}
.pf-ideal-bar-back,
.pf-ideal-bar-home {
  display: none !important;
}
@media (max-width: 767px) {
  .pf-ideal-bar--minimal .pf-ideal-bar-title {
    order: 0 !important;
    flex: none !important;
  }
  .pf-ideal-embed {
    min-height: calc(100vh - 130px) !important;
    height: calc(100dvh - 130px) !important;
  }
}

/* v1.5.1 fallback sin :has() */
@media (max-width: 1024px) {
  body.pf-menu-open .elementor-43,
  body.pf-menu-open .entry-content,
  body.pf-menu-open #content,
  body.pf-menu-open .site-main,
  body.pf-menu-open .pf-ideal-shell,
  body.pf-menu-open .elementor-location-footer {
    visibility: hidden !important;
  }
  body.pf-menu-open .elementor-location-header {
    visibility: visible !important;
    position: relative;
    z-index: 10080 !important;
  }
  body.pf-menu-open {
    overflow: hidden !important;
  }
}

/* Matar círculo blanco del swiper con más fuerza */
.elementor-43 .elementor-element-5b25830 .elementor-swiper-button,
.elementor-43 .elementor-element-5b25830 .swiper-button-prev,
.elementor-43 .elementor-element-5b25830 .swiper-button-next {
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.elementor-43 .elementor-element-5b25830 .elementor-swiper-button:before,
.elementor-43 .elementor-element-5b25830 .elementor-swiper-button:after {
  background: none !important;
  box-shadow: none !important;
}

/* v1.5.2 — flechas delgadas blancas (sin círculo) + banner móvil full width */
.elementor-43 .elementor-element-5b25830 .elementor-swiper-button {
  background: transparent !important;
  width: 28px !important;
  height: 48px !important;
  opacity: 0.9;
}
.elementor-43 .elementor-element-5b25830 .elementor-swiper-button svg {
  width: 18px !important;
  height: 18px !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  filter: drop-shadow(0 0 2px rgba(0,0,0,0.55));
  stroke: none !important;
}
.elementor-43 .elementor-element-5b25830 .elementor-swiper-button svg path {
  fill: #ffffff !important;
}

@media (max-width: 767px) {
  /* forzar banner edge-to-edge en móvil */
  .home .entry-content,
  .page-id-43 .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
  }
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .elementor-location-header {
    margin-bottom: 0 !important;
  }
}

/* =========================================================
   v1.5.3 — Móvil: banner 100% ancho + imagen completa (sin cortar)
   Causa: .site-main tenía padding 10px; cover recortaba el texto
   ========================================================= */
@media (max-width: 767px) {
  /* Quitar márgenes laterales del contenedor principal */
  .home .site-main,
  .page-id-43 .site-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home .entry-content,
  .page-id-43 .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Hero a borde de pantalla */
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-43 .elementor-element.elementor-element-e6cc466 > .e-con-inner,
  .elementor-43 .elementor-element.elementor-element-8530649,
  .elementor-43 .elementor-element.elementor-element-5b25830,
  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    aspect-ratio: unset !important;
    /* altura según ratio típico banners (~2048×560) */
    height: calc(100vw * 560 / 2048) !important;
    min-height: 118px !important;
    max-height: 220px !important;
    background: #fff !important;
  }

  /* Mostrar banner COMPLETO (no cover que corta "PERFUME") */
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
  }

  /* Secciones debajo: recuperar respiro lateral */
  .elementor-43 .elementor-element.elementor-element-7b22281,
  .elementor-43 .elementor-element.elementor-element-2abd6a6,
  .elementor-43 .elementor-element.elementor-element-cc26bc2 {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  .elementor-location-header {
    margin-bottom: 0 !important;
  }
}

/* =========================================================
   v1.6.0 — Footer moderno (template Elementor #35, todas las páginas)
   Corrige font-size 3px/6px en móvil del CSS de Elementor
   ========================================================= */

.elementor-location-footer.elementor-35 {
  background: linear-gradient(180deg, #f8fbfc 0%, #eef4f6 100%) !important;
  border-top: 1px solid var(--pf-line, rgba(14, 102, 126, 0.18));
  margin-top: 2rem;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 2rem 1.25rem 1.25rem !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container,
.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(960px, 94vw) !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  padding-left: 0 !important;
  margin: 0 auto !important;
  max-width: 640px !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
  border: 1px solid var(--pf-line, rgba(14, 102, 126, 0.22)) !important;
  padding: 12px 18px !important;
  font-size: 15px !important;
  box-shadow: 0 1px 3px rgba(14, 102, 126, 0.06);
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
  background: var(--pf-teal, #0e667e) !important;
  padding: 12px 26px !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  min-height: 44px;
  transition: background 0.2s ease, transform 0.15s ease;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"]:hover {
  background: var(--pf-teal-dark, #0a4f61) !important;
  transform: translateY(-1px);
}

.elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
  color: var(--pf-teal, #0e667e) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
  font-size: 13px !important;
  color: var(--pf-muted, #5c6670) !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a:hover,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: var(--pf-teal, #0e667e) !important;
}

.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  margin-bottom: 0 !important;
  padding: 0.75rem 1.25rem 0.5rem !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  font-weight: 600 !important;
  color: var(--pf-teal, #0e667e) !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items.elementor-inline-items {
  justify-content: center !important;
  gap: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: var(--pf-teal, #0e667e) !important;
  transition: transform 0.2s ease, background 0.2s ease;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover {
  background: var(--pf-teal-dark, #0a4f61) !important;
  transform: translateY(-2px);
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon svg {
  color: #fff !important;
  fill: #fff !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  padding: 1rem 1.25rem 1.25rem !important;
  border-top: 1px solid var(--pf-line, rgba(14, 102, 126, 0.14));
  background: rgba(14, 102, 126, 0.05);
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  font-size: 13px !important;
  color: var(--pf-muted, #5c6670) !important;
  font-weight: 500 !important;
}

@media (max-width: 767px) {
  .elementor-35 .elementor-element.elementor-element-4022a268 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 1.5rem 1rem 1rem !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
    font-size: 13px !important;
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026 {
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-5f75790,
  .elementor-35 .elementor-element.elementor-element-5543448f {
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc {
    --e-icon-list-icon-size: 14px !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
    font-size: 12px !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 4px 10px !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field,
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-subgroup label {
    font-size: 14px !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group {
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-element-populated {
    margin-top: 1rem !important;
  }

  .elementor-35 .elementor-element.elementor-element-7040f8ff,
  .elementor-35 .elementor-element.elementor-element-6d274b02 {
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-6d274b02 > .elementor-widget-container {
    margin-top: 12px !important;
  }
}

/* =========================================================
   v1.6.0 — Chaty: sin promo, botones más modernos y discretos
   ========================================================= */

.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"] {
  display: none !important;
}

.chaty-widget.right-position {
  bottom: 18px !important;
  right: 14px !important;
}

.chaty-channel .chaty-icon,
.chaty-channel .chaty-svg {
  width: 48px !important;
  height: 48px !important;
}

.chaty-channel .chaty-icon {
  border-radius: 50% !important;
  box-shadow: 0 4px 14px rgba(14, 102, 126, 0.22) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.chaty-channel a:hover .chaty-icon {
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(14, 102, 126, 0.32) !important;
}

.chaty-i-trigger .chaty-cta-main .chaty-svg {
  background: var(--pf-teal, #0e667e) !important;
  box-shadow: 0 4px 16px rgba(14, 102, 126, 0.35) !important;
}

.Whatsapp-channel .color-element {
  fill: #25d366 !important;
}

.Link-channel .color-element {
  fill: #1877f2 !important;
}

.chaty-channel-list .chaty-channel {
  margin-bottom: 8px !important;
}

.chaty-tooltip .on-hover-text,
.chaty-tooltip:after {
  font-size: 14px !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 14px !important;
    right: 10px !important;
  }

  .chaty-channel .chaty-icon,
  .chaty-channel .chaty-svg {
    width: 44px !important;
    height: 44px !important;
  }
}

/* =========================================================
   v1.6.0 — Más ancho (desktop) + header/banner más grandes (móvil)
   + footer moderno + Chaty sin promo
   ========================================================= */

/* --- Desktop / tablet: contenido más ancho --- */
:root {
  --pf-content: min(1780px, 98vw) !important;
}

@media (min-width: 1025px) and (max-width: 1366px) {
  :root { --pf-content: min(1320px, 97vw) !important; }
}

@media (min-width: 1025px) {
  .elementor-section.elementor-section-boxed > .elementor-container,
  .e-con,
  .entry-content {
    max-width: var(--pf-content) !important;
  }

  .elementor-location-header .elementor-element-91d15e6 {
    min-height: 96px !important;
  }
  .elementor-32 .elementor-element.elementor-element-91d15e6 > .elementor-container {
    min-height: 96px !important;
  }
  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 68px !important;
    max-width: 280px !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 15px !important;
  }
}

/* --- Móvil/tablet: header más grande (logo + hamburguesa) --- */
@media (max-width: 1024px) {
  .elementor-32 .elementor-element.elementor-element-1adb9551 > .elementor-container {
    min-height: 92px !important;
    padding: 10px 14px !important;
  }

  .elementor-32 .elementor-element.elementor-element-52308c00 img {
    width: auto !important;
    max-height: 68px !important;
    max-width: min(72vw, 280px) !important;
    margin: 0 auto !important;
  }

  .elementor-32 .elementor-element.elementor-element-2ec14e9f {
    width: 58% !important;
  }
  .elementor-32 .elementor-element.elementor-element-2e422af5 {
    width: 22% !important;
  }

  .elementor-32 .elementor-element.elementor-element-32b38fd8 .elementor-menu-toggle {
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
  }
  .elementor-32 .elementor-element.elementor-element-32b38fd8 .elementor-menu-toggle svg {
    width: 30px !important;
    height: 30px !important;
  }

  .elementor-32 .elementor-element.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown {
    top: 92px !important;
    inset: 92px 0 0 0 !important;
    height: calc(100vh - 92px) !important;
    height: calc(100dvh - 92px) !important;
  }
}

/* --- Móvil: banner más alto + sin márgenes laterales --- */
@media (max-width: 767px) {
  .site-main,
  .entry-content,
  #content,
  .elementor-43 {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: unset !important;
    height: calc(100vw * 560 / 2048) !important;
    min-height: 168px !important;
    max-height: 260px !important;
    border-radius: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: 100% auto !important;
    background-position: center top !important;
  }

  /* Secciones producto: casi borde a borde */
  .elementor-43 .elementor-element.elementor-element-7b22281,
  .elementor-43 .elementor-element.elementor-element-2abd6a6,
  .elementor-43 .elementor-element.elementor-element-cc26bc2,
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Chaty: no encoger */
  .chaty-widget,
  .chaty-i,
  #chaty-widget {
    transform: none !important;
  }
}

/* =========================================================
   v1.6.1 — PI sin barra, Chaty visible, footer alineado
   ========================================================= */

/* Perfume Ideal: sin barra "Perfume Ideal · Venezuela" */
.pf-ideal-bar,
.pf-ideal-bar--minimal {
  display: none !important;
}

.pf-ideal-shell {
  background: #fff !important;
}

.pf-ideal-embed,
.page-id-1791 .pf-ideal-embed {
  min-height: calc(100vh - 96px) !important;
  height: calc(100vh - 96px) !important;
}

@media (max-width: 767px) {
  .page-id-1791 .pf-ideal-embed {
    min-height: calc(100dvh - 92px) !important;
    height: calc(100dvh - 92px) !important;
  }
}

/* Chaty: volver a mostrar (antes oculto en PI + JS quitaba .active) */
.page-id-1791 .chaty-widget,
.page-id-1791 #chaty-widget-0,
.page-id-1791 .chaty.active {
  display: block !important;
}

.chaty.active,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
}

.chaty-i-trigger .chaty-cta-main {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Footer: síguenos + copyright centrados, iconos legibles */
.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(960px, 94vw) !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc,
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-widget-wrap {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff,
.elementor-35 .elementor-element.elementor-element-3f699c44 {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 {
  width: auto !important;
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  justify-content: center !important;
  gap: 14px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--pf-teal, #0e667e) !important;
  line-height: 1 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon i {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  background: transparent !important;
  border-top: none !important;
  padding: 0.5rem 1rem 1.25rem !important;
  margin-top: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  text-align: center !important;
  font-size: 13px !important;
  color: var(--pf-muted, #5c6670) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-element-populated {
  margin-top: 0 !important;
}

/* Home: banner sin recorte lateral + contenido más ancho */
@media (min-width: 1025px) {
  :root {
    --pf-content: min(1860px, 99vw) !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* =========================================================
   v1.6.1 — PI sin barra, Chaty visible, footer alineado
   ========================================================= */

/* Perfume Ideal: sin barra "Perfume Ideal · Venezuela" */
.pf-ideal-bar,
.pf-ideal-bar--minimal {
  display: none !important;
}

.pf-ideal-shell {
  background: #fff !important;
}

.pf-ideal-embed,
.page-id-1791 .pf-ideal-embed {
  min-height: calc(100vh - 96px) !important;
  height: calc(100vh - 96px) !important;
}

@media (max-width: 767px) {
  .page-id-1791 .pf-ideal-embed {
    min-height: calc(100dvh - 92px) !important;
    height: calc(100dvh - 92px) !important;
  }
}

/* Chaty: volver a mostrar (antes oculto en PI + JS quitaba .active) */
.page-id-1791 .chaty-widget,
.page-id-1791 #chaty-widget-0,
.page-id-1791 .chaty.active {
  display: block !important;
}

.chaty.active,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
}

.chaty-i-trigger .chaty-cta-main {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Footer: síguenos + copyright centrados, iconos legibles */
.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(960px, 94vw) !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc,
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-widget-wrap {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff,
.elementor-35 .elementor-element.elementor-element-3f699c44 {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 {
  width: auto !important;
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  justify-content: center !important;
  gap: 14px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--pf-teal, #0e667e) !important;
  line-height: 1 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon i {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  background: transparent !important;
  border-top: none !important;
  padding: 0.5rem 1rem 1.25rem !important;
  margin-top: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  text-align: center !important;
  font-size: 13px !important;
  color: var(--pf-muted, #5c6670) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-element-populated {
  margin-top: 0 !important;
}

/* Home: banner sin recorte lateral + contenido más ancho */
@media (min-width: 1025px) {
  :root {
    --pf-content: min(1860px, 99vw) !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* =========================================================
   v1.7.0 — Footer rediseño (oscuro, limpio, legible)
   ========================================================= */

.elementor-location-footer.elementor-35 {
  background: linear-gradient(180deg, #0e667e 0%, #084854 100%) !important;
  color: #fff !important;
  margin-top: 2.5rem !important;
  padding: 2.5rem 1.25rem 0 !important;
  border-top: none !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268,
.elementor-35 .elementor-element.elementor-element-6616009,
.elementor-35 .elementor-element.elementor-element-943cc5c,
.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container,
.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(680px, 94vw) !important;
  margin: 0 auto !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

/* --- Newsletter: tarjeta blanca centrada --- */
.elementor-35 .elementor-element.elementor-element-943cc5c {
  margin-bottom: 2rem !important;
}

.elementor-35 .elementor-element.elementor-element-440674b6,
.elementor-35 .elementor-element.elementor-element-5f75790,
.elementor-35 .elementor-element.elementor-element-5543448f,
.elementor-35 .elementor-element.elementor-element-5cfdffcc,
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 1.5rem 1.25rem !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::before {
  content: "Suscríbete al newsletter";
  display: block;
  text-align: center;
  font-family: "Varela Round", system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: #0e667e;
  margin-bottom: 0.35rem;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::after {
  content: "Recibe novedades y promociones de la marca";
  display: block;
  text-align: center;
  font-size: 0.82rem;
  color: #5c6670;
  margin-bottom: 1rem;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group-email {
  width: auto !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group-submit {
  width: auto !important;
  flex: 0 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
  width: 100% !important;
  font-size: 14px !important;
  padding: 13px 16px !important;
  border: 1px solid #dde5e8 !important;
  border-radius: 10px !important;
  background: #f8fbfc !important;
  box-shadow: none !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field::placeholder {
  color: #8a9499 !important;
  font-size: 13px !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
  background: #0e667e !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  min-height: 48px !important;
  white-space: nowrap !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"]:hover {
  background: #084854 !important;
}

/* --- Países: pills centradas --- */
.elementor-35 .elementor-element.elementor-element-282b1026 {
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0.75rem !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc {
  width: 100% !important;
  --e-icon-list-icon-size: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
  display: inline-block !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  transition: background 0.2s ease !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a:hover,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item:hover .elementor-icon-list-text {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-icon {
  display: none !important;
}

/* --- Redes sociales --- */
.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  margin-top: 1.75rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff,
.elementor-35 .elementor-element.elementor-element-6d274b02,
.elementor-35 .elementor-element.elementor-element-3f699c44 {
  width: 100% !important;
  text-align: center !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  justify-content: center !important;
  gap: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  width: 46px !important;
  height: 46px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-2px) !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon svg {
  color: #fff !important;
  fill: #fff !important;
  font-size: 18px !important;
}

/* --- Copyright: barra inferior --- */
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  margin-top: 1.25rem !important;
  padding: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(0, 0, 0, 0.18) !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-element-populated {
  margin: 0 !important;
  padding: 0.9rem 1rem 1.1rem !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

@media (max-width: 767px) {
  .elementor-location-footer.elementor-35 {
    padding: 2rem 1rem 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-4022a268 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    flex-direction: column !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group-submit {
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}
/* =========================================================
   v1.8.0 — Páginas internas + footer claro mejorado
   ========================================================= */

/* ---------- PRODUCTOS (73): flip-box sin repetición ---------- */
.elementor-73 .eael-animate-flip .eael-elements-flip-box-flip-card,
.elementor-73 .eael-elements-flip-box-flip-card {
  transform: none !important;
  -webkit-transform: none !important;
  transform-style: flat !important;
}

.elementor-73 .eael-elements-flip-box-container,
.elementor-73 .eael-elements-flip-box-flip-card {
  position: relative !important;
  display: block !important;
  min-height: 260px !important;
  border-radius: var(--pf-radius, 16px) !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(14, 102, 126, 0.1) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.elementor-73 .eael-elements-flip-box-container:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(14, 102, 126, 0.16) !important;
}

.elementor-73 .eael-elements-flip-box-front-container,
.elementor-73 .eael-animate-flip .eael-elements-flip-box-front-container {
  position: absolute !important;
  inset: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  -webkit-transform: none !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 78% auto !important;
}

.elementor-73 .eael-elements-flip-box-rear-container,
.elementor-73 .eael-animate-flip .eael-elements-flip-box-rear-container,
.elementor-73 .eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,
.elementor-73 .eael-elements-flip-box-container:focus-within .eael-elements-flip-box-rear-container {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.elementor-73 .eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container,
.elementor-73 .eael-elements-flip-box-container:focus-within .eael-elements-flip-box-front-container {
  opacity: 1 !important;
  visibility: visible !important;
}

.elementor-73 .eael-flipbox-fixed-height:not(.eael-template) {
  height: 260px !important;
}

@media (max-width: 767px) {
  .elementor-73 .eael-elements-flip-box-container {
    max-width: 420px;
    margin: 0 auto 12px !important;
  }

  .elementor-73 .eael-flipbox-fixed-height:not(.eael-template) {
    height: 220px !important;
  }
}

/* ---------- LISTADO DE PERFUMES (85) ---------- */
.page-id-85 .elementor-85,
.page-id-85 .elementor-85 .e-con {
  overflow-x: hidden !important;
}

.elementor-85 .elementor-element.elementor-element-17b5304 {
  max-width: min(920px, 94vw) !important;
  margin: 0 auto !important;
  gap: 1.5rem !important;
  padding: 0 0 2rem !important;
}

.elementor-85 .elementor-element.elementor-element-72ceec5,
.elementor-85 .elementor-element.elementor-element-a457458 {
  flex: 1 1 calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc > .elementor-widget-container,
.elementor-85 .elementor-element.elementor-element-8c003f6 > .elementor-widget-container {
  background: #fff !important;
  border-radius: var(--pf-radius, 16px) !important;
  padding: 1rem !important;
  box-shadow: 0 6px 24px rgba(14, 102, 126, 0.12) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  overflow: hidden !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc > .elementor-widget-container:hover,
.elementor-85 .elementor-element.elementor-element-8c003f6 > .elementor-widget-container:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(14, 102, 126, 0.18) !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc img,
.elementor-85 .elementor-element.elementor-element-8c003f6 img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 300px !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  display: block !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc a,
.elementor-85 .elementor-element.elementor-element-8c003f6 a {
  display: block !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .elementor-85 .elementor-element.elementor-element-17b5304 {
    flex-direction: column !important;
    align-items: center !important;
  }

  .elementor-85 .elementor-element.elementor-element-72ceec5,
  .elementor-85 .elementor-element.elementor-element-a457458 {
    flex: 1 1 100% !important;
    max-width: min(420px, 92vw) !important;
    width: 100% !important;
  }

  .elementor-85 .elementor-element.elementor-element-86886fc img,
  .elementor-85 .elementor-element.elementor-element-8c003f6 img {
    max-height: 240px !important;
  }
}

.elementor-popup-modal .dialog-widget-content {
  border-radius: 14px !important;
  overflow: hidden !important;
}

.elementor-popup-modal .dialog-lightbox-message img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* ---------- DÓNDE ESTAMOS (87) ---------- */
.elementor-87 .elementor-element.elementor-element-3f4e44d img {
  width: 100% !important;
  max-height: 200px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.elementor-87 .elementor-element.elementor-element-1727d21 {
  max-width: min(1100px, 96vw) !important;
  margin: 0 auto 1.5rem !important;
  padding: 0 0.75rem !important;
}

.page-id-87 .supsystic-tables-wrap {
  max-width: min(1100px, 96vw) !important;
  margin: 0 auto 2.5rem !important;
  padding: 1.25rem !important;
  background: #fff !important;
  border-radius: var(--pf-radius, 16px) !important;
  box-shadow: 0 4px 24px rgba(14, 102, 126, 0.1) !important;
  border: 1px solid var(--pf-line, rgba(14, 102, 126, 0.14)) !important;
}

.page-id-87 .dataTables_wrapper .dataTables_filter input,
.page-id-87 .dataTables_wrapper .dataTables_length select {
  border: 1px solid var(--pf-line, rgba(14, 102, 126, 0.22)) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
}

.page-id-87 table.supsystic-table thead th {
  background: var(--pf-teal, #0e667e) !important;
  color: #fff !important;
  font-weight: 600 !important;
  padding: 12px 14px !important;
  border: none !important;
}

.page-id-87 table.supsystic-table tbody td {
  padding: 10px 14px !important;
  border-bottom: 1px solid rgba(14, 102, 126, 0.08) !important;
}

.page-id-87 table.supsystic-table tbody tr:nth-child(even) td {
  background: rgba(14, 102, 126, 0.04) !important;
}

.page-id-87 table.supsystic-table tbody tr:hover td {
  background: rgba(14, 102, 126, 0.08) !important;
}

/* ---------- CONTACTO (89) ---------- */
.elementor-89 .elementor-element.elementor-element-d9f7358 img {
  width: 100% !important;
  max-height: 220px !important;
  object-fit: cover !important;
  object-position: center 40% !important;
}

.elementor-89 .elementor-element.elementor-element-f55261d {
  max-width: min(680px, 94vw) !important;
  margin: 0 auto 2.5rem !important;
  padding: 0 0.75rem !important;
}

.elementor-89 .elementor-element.elementor-element-893b8e9 {
  background: #fff !important;
  border-radius: var(--pf-radius, 16px) !important;
  padding: 1.75rem 1.5rem !important;
  box-shadow: 0 6px 28px rgba(14, 102, 126, 0.1) !important;
  border: 1px solid var(--pf-line, rgba(14, 102, 126, 0.14)) !important;
}

.page-id-89 .wpforms-field-label {
  font-weight: 600 !important;
  color: var(--pf-teal, #0e667e) !important;
  font-size: 14px !important;
}

.page-id-89 .wpforms-field input[type="text"],
.page-id-89 .wpforms-field input[type="email"],
.page-id-89 .wpforms-field input[type="tel"],
.page-id-89 .wpforms-field textarea,
.page-id-89 .wpforms-field select {
  border: 1px solid var(--pf-line, rgba(14, 102, 126, 0.22)) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  background: #f8fbfc !important;
}

.page-id-89 .wpforms-field input:focus,
.page-id-89 .wpforms-field textarea:focus {
  border-color: var(--pf-teal, #0e667e) !important;
  box-shadow: 0 0 0 3px rgba(14, 102, 126, 0.12) !important;
  outline: none !important;
}

.page-id-89 .wpforms-submit-container button[type="submit"] {
  background: var(--pf-teal, #0e667e) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 32px !important;
  font-weight: 600 !important;
}

@media (max-width: 767px) {
  .elementor-89 .elementor-element.elementor-element-d9f7358 img {
    max-height: 150px !important;
  }
}

/* ---------- EMPRESA (295) ---------- */
.elementor-295 .elementor-element.elementor-element-803d6f8 img,
.elementor-295 .elementor-element.elementor-element-03b10d7 img {
  width: 100% !important;
  max-height: 120px !important;
  object-fit: contain !important;
}

.elementor-295 .elementor-element.elementor-element-bd9f5e3 {
  max-width: min(1100px, 96vw) !important;
  margin: 0 auto !important;
  gap: 2rem !important;
  padding: 1.5rem 0.75rem 2.5rem !important;
  align-items: flex-start !important;
}

.elementor-295 .elementor-element.elementor-element-a163d3f img {
  width: min(280px, 80%) !important;
  max-width: 280px !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
}

.elementor-295 .elementor-element.elementor-element-350cbde {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--pf-muted, #5c6670) !important;
}

.elementor-295 .elementor-element.elementor-element-350cbde h2,
.elementor-295 .elementor-element.elementor-element-350cbde h3,
.elementor-295 .elementor-element.elementor-element-350cbde strong {
  color: var(--pf-teal, #0e667e) !important;
  font-size: 1.15rem !important;
}

@media (max-width: 767px) {
  .elementor-295 .elementor-element.elementor-element-bd9f5e3 {
    flex-direction: column !important;
  }

  .elementor-295 .elementor-element.elementor-element-350cbde {
    font-size: 14px !important;
    text-align: left !important;
  }
}

/* =========================================================
   v1.8.0 — Footer claro (anula v1.7.0 oscuro)
   ========================================================= */

.elementor-location-footer.elementor-35 {
  background: linear-gradient(180deg, #f8fbfc 0%, #eef4f6 100%) !important;
  color: inherit !important;
  margin-top: 2.5rem !important;
  padding: 0 !important;
  border-top: 1px solid var(--pf-line, rgba(14, 102, 126, 0.18)) !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  margin: 0 !important;
  padding: 2rem 1.25rem 1rem !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container {
  max-width: min(820px, 94vw) !important;
  margin: 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::before,
.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::after {
  display: none !important;
  content: none !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: min(640px, 94vw) !important;
  margin: 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
  border: 1px solid var(--pf-line, rgba(14, 102, 126, 0.22)) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  border-radius: 999px !important;
  background: #fff !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
  background: var(--pf-teal, #0e667e) !important;
  color: #fff !important;
  border-radius: 999px !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c {
  padding: 1.25rem 1.25rem 0.75rem !important;
  border-top: 1px solid var(--pf-line, rgba(14, 102, 126, 0.12)) !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
  color: var(--pf-teal, #0e667e) !important;
  font-size: 13px !important;
  text-transform: none !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px 14px !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
  padding: 0 !important;
  font-size: 13px !important;
  color: var(--pf-muted, #5c6670) !important;
  background: transparent !important;
  border: none !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a:hover,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: var(--pf-teal, #0e667e) !important;
}

.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  margin-top: 0 !important;
  padding: 0.75rem 1.25rem 0 !important;
  border-top: none !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  color: var(--pf-teal, #0e667e) !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  width: 40px !important;
  height: 40px !important;
  background: var(--pf-teal, #0e667e) !important;
  border: none !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon svg {
  color: #fff !important;
  fill: #fff !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  margin-top: 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  background: rgba(14, 102, 126, 0.06) !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  color: var(--pf-muted, #5c6670) !important;
  font-size: 12px !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    flex-direction: column !important;
  }

  .elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
    flex-direction: column !important;
  }
}
/* =========================================================
   v1.8.1 — Banner móvil/desktop + Listado + Contacto centrado
   ========================================================= */

/* ---------- HOME HERO: escritorio más ancho e imponente ---------- */
@media (min-width: 1025px) {
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-e6cc466 > .e-con-inner,
  .elementor-43 .elementor-element.elementor-element-8530649,
  .elementor-43 .elementor-element.elementor-element-5b25830,
  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    aspect-ratio: 17 / 5 !important;
    height: auto !important;
    min-height: 280px !important;
    max-height: min(48vw, 560px) !important;
    background: #0a4f61 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}

/* ---------- HOME HERO: móvil más alto y legible (menos “chimbo”) ---------- */
@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 0 0.5rem !important;
  }

  .elementor-43 .elementor-element.elementor-element-e6cc466 > .e-con-inner,
  .elementor-43 .elementor-element.elementor-element-8530649,
  .elementor-43 .elementor-element.elementor-element-5b25830,
  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: unset !important;
    /* Más alto: el promo se lee mejor en móvil */
    height: clamp(190px, 52vw, 260px) !important;
    min-height: 190px !important;
    max-height: 260px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #0a4f61 !important;
  }

  /* cover = zoom al centro, texto del banner más grande y nítido */
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-swiper-button {
    width: 34px !important;
    height: 34px !important;
  }
}

/* ---------- LISTADO DE PERFUMES (85): más ancho, menos raro ---------- */
.page-id-85 .entry-content,
.page-id-85 .elementor-85 {
  max-width: 100% !important;
}

.elementor-85 .elementor-element.elementor-element-17b5304 {
  max-width: min(1180px, 94vw) !important;
  width: 100% !important;
  margin: 0 auto !important;
  gap: 2rem !important;
  padding: 0.5rem 0 2.5rem !important;
  justify-content: center !important;
  align-items: stretch !important;
}

.elementor-85 .elementor-element.elementor-element-72ceec5,
.elementor-85 .elementor-element.elementor-element-a457458 {
  flex: 1 1 calc(50% - 1rem) !important;
  max-width: min(520px, calc(50% - 1rem)) !important;
  width: auto !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc > .elementor-widget-container,
.elementor-85 .elementor-element.elementor-element-8c003f6 > .elementor-widget-container {
  background: #fff !important;
  border-radius: 18px !important;
  padding: 1.1rem 1.1rem 0.85rem !important;
  box-shadow: 0 8px 28px rgba(14, 102, 126, 0.12) !important;
  border: 1px solid rgba(14, 102, 126, 0.08) !important;
  text-align: center !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc img,
.elementor-85 .elementor-element.elementor-element-8c003f6 img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 340px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: none !important;
  border: none !important;
}

.elementor-85 .elementor-element.elementor-element-86886fc .widget-image-caption,
.elementor-85 .elementor-element.elementor-element-8c003f6 .widget-image-caption,
.elementor-85 .elementor-element.elementor-element-86886fc figcaption,
.elementor-85 .elementor-element.elementor-element-8c003f6 figcaption {
  margin-top: 0.85rem !important;
  font-family: "Varela Round", system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: var(--pf-teal, #0e667e) !important;
  text-transform: uppercase !important;
}

.elementor-85 .elementor-element.elementor-element-22a007a {
  max-width: min(1180px, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px) {
  .elementor-85 .elementor-element.elementor-element-17b5304 {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1.25rem !important;
  }

  .elementor-85 .elementor-element.elementor-element-72ceec5,
  .elementor-85 .elementor-element.elementor-element-a457458 {
    flex: 1 1 100% !important;
    max-width: min(420px, 92vw) !important;
    width: 100% !important;
  }

  .elementor-85 .elementor-element.elementor-element-86886fc img,
  .elementor-85 .elementor-element.elementor-element-8c003f6 img {
    max-height: 260px !important;
  }
}

/* ---------- CONTACTO (89): banner centrado / full-width como móvil ---------- */
.page-id-89 .entry-content {
  max-width: 100% !important;
}

.elementor-89 .elementor-element.elementor-element-a35b3fd {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  justify-content: center !important;
  align-items: center !important;
}

.elementor-89 .elementor-element.elementor-element-a35b3fd > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
}

.elementor-89 .elementor-element.elementor-element-d9f7358 {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

.elementor-89 .elementor-element.elementor-element-d9f7358 > .elementor-widget-container {
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  background: #f4f6f7 !important;
}

.elementor-89 .elementor-element.elementor-element-d9f7358 img {
  display: block !important;
  width: 100% !important;
  max-width: min(1400px, 100%) !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (min-width: 1025px) {
  .elementor-89 .elementor-element.elementor-element-d9f7358 img {
    max-height: 320px !important;
    width: auto !important;
    max-width: min(1200px, 92vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .elementor-89 .elementor-element.elementor-element-d9f7358 > .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 0.75rem 0 !important;
  }
}

@media (max-width: 767px) {
  .elementor-89 .elementor-element.elementor-element-d9f7358 img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
  }
}

/* Formulario contacto: mantener centrado */
.elementor-89 .elementor-element.elementor-element-f55261d {
  max-width: min(720px, 94vw) !important;
  margin: 1.25rem auto 2.5rem !important;
  justify-content: center !important;
}
/* =========================================================
   v1.8.2 — Menú desktop + banner sin corte + PI embed
   ========================================================= */

/* ---------- MENÚ ESCRITORIO: más limpio y equilibrado ---------- */
@media (min-width: 1025px) {
  .elementor-location-header.elementor-32 {
    width: 100% !important;
    background: #fff !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6,
  .elementor-32 .elementor-element.elementor-element-91d15e6 > .elementor-container {
    max-width: min(1680px, 96vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-height: 88px !important;
    align-items: center !important;
  }

  /* Logo un poco más presente */
  .elementor-32 .elementor-element.elementor-element-1f8a8f52 {
    width: 17% !important;
  }
  .elementor-32 .elementor-element.elementor-element-ca6aead {
    width: 0% !important;
    display: none !important;
  }
  .elementor-32 .elementor-element.elementor-element-7e8b2a8c {
    width: 83% !important;
  }
  .elementor-32 .elementor-element.elementor-element-65f98e02 {
    width: 100% !important;
  }

  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 64px !important;
    max-width: 260px !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(14px / 2) !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main > .elementor-nav-menu {
    justify-content: flex-end !important;
    gap: 2px !important;
    flex-wrap: nowrap !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    color: #0a5568 !important;
    padding: 10px 8px !important;
    border-radius: 0 !important;
    position: relative !important;
    transition: color 0.15s ease !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item:hover,
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item.elementor-item-active,
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item.highlighted {
    color: var(--pf-red, #911F30) !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item.elementor-item-active {
    font-weight: 600 !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(8px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 12px !important;
    padding: 8px 5px !important;
  }
  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 52px !important;
    max-width: 210px !important;
  }
}

/* ---------- BANNER ESCRITORIO: full-bleed real ---------- */
@media (min-width: 1025px) {
  .home .entry-content,
  .page-id-43 .entry-content,
  .home #content,
  .page-id-43 #content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    left: auto !important;
    transform: none !important;
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 17 / 5 !important;
    height: auto !important;
    min-height: 260px !important;
    max-height: min(50vw, 580px) !important;
    border-radius: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* ---------- BANNER MÓVIL: SIN CORTAR (contain + ratio natural) ---------- */
@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    /* Ratio típico banners 1700x500 → se ve completa, sin crop */
    aspect-ratio: 17 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 0 !important;
    background: #0a4f61 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
  }
}

/* ---------- Perfume Ideal embebido: iframe a altura útil ---------- */
.page-id-1791 .pf-ideal-shell,
.page-id-1791 .pf-ideal-shell--bare {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.page-id-1791 .pf-ideal-embed {
  width: 100% !important;
  min-height: calc(100vh - 100px) !important;
  min-height: calc(100dvh - 100px) !important;
  border: 0 !important;
  display: block !important;
}
/* =========================================================
   v1.8.3 — Banner móvil sin franjas + más grande
   ========================================================= */

@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-e6cc466 {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: unset !important;
    /* Más alto / presente en móvil, sin franjas laterales */
    height: clamp(168px, 48vw, 230px) !important;
    min-height: 168px !important;
    max-height: 230px !important;
    border-radius: 0 !important;
    background: #fff !important; /* nada de barras negras */
  }

  /* Llena el ancho: se ve grande; crop mínimo en bordes extremos */
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
  }
}
/* =========================================================
   v1.8.4 — Banner móvil: mismo tamaño, SIN cortar
   Estira la imagen al marco (100% 100%): se ve completa.
   ========================================================= */

@media (max-width: 767px) {
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: unset !important;
    height: clamp(168px, 48vw, 230px) !important;
    min-height: 168px !important;
    max-height: 230px !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  /* fill = no crop, no franjas; ligera deformación horizontal */
  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
  }
}
/* =========================================================
   v1.9.0 — P0 auditoría: carrusel tablet, menú, precios, footer
   ========================================================= */

/* ---------- CARRUSEL: 1 slide siempre (tablet/móvil) ---------- */
.elementor-43 .elementor-element.elementor-element-5b25830 .swiper-wrapper {
  display: flex !important;
}

.elementor-43 .elementor-element.elementor-element-5b25830 .swiper-slide {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  box-sizing: border-box !important;
}

.elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper {
  overflow: hidden !important;
}

@media (max-width: 1024px) {
  .elementor-43 .elementor-element.elementor-element-5b25830 .swiper-slide {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  .elementor-43 .elementor-element.elementor-element-5b25830 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image {
    background-size: 100% 100% !important;
    background-position: center center !important;
  }
}

/* ---------- MENÚ DESKTOP: dropdowns + menos saturado ---------- */
@media (min-width: 1025px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main > .elementor-nav-menu {
    gap: 4px !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 13.25px !important;
    padding: 10px 9px !important;
    letter-spacing: 0.01em !important;
  }

  /* Submenú Productos / Empresa */
  .elementor-32 .elementor-nav-menu--main .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-nav-menu--main .sub-menu {
    background: #fff !important;
    border: 1px solid rgba(14, 102, 126, 0.14) !important;
    border-radius: 12px !important;
    padding: 8px 0 !important;
    min-width: 210px !important;
    box-shadow: 0 10px 28px rgba(14, 102, 126, 0.12) !important;
    overflow: hidden !important;
  }

  .elementor-32 .elementor-nav-menu--main .elementor-nav-menu--dropdown .elementor-item,
  .elementor-32 .elementor-nav-menu--main .sub-menu .elementor-item {
    font-size: 13px !important;
    padding: 10px 16px !important;
    color: #0a5568 !important;
    white-space: nowrap !important;
  }

  .elementor-32 .elementor-nav-menu--main .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-32 .elementor-nav-menu--main .sub-menu .elementor-item:hover {
    background: rgba(14, 102, 126, 0.08) !important;
    color: var(--pf-red, #911F30) !important;
  }

  /* Indicador de padre con hijos */
  .elementor-32 .elementor-nav-menu--main .menu-item-has-children > .elementor-item::after,
  .elementor-32 .elementor-nav-menu--main .elementor-item.has-submenu::after {
    content: "" !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid currentColor !important;
    opacity: 0.55 !important;
  }
}

/* ---------- PRECIOS: lista usable ---------- */
.page-id-75 .entry-content,
.elementor-75 {
  max-width: 100% !important;
}

.elementor-75 .elementor-element.elementor-element-f5cf830 {
  max-width: min(1100px, 96vw) !important;
  margin: 1.25rem auto 2.5rem !important;
  padding: 0 0.75rem !important;
  justify-content: center !important;
}

.elementor-75 .elementor-element.elementor-element-c36d3f8 > .elementor-widget-container {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 1rem !important;
  border: 1px solid rgba(14, 102, 126, 0.12) !important;
  box-shadow: 0 8px 28px rgba(14, 102, 126, 0.1) !important;
}

.elementor-75 .elementor-element.elementor-element-c36d3f8 img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 8px !important;
}

.elementor-75 .elementor-element.elementor-element-c36d3f8 > .elementor-widget-container::before {
  content: "Lista de precios";
  display: block;
  text-align: center;
  font-family: "Varela Round", system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--pf-teal, #0e667e);
  margin-bottom: 0.75rem;
}

@media (max-width: 767px) {
  .elementor-75 .elementor-element.elementor-element-c36d3f8 > .elementor-widget-container {
    padding: 0.65rem !important;
  }
}

/* ---------- FOOTER: estructura en bloques claros ---------- */
.elementor-location-footer.elementor-35 {
  background: linear-gradient(180deg, #f8fbfc 0%, #eef4f6 100%) !important;
  border-top: 1px solid rgba(14, 102, 126, 0.16) !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  padding: 1.75rem 1.25rem 0.5rem !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container {
  max-width: min(1100px, 94vw) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem 1.5rem !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f {
  flex: 1 1 420px !important;
  max-width: 560px !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026,
.elementor-35 .elementor-element.elementor-element-2aaf37dc {
  flex: 1 1 280px !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 {
  text-align: left !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
  justify-content: flex-start !important;
  gap: 8px 14px !important;
}

.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(1100px, 94vw) !important;
  margin: 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  justify-content: space-between !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff {
  text-align: left !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  justify-content: flex-end !important;
}

@media (max-width: 767px) {
  .elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container,
  .elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026,
  .elementor-35 .elementor-element.elementor-element-7040f8ff,
  .elementor-35 .elementor-element.elementor-element-6d274b02 {
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items,
  .elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
    justify-content: center !important;
  }
}
/* =========================================================
   v1.9.1 — Menú aireado + footer limpio + flotantes únicos
   ========================================================= */

/* ---------- MENÚ DESKTOP: más aire, menos “todo junto” ---------- */
@media (min-width: 1025px) {
  .elementor-32 .elementor-element.elementor-element-91d15e6,
  .elementor-32 .elementor-element.elementor-element-91d15e6 > .elementor-container {
    max-width: min(1580px, 94vw) !important;
    min-height: 92px !important;
  }

  .elementor-32 .elementor-element.elementor-element-1f8a8f52 {
    width: 20% !important;
  }
  .elementor-32 .elementor-element.elementor-element-7e8b2a8c {
    width: 80% !important;
  }

  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 60px !important;
    max-width: 250px !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(22px / 2) !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main > .elementor-nav-menu {
    justify-content: flex-end !important;
    gap: 6px 2px !important;
    flex-wrap: nowrap !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    padding: 10px 12px !important;
    color: #0a5568 !important;
  }

  .elementor-32 .elementor-nav-menu--main .menu-item-has-children > .elementor-item::after,
  .elementor-32 .elementor-nav-menu--main .elementor-item.has-submenu::after {
    margin-left: 5px !important;
    opacity: 0.45 !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(14px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 12px !important;
    padding: 8px 8px !important;
  }
}

/* ---------- FOOTER: stack limpio centrado (anula flex raro v1.9.0) ---------- */
.elementor-location-footer.elementor-35 {
  background: linear-gradient(180deg, #f7fafb 0%, #eef3f5 100%) !important;
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  padding: 2rem 1.25rem 0.75rem !important;
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c,
.elementor-35 .elementor-element.elementor-element-5a21beb2,
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container,
.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(720px, 94vw) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.85rem !important;
  overflow: visible !important;
}

/* Newsletter centrado */
.elementor-35 .elementor-element.elementor-element-7d0cde4f {
  width: 100% !important;
  max-width: 560px !important;
  flex: none !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  max-width: 100% !important;
  margin: 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  justify-content: center !important;
}

/* Países: centrados, con espacio, sin corte */
.elementor-35 .elementor-element.elementor-element-282b1026 {
  width: 100% !important;
  text-align: center !important;
  flex: none !important;
  margin: 0.5rem 0 0 !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
  color: var(--pf-teal, #0e667e) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc > .elementor-widget-container {
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
  display: inline-block !important;
  padding: 6px 12px !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #4a5560 !important;
  background: rgba(14, 102, 126, 0.07) !important;
  border: 1px solid rgba(14, 102, 126, 0.12) !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a:hover,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #fff !important;
  background: var(--pf-teal, #0e667e) !important;
  border-color: var(--pf-teal, #0e667e) !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-icon {
  display: none !important;
}

/* Síguenos + iconos centrados juntos */
.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  padding: 0.5rem 1.25rem 0.25rem !important;
  border-top: 1px solid rgba(14, 102, 126, 0.1) !important;
  margin-top: 0.75rem !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff {
  width: 100% !important;
  text-align: center !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  color: var(--pf-teal, #0e667e) !important;
  font-size: 13px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 {
  width: 100% !important;
  text-align: center !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  justify-content: center !important;
  gap: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  width: 40px !important;
  height: 40px !important;
  background: var(--pf-teal, #0e667e) !important;
  border: none !important;
  border-radius: 50% !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  margin-top: 1rem !important;
  background: rgba(14, 102, 126, 0.06) !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  text-align: center !important;
  color: #6a737c !important;
  font-size: 12px !important;
}

@media (max-width: 767px) {
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    flex-direction: column !important;
  }
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"],
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group {
    width: 100% !important;
  }
}

/* ---------- FLOTANTES: solo el botón Chaty principal ---------- */
/* Ocultar canales hasta que el widget esté abierto */
.chaty-widget:not(.chaty-open) .chaty-channels,
.chaty-widget:not(.chaty-open) .chaty-channel,
#chaty-widget-0:not(.chaty-open) .chaty-channel,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.5) !important;
}

/* Canal promo / link custom nunca */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* Evitar que Chaty tape el copyright */
.chaty-widget,
.chaty-i,
#chaty-widget-0,
.chaty[id^="chaty-widget-"] {
  bottom: 22px !important;
  z-index: 9998 !important;
}
/* v1.9.1b — arreglar caret doble / barra gris del menú */
@media (min-width: 1025px) {
  /* Quitar el triángulo CSS que chocaba con el icono de Elementor */
  .elementor-32 .elementor-nav-menu--main .menu-item-has-children > .elementor-item::after,
  .elementor-32 .elementor-nav-menu--main .elementor-item.has-submenu::after {
    content: none !important;
    display: none !important;
    border: none !important;
  }

  /* Usar solo la flecha nativa de Elementor, limpia */
  .elementor-32 .elementor-nav-menu--main .elementor-item .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 4px !important;
    opacity: 0.5 !important;
    vertical-align: middle !important;
  }

  .elementor-32 .elementor-nav-menu--main .elementor-item .sub-arrow i,
  .elementor-32 .elementor-nav-menu--main .elementor-item .sub-arrow svg {
    font-size: 10px !important;
    width: 10px !important;
    height: 10px !important;
  }

  /* Más aire entre ítems */
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(26px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}
/* =========================================================
   v1.9.3 — Menú: logo izq + nav a la derecha (sin hueco raro)
   Causa: columnas vacías + menú en col-25 centrado
   ========================================================= */

@media (min-width: 1025px) {
  /* Quitar columnas vacías que desbalancean el header */
  .elementor-32 .elementor-element.elementor-element-ca6aead,
  .elementor-32 .elementor-element.elementor-element-65f98e02 {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 0 !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6 > .elementor-container {
    max-width: min(1600px, 96vw) !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 88px !important;
    padding: 0 1.25rem !important;
    width: 100% !important;
  }

  /* Logo a la izquierda */
  .elementor-32 .elementor-element.elementor-element-1f8a8f52 {
    width: 240px !important;
    max-width: 240px !important;
    flex: 0 0 240px !important;
  }

  .elementor-32 .elementor-element.elementor-element-69455d95 {
    text-align: left !important;
  }

  .elementor-32 .elementor-element.elementor-element-69455d95 img {
    max-height: 58px !important;
    max-width: 220px !important;
    width: auto !important;
  }

  /* Menú ocupa el resto y se alinea a la DERECHA */
  .elementor-32 .elementor-element.elementor-element-7e8b2a8c {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
  }

  .elementor-32 .elementor-element.elementor-element-7e8b2a8c > .elementor-element-populated {
    padding: 0 !important;
    margin: 0 !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    width: 100% !important;
    text-align: right !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 > .elementor-widget-container {
    margin: 0 !important;
    width: 100% !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main > .elementor-nav-menu {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    margin: 0 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(18px / 2) !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.015em !important;
    padding: 10px 11px !important;
    color: #0a5568 !important;
    white-space: nowrap !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item:hover,
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item.elementor-item-active {
    color: var(--pf-red, #911F30) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: calc(10px / 2) !important;
  }
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 12.25px !important;
    padding: 8px 7px !important;
  }
  .elementor-32 .elementor-element.elementor-element-1f8a8f52 {
    width: 200px !important;
    max-width: 200px !important;
    flex: 0 0 200px !important;
  }
}
/* v1.9.3b — distribuir ítems a lo ancho (no bloque amontonado) */
@media (min-width: 1025px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main > .elementor-nav-menu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 {
    --e-nav-menu-horizontal-menu-item-margin: 0 !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    padding: 10px 6px !important;
    font-size: 13.25px !important;
  }

  /* Espacio logo ↔ menú más natural */
  .elementor-32 .elementor-element.elementor-element-7e8b2a8c {
    padding-left: 1.5rem !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 12px !important;
    padding: 8px 4px !important;
  }
}
/* v1.9.5 — menú plano otra vez (10 ítems, sin submenús) */
@media (min-width: 1025px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu--main > .elementor-nav-menu {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 12.75px !important;
    font-weight: 500 !important;
    padding: 10px 4px !important;
    letter-spacing: 0.01em !important;
  }

  /* sin flechas de submenú (ya no hay padres) */
  .elementor-32 .elementor-nav-menu--main .elementor-item .sub-arrow {
    display: none !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .elementor-32 .elementor-element.elementor-element-5ba08f33 .elementor-nav-menu .elementor-item {
    font-size: 11.5px !important;
    padding: 8px 2px !important;
  }
}
/* =========================================================
   v1.9.6 — Footer compacto + redes hover + header redondeado
   ========================================================= */

/* ---------- HEADER: bordes redondeados al scrollear sobre el banner ---------- */
@media (min-width: 1025px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6 {
    background: #fff !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 6px 20px rgba(14, 102, 126, 0.1) !important;
    overflow: hidden !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6 > .elementor-container {
    border-radius: 0 0 18px 18px !important;
  }
}

@media (max-width: 1024px) {
  .elementor-32 .elementor-element.elementor-element-1adb9551 {
    background: #fff !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 4px 16px rgba(14, 102, 126, 0.1) !important;
    overflow: hidden !important;
  }
}

/* ---------- FOOTER compacto: newsletter + países en UNA fila ---------- */
.elementor-location-footer.elementor-35 {
  overflow: visible !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  padding: 1.5rem 1.25rem 0.5rem !important;
}

.elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container {
  max-width: min(1180px, 96vw) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem 1.5rem !important;
}

/* Newsletter a la izquierda */
.elementor-35 .elementor-element.elementor-element-440674b6,
.elementor-35 .elementor-element.elementor-element-5f75790,
.elementor-35 .elementor-element.elementor-element-7d0cde4f {
  flex: 1 1 380px !important;
  max-width: 520px !important;
  width: auto !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  max-width: 100% !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: stretch !important;
}

/* Países a la derecha, misma fila */
.elementor-35 .elementor-element.elementor-element-5543448f,
.elementor-35 .elementor-element.elementor-element-5cfdffcc,
.elementor-35 .elementor-element.elementor-element-282b1026,
.elementor-35 .elementor-element.elementor-element-2aaf37dc {
  flex: 1 1 420px !important;
  max-width: 560px !important;
  width: auto !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 {
  text-align: left !important;
  margin-bottom: 0.35rem !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
  text-align: left !important;
  font-size: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
  justify-content: flex-start !important;
  gap: 6px 8px !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
  padding: 5px 11px !important;
  font-size: 12.5px !important;
}

/* Si la estructura Elementor apila columnas internas, forzar fila en 943cc5c hijos */
.elementor-35 .elementor-element.elementor-element-943cc5c .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-440674b6 > .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-5543448f > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* ---------- Redes: hover sin ponerse blancas ---------- */
.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  padding: 0.85rem 1.25rem 0.35rem !important;
  margin-top: 0.5rem !important;
  border-top: 1px solid rgba(14, 102, 126, 0.1) !important;
}

.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(1180px, 96vw) !important;
  margin: 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff {
  width: auto !important;
  text-align: right !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 {
  width: auto !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  justify-content: center !important;
  gap: 10px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  width: 40px !important;
  height: 40px !important;
  background: var(--pf-teal, #0e667e) !important;
  border: none !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon svg,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-icon svg path {
  color: #fff !important;
  fill: #fff !important;
}

/* Hover: fondo más oscuro, icono SIGUE blanco (no se pierde) */
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover {
  background: var(--pf-teal-dark, #0a4f61) !important;
  transform: translateY(-2px) !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover .elementor-icon-list-icon,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover svg,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover svg path,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item:hover svg {
  color: #fff !important;
  fill: #fff !important;
}

/* ---------- Copyright: barra a TODO el ancho ---------- */
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-top: 0.85rem !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  position: relative !important;
  left: auto !important;
  transform: none !important;
  background: rgba(14, 102, 126, 0.1) !important;
  border-radius: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-element-populated,
.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  width: 100% !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  text-align: center !important;
  width: 100% !important;
  color: #5c6670 !important;
  font-size: 12px !important;
}

@media (max-width: 900px) {
  .elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container {
    flex-direction: column !important;
    align-items: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026,
  .elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
    justify-content: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f,
  .elementor-35 .elementor-element.elementor-element-2aaf37dc,
  .elementor-35 .elementor-element.elementor-element-282b1026 {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

@media (max-width: 767px) {
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    flex-direction: column !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group,
  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
    flex-direction: column !important;
  }
}
/* v1.9.6b — newsletter + países en la misma fila (secciones hermanas) */
@media (min-width: 901px) {
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-container,
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem 2rem !important;
    max-width: min(1180px, 96vw) !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-943cc5c {
    flex: 1 1 420px !important;
    width: auto !important;
    max-width: 520px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd {
    flex: 1 1 480px !important;
    width: auto !important;
    max-width: 580px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.4rem !important;
    max-width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-5f75790,
  .elementor-35 .elementor-element.elementor-element-5543448f {
    width: 100% !important;
  }

  /* Síguenos debajo a ancho completo */
  .elementor-35 .elementor-element.elementor-element-5a21beb2 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* =========================================================
   v1.9.8 — Footer compacto real + header redondeado visible
   ========================================================= */

/* Header sticky con esquinas redondas (sobre el banner) */
@media (min-width: 1025px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: transparent !important;
    padding: 0 10px !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6 {
    background: #fff !important;
    border-radius: 0 0 20px 20px !important;
    box-shadow: 0 8px 24px rgba(14, 102, 126, 0.12) !important;
    overflow: hidden !important;
    margin: 0 auto !important;
    max-width: min(1600px, calc(100vw - 20px)) !important;
  }
}

@media (max-width: 1024px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    padding: 0 8px !important;
    background: transparent !important;
  }

  .elementor-32 .elementor-element.elementor-element-1adb9551 {
    background: #fff !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 6px 18px rgba(14, 102, 126, 0.12) !important;
    overflow: hidden !important;
  }
}

/* Footer: reset alturas infladas */
.elementor-35 .elementor-element.elementor-element-6616009,
.elementor-35 .elementor-element.elementor-element-943cc5c,
.elementor-35 .elementor-element.elementor-element-1a5d68fd,
.elementor-35 .elementor-element.elementor-element-5a21beb2,
.elementor-35 .elementor-element.elementor-element-7d0cde4f,
.elementor-35 .elementor-element.elementor-element-2aaf37dc,
.elementor-35 .elementor-element.elementor-element-282b1026 {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: center !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  padding: 1.35rem 1rem 0.4rem !important;
}

@media (min-width: 901px) {
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-container,
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: space-between !important;
    gap: 0.75rem 1.5rem !important;
    max-width: min(1180px, 96vw) !important;
    margin: 0 auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-943cc5c {
    flex: 1 1 400px !important;
    width: auto !important;
    max-width: 500px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-943cc5c > .elementor-container {
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
  }

  .elementor-35 .elementor-element.elementor-element-440674b6,
  .elementor-35 .elementor-element.elementor-element-7d0cde4f {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* ocultar títulos inventados del newsletter si quedaron */
  .elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::before,
  .elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::after {
    display: none !important;
    content: none !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group-email {
    flex: 1 1 auto !important;
    width: auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group-submit {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd {
    flex: 1 1 460px !important;
    width: auto !important;
    max-width: 560px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.35rem !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-5f75790,
  .elementor-35 .elementor-element.elementor-element-5543448f {
    width: 100% !important;
    height: auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026 {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc {
    margin: 0 !important;
    height: auto !important;
    flex: none !important;
    max-width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-5a21beb2 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0.35rem !important;
    padding-top: 0.75rem !important;
    height: auto !important;
  }
}

/* Redes hover: icono siempre blanco */
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:focus {
  background: #084854 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a svg,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a svg path,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover i,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover svg,
.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a:hover svg path {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Copyright full-bleed */
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #d9e4e8 !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 .elementor-heading-title {
  text-align: center !important;
  padding: 0.7rem 1rem !important;
  margin: 0 !important;
}
/* v1.9.9 — matar alturas 380/420 forzadas en columnas de países */
.elementor-35 .elementor-element.elementor-element-1a5d68fd,
.elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container,
.elementor-35 .elementor-element.elementor-element-5f75790,
.elementor-35 .elementor-element.elementor-element-5543448f,
.elementor-35 .elementor-element.elementor-element-5f75790 > .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-5543448f > .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-282b1026,
.elementor-35 .elementor-element.elementor-element-2aaf37dc {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}

.elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0.3rem !important;
  width: 100% !important;
}

.elementor-35 .elementor-element.elementor-element-5f75790,
.elementor-35 .elementor-element.elementor-element-5543448f {
  width: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 901px) {
  .elementor-35 .elementor-element.elementor-element-1a5d68fd {
    flex: 1 1 460px !important;
    align-self: center !important;
  }
  .elementor-35 .elementor-element.elementor-element-943cc5c {
    align-self: center !important;
  }
}
/* v1.9.9b — redondeo más visible en el header sticky */
@media (min-width: 1025px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 8px !important;
    z-index: 1000 !important;
    width: min(1600px, calc(100vw - 24px)) !important;
    max-width: min(1600px, calc(100vw - 24px)) !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border-radius: 0 0 22px 22px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(14, 102, 126, 0.14) !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6 {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 1024px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 6px !important;
    z-index: 1000 !important;
    width: calc(100vw - 16px) !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border-radius: 0 0 16px 16px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 22px rgba(14, 102, 126, 0.14) !important;
  }
}
/* =========================================================
   v1.9.11 — Header sólido (no se pierde) + footer BIEN compacto
   ========================================================= */

/* ---------- HEADER: barra fija full-width, siempre visible ---------- */
@media (min-width: 1025px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: 0 2px 0 rgba(14, 102, 126, 0.12), 0 8px 20px rgba(0, 0, 0, 0.06) !important;
  }

  .elementor-32 .elementor-element.elementor-element-91d15e6 {
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    max-width: min(1600px, 96vw) !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 1024px) {
  .elementor-location-header.elementor-32 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 0 rgba(14, 102, 126, 0.12), 0 6px 16px rgba(0, 0, 0, 0.06) !important;
  }

  .elementor-32 .elementor-element.elementor-element-1adb9551 {
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* ---------- FOOTER: compacto de verdad ---------- */
.elementor-location-footer.elementor-35 {
  margin-top: 1.25rem !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  margin: 0 !important;
  padding: 1rem 1rem 0.35rem !important;
}

.elementor-35 .elementor-element.elementor-element-6616009,
.elementor-35 .elementor-element.elementor-element-943cc5c,
.elementor-35 .elementor-element.elementor-element-1a5d68fd,
.elementor-35 .elementor-element.elementor-element-5a21beb2,
.elementor-35 .elementor-element.elementor-element-5f75790,
.elementor-35 .elementor-element.elementor-element-5543448f,
.elementor-35 .elementor-element.elementor-element-440674b6,
.elementor-35 .elementor-element.elementor-element-7d0cde4f,
.elementor-35 .elementor-element.elementor-element-282b1026,
.elementor-35 .elementor-element.elementor-element-2aaf37dc,
.elementor-35 .elementor-element.elementor-element-7040f8ff,
.elementor-35 .elementor-element.elementor-element-6d274b02 {
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (min-width: 901px) {
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-container,
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: space-between !important;
    gap: 0.5rem 1.25rem !important;
    max-width: min(1100px, 94vw) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-943cc5c {
    flex: 1 1 380px !important;
    max-width: 460px !important;
    width: auto !important;
    align-self: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd {
    flex: 1 1 420px !important;
    max-width: 520px !important;
    width: auto !important;
    align-self: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.35rem 0.6rem !important;
    max-width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-5f75790 {
    width: auto !important;
    flex: 0 0 auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-5543448f {
    width: auto !important;
    flex: 1 1 auto !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
    gap: 5px 6px !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
    padding: 4px 9px !important;
    font-size: 12px !important;
  }
}

/* Newsletter sin extras */
.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::before,
.elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container::after {
  display: none !important;
  content: none !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
  padding: 10px 14px !important;
  font-size: 13px !important;
  min-height: 40px !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
  padding: 10px 18px !important;
  min-height: 40px !important;
  font-size: 13px !important;
}

/* Síguenos: pegado, sin huecos enormes */
.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.4rem 0 0 !important;
  padding: 0.55rem 0 0.25rem !important;
  border-top: 1px solid rgba(14, 102, 126, 0.1) !important;
}

.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  max-width: min(1100px, 94vw) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  margin: 0 !important;
  font-size: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  width: 34px !important;
  height: 34px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  gap: 8px !important;
  margin: 0 !important;
}

/* Copyright: full width, pegado, sin hueco grande */
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0.5rem 0 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #d5e0e4 !important;
  min-height: 0 !important;
  height: auto !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-container,
.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-element-populated {
  padding: 0.45rem 1rem !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}

@media (max-width: 900px) {
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-container {
    flex-direction: column !important;
    gap: 0.65rem !important;
  }

  .elementor-35 .elementor-element.elementor-element-943cc5c,
  .elementor-35 .elementor-element.elementor-element-1a5d68fd {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container {
    flex-direction: column !important;
    align-items: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026,
  .elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
    text-align: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
    justify-content: center !important;
  }
}

/* =========================================================
   v1.9.12 — Matar flex-basis 420px (altura fantasma del footer)
   Causa: .elementor-element-5cfdffcc tenía flex:1 1 420px y el
   contenedor de Síguenos está en flex-direction:column → 420px
   de ALTURA vacía. Header sticky más sólido.
   ========================================================= */

/* ---------- HEADER: no perderse al scrollear ---------- */
.elementor-location-header.elementor-32 {
  position: sticky !important;
  top: 0 !important;
  z-index: 10050 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 0 rgba(14, 102, 126, 0.14), 0 6px 18px rgba(0, 0, 0, 0.07) !important;
}

.elementor-32 .elementor-element.elementor-element-91d15e6,
.elementor-32 .elementor-element.elementor-element-1adb9551 {
  background: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ---------- FOOTER: aniquilar la altura 420 ---------- */
.elementor-location-footer.elementor-35 {
  margin-top: 0.75rem !important;
  padding: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-4022a268 {
  margin: 0 !important;
  padding: 0.65rem 1rem 0 !important;
}

/* Reset duro de cualquier flex-basis 380/420 heredado */
.elementor-35 .elementor-element.elementor-element-5cfdffcc,
.elementor-35 .elementor-element.elementor-element-5543448f,
.elementor-35 .elementor-element.elementor-element-282b1026,
.elementor-35 .elementor-element.elementor-element-2aaf37dc,
.elementor-35 .elementor-element.elementor-element-7d0cde4f,
.elementor-35 .elementor-element.elementor-element-943cc5c,
.elementor-35 .elementor-element.elementor-element-1a5d68fd,
.elementor-35 .elementor-element.elementor-element-5a21beb2,
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

/* Contenedor de Síguenos + copyright: columna compacta */
.elementor-35 .elementor-element.elementor-element-5a21beb2 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.35rem 0 0 !important;
  padding: 0.4rem 0 0 !important;
  border-top: 1px solid rgba(14, 102, 126, 0.1) !important;
}

.elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.35rem !important;
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 8px 12px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0.25rem 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff,
.elementor-35 .elementor-element.elementor-element-6d274b02 {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-item a {
  width: 32px !important;
  height: 32px !important;
}

.elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
  gap: 8px !important;
  margin: 0 !important;
}

/* Fila superior newsletter + países: sin crecer en altura */
@media (min-width: 901px) {
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-container,
  .elementor-35 .elementor-element.elementor-element-6616009 > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    justify-content: space-between !important;
    gap: 0.4rem 1rem !important;
    max-width: min(1100px, 94vw) !important;
    margin: 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-943cc5c {
    flex: 1 1 360px !important;
    max-width: 440px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd {
    flex: 1 1 400px !important;
    max-width: 500px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-1a5d68fd > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.3rem 0.5rem !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-5a21beb2 {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

/* Copyright pegado, sin hueco */
.elementor-35 .elementor-element.elementor-element-a0bcb45 {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0.25rem 0 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #d5e0e4 !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
}

.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-widget-wrap,
.elementor-35 .elementor-element.elementor-element-a0bcb45 > .elementor-container {
  padding: 0.4rem 1rem !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  justify-content: center !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  border-top: none !important;
}

.elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

/* Newsletter más bajito */
.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
  padding: 8px 12px !important;
  font-size: 13px !important;
  min-height: 36px !important;
}

.elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"] {
  padding: 8px 16px !important;
  min-height: 36px !important;
  font-size: 13px !important;
}

.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
.elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
  padding: 3px 8px !important;
  font-size: 12px !important;
}

.elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* =========================================================
   v1.9.13 — Chaty: botón flotante visible otra vez
   Causa: la regla que oculta canales cerrados también pillaba
   .chaty-cta-main (el FAB), porque también es .chaty-channel.
   ========================================================= */

/* Canales (WA/IG/FB) ocultos solo cuando el widget está cerrado.
   EXCLUIR el botón principal (.chaty-cta-main). */
.chaty-widget:not(.chaty-open) .chaty-channels .chaty-channel:not(.chaty-cta-main),
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel:not(.chaty-cta-main),
#chaty-widget-0:not(.chaty-open) .chaty-channel-list .chaty-channel:not(.chaty-cta-main),
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel-list .chaty-channel:not(.chaty-cta-main) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.5) !important;
}

/* Anular la regla vieja demasiado amplia (incluye .chaty-cta-main) */
.chaty-widget:not(.chaty-open) .chaty-channel.chaty-cta-main,
#chaty-widget-0:not(.chaty-open) .chaty-channel.chaty-cta-main,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel.chaty-cta-main,
.chaty-i-trigger,
.chaty-i-trigger .chaty-cta-main,
.chaty-i-trigger .chaty-channel.chaty-cta-main,
.chaty-cta-main,
.chaty-cta-button,
.chaty-cta-button .open-chaty,
.chaty-cta-main .chaty-svg {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.chaty-i-trigger {
  display: block !important;
  width: auto !important;
  height: auto !important;
}

.chaty-i-trigger .chaty-cta-main,
.chaty-channel.chaty-cta-main {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 52px !important;
  min-height: 52px !important;
}

.chaty-cta-button .open-chaty,
.chaty-cta-main .chaty-svg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
}

/* Root Chaty siempre visible (Chaty a veces pone display:none inline) */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active,
.chaty-widget.right-position {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 99999 !important;
}

.chaty-widget.right-position {
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  width: auto !important;
  height: auto !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }

  .chaty-cta-button .open-chaty,
  .chaty-cta-main .chaty-svg {
    width: 54px !important;
    height: 54px !important;
  }
}

/* Promo Link sigue oculto */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* =========================================================
   v1.9.14 — Chaty FAB: el CTA vive DENTRO de .chaty-channels
   La regla vieja ocultaba/escalaba TODO .chaty-channels y
   se llevaba el botón flotante. Solo ocultar canales de la lista.
   ========================================================= */

/* Contenedor de canales: NUNCA ocultar ni escalar (contiene el FAB) */
.chaty-widget .chaty-channels,
.chaty-widget:not(.chaty-open) .chaty-channels,
#chaty-widget-0:not(.chaty-open) .chaty-channels,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channels {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
}

/* Solo ocultar ítems de la lista (WhatsApp/IG/FB) cuando está cerrado */
.chaty-widget:not(.chaty-open) .chaty-channel-list,
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel,
#chaty-widget-0:not(.chaty-open) .chaty-channel-list,
#chaty-widget-0:not(.chaty-open) .chaty-channel-list .chaty-channel,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel-list,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel-list .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.5) !important;
}

/* Anular cualquier regla vieja sobre .chaty-channel que pille el CTA */
.chaty-widget:not(.chaty-open) .chaty-i-trigger,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-channel,
.chaty-widget:not(.chaty-open) .chaty-channel.chaty-cta-main,
#chaty-widget-0:not(.chaty-open) .chaty-i-trigger,
#chaty-widget-0:not(.chaty-open) .chaty-i-trigger .chaty-channel,
#chaty-widget-0:not(.chaty-open) .chaty-channel.chaty-cta-main {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* FAB principal: tamaño usable en móvil y desktop */
.chaty-i-trigger {
  display: block !important;
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2 !important;
}

.chaty-i-trigger .chaty-cta-main,
.chaty-channel.chaty-cta-main,
.chaty-cta-button,
.chaty-cta-button .open-chaty {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.chaty-i-trigger .chaty-svg,
.chaty-cta-main .chaty-svg,
.chaty-cta-main .chaty-svg svg,
.chaty-i-trigger .chaty-svg svg {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Posición fija del widget */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.chaty-widget.right-position {
  display: block !important;
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  width: auto !important;
  height: auto !important;
  z-index: 99999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }
}

/* Promo Link sigue oculto */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* =========================================================
   v1.9.16 — Chaty FAB limpio (sin círculos apilados / eco)
   Causa: reglas v1.9.13–14 forzaban 56px+fondo en .chaty-cta-button,
   .open-chaty, .chaty-svg Y también en .chaty-cta-close → varios
   círculos azules solapados + la X visible a la vez.
   ========================================================= */

/* Contenedor: visible, sin escalar */
.chaty-widget .chaty-channels,
.chaty-widget:not(.chaty-open) .chaty-channels,
#chaty-widget-0:not(.chaty-open) .chaty-channels,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channels {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Canales WA/IG/FB ocultos cuando está cerrado */
.chaty-widget:not(.chaty-open) .chaty-channel-list,
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel,
#chaty-widget-0:not(.chaty-open) .chaty-channel-list,
#chaty-widget-0:not(.chaty-open) .chaty-channel-list .chaty-channel,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel-list,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-channel-list .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.5) !important;
}

/* Cerrado: SOLO el FAB principal; ocultar el botón X */
.chaty-widget:not(.chaty-open) .chaty-cta-close,
#chaty-widget-0:not(.chaty-open) .chaty-cta-close,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-cta-close,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close,
.chaty-widget:not(.chaty-open) .chaty-cta-close .chaty-cta-button,
.chaty-widget:not(.chaty-open) .chaty-cta-close button,
.chaty-widget:not(.chaty-open) .chaty-cta-close .chaty-svg {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0) !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Trigger: caja limpia sin fondo propio */
.chaty-i-trigger {
  display: block !important;
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2 !important;
}

/* FAB principal visible */
.chaty-i-trigger .chaty-cta-main,
.chaty-channel.chaty-cta-main {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* UN solo círculo azul: el botón open-chaty */
.chaty-cta-main > .chaty-cta-button {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.chaty-cta-main .open-chaty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Icono SVG: sin segundo círculo de fondo */
.chaty-cta-main .chaty-svg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.chaty-cta-main .chaty-svg svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  background: transparent !important;
}

/* Abierto: mostrar X, ocultar icono de chat del main si Chaty lo hace */
.chaty-widget.chaty-open .chaty-cta-close,
.chaty-open .chaty-cta-close {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  width: 56px !important;
  height: 56px !important;
}

.chaty-widget.chaty-open .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-cta-close button {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.chaty-widget.chaty-open .chaty-cta-close .chaty-svg {
  width: 24px !important;
  height: 24px !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Posición fija del widget */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.chaty-widget.right-position {
  display: block !important;
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  width: auto !important;
  height: auto !important;
  z-index: 99999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }
}

/* Promo Link sigue oculto */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* Anular fondos circulares viejos de v1.6 en el svg del CTA */
.chaty-i-trigger .chaty-cta-main .chaty-svg,
.chaty-channel.chaty-cta-main .chaty-svg {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   v1.9.17 — Chaty: FAB limpio + canales al abrir
   - Un solo círculo cerrado (sin X ni ecos)
   - Canales visibles al abrir (.chaty-widget.chaty-open)
   - No usar #chaty-widget-0:not(.chaty-open) (ese nodo no
     recibe .chaty-open; dejaba canales siempre ocultos)
   ========================================================= */

/* Contenedor siempre usable */
.chaty-widget .chaty-channels {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Cerrado: ocultar lista de canales (WA/IG/FB) */
.chaty-widget:not(.chaty-open) .chaty-channel-list,
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.5) !important;
}

/* Abierto: mostrar canales */
.chaty-widget.chaty-open .chaty-channel-list,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* Cerrado: ocultar botón X por completo */
.chaty-widget:not(.chaty-open) .chaty-cta-close,
.chaty-widget:not(.chaty-open) .chaty-cta-close * {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  transform: scale(0) !important;
}

/* Abierto: mostrar X limpia */
.chaty-widget.chaty-open .chaty-cta-close {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
}

.chaty-widget.chaty-open .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-cta-close button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border-radius: 50% !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  border: none !important;
  padding: 0 !important;
}

.chaty-widget.chaty-open .chaty-cta-close .chaty-svg,
.chaty-widget.chaty-open .chaty-cta-close .chaty-svg svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Trigger / FAB principal */
.chaty-i-trigger {
  display: block !important;
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2 !important;
}

.chaty-i-trigger .chaty-cta-main,
.chaty-channel.chaty-cta-main {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.chaty-cta-main > .chaty-cta-button {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* UN solo círculo azul */
.chaty-cta-main .open-chaty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.chaty-cta-main .chaty-svg,
.chaty-cta-main .chaty-svg svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Anular reglas viejas demasiado amplias (v1.9.13–14) sobre close/svg */
.chaty-widget:not(.chaty-open) .chaty-cta-close,
#chaty-widget-0 .chaty-cta-close:not(.active) {
  /* fallback extra */
}

/* Posición */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.chaty-widget.right-position {
  display: block !important;
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  width: auto !important;
  height: auto !important;
  z-index: 99999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }
}

/* Promo oculto siempre */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* Neutralizar fondos circulares viejos en svg del CTA */
.chaty-i-trigger .chaty-cta-main .chaty-svg,
.chaty-channel.chaty-cta-main .chaty-svg {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Anular hide por #chaty-widget-0:not(.chaty-open) de versiones previas */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-channel-list,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-channel-list .chaty-channel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* =========================================================
   v1.9.18 — Chaty: restaurar toggle limpio (sin ecos)
   El root #chaty-widget-0 NUNCA tiene .chaty-open; reglas
   previas con #chaty-widget-0:not(.chaty-open) dejaban la X
   en width:0 siempre y pintaban varios círculos.
   ========================================================= */

/* Anular hide tóxico por root id (siempre :not(.chaty-open)) */
#chaty-widget-0:not(.chaty-open) .chaty-cta-close,
#chaty-widget-0:not(.chaty-open) .chaty-cta-close *,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-cta-close,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-cta-close * {
  /* no-op override: dejar que mande .chaty-widget(:not|.chaty-open) */
  width: unset;
}

/* Contenedor */
.chaty-widget .chaty-channels {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Canales solo con widget abierto */
.chaty-widget:not(.chaty-open) .chaty-channel-list,
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.5) !important;
}

#chaty-widget-0 .chaty-widget.chaty-open .chaty-channel-list,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-channel-list .chaty-channel,
.chaty-widget.chaty-open .chaty-channel-list,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* —— CERRADO: un solo FAB, sin X —— */
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close button,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close .chaty-svg {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-main,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-main .chaty-cta-button,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-main .open-chaty {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* —— ABIERTO: X visible, FAB chat oculto (como Chaty nativo) —— */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  overflow: visible !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close *,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  overflow: visible !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  transform: none !important;
}

.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Al abrir, ocultar el botón de chat (evita doble círculo) */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .chaty-cta-button,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .open-chaty,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .open-chaty {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* —— Estilo del FAB cerrado: UN círculo —— */
.chaty-i-trigger {
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.chaty-cta-main {
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.chaty-cta-main > .chaty-cta-button {
  width: 56px !important;
  height: 56px !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.chaty-cta-main .open-chaty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
}

.chaty-cta-main .chaty-svg,
.chaty-cta-main .chaty-svg svg {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Posición */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.chaty-widget.right-position {
  display: block !important;
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  z-index: 99999 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }
}

.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* =========================================================
   v1.9.19 — Chaty: FAB limpio + dejar el open a Chaty nativo
   ========================================================= */

/* 1) Matar reglas tóxicas por #chaty-widget-0:not(.chaty-open)
      (ese nodo NUNCA recibe .chaty-open) */
#chaty-widget-0:not(.chaty-open) .chaty-cta-close,
#chaty-widget-0:not(.chaty-open) .chaty-cta-close *,
#chaty-widget-0:not(.chaty-open) .chaty-channel-list,
#chaty-widget-0:not(.chaty-open) .chaty-channel-list .chaty-channel,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-cta-close,
.chaty[id^="chaty-widget-"]:not(.chaty-open) .chaty-cta-close * {
  width: revert !important;
  height: revert !important;
  min-width: revert !important;
  min-height: revert !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  transform: revert !important;
}

/* 2) Contenedor visible (sin scale del bloque entero) */
.chaty-widget .chaty-channels {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
}

/* 3) Cerrado: canales ocultos SIN tocar transform (Chaty posiciona con él) */
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 4) Cerrado: X invisible (solo opacity, sin width:0) */
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close .chaty-cta-button {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 5) FAB cerrado: UN círculo azul limpio */
.chaty-i-trigger {
  background: transparent !important;
  box-shadow: none !important;
}

.chaty-cta-main {
  background: transparent !important;
  box-shadow: none !important;
}

.chaty-cta-main > .chaty-cta-button {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 50% !important;
}

.chaty-widget:not(.chaty-open) .chaty-cta-main .open-chaty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.45) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.chaty-widget:not(.chaty-open) .chaty-cta-main .chaty-svg,
.chaty-widget:not(.chaty-open) .chaty-cta-main .chaty-svg svg {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 6) Abierto: devolver control a Chaty (revert nuestros !important) */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close *,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg svg {
  width: revert !important;
  height: revert !important;
  min-width: revert !important;
  min-height: revert !important;
  background: revert !important;
  box-shadow: revert !important;
  border-radius: revert !important;
  overflow: visible !important;
  transform: revert !important;
  opacity: revert !important;
  visibility: revert !important;
  pointer-events: revert !important;
  display: revert !important;
}

/* Abierto: ocultar FAB de chat (Chaty lo hace; reforzamos por si v1.9.x fuerza opacity:1) */
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .open-chaty {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Abierto: canales visibles sin romper posición */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-channel-list .chaty-channel,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Posición widget */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.chaty-widget.right-position {
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  z-index: 99999 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }
}

/* Promo nunca */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* =========================================================
   v1.9.20 — Chaty: restaurar medidas nativas + FAB limpio
   ========================================================= */

/* FAB cerrado: un solo círculo */
.chaty-i-trigger,
.chaty-cta-main,
.chaty-cta-main > .chaty-cta-button {
  background: transparent !important;
  box-shadow: none !important;
}

.chaty-widget:not(.chaty-open) .chaty-cta-main .open-chaty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #1e88e5 !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.45) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.chaty-widget:not(.chaty-open) .chaty-cta-main .chaty-svg,
.chaty-widget:not(.chaty-open) .chaty-cta-main .chaty-svg svg {
  width: 34px !important;
  height: 34px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Cerrado: X invisible (sin width:0) */
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close,
.chaty-widget:not(.chaty-open) .chaty-i-trigger .chaty-cta-close .chaty-cta-button {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Cerrado: canales invisibles (sin scale / sin width 0) */
.chaty-widget:not(.chaty-open) .chaty-channel-list .chaty-channel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Contenedor channels OK */
.chaty-widget .chaty-channels {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
}

/* RESTAURAR channel-list (reglas viejas lo dejaban en 0x0) */
#chaty-widget-0 .chaty-channel-list,
.chaty-widget .chaty-channel-list {
  display: flex !important;
  position: absolute !important;
  width: 62px !important;
  height: 124px !important;
  min-width: 62px !important;
  min-height: 124px !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  bottom: -4px !important;
  right: 0 !important;
  flex-direction: column !important;
  pointer-events: none !important;
}

#chaty-widget-0 .chaty-widget.right-position.hor-mode .chaty-channel-list,
.chaty-widget.right-position.hor-mode .chaty-channel-list {
  width: 200px !important;
  height: 62px !important;
  min-width: 200px !important;
  min-height: 62px !important;
  right: 0 !important;
  left: auto !important;
  bottom: 0 !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

.chaty-widget.chaty-open .chaty-channel-list {
  pointer-events: auto !important;
}

/* Canales abiertos: visibles y en fila (hor-mode) */
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  transform: none !important;
  display: inline-block !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  flex: 0 0 54px !important;
}

/* Abierto: X restaurada (SVG nativo trae el círculo) */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 1100 !important;
}

#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  transform: none !important;
}

#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg svg,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg svg {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Abierto: ocultar icono chat para no duplicar con la X */
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-main .open-chaty {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Posición */
#chaty-widget-0.chaty,
.chaty[id^="chaty-widget-"].active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.chaty-widget.right-position {
  position: fixed !important;
  bottom: 18px !important;
  right: 14px !important;
  z-index: 99999 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .chaty-widget.right-position {
    bottom: 16px !important;
    right: 12px !important;
  }
}

.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"],
.chaty-channel[data-channel="Link"] {
  display: none !important;
}

/* =========================================================
   v1.9.21 — Chaty: WhatsApp visible (ya no debajo de la X)
   ========================================================= */

/* Lista de canales a la IZQUIERDA del FAB/X, no debajo */
#chaty-widget-0 .chaty-widget.right-position.hor-mode .chaty-channel-list,
.chaty-widget.right-position.hor-mode .chaty-channel-list,
.chaty-widget.chaty-open.right-position.hor-mode .chaty-channel-list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  position: absolute !important;
  right: 66px !important; /* deja libre el círculo X (56px) */
  left: auto !important;
  bottom: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

/* Cada canal: círculo completo con icono */
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  flex: 0 0 54px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  overflow: visible !important;
}

.chaty-widget.chaty-open .chaty-channel-list .chaty-channel a,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel .chaty-icon,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel .chaty-svg,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel .chaty-svg svg,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel img {
  display: block !important;
  width: 54px !important;
  height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-radius: 50% !important;
  object-fit: contain !important;
}

/* WhatsApp: forzar verde visible */
.chaty-widget.chaty-open .Whatsapp-channel,
.chaty-widget.chaty-open .chaty-channel[data-channel="Whatsapp"] {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1105 !important;
}

.chaty-widget.chaty-open .Whatsapp-channel .chaty-svg svg,
.chaty-widget.chaty-open .Whatsapp-channel .color-element {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Facebook (canal tipo Link): sí mostrar; no es la promo Custom_Link */
.chaty-widget.chaty-open .chaty-channel-list .Link-channel,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel[data-channel="Link"] {
  display: inline-flex !important;
}

/* Promo custom sigue oculta */
.chaty-channel.Custom_Link-channel,
.chaty-channel[data-channel="Custom_Link"] {
  display: none !important;
}

/* X de cerrar: solo el FAB, sin tapar canales */
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close {
  z-index: 1100 !important;
}

/* Sin sombras fantasma / ecos blancos detrás */
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel a,
.chaty-widget.chaty-open .chaty-channel-list .chaty-icon {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.22) !important;
}

.chaty-widget.chaty-open .chaty-channel-list .chaty-channel::before,
.chaty-widget.chaty-open .chaty-channel-list .chaty-channel::after,
.chaty-widget.chaty-open .chaty-animation-shockwave::before,
.chaty-widget.chaty-open .chaty-animation-shockwave::after {
  display: none !important;
  content: none !important;
}

/* =========================================================
   v1.9.22 — Chaty: X de cerrar visible + tooltip Ocultar solo hover
   ========================================================= */

/* Tooltip "Ocultar" solo al hover, no siempre */
.chaty-cta-close .on-hover-text,
.chaty-cta-close.chaty-tooltip:after,
.chaty-cta-close.chaty-tooltip:before {
  display: none !important;
  opacity: 0 !important;
}

.chaty-cta-close.chaty-tooltip:hover .on-hover-text,
.chaty-cta-close.chaty-tooltip:hover:after,
.chaty-cta-close.chaty-tooltip:hover:before {
  display: block !important;
  opacity: 1 !important;
}

/* X: el SVG nativo ya trae círculo azul + cruz blanca */
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg,
#chaty-widget-0 .chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg svg,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg svg {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  overflow: visible !important;
}

.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-cta-button,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button {
  background: transparent !important;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.4) !important;
}

.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close svg ellipse,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close svg rect {
  opacity: 1 !important;
  visibility: visible !important;
}

/* v1.9.22b — X de cerrar por CSS si el SVG no pinta la cruz */
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button {
  position: relative !important;
  background: #1e88e5 !important;
  border-radius: 50% !important;
}
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button::before,
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 22px !important;
  height: 2.5px !important;
  background: #fff !important;
  border-radius: 2px !important;
  z-index: 2 !important;
}
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close button::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
.chaty-widget.chaty-open .chaty-i-trigger .chaty-cta-close .chaty-svg {
  opacity: 0 !important; /* evita doble X; usamos pseudo */
}
.chaty-cta-close[data-hover]::after,
.chaty-cta-close.chaty-tooltip::after,
.chaty-cta-close.chaty-tooltip::before,
.chaty-i-trigger .chaty-cta-close.chaty-tooltip::after,
.chaty-i-trigger .chaty-cta-close.chaty-tooltip::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* =========================================================
   v1.10.5 — Safari menú móvil + footer móvil usable
   ========================================================= */

/* Safari: el sticky/transform rompe position:fixed del dropdown */
@media (max-width: 1024px) {
  .elementor-32 .elementor-element-1adb9551,
  .elementor-32 .elementor-element-1adb9551 > .elementor-container,
  .elementor-32 .elementor-element-2ec14e9f,
  .elementor-32 .elementor-element-32b38fd8,
  .elementor-32 .elementor-element-32b38fd8 .elementor-widget-container,
  .elementor-32 .elementor-nav-menu--dropdown {
    overflow: visible !important;
    -webkit-transform: none !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
  }

  .elementor-32 .elementor-element-1adb9551 {
    position: relative !important;
    z-index: 10080 !important;
    background: #fff !important;
  }

  /* Hamburguesa: área táctil clara (Safari) */
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 1px solid rgba(14, 102, 126, 0.28) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0e667e !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    z-index: 10090 !important;
    position: relative !important;
  }

  /* Iconos: tamaño/color; visibilidad la controla v1.10.8 (open XOR close) */
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle i,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle svg {
    width: 22px !important;
    height: 22px !important;
    color: #0e667e !important;
    fill: #0e667e !important;
    pointer-events: none !important;
  }

  /* Ocultar toggles fantasma 0×0 (rompen Safari) */
  .elementor-32 .elementor-menu-toggle[style*="display: none"],
  .elementor-32 .elementor-element-91d15e6 .elementor-menu-toggle,
  .elementor-32 .elementor-nav-menu--main .elementor-menu-toggle {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Dropdown: absolute bajo el header (no fixed) */
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
  body.pf-menu-open .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    inset: auto 0 auto 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: min(80vh, calc(100dvh - 72px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(14, 102, 126, 0.16) !important;
    z-index: 10095 !important;
    -webkit-transform: none !important;
    transform: none !important;
  }

  body.pf-menu-open,
  html.pf-menu-open {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* Fallback sin :has() — usar clase .pf-menu-open del JS */
  body.pf-menu-open .elementor-location-header ~ *,
  body.pf-menu-open #content,
  body.pf-menu-open .site-main,
  body.pf-menu-open .elementor-43,
  body.pf-menu-open .pf-ideal-shell {
    visibility: hidden !important;
  }
  body.pf-menu-open .elementor-location-header,
  body.pf-menu-open .elementor-32,
  body.pf-menu-open .elementor-nav-menu--dropdown {
    visibility: visible !important;
  }
}

/* ---------- Footer móvil: form + países + síguenos ---------- */
@media (max-width: 767px) {
  .elementor-location-footer.elementor-35 {
    padding-bottom: 72px !important; /* espacio Chaty */
  }

  .elementor-35 .elementor-element.elementor-element-4022a268 {
    padding: 1.25rem 1rem 0.75rem !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f,
  .elementor-35 .elementor-element.elementor-element-7d0cde4f > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-field-group .elementor-field,
  .elementor-35 .elementor-element.elementor-element-7d0cde4f input[type="email"],
  .elementor-35 .elementor-element.elementor-element-7d0cde4f input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    font-size: 16px !important; /* evita zoom iOS */
    line-height: 1.35 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    text-overflow: clip !important;
  }

  .elementor-35 .elementor-element.elementor-element-7d0cde4f .elementor-button[type="submit"],
  .elementor-35 .elementor-element.elementor-element-7d0cde4f button[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    justify-content: center !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026,
  .elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
    text-align: center !important;
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-282b1026 .elementor-heading-title {
    font-size: 15px !important;
    margin: 1rem 0 0.65rem !important;
  }

  .elementor-35 .elementor-element.elementor-element-5cfdffcc,
  .elementor-35 .elementor-element.elementor-element-5cfdffcc > .elementor-widget-wrap,
  .elementor-35 .elementor-element.elementor-element-5543448f,
  .elementor-35 .elementor-element.elementor-element-5f75790 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc,
  .elementor-35 .elementor-element.elementor-element-2aaf37dc > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item {
    display: flex !important;
    flex: 0 0 calc(50% - 8px) !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    margin: 0 !important;
    float: none !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-item > a,
  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    border-radius: 999px !important;
    background: #eef4f6 !important;
    color: #0e667e !important;
    box-shadow: 0 1px 2px rgba(14, 102, 126, 0.08) !important;
    white-space: nowrap !important;
  }

  .elementor-35 .elementor-element.elementor-element-2aaf37dc .elementor-icon-list-icon {
    display: none !important;
  }

  .elementor-35 .elementor-element.elementor-element-5a21beb2,
  .elementor-35 .elementor-element.elementor-element-7040f8ff,
  .elementor-35 .elementor-element.elementor-element-6d274b02 {
    text-align: center !important;
    width: 100% !important;
  }

  .elementor-35 .elementor-element.elementor-element-5a21beb2 > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .elementor-35 .elementor-element.elementor-element-7040f8ff .elementor-heading-title {
    margin: 0.75rem 0 0 !important;
    font-size: 15px !important;
  }

  .elementor-35 .elementor-element.elementor-element-6d274b02 .elementor-icon-list-items {
    justify-content: center !important;
    gap: 14px !important;
  }

  .elementor-35 .elementor-element.elementor-element-3f699c44 {
    padding: 0.85rem 1rem 1.25rem !important;
  }

  .elementor-35 .elementor-element.elementor-element-3f699c44 .elementor-heading-title {
    text-align: center !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   v1.10.6 — Footer móvil: anular flex 380/420 y widths Elementor
   ========================================================= */
@media (max-width: 767px) {
  .elementor-35 .elementor-element-440674b6,
  .elementor-35 .elementor-element-7d0cde4f,
  .elementor-35 .elementor-element-5cfdffcc,
  .elementor-35 .elementor-element-943cc5c,
  .elementor-35 .elementor-element-1a5d68fd,
  .elementor-35 .elementor-element-5a21beb2,
  .elementor-35 .elementor-element-282b1026,
  .elementor-35 .elementor-element-2aaf37dc {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
  }

  .elementor-35 .elementor-element-943cc5c > .elementor-container,
  .elementor-35 .elementor-element-5cfdffcc > .elementor-container,
  .elementor-35 .elementor-element-6616009 > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-35 .elementor-element-440674b6 > .elementor-widget-wrap,
  .elementor-35 .elementor-element-7d0cde4f,
  .elementor-35 .elementor-element-7d0cde4f > .elementor-widget-container,
  .elementor-35 .elementor-form {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Elementor pone width 60/20 en grupos del form */
  .elementor-35 .elementor-element-7d0cde4f .elementor-form-fields-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .elementor-35 .elementor-element-7d0cde4f .elementor-field-group,
  .elementor-35 .elementor-element-7d0cde4f .elementor-field-group-email,
  .elementor-35 .elementor-element-7d0cde4f .elementor-field-group-submit,
  .elementor-35 .elementor-element-7d0cde4f [class*="elementor-field-group-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  .elementor-35 .elementor-element-7d0cde4f .elementor-field-textual,
  .elementor-35 .elementor-element-7d0cde4f input.elementor-field,
  .elementor-35 .elementor-element-7d0cde4f input[type="email"],
  .elementor-35 .elementor-element-7d0cde4f input[type="text"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  .elementor-35 .elementor-element-7d0cde4f .elementor-button[type="submit"],
  .elementor-35 .elementor-element-7d0cde4f button[type="submit"],
  .elementor-35 .elementor-element-7d0cde4f .elementor-field-type-submit {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-35 .elementor-element-7d0cde4f .elementor-button[type="submit"] {
    min-height: 48px !important;
    border-radius: 12px !important;
  }
}

/* =========================================================
   v1.10.6b — Pastillas países sin bordes triples + WPForms PE
   ========================================================= */
@media (max-width: 767px) {
  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-item > a,
  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-text,
  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-item > a .elementor-icon-list-text {
    border: none !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(14, 102, 126, 0.12) !important;
    background: #e8f1f4 !important;
    -webkit-appearance: none !important;
  }

  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-item > a::before,
  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-item > a::after,
  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-text::before,
  .elementor-35 .elementor-element-2aaf37dc .elementor-icon-list-text::after {
    content: none !important;
    display: none !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* WPForms (PE) */
  .elementor-35 .wpforms-field,
  .elementor-35 .wpforms-field-container,
  .elementor-35 .wpforms-field-email,
  .elementor-35 .wpforms-submit-container,
  .elementor-35 .wpforms-container input[type="email"],
  .elementor-35 .wpforms-container input[type="text"],
  .elementor-35 .wpforms-submit {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-35 .wpforms-container input[type="email"],
  .elementor-35 .wpforms-container input[type="text"] {
    min-height: 48px !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
  }

  .elementor-35 .wpforms-submit {
    min-height: 48px !important;
    border-radius: 12px !important;
    background: #0e667e !important;
    color: #fff !important;
  }

  /* Menos aire vacío en footer */
  .elementor-35 .elementor-element-4022a268 {
    padding: 1rem 1rem 0.5rem !important;
  }
  .elementor-35 .elementor-element-1a5d68fd {
    margin: 0.35rem 0 !important;
    padding: 0 !important;
  }
}

/* =========================================================
   v1.10.8 — Fix hamburguesa: no mostrar X y ≡ a la vez
   ========================================================= */
@media (max-width: 1024px) {
  /* Anular el display:block !important que forzaba ambos iconos */
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle .elementor-menu-toggle__icon--open,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle .eicon-menu-bar,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle > svg:first-child,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle .elementor-menu-toggle__icon--open svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    color: #0e667e !important;
    fill: #0e667e !important;
    pointer-events: none !important;
  }

  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle .elementor-menu-toggle__icon--close,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle .eicon-close,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle > svg:last-child:not(:only-child),
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle .elementor-menu-toggle__icon--close svg {
    display: none !important;
  }

  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active .eicon-menu-bar,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active > svg:first-child:not(:only-child),
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open svg {
    display: none !important;
  }

  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active .eicon-close,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active > svg:last-child,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    color: #0e667e !important;
    fill: #0e667e !important;
    pointer-events: none !important;
  }

  /* Dropdown fijo y siempre encima al abrir (Safari + Android) */
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
  body.pf-menu-open .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    z-index: 2147483000 !important;
    background: #fff !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
  }

  body.pf-menu-open .elementor-location-header,
  body.pf-menu-open .elementor-32,
  body.pf-menu-open .elementor-element-32b38fd8,
  body.pf-menu-open .elementor-nav-menu--dropdown,
  body.pf-menu-open .elementor-menu-toggle {
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* =========================================================
   v1.10.9 — Safari menú blanco + Tienda Online móvil
   ========================================================= */
@media (max-width: 1024px) {
  /* Quitar visibility:hidden (WebKit deja el panel blanco sin texto) */
  body.pf-menu-open .elementor-location-header ~ *,
  body.pf-menu-open #content,
  body.pf-menu-open .site-main,
  body.pf-menu-open .elementor-43,
  body.pf-menu-open .entry-content,
  body.pf-menu-open .pf-ideal-shell,
  body.pf-menu-open .elementor-location-footer,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .elementor-location-header ~ *,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) #content,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .site-main,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .elementor-43,
  body:has(.elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active) .pf-ideal-shell {
    visibility: visible !important;
  }

  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element-32b38fd8 .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
  body.pf-menu-open .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 32px !important;
    background: #ffffff !important;
    z-index: 2147483000 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
    -webkit-transform: none !important;
    filter: none !important;
  }

  body.pf-menu-open .elementor-nav-menu--dropdown,
  body.pf-menu-open .elementor-nav-menu--dropdown .elementor-nav-menu,
  body.pf-menu-open .elementor-nav-menu--dropdown .menu-item,
  body.pf-menu-open .elementor-nav-menu--dropdown a,
  body.pf-menu-open .elementor-nav-menu--dropdown a.elementor-item,
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown,
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown .elementor-nav-menu,
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown .menu-item,
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown a,
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown a.elementor-item {
    visibility: visible !important;
    opacity: 1 !important;
    color: #0e667e !important;
    -webkit-text-fill-color: #0e667e !important;
    background: transparent !important;
  }

  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown a,
  .elementor-32 .elementor-element-32b38fd8 .elementor-nav-menu--dropdown a.elementor-item {
    display: block !important;
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(14, 102, 126, 0.14) !important;
    background: #ffffff !important;
  }

  /* Destacar Tienda Online en el desplegable */
  .elementor-32 .elementor-nav-menu--dropdown a[href*="tienda"],
  .elementor-32 .elementor-nav-menu--dropdown a[href*="Tienda"],
  .elementor-32 .elementor-nav-menu--dropdown a[href*="perfumesfactorytiendaonline"],
  .elementor-32 .elementor-nav-menu--dropdown a[href*="tiendaperu.perfumesfactory"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #0e667e !important;
    margin: 10px 16px !important;
    width: calc(100% - 32px) !important;
    border-radius: 10px !important;
    border-bottom: none !important;
    text-align: center !important;
  }

  /* Botón imagen Tienda en header móvil */
  .pf-tienda-mobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 6px auto 0 !important;
    max-width: 140px !important;
  }
  .pf-tienda-mobile img {
    display: block !important;
    width: auto !important;
    max-width: 140px !important;
    max-height: 36px !important;
    height: auto !important;
  }

  .elementor-32 .elementor-element-1adb9551 .elementor-element-2ec14e9f .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
  }
}

/* =========================================================
   v1.10.10 — Header móvil: Tienda en pastilla (misma fila)
   ========================================================= */
@media (max-width: 1024px) {
  .elementor-32 .elementor-element-1adb9551 > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 64px !important;
    padding: 8px 10px !important;
  }

  .elementor-32 .elementor-element-1adb9551 .elementor-element-2e422af5 {
    width: auto !important;
    flex: 0 0 auto !important;
    order: 1 !important;
  }

  .elementor-32 .elementor-element-1adb9551 .elementor-element-2ec14e9f {
    width: auto !important;
    flex: 1 1 auto !important;
    order: 2 !important;
    min-width: 0 !important;
  }

  .elementor-32 .elementor-element-1adb9551 .elementor-element-2ec14e9f .elementor-widget-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-32 .elementor-element-1adb9551 .elementor-element-52308c00 img {
    max-height: 42px !important;
    max-width: min(180px, 46vw) !important;
    width: auto !important;
    margin: 0 auto !important;
  }

  /* Pastilla Tienda a la derecha — no imagen roja debajo del logo */
  a.pf-tienda-mobile {
    order: 3 !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    min-height: 36px !important;
    border-radius: 999px !important;
    background: #0e667e !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(14, 102, 126, 0.22) !important;
    white-space: nowrap !important;
  }

  a.pf-tienda-mobile:active {
    transform: scale(0.97);
  }

  .pf-tienda-mobile__icon {
    width: 15px !important;
    height: 15px !important;
    display: block !important;
    flex: 0 0 15px !important;
  }

  .pf-tienda-mobile__label {
    display: inline !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  .pf-tienda-mobile img {
    display: none !important;
  }

  /* En pantallas muy estrechas: solo icono del carrito */
  @media (max-width: 360px) {
    .pf-tienda-mobile__label { display: none !important; }
    a.pf-tienda-mobile {
      padding: 8px !important;
      width: 36px !important;
      height: 36px !important;
      border-radius: 50% !important;
    }
  }
}

/* =========================================================
   v1.10.11 — Safari: menú por encima del banner (portal body)
   ========================================================= */
@media (max-width: 1024px) {
  /* El header sticky no debe recortar el desplegable */
  body.pf-menu-open .elementor-location-header,
  body.pf-menu-open .elementor-32,
  body.pf-menu-open .elementor-element-1adb9551,
  body.pf-menu-open .elementor-element-1adb9551 > .elementor-container,
  body.pf-menu-open .elementor-element-32b38fd8,
  body.pf-menu-open .elementor-element-32b38fd8 .elementor-widget-container {
    overflow: visible !important;
    -webkit-transform: none !important;
    transform: none !important;
    filter: none !important;
    clip: auto !important;
    clip-path: none !important;
  }

  body.pf-menu-open .elementor-location-header,
  body.pf-menu-open .elementor-32,
  body.pf-menu-open .elementor-element-1adb9551 {
    z-index: 2147483000 !important;
    position: relative !important; /* evita sticky containing block en WebKit */
  }

  /* Panel portal (hijo directo de body) */
  body > .pf-menu-panel.elementor-nav-menu--dropdown,
  body.pf-menu-open > .elementor-nav-menu--dropdown,
  .pf-menu-panel.elementor-nav-menu--dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 0 40px !important;
    background: #ffffff !important;
    z-index: 2147483646 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    -webkit-transform: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .pf-menu-panel .elementor-nav-menu,
  .pf-menu-panel .menu-item,
  .pf-menu-panel a,
  .pf-menu-panel a.elementor-item,
  body > .elementor-nav-menu--dropdown .elementor-nav-menu,
  body > .elementor-nav-menu--dropdown .menu-item,
  body > .elementor-nav-menu--dropdown a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #0e667e !important;
    -webkit-text-fill-color: #0e667e !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .pf-menu-panel a,
  .pf-menu-panel a.elementor-item,
  body > .elementor-nav-menu--dropdown a,
  body > .elementor-nav-menu--dropdown a.elementor-item {
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(14, 102, 126, 0.14) !important;
  }

  /* Banner / swiper debajo del menú */
  body.pf-menu-open .elementor-43,
  body.pf-menu-open .elementor-location-header ~ *,
  body.pf-menu-open .swiper,
  body.pf-menu-open .elementor-widget-image-carousel {
    z-index: 0 !important;
    position: relative !important;
  }
}
