.elementor-61278 .elementor-element.elementor-element-6f8cdab3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-3db1c8c9 */.qc-page-nav {
  --qc-brand:     #00c04b;   /* verde de marca */
  --qc-brand-dk:  #009e3d;
  --qc-ink:       #064d27;
  --qc-white:     #ffffff;
  --qc-height:    58px;

  position: sticky;
  top: 10px;
  z-index: 60;
  width: calc(100% - 40px);
  max-width: 1100px;
  margin: 16px auto;
  border-radius: 99px;
  background: linear-gradient(180deg, var(--qc-brand) 0%, var(--qc-brand-dk) 100%);
  border: 1px solid rgba(255, 255, 255, .25);
  box-shadow: 0 8px 22px -14px rgba(6, 77, 39, .6);
  transition: box-shadow .25s ease;
}

.qc-page-nav.is-stuck {
  box-shadow: 0 8px 20px -10px rgba(6, 77, 39, .55);
}

.qc-page-nav *,
.qc-page-nav *::before,
.qc-page-nav *::after {
  box-sizing: border-box;
}

.qc-page-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: var(--qc-height);
  padding: 0 8px 0 10px;
}

/* ---------- Links ---------- */

.qc-page-nav__track {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.qc-page-nav__track::-webkit-scrollbar {
  display: none;
}

.qc-page-nav .qc-page-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 9px 18px;
  border-radius: 99px;
  background: transparent !important;
  color: var(--qc-white) !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .01em;
  text-decoration: none !important;
  white-space: nowrap;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .12);
  transition: background .2s ease, color .2s ease;
}

/* Separador fino entre links */
.qc-page-nav .qc-page-nav__link + .qc-page-nav__link::before {
  content: "";
  position: absolute;
  left: -3px;
  top: 50%;
  width: 1px;
  height: 16px;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, .35);
}

.qc-page-nav .qc-page-nav__link:hover,
.qc-page-nav .qc-page-nav__link:focus-visible {
  background: rgba(255, 255, 255, .18) !important;
  color: var(--qc-white) !important;
}

.qc-page-nav .qc-page-nav__link.is-active {
  background: var(--qc-white) !important;
  color: var(--qc-ink) !important;
  text-shadow: none;
}

/* Sin separador junto al activo */
.qc-page-nav .qc-page-nav__link.is-active::before,
.qc-page-nav .qc-page-nav__link.is-active + .qc-page-nav__link::before {
  opacity: 0;
}

/* ---------- Botón llamar ---------- */

.qc-page-nav .qc-page-nav__call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 10px 18px;
  border-radius: 99px;
  background: var(--qc-ink) !important;
  color: var(--qc-white) !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 6px 14px -8px rgba(0, 0, 0, .5);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.qc-page-nav .qc-page-nav__call svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.qc-page-nav .qc-page-nav__call:hover,
.qc-page-nav .qc-page-nav__call:focus-visible {
  background: var(--qc-white) !important;
  color: var(--qc-ink) !important;
  transform: translateY(-1px);
}

/* ---------- Saltos sin quedar tapados ---------- */

.e-con[id],
.elementor-section[id],
.elementor-widget[id] {
  scroll-margin-top: 90px; /* si usas también qc-anchor-nav, pega ese CSS después (140px) */
}

html {
  scroll-behavior: smooth;
}

/* ---------- Responsive ---------- */

@media (max-width: 767px) {
  .qc-page-nav {
    --qc-height: 52px;
    top: 8px;
    width: calc(100% - 20px);
    margin: 10px auto;
  }

  .qc-page-nav__inner {
    gap: 8px;
    padding: 0 6px;
  }

  .qc-page-nav .qc-page-nav__link {
    padding: 9px 12px;
    font-size: 14px;
  }

  .qc-page-nav .qc-page-nav__call {
    padding: 10px;
  }

  .qc-page-nav__call-text {
    display: none;
  }
}/* End custom CSS */