#site-header {
    position: fixed;
    width: 100%;
    z-index: 99;
    background-color: #fff;
    transition: padding 0.3s ease, box-shadow 0.3s ease;
}
#site-header.scrolled {
    padding: 8px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
#site-header.scrolled .custom-logo {
    max-width: 100px;
    transition: max-width 0.3s ease;
}
.custom-logo {
    max-width: 140px;
    transition: max-width 0.3s ease;
}
/* Footer nav - más pequeño y color azul */
.footer-inner {
    max-width: 100%!important;
}
.site-footer .footer-inner {
    max-width: 100%;
    padding: 0 1rem;
    
}
footer .site-navigation.show .menu li a {
  color: #00485d;
  font-size: 14px;
}

footer .site-navigation.show .menu li a:hover {
  color: #00485d;
  opacity: 0.75;
}
footer .site-navigation ul.menu a {
    padding: 5px 5px!important;
}
/* Evita que el overlay decorativo bloquee los clics */
.elementor-element-220b8fd,
.elementor-element-220b8fd * {
  pointer-events: none;
}
/* Por si elementor-element-dea9f11 vuelve a aparecer */
.elementor-element-dea9f11,
.elementor-element-dea9f11 * {
  pointer-events: none;
}
/* INclusif */
.cky-revisit-bottom-left {
    bottom: 55px!important;
}
/* Animation header home page */
/* Fix scroll horizontal causado por elementos que se salen del viewport */
body,
html {
  overflow-x: hidden;
}
/* Elementos decorativos parallax */
.elementor-element-0838cc8,
.elementor-element-2b7a47a,
.elementor-element-e4e073f,
.elementor-element-8eefcd8,
.elementor-element-3ced31d,
.elementor-element-1339021,
.bola1,
.bola2,
.line {
  will-change: transform;
}

/* ============================================================
   NABBU — Botones personalizados v5
   Archivo: custom.css (child theme)

   CLASES (widget Botón → Avanzado → Clases CSS):
   btn-nabbu-pill | btn-nabbu-pill-outline | btn-nabbu-sharp
   btn-nabbu-sharp-ghost | btn-nabbu-magenta | btn-nabbu-cyan
   ============================================================ */

:root {
  --nabbu-teal:       #0b7a8a;
  --nabbu-teal-dark:  #0b3d47;
  --nabbu-teal-light: #4ecdc4;
  --nabbu-cyan:       #4ED4CC;
  --nabbu-magenta:    #CB0767;
}

/* ============================================================
   NABBU BUTTONS — Compatible con:
   - .elementor-button  (widget Button de Elementor)
   - .jet-listing-dynamic-link__link  (widget Dynamic Link de JetEngine)
   ============================================================ */

/* ── Selector combinado para ambos elementos ── */
.btn-nabbu-pill .elementor-button,
.btn-nabbu-pill .jet-listing-dynamic-link__link,
.btn-nabbu-pill-outline .elementor-button,
.btn-nabbu-pill-outline .jet-listing-dynamic-link__link,
.btn-nabbu-magenta .elementor-button,
.btn-nabbu-magenta .jet-listing-dynamic-link__link,
.btn-nabbu-cyan .elementor-button,
.btn-nabbu-cyan .jet-listing-dynamic-link__link {
  border-radius: 100px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  padding: 14px 36px !important;
  border: none !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition:
    transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.3s ease,
    background-color 0.3s ease !important;
}

.btn-nabbu-sharp .elementor-button,
.btn-nabbu-sharp .jet-listing-dynamic-link__link,
.btn-nabbu-sharp-ghost .elementor-button,
.btn-nabbu-sharp-ghost .jet-listing-dynamic-link__link {
  position: relative !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  padding: 14px 36px !important;
  border: none !important;
  overflow: hidden !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition:
    transform 0.2s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease !important;
}

