/*
 * Estilos propios del tema (login, admin, performance).
 * No layout/tipografía de Elementor aquí.
 */
html, *{
    font-family: "Proxima Nova", Sans-serif;
}

/*
 * Sin este fix, un ancestor con overflow:hidden rompe position:sticky.
 * overflow-x:clip recorta horizontalmente SIN crear un scroll container,
 * por lo que sticky sigue funcionando.
 */
body {
    overflow-x: clip;
}

ins{
    text-decoration: none;
    color: #98C836;
}

/* Estilos de texto, colores y tipografía */
.text-white,
.text-white a,
.text-white p,
.text-white span,
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6{
    color: #fff;
}

/*padding container*/
.pd-container{
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* Pasos numerados (Entender / Desbloquear / Liberar) */
.dnz-step__number{
    display: block;
    color: #98C836;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 5px;
}

.dnz-step__title{
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 0.75rem;
}

.dnz-step__subtitle{
    color: #98C836;
    font-size: 1rem;
    font-weight: 300;
    margin: 0 0 1rem;
}

.dnz-step__text{
    color: rgb(255, 255, 255);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.6;
    margin: 0;
}

/* ===== HEADER NAV ===================================================
   Aplica la clase CSS "dnz-header" a la Sección/Contenedor del header
   en Elementor Theme Builder.
   El menú usa el widget DNZ Nav Menu (clases .dnz-nav__*).
   El botón CTA lleva la clase "dnz-btn-cta" en el widget Botón de Elementor.
   ================================================================== */

/* Sticky wrapper — envuelve el template del header en header.php.
   La razón de este wrapper es que el div.elementor.elementor-124 que Elementor
   genera al renderizar el template embebido solo mide la altura del header (≈70px),
   así que position:sticky en el hijo interno no tiene espacio para "flotar".
   Al poner sticky en el wrapper EXTERNO que contiene todo el template,
   el sticky funciona correctamente porque el wrapper vive en el flujo del body. */
.dnz-header-sticky-wrap {
    position: sticky;
    top: 0;
    z-index: 9999;
}

/* Background y overflow del contenedor Elementor interno del header */
.dnz-header,
section.dnz-header,
.e-con.dnz-header,
.elementor-section.dnz-header {
    background-color: #14181b !important;
    overflow: visible !important;
    width: 100%;
}

/* ── Links del widget DNZ Nav Menu ─────────────────────── */

.dnz-header .dnz-nav__link {
    color: #fff;
    font-size: 1rem;
    font-weight: 400;
    transition: color 0.2s ease;
}

.dnz-header .dnz-nav__link:hover,
.dnz-header .dnz-nav__item.is-active > .dnz-nav__link,
.dnz-header .dnz-nav__item.current-menu-item > .dnz-nav__link {
    color: #98c836;
}

/* ── Botón CTA: ítem del menú con clase "dnz-btn-cta" ──── */
/* Aplica la clase al <li> del ítem en el repeater del widget */

.dnz-header .dnz-nav__item.dnz-btn-cta > .dnz-nav__link {
    background-color: #98c836;
    border-radius: 999px;
    color: #14181b;
    font-weight: 600;
    padding: 10px 24px;
    transition: background-color 0.2s ease;
    white-space: nowrap;
}

.dnz-header .dnz-nav__item.dnz-btn-cta > .dnz-nav__link:hover {
    background-color: #85b02e;
    color: #14181b;
}

/* Quitar el indicador de submenú en el botón CTA */
.dnz-header .dnz-nav__item.dnz-btn-cta.has-children > .dnz-nav__link::after {
    display: none;
}

/* ── Compatibilidad: Elementor Button widget con clase dnz-btn-cta ── */

.elementor-button.dnz-btn-cta {
    background-color: #98c836 !important;
    border: none !important;
    border-radius: 999px !important;
    color: #14181b !important;
    font-weight: 600 !important;
    padding: 12px 28px !important;
    transition: background-color 0.2s ease;
}

.elementor-button.dnz-btn-cta:hover {
    background-color: #85b02e !important;
    color: #14181b !important;
}

/* ── Hamburger — solo visible en el header ─────────────── */

.dnz-header .dnz-nav__toggle {
    color: #fff;
    /* No visible en desktop (el widget nav ya se muestra horizontal) */
    display: none;
}

/* ── Responsive: comportamiento del header en móvil ─────── */

@media (max-width: 767px) {
    /* El nav en el header: solo muestra el toggle, menú colapsado */
    .dnz-header .dnz-nav {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-end;
        position: static;
    }

    /* Mostrar el hamburger solo en el header */
    .dnz-header .dnz-nav__toggle {
        display: flex;
        flex-shrink: 0;
    }

    /* Menú del header oculto por defecto */
    .dnz-header .dnz-nav__menu {
        display: none;
    }

    /* Menú del header abierto: fixed, debajo del header */
    .dnz-header .dnz-nav.is-open > .dnz-nav__menu {
        align-items: flex-start;
        background: #14181b;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        bottom: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
        left: 0;
        overflow-y: auto;
        padding: 8px 0 24px;
        position: fixed;
        right: 0;
        top: var(--dnz-header-height, 70px);
        width: 100%;
        z-index: 9998;
    }

    .dnz-header .dnz-nav__item {
        width: 100%;
    }

    .dnz-header .dnz-nav__link {
        color: #fff;
        display: block;
        font-size: 1.1rem;
        padding: 14px 24px;
        white-space: normal;
    }

    /* Botón CTA en móvil: pill completo */
    .dnz-header .dnz-nav__item.dnz-btn-cta {
        margin-top: 8px;
        padding: 0 24px;
    }

    .dnz-header .dnz-nav__item.dnz-btn-cta > .dnz-nav__link {
        border-radius: 999px;
        display: block;
        padding: 14px 0;
        text-align: center;
        width: 100%;
    }
}

/* ===== FIN HEADER NAV ===== */

/* ===== FOOTER ===== */
.list-footer {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 13px;
    line-height: 26px;
    color: #fff;
}
.list-footer li a {
    color: #fff;
    text-decoration: none;
    transition: color 0.2s ease;
}
/* ===== FIN FOOTER ===== */


/* Header Item */
.header-item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border: 2px solid #98C836;
  border-radius: 999px;
  color: #98C836;
  background-color: rgba(151, 200, 54, 0.1);

  font-size: 13px;
  font-weight: 400;
  line-height: 1;
}

.date {
  color: #0f332b;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
}


/* Contact form 7 */
.cf7-dark-form {
  max-width: 670px;
  background: #141C26;
  border-radius: 28px;
  padding: 30px;
  color: #ffffff;
  box-sizing: border-box;
}

.cf7-dark-form .cf7-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.cf7-dark-form label {
  display: block;
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}

.cf7-dark-form p{
    margin: 0;
}
.cf7-dark-form input[type="text"],
.cf7-dark-form input[type="email"],
.cf7-dark-form input[type="tel"],
.cf7-dark-form select {
    width: 100%;
    height: 33px;
    margin-top: 7px;
    padding: 0 10px;
    border: none;
    border-radius: 7px;
    background: #25303a;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    box-sizing: border-box;
    outline: none;
}

.cf7-dark-form input::placeholder {
  color: #90a7b4;
  opacity: 1;
}

.cf7-dark-form select {
  color: #90a7b4;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image:
    linear-gradient(45deg, transparent 50%, #8cc63f 50%),
    linear-gradient(135deg, #8cc63f 50%, transparent 50%);
  background-position:
    calc(100% - 28px)11px,
    calc(100% - 18px)11px;
  background-size: 10px 10px;
  background-repeat: no-repeat;
}

.cf7-dark-form select:focus,
.cf7-dark-form input:focus {
  box-shadow: 0 0 0 2px rgba(140, 198, 63, 0.45);
}

.cf7-dark-form .cf7-privacy {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 4px 0 36px;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.5;
}

.cf7-dark-form .cf7-privacy .wpcf7-form-control-wrap {
  flex: 0 0 auto;
}

.cf7-dark-form .cf7-privacy input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  border: 2px solid #8cc63f;
  border-radius: 7px;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.cf7-dark-form .cf7-privacy input[type="checkbox"]:checked {
  background: #8cc63f;
}

.cf7-dark-form .cf7-privacy input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0px;
  width: 7px;
  height: 14px;
  border: solid #141C26;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.cf7-dark-form .cf7-privacy .wpcf7-list-item {
    display: inline-block;
    margin: 0;
    padding-right: 7px;
}

.cf7-dark-form .cf7-privacy a {
  color: #8cc63f;
  text-decoration: underline;
}

.cf7-dark-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 470px;
  height: 72px;
  padding: 0 36px;

  border: none;
  border-radius: 999px;
  background: #8cc63f;
  color: #07130f;

  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cf7-dark-form input[type="submit"]:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.cf7-dark-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #ff8a8a;
  font-size: 14px;
}

.cf7-dark-form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 14px 18px;
  border-radius: 8px;
  color: #ffffff;
}

@media (max-width: 768px) {
  .cf7-dark-form {
    padding: 32px 24px;
    border-radius: 24px;
  }

  .cf7-dark-form .cf7-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .cf7-dark-form label {
    font-size: 17px;
    margin-bottom: 22px;
  }

  .cf7-dark-form input[type="text"],
  .cf7-dark-form input[type="email"],
  .cf7-dark-form input[type="tel"],
  .cf7-dark-form select {
    font-size: 17px;
  }

  .cf7-dark-form input[type="submit"] {
    width: 100%;
    min-width: 0;
    height: 64px;
    font-size: 18px;
    padding: 0 22px;
  }

  .cf7-dark-form .cf7-privacy {
    font-size: 14px;
  }
}