/* --- HOTFIX HOME LIMPIA --- */

.csection-seo-home-extra,
.csection-seo-links,
.csection-seo-faq {
  position: relative;
  z-index: 3;
}

.seo-home-card,
.seo-home-card h2,
.seo-home-card h3,
.seo-home-card p,
.seo-home-card li,
.seo-home-card summary,
.seo-home-card strong,
.seo-home-card span {
  color: #18202a !important;
}

.seo-home-card a:not(.seo-cta):not(.seo-pill) {
  color: #18202a !important;
}

.seo-kicker {
  color: #59626d !important;
}

.seo-home-card {
  background: #ffffff !important;
  border: 1px solid rgba(16, 19, 24, 0.10) !important;
  border-radius: 24px !important;
  padding: 32px !important;
  box-shadow: 0 18px 45px rgba(16, 19, 24, 0.06) !important;
}

.seo-pill,
.seo-pill:visited {
  background: #eef0d6 !important;
  color: #1a2026 !important;
  border: 1px solid rgba(141, 149, 8, 0.22) !important;
}

.seo-cta-primary,
.seo-cta-primary:visited {
  background: #b7be10 !important;
  color: #111111 !important;
}

.seo-cta-secondary,
.seo-cta-secondary:visited {
  background: #111111 !important;
  color: #ffffff !important;
}

.seo-link-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.seo-link-grid a,
.seo-link-grid a:visited {
  display: flex !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(16, 19, 24, 0.10) !important;
  background: linear-gradient(180deg, #fff, #fbfbf7) !important;
  color: #1a2026 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.seo-link-grid.seo-link-grid-compact a,
.seo-link-grid.seo-link-grid-compact a:visited {
  min-height: 54px !important;
  padding: 12px 18px !important;
  border-radius: 20px !important;
  font-size: 15px !important;
}

.seo-submenu {
  margin-top: 18px !important;
  border: 1px solid rgba(16, 19, 24, 0.1) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #fff, #fbfbf7) !important;
  overflow: hidden !important;
}

.seo-submenu summary {
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 56px !important;
  padding: 16px 20px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #16202b !important;
}

.seo-submenu summary::-webkit-details-marker {
  display: none !important;
}

.seo-submenu summary::after {
  content: '+' !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #b7be10 !important;
}

.seo-submenu[open] summary::after {
  content: '−' !important;
}

.seo-submenu .seo-link-grid,
.seo-submenu .seo-pill-row {
  padding: 0 18px 18px !important;
  margin-top: 0 !important;
}

.seo-faq-item {
  border: 1px solid rgba(16, 19, 24, 0.10) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

.seo-faq-item summary {
  list-style: none !important;
  cursor: pointer !important;
  padding: 22px 26px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #101318 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.seo-faq-item summary::-webkit-details-marker {
  display: none !important;
}

.seo-faq-item summary::after {
  content: '+' !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: #b7be10 !important;
}

.seo-faq-item[open] summary::after {
  content: '−' !important;
}

.seo-faq-answer {
  padding: 0 26px 22px !important;
}

footer .cfooterlocationcarrousel,
footer .jqmarquee,
footer .cmarqueeitem,
footer a.sh4 {
  display: none !important;
  visibility: hidden !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

/* evita texto blanco raro heredado */
.csection-seo-home-extra *::selection,
.csection-seo-links *::selection,
.csection-seo-faq *::selection {
  background: #2f64d6;
  color: #ffffff;
}

@media (max-width: 1100px) {
  .seo-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .seo-home-card {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  .seo-link-grid {
    grid-template-columns: 1fr !important;
  }

  .seo-link-grid.seo-link-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .seo-link-grid.seo-link-grid-compact a,
  .seo-link-grid.seo-link-grid-compact a:visited {
    min-height: 48px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
  }

  .seo-submenu summary {
    min-height: 50px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
  }

  .seo-faq-item summary {
    padding: 18px 18px 16px !important;
    font-size: 18px !important;
  }

  .seo-faq-answer {
    padding: 0 18px 18px !important;
  }
}
/* ===== Ajuste flotantes llamar/whatsapp ===== */
.float-icon-wrapper {
  position: fixed;
  right: 20px;          /* distancia al borde derecho */
  bottom: 120px;        /* distancia al borde inferior, ajusta si hay cookies */
  display: flex;
  flex-direction: column; /* uno encima del otro */
  gap: 14px;              /* espacio entre botones */
  z-index: 9999;          /* que siempre esté por delante */
}

.float-icon-wrapper a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  height: 52px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  font-family: inherit;
  font-size: 16px;
  white-space: nowrap;
}

.float-icon-wrapper a .icon {
  font-size: 24px;
  display: inline-flex;
  align-items: center;
}

.float-icon-wrapper a.call {
  background: #111111;
  color: #ffffff;
}

.float-icon-wrapper a.whatsapp {
  background: #21c153;
  color: #ffffff;
}

/* versión escritorio: mover un poco si se superpone al header */
@media (min-width: 1024px) {
  .float-icon-wrapper {
    right: 30px;
    bottom: 100px;
  }
}

/* versión móvil: si el banner de cookies está encima, subir un poco */
@media (max-width: 767px) {
  .float-icon-wrapper {
    bottom: 140px; /* ajusta según tamaño banner */
  }
}
/* ===== Ajuste logo y header móvil ===== */
.header-logo {
  max-width: 170px; /* reducir si es muy grande */
  height: auto;
}

@media (max-width: 767px) {
  .header-logo {
    max-width: 140px; /* más pequeño en móvil */
  }

  /* espacio extra para que no tape texto u otros items en la cabecera */
  .header-top-right {
    margin-top: 8px;
  }

  /* si los iconos sociales están dentro del header y tapan el menú, ocultarlos o moverlos */
  .header-social-icons {
    display: none; /* o mueve al menú lateral si lo tienes */
  }
}