/* ── PILL TEAL ── */
.btn-nabbu-pill .elementor-button,
.btn-nabbu-pill .jet-listing-dynamic-link__link {
  background: linear-gradient(135deg, #0d5c6e 0%, #0a7a8a 50%, #0d9aab 100%) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 4px 20px rgba(13,154,171,0.35) !important;
}
.btn-nabbu-pill .elementor-button:hover,
.btn-nabbu-pill .jet-listing-dynamic-link__link:hover {
  transform: translateY(-3px) scale(1.03) !important;
  background: linear-gradient(135deg, #0f6d80 0%, #0c8fa0 50%, #10b5c8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 35px rgba(13,154,171,0.55) !important;
}

/* ── PILL OUTLINE ── */
.btn-nabbu-pill-outline .elementor-button,
.btn-nabbu-pill-outline .jet-listing-dynamic-link__link {
  background: transparent !important;
  color: #0b7a8a !important;
  fill: #0b7a8a !important;
  box-shadow: 0 0 0 2px #0b7a8a !important;
}
.btn-nabbu-pill-outline .elementor-button:hover,
.btn-nabbu-pill-outline .jet-listing-dynamic-link__link:hover {
  transform: translateY(-3px) scale(1.03) !important;
  background: #0b7a8a !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 0 0 2px #0b7a8a, 0 8px 30px rgba(11,122,138,0.3) !important;
}

/* ── MAGENTA ── */
.btn-nabbu-magenta .elementor-button,
.btn-nabbu-magenta .jet-listing-dynamic-link__link {
  background: linear-gradient(135deg, #a8055a 0%, #cb0767 60%, #e5107a 100%) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 4px 20px rgba(203,7,103,0.35) !important;
}
.btn-nabbu-magenta .elementor-button:hover,
.btn-nabbu-magenta .jet-listing-dynamic-link__link:hover {
  transform: translateY(-3px) scale(1.03) !important;
  background: linear-gradient(135deg, #c2076a 0%, #e0087a 60%, #f51e8a 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 35px rgba(203,7,103,0.5) !important;
}

/* ── CYAN ── */
.btn-nabbu-cyan .elementor-button,
.btn-nabbu-cyan .jet-listing-dynamic-link__link {
  background: linear-gradient(135deg, #2db8b0 0%, #4ed4cc 60%, #6ee0d8 100%) !important;
  color: #0b3d47 !important;
  fill: #0b3d47 !important;
  box-shadow: 0 4px 20px rgba(78,212,204,0.35) !important;
}
.btn-nabbu-cyan .elementor-button:hover,
.btn-nabbu-cyan .jet-listing-dynamic-link__link:hover {
  transform: translateY(-3px) scale(1.03) !important;
  background: linear-gradient(135deg, #35cec6 0%, #5de0d8 60%, #7aeae3 100%) !important;
  color: #0b3d47 !important;
  box-shadow: 0 8px 35px rgba(78,212,204,0.5) !important;
}

/* ── SHARP relleno ── */
.btn-nabbu-sharp .elementor-button,
.btn-nabbu-sharp .jet-listing-dynamic-link__link {
  background: linear-gradient(135deg, #0b7a8a, #0a5c6e) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 2px 12px rgba(13,122,138,0.4) !important;
}
.btn-nabbu-sharp .elementor-button:hover,
.btn-nabbu-sharp .jet-listing-dynamic-link__link:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #0d8fa0, #0b6e80) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 24px rgba(13,122,138,0.6) !important;
}

/* ── SHARP ghost ── */
.btn-nabbu-sharp-ghost .elementor-button,
.btn-nabbu-sharp-ghost .jet-listing-dynamic-link__link {
  background: #0b3d47 !important;
  color: #4ecdc4 !important;
  fill: #4ecdc4 !important;
  box-shadow: 0 0 0 1px rgba(78,205,196,0.25) !important;
}
.btn-nabbu-sharp-ghost .elementor-button:hover,
.btn-nabbu-sharp-ghost .jet-listing-dynamic-link__link:hover {
  transform: translateY(-2px) !important;
  background: #0f4d5c !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(78,205,196,0.5), 0 4px 20px rgba(13,122,138,0.3) !important;
}

/* ── Línea animada sharp ── */
.btn-nabbu-sharp .elementor-button::after,
.btn-nabbu-sharp .jet-listing-dynamic-link__link::after,
.btn-nabbu-sharp-ghost .elementor-button::after,
.btn-nabbu-sharp-ghost .jet-listing-dynamic-link__link::after {
  content: '';
  position: absolute;
  bottom: 0; left: -100%;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, #4ED4CC, #CB0767, transparent);
  transition: left 0.4s ease;
}
.btn-nabbu-sharp .elementor-button:hover::after,
.btn-nabbu-sharp .jet-listing-dynamic-link__link:hover::after,
.btn-nabbu-sharp-ghost .elementor-button:hover::after,
.btn-nabbu-sharp-ghost .jet-listing-dynamic-link__link:hover::after {
  left: 0;
}

/* ── Active ── */
.btn-nabbu-pill .elementor-button:active,
.btn-nabbu-pill .jet-listing-dynamic-link__link:active,
.btn-nabbu-pill-outline .elementor-button:active,
.btn-nabbu-pill-outline .jet-listing-dynamic-link__link:active,
.btn-nabbu-magenta .elementor-button:active,
.btn-nabbu-magenta .jet-listing-dynamic-link__link:active,
.btn-nabbu-cyan .elementor-button:active,
.btn-nabbu-cyan .jet-listing-dynamic-link__link:active,
.btn-nabbu-sharp .elementor-button:active,
.btn-nabbu-sharp .jet-listing-dynamic-link__link:active,
.btn-nabbu-sharp-ghost .elementor-button:active,
.btn-nabbu-sharp-ghost .jet-listing-dynamic-link__link:active {
  transform: translateY(0) scale(1) !important;
}

/* ============================================================
   <a> DIRECTO — sin widget Elementor ni JetEngine
   Uso: <a class="btn-nabbu-magenta" href="#">Texto</a>
   ============================================================ */
a.btn-nabbu-pill, a.btn-nabbu-pill-outline,
a.btn-nabbu-magenta, a.btn-nabbu-cyan,
a.btn-nabbu-sharp, a.btn-nabbu-sharp-ghost {
  display: inline-block;
  text-decoration: none !important;
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.3px;
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s ease, background 0.3s ease;
}
a.btn-nabbu-pill, a.btn-nabbu-pill-outline,
a.btn-nabbu-magenta, a.btn-nabbu-cyan {
  border-radius: 100px; padding: 14px 36px; border: none;
}
a.btn-nabbu-sharp, a.btn-nabbu-sharp-ghost {
  border-radius: 6px; padding: 14px 36px; border: none;
  position: relative; overflow: hidden;
}
a.btn-nabbu-pill          { background: linear-gradient(135deg,#0d5c6e,#0a7a8a,#0d9aab); color:#fff; box-shadow:0 4px 20px rgba(13,154,171,.35); }
a.btn-nabbu-pill:hover    { transform:translateY(-3px) scale(1.03); background:linear-gradient(135deg,#0f6d80,#0c8fa0,#10b5c8); color:#fff; box-shadow:0 8px 35px rgba(13,154,171,.55); }
a.btn-nabbu-pill-outline       { background:transparent; color:#0b7a8a; box-shadow:0 0 0 2px #0b7a8a; }
a.btn-nabbu-pill-outline:hover { transform:translateY(-3px) scale(1.03); background:#0b7a8a; color:#fff; }
a.btn-nabbu-magenta       { background:linear-gradient(135deg,#a8055a,#cb0767,#e5107a); color:#fff; box-shadow:0 4px 20px rgba(203,7,103,.35); }
a.btn-nabbu-magenta:hover { transform:translateY(-3px) scale(1.03); background:linear-gradient(135deg,#c2076a,#e0087a,#f51e8a); color:#fff; box-shadow:0 8px 35px rgba(203,7,103,.5); }
a.btn-nabbu-cyan          { background:linear-gradient(135deg,#2db8b0,#4ed4cc,#6ee0d8); color:#0b3d47; box-shadow:0 4px 20px rgba(78,212,204,.35); }
a.btn-nabbu-cyan:hover    { transform:translateY(-3px) scale(1.03); background:linear-gradient(135deg,#35cec6,#5de0d8,#7aeae3); color:#0b3d47; box-shadow:0 8px 35px rgba(78,212,204,.5); }
a.btn-nabbu-sharp         { background:linear-gradient(135deg,#0b7a8a,#0a5c6e); color:#fff; box-shadow:0 2px 12px rgba(13,122,138,.4); }
a.btn-nabbu-sharp:hover   { transform:translateY(-2px); background:linear-gradient(135deg,#0d8fa0,#0b6e80); color:#fff; }
a.btn-nabbu-sharp-ghost       { background:#0b3d47; color:#4ecdc4; box-shadow:0 0 0 1px rgba(78,205,196,.25); }
a.btn-nabbu-sharp-ghost:hover { transform:translateY(-2px); background:#0f4d5c; color:#fff; }
a.btn-nabbu-sharp::after, a.btn-nabbu-sharp-ghost::after {
  content: '';
  position: absolute;
  bottom: 0; left: -100%;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, #4ED4CC, #CB0767, transparent);
  transition: left 0.4s ease;
}
a.btn-nabbu-sharp:hover::after, a.btn-nabbu-sharp-ghost:hover::after { left: 0; }
a.btn-nabbu-sharp:active, a.btn-nabbu-sharp-ghost:active,
a.btn-nabbu-pill:active, a.btn-nabbu-pill-outline:active,
a.btn-nabbu-magenta:active, a.btn-nabbu-cyan:active {
  transform: translateY(0) scale(1);
}

/* ── MENU HEADER — bouton via classe sur <li> ── */
li.btn-nabbu-pill-outline > a,
li.btn-nabbu-pill > a,
li.btn-nabbu-magenta > a,
li.btn-nabbu-cyan > a,
li.btn-nabbu-sharp > a,
li.btn-nabbu-sharp-ghost > a {
  display: inline-block;
  text-decoration: none !important;
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.3px;
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s ease, background 0.3s ease;
  border-radius: 100px;
  padding: 8px 24px !important;
}

li.btn-nabbu-pill > a          { background: linear-gradient(135deg,#0d5c6e,#0a7a8a,#0d9aab); color:#fff !important; box-shadow:0 4px 20px rgba(13,154,171,.35); }
li.btn-nabbu-pill > a:hover    { transform:translateY(-3px) scale(1.03); background:linear-gradient(135deg,#0f6d80,#0c8fa0,#10b5c8); color:#fff !important; box-shadow:0 8px 35px rgba(13,154,171,.55); }

li.btn-nabbu-pill-outline > a       { background:transparent; color:#0b7a8a !important; box-shadow:0 0 0 2px #0b7a8a; }
li.btn-nabbu-pill-outline > a:hover { transform:translateY(-3px) scale(1.03); background:#0b7a8a; color:#fff !important; }

li.btn-nabbu-magenta > a       { background:linear-gradient(135deg,#a8055a,#cb0767,#e5107a); color:#fff !important; box-shadow:0 4px 20px rgba(203,7,103,.35); }
li.btn-nabbu-magenta > a:hover { transform:translateY(-3px) scale(1.03); background:linear-gradient(135deg,#c2076a,#e0087a,#f51e8a); color:#fff !important; }

li.btn-nabbu-cyan > a          { background:linear-gradient(135deg,#2db8b0,#4ed4cc,#6ee0d8); color:#0b3d47 !important; box-shadow:0 4px 20px rgba(78,212,204,.35); }
li.btn-nabbu-cyan > a:hover    { transform:translateY(-3px) scale(1.03); background:linear-gradient(135deg,#35cec6,#5de0d8,#7aeae3); color:#0b3d47 !important; }

li.btn-nabbu-sharp > a         { background:linear-gradient(135deg,#0b7a8a,#0a5c6e); color:#fff !important; border-radius:6px !important; box-shadow:0 2px 12px rgba(13,122,138,.4); }
li.btn-nabbu-sharp > a:hover   { transform:translateY(-2px); background:linear-gradient(135deg,#0d8fa0,#0b6e80); color:#fff !important; }

li.btn-nabbu-sharp-ghost > a       { background:#0b3d47; color:#4ecdc4 !important; border-radius:6px !important; box-shadow:0 0 0 1px rgba(78,205,196,.25); }
li.btn-nabbu-sharp-ghost > a:hover { transform:translateY(-2px); background:#0f4d5c; color:#fff !important; }
/* ============================================================
   NABBU — JetSmartFilters Radio como tabs en línea
   ============================================================ */

/* Wrapper en línea */
.jet-radio-list-wrapper fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.jet-radio-list-wrapper fieldset .jet-radio-list__row {
  display: inline-block !important;
  margin: 0 6px 6px 0 !important;
}

/* Ocultar el input radio nativo */
.jet-radio-list__input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Ocultar decorador (checkbox visual) */
.jet-radio-list__decorator {
  display: none !important;
}

/* Botón base — estilo pill outline */
.jet-radio-list__button {
  display: inline-block !important;
  cursor: pointer !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  border: 2px solid #0b7a8a !important;
  color: #0b7a8a !important;
  background: transparent !important;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.25s ease !important;
  user-select: none !important;
}

.jet-radio-list__button:hover {
  background: rgba(11, 122, 138, 0.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(11, 122, 138, 0.2) !important;
}

/* Estado activo — pill relleno */
.jet-radio-list__input:checked + .jet-radio-list__button {
  background: linear-gradient(135deg, #0d5c6e 0%, #0a7a8a 50%, #0d9aab 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 20px rgba(13, 154, 171, 0.35) !important;
  transform: translateY(-2px) !important;
}

.jet-radio-list__input:checked + .jet-radio-list__button:hover {
  background: linear-gradient(135deg, #0f6d80 0%, #0c8fa0 50%, #10b5c8 100%) !important;
  box-shadow: 0 8px 35px rgba(13, 154, 171, 0.55) !important;
}

/* Label del texto */
.jet-radio-list__label {
  pointer-events: none !important;
}

/* Contenedor general del filtro */
.jet-smart-filters-radio {
  margin-bottom: 24px !important;
}

.jet-radio-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

.jet-radio-list .jet-filter-row {
  display: inline-flex !important;
  margin: 0 !important;
}

/* ============================================================
   NABBU — JetSmartFilters Search en línea
   ============================================================ */

/* Contenedor en línea */
.jet-search-filter {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  max-width: 480px !important;
  width: 100% !important;
}

/* Input */
.jet-search-filter__input-wrapper {
  flex: 1 !important;
}

.jet-search-filter__input {
  width: 100% !important;
  height: 48px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0b3d47 !important;
  background: #f4f6f7 !important;
  border: 2px solid #e0e8ea !important;
  border-right: none !important;
  border-radius: 100px 0 0 100px !important;
  outline: none !important;
  transition: border-color 0.25s ease, background 0.25s ease !important;
  -webkit-appearance: none !important;
}

.jet-search-filter__input::placeholder {
  color: #7a9ea5 !important;
  font-weight: 400 !important;
}

.jet-search-filter__input:focus {
  background: #ffffff !important;
  border-color: #0a7a8a !important;
}

/* Botón submit */
.jet-search-filter__submit {
  height: 48px !important;
  padding: 0 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0d5c6e 0%, #0a7a8a 50%, #0d9aab 100%) !important;
  border: none !important;
  border-radius: 0 100px 100px 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.2s ease !important;
}

.jet-search-filter__submit:hover {
  background: linear-gradient(135deg, #0f6d80 0%, #0c8fa0 50%, #10b5c8 100%) !important;
  box-shadow: 0 4px 20px rgba(13, 154, 171, 0.4) !important;
  transform: translateY(-1px) !important;
}

.jet-search-filter__submit:active {
  transform: translateY(0) !important;
}

/* Ocultar texto "Apply filter" y poner icono lupa */
.jet-search-filter__submit-text {
  font-size: 0 !important;
}

.jet-search-filter__submit-text::before {
  content: "\f002" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 16px !important;
}

/* Responsive */
@media (max-width: 480px) {
  .jet-search-filter {
    max-width: 100% !important;
  }
}
.jet-smart-filters-search .jet-search-filter__submit {
    margin-top: 0px!important;
}

/* Fijo abajo a la derecha */
.nta_wa_button {
  position: fixed !important;
  bottom: 30px !important;
  right: 30px !important;
  left: auto !important;
  z-index: 9999 !important;
}

/* Botón redondo - solo icono */
.wa__button {
  width: 54px !important;
  height: 54px !important;
  min-width: unset !important;
  min-height: 54px !important;
  max-height: 54px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Ocultar el texto */
.wa__btn_txt {
  display: none !important;
}

/* Ajustar el icono al centro */
.wa__btn_icon {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 50%;
  margin-left: -2px !important;
}

.wa__btn_icon img {
  width: 30px !important;
  height: 30px !important;
}