/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/
/* =========================
   CONTENEDOR (ANCHO 135%)
========================= */

.wpcf7 {
  width: 135%;
  max-width: 135%;
  transform: translateX(10%);

}

/* evita cortes del theme */
.wpcf7-form {
  width: 100%;
  overflow-x: hidden;
}

/* =========================
   CAMPOS
========================= */

.wpcf7-form p {
  margin: 0 0 0.25rem 0 !important;
}

.wpcf7-form input,
.wpcf7-form textarea {
  border: 1px solid #4F9ACA;
  width: 100%;
  padding: 0.5rem;
  border-radius: 0.25rem;
  box-sizing: border-box;
  margin-bottom: 0.15rem;
}

/* TEXTAREA */
.wpcf7-form textarea {
  width: 100%;
  max-width: 100%;
}

/* =========================
   LABELS (compacto)
========================= */

.wpcf7-form label {
  color: #4F9ACA;
  display: block;
  margin-bottom: 0.1rem !important;
  line-height: 1.1;
}

/* =========================
   BOTÓN
========================= */

.wpcf7-form input[type="submit"] {
  background: #7DD5FC;
  color: #fff;
  border: none;
  padding: 0.75rem 1.5625rem;
  border-radius: 0.25rem;
  cursor: pointer;
  width: auto;
  display: inline-block;
  font-size: 1rem;
  margin-top: 0.25rem;
}

/* HOVER: elevación + cambio de color */
.wpcf7-form input[type="submit"]:hover {
  transform: translateY(-0.25rem) !important;
  background-color: #3D97D3 !important;

  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
}

/* =========================
   ACCEPTANCE CUSTOM
========================= */

.wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  line-height: 1;
  margin: 0;
}

.wpcf7-acceptance input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  border: 1px solid #4F9ACA;
  border-radius: 0.2rem;
  margin: 0;
  display: grid;
  place-content: center;
  flex-shrink: 0;
}

.wpcf7-acceptance input[type="checkbox"]::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background: #4F9ACA;
}

.wpcf7-acceptance input[type="checkbox"]:checked::before {
  transform: scale(1);
}

.wpcf7-list-item {
  margin: 0 !important;
  padding: 0 !important;
}

.wpcf7-acceptance,
.wpcf7-acceptance label {
  color: #111 !important;
}

/* link privacidad */
.wpcf7-form a {
  color: #4F9ACA;
  text-decoration: underline;
} 

/* =========================
   TABLET (≤1024px)
========================= */
@media (max-width: 1024px) {
  .wpcf7 {
    width: 100%;
    max-width: 100%;
  }
}

/* =========================
   MOBILE (≤768px)
========================= */
@media (max-width: 768px) {

  .wpcf7 {
    width: 100%;
    max-width: 100%;
  }

  .wpcf7-form input,
  .wpcf7-form textarea {
    font-size: 1rem;
    padding: 0.7rem;
  }

  .wpcf7-form label {
    font-size: 0.9rem;
  }

  .wpcf7-form input[type="submit"] {
    width: 100%;
    display: block;
    text-align: center;
  }

  .wpcf7-form p {
    margin-bottom: 0.5rem !important;
  }
}

/* =========================
   MOBILE PEQUEÑO (≤480px)
========================= */
@media (max-width: 480px) {

  .wpcf7-form input,
  .wpcf7-form textarea {
    font-size: 0.95rem;
    padding: 0.65rem;
  }

  .wpcf7-acceptance .wpcf7-list-item label {
    font-size: 0.85rem;
    align-items: flex-start;
  }

  .wpcf7-form input[type="submit"] {
    padding: 0.85rem 1rem;
  }
}
//////////////////////////////////////////////
.wp-block-details summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 14px;
    list-style: none;
    padding-left: 1rem;
}

/* quitar marcador nativo */
.wp-block-details summary::marker {
    content: "";
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

/* icono círculo + / − */
.wp-block-details summary::before {
    content: "+";

    width: 26px;
    height: 26px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 2px solid currentColor;
    border-radius: 50%;

    font-size: 26px;
    line-height: 1;
    margin-right: 0.75rem;

    color: var(--wp--preset--color--bbe-primary-800);

    background: transparent;

    transition: all 0.25s ease;
}

/* estado abierto */
.wp-block-details[open] summary::before {
    content: "−";
}

/* animación contenido simple */
.wp-block-details > *:not(summary) {
    animation: faqFade 0.6s ease;
}

@keyframes faqFade {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
///////////////////////////////////

/* =========================
   WRAPPER
========================= */

.blocaso{
  width:100%;
  display:flex;
  justify-content:center;
  padding:40px 20px;
  text-align:center;
  color:#3C97D3;
}

/* =========================
   CONTENEDOR PRINCIPAL
========================= */

.blocaso .progress_inner{
  width:100%;
  max-width:700px;
  margin:0 auto;
  position:relative;
  height:360px;
}

/* =========================
   INPUTS
========================= */

.blocaso .progress_inner input{
  position:absolute;
  opacity:0;
}

/* =========================
   STEPS
========================= */

.blocaso .progress_inner__step{
  width:25%;
  float:left;
  text-align:center;
  position:relative;
  cursor:pointer;
}

/* label */
.blocaso .progress_inner__step label{
  display:block;
  padding-top:40px;
  cursor:pointer;
  position:relative;
}

/* =========================
   CÍRCULOS
========================= */

.blocaso .progress_inner__step label::before{
  content:"";
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:3px solid #a6cde2;
  background:#fff;
  margin:0 auto 8px auto;
  font-weight:600;
  color:#1ea4ec;
  transition:all 0.25s ease;
}

/* números */
.blocaso label[for="step-1"]::before{content:"1";}
.blocaso label[for="step-2"]::before{content:"2";}
.blocaso label[for="step-3"]::before{content:"3";}
.blocaso label[for="step-4"]::before{content:"4";}

/* hover */
.blocaso .progress_inner__step label:hover::before{
  background:#1ea4ec;
  color:#fff;
  border-color:#1ea4ec;
  transform:scale(1.1);
}

/* active */
#step-1:checked ~ .progress_inner__step label[for="step-1"]::before,
#step-2:checked ~ .progress_inner__step label[for="step-2"]::before,
#step-3:checked ~ .progress_inner__step label[for="step-3"]::before,
#step-4:checked ~ .progress_inner__step label[for="step-4"]::before{
  background:#1ea4ec;
  color:#fff;
  border-color:#1ea4ec;
  transform:scale(1.08);
}

/* =========================
   BARRA
========================= */

.blocaso .progress_inner__bar,
.blocaso .progress_inner__bar--set{
  position:absolute;
  top:5px;
  left:0;
  height:6px;
  border-radius:6px;
}

/* barra azul */
.blocaso .progress_inner__bar{
  width:0%;
  z-index:2;
  transition:width 0.8s ease;

  background:linear-gradient(90deg,#1ea4ec,#7b61ff,#1ea4ec);
  background-size:300% 300%;
  animation:move 3s ease infinite;
}

/* barra gris */
.blocaso .progress_inner__bar--set{
  width:100%;
  background:#e0e0e0;
  z-index:1;
}

/* animación */
@keyframes move{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

/* =========================
   PROGRESS STATES
========================= */

#step-1:checked ~ .progress_inner__bar{width:0%;}
#step-2:checked ~ .progress_inner__bar{width:33.33%;}
#step-3:checked ~ .progress_inner__bar{width:66.66%;}
#step-4:checked ~ .progress_inner__bar{width:100%;}

/* =========================
   TABS
========================= */

.blocaso .progress_inner__tabs{
  position:absolute;
  top:180px;
  left:0;
  right:0;
}

.blocaso .tab{
  position:absolute;
  top:0;
  left:0;
  right:0;
  opacity:0;
  background:#fff;
  padding:30px;
  border-radius:10px;
  transition:all 0.3s ease;
  z-index:5;
}

/* active tabs */
#step-1:checked ~ .progress_inner__tabs .tab-1{opacity:1;}
#step-2:checked ~ .progress_inner__tabs .tab-2{opacity:1;}
#step-3:checked ~ .progress_inner__tabs .tab-3{opacity:1;}
#step-4:checked ~ .progress_inner__tabs .tab-4{opacity:1;}

/* =========================
   TIPOGRAFÍA (FORZADA)
========================= */

.blocaso .tab h1{
  color:#036B9B !important;
  margin:0;
}

.blocaso .tab p{
  color:#3C97D3 !important;
  margin:0;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:768px){
  .blocaso .progress_inner__step{
    font-size:12px;
  }

  .blocaso .tab{
    padding:20px;
  }
} .blocaso .progress_inner__tabs .tab h1,
.blocaso .progress_inner__tabs .tab h2,
.blocaso .progress_inner__tabs .tab h3{
  color:#036B9B !important;
} 
/* =========================
   SUAVIZADO GLOBAL (APPLE FEEL)
========================= */

.blocaso .progress_inner *{
  transition-timing-function:cubic-bezier(0.4,0,0.2,1);
}

/* =========================
   TEXTO STEP ACTIVO MÁS CLARO
========================= */

#step-1:checked ~ .progress_inner__step label[for="step-1"],
#step-2:checked ~ .progress_inner__step label[for="step-2"],
#step-3:checked ~ .progress_inner__step label[for="step-3"],
#step-4:checked ~ .progress_inner__step label[for="step-4"]{
  color:#036B9B;
  font-weight:600;
}

/* =========================
   MICRO PULSE AL CAMBIAR STEP
========================= */

#step-1:checked ~ .progress_inner__step label[for="step-1"]::before,
#step-2:checked ~ .progress_inner__step label[for="step-2"]::before,
#step-3:checked ~ .progress_inner__step label[for="step-3"]::before,
#step-4:checked ~ .progress_inner__step label[for="step-4"]::before{
  animation:softPulse 0.5s ease;
}

@keyframes softPulse{
  0%{transform:scale(1);}
  50%{transform:scale(1.12);}
  100%{transform:scale(1.08);}
}

/* =========================
   TARJETA MÁS PREMIUM
========================= */

.blocaso .tab{
  box-shadow:0 12px 40px rgba(0,0,0,0.06);
  backdrop-filter: blur(2px);
}

/* =========================
   BARRA MÁS FLUIDA
========================= */

.blocaso .progress_inner__bar{
  transition:width 0.65s cubic-bezier(0.4,0,0.2,1);
}

/* =========================
   HOVER MÁS LIMPIO
========================= */

.blocaso .progress_inner__step label:hover{
  color:#036B9B;
} /* =========================
   JUSTIFICAR TEXTOS DEL BLOQUE
========================= */

.blocaso .tab p{
  text-align: justify !important;
} ///////////////////////////////////
/* CONTENEDOR WP COVER (solo donde lo necesitas) */
.benefits-list-wrapper .wp-block-cover__inner-container {
    max-width: 1200px;
    margin-inline: auto;
    width: 100%;
}

/* LISTA */
.benefits-list {
    display: flex;
    flex-direction: column;
    gap: 16px;

    width: 100%;
    max-width: 600px;
}

/* cada fila */
.benefits-list .feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

/* icono */
.benefits-list .feature-icon {
    flex: 0 0 24px;
    line-height: 1;
    margin-top: 2px;
}

/* texto */
.benefits-list .feature-text {
    flex: 1;
}
.compra_compra {
    position: relative;
}

.compra_link {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: block;
}


/* =========================
   PRUEBA DE CODIGO PARA MOVER A OTRA PAGINA
========================= */

/* BOTÓN: respeta color de Gutenberg */
.patatin .wp-block-button__link {
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;

  transition: transform 0.45s ease, background-color 0.45s ease !important;
}

/* RELLENO (oculto inicial) */
.patatin .wp-block-button__link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;

  width: 100%;
  height: 0%;

  background-color: #3D97D3 !important;

  transition: height 0.45s ease !important;

  z-index: -1;
}

/* HOVER: elevación + cambio SOLO al color de transición */
.patatin .wp-block-button__link:hover {
  transform: 
  background-color: #3D97D3 !important;
}

/* activación del relleno */
.patatin .wp-block-button__link:hover::before {
  height: 100% !important;
}  
 

@media (max-width: 1024px) {

  /* =========================
     CABECERA BASE
  ========================= */
  .cabesa .wp-container-core-group-is-layout-5656508a {
    position: relative;
    display: flex;
    align-items: center;
  }

  /* =========================
     LOGO CENTRADO
  ========================= */
  .cabesa .logo_centrado_header {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
  }

  /* =========================
     HAMBURGUESA DERECHA
  ========================= */
  .cabesa .wp-block-navigation__responsive-container-open {
    position: absolute !important;
    right: 0 !important;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0 !important;
    padding-right: 10px;
    z-index: 20 !important;
  }

  /* =========================
     MENÚ CENTRADO (cuando se muestra inline)
  ========================= */
  .cabesa nav.wp-block-navigation {
    width: 100%;
  }

  .cabesa nav.wp-block-navigation .wp-block-navigation__container,
  .cabesa nav.wp-block-navigation .wp-block-page-list {
    justify-content: center !important;
    /*display: flex !important;*/
    width: 100%;
  }

  /* =========================
     NO ROMPER OVERLAY (IMPORTANTE)
  ========================= */
  .cabesa .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
  }

}


@media (max-width: 860px) {

    /* PATATIN GRID */
    .wp-block-group.patatin {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* EVITAR BOTONES GIGANTES EN FRONTEND */
    .wp-block-group.patatin a,
    .wp-block-group.patatin .wp-block-button__link {
        font-size: inherit !important;
        padding: 0.6em 1em !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* WPBBE GRID */
    .wpbbe-23.wpbbe-23 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* TEXTO "PORQUE" */
    .porque {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.2em !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    .porque br {
        display: none !important;
    }

    /* QUITAR MÁRGENES GUTENBERG */
    .wp-site-blocks > *,
    .entry-content > *,
    .wp-block-post-content > * {
        margin-bottom: 0 !important;
    }
}


/* MOBILE MÁS PEQUEÑO */
@media (max-width: 592px) {

    /* PATATIN A 1 COLUMNA */
    .wp-block-group.patatin {
        grid-template-columns: 1fr !important;
    }

    /* WPBBE RESET */
    .wpbbe-23.wpbbe-23 {
        grid-template-columns: 1fr !important;
    }

    /* COLUMNAS WPBBE-36 */
    .wp-block-columns.wpbbe-36 {
        padding: 0 1rem 2rem 1rem !important;
        box-sizing: border-box;
        overflow-x: hidden !important;

        display: flex !important;
        flex-direction: column !important;

        justify-content: flex-start !important;
        align-items: center !important;

        gap: 1rem !important;

        margin-bottom: 1.5rem !important;
    }
}
/* =========================
   TABLET
========================= */
@media (max-width: 720px) {

    /* GRID PATATIN */
    .wp-block-group.patatin,
    .patatin.wp-container-core-group-is-layout-7a802b03 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 1.5rem !important;
    }

    /* FORZAR HIJOS */
    .patatin > * {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    /* BOTONES */
    .wp-block-group.patatin a,
    .wp-block-group.patatin .wp-block-button__link {
        font-size: inherit !important;
        padding: .6em 1em !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* GRID WPBBE-23 */
    .wpbbe-23,
    .wpbbe-23.wpbbe-23 {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    /* PORQUE */
    .porque{
        display:flex!important;
        flex-direction:column!important;
        gap:.2rem!important;
        line-height:1.2!important;
        white-space:normal!important;
    }

    .porque br{
        display:none!important;
    }

    /* GUTENBERG */
    .wp-site-blocks>*,
    .entry-content>*,
    .wp-block-post-content>*{
        margin-bottom:0!important;
    }

}

/* =========================
   TABLET
========================= */

@media (max-width:720px){

    /* GRID PATATIN */
    .wp-block-group.patatin,
    .patatin.wp-container-core-group-is-layout-7a802b03{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:1.5rem!important;
    }

    .patatin > *{
        width:100%!important;
        min-width:0!important;
        margin:0!important;
    }

    /* BOTONES */
    .wp-block-group.patatin a,
    .wp-block-group.patatin .wp-block-button__link{
        font-size:inherit!important;
        padding:.6em 1em!important;
        max-width:100%!important;
        box-sizing:border-box;
    }

    /* GRID WPBBE-23 */
    .wpbbe-23,
    .wpbbe-23.wpbbe-23{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    /* TEXTO "PORQUE" */
    .porque{
        display:flex!important;
        flex-direction:column!important;
        gap:.2rem!important;
        line-height:1.2!important;
        white-space:normal!important;
    }

    .porque br{
        display:none!important;
    }

    /* GUTENBERG */
    .wp-site-blocks>*,
    .entry-content>*,
    .wp-block-post-content>*{
        margin-bottom:0!important;
    }

}

/* =========================
   MÓVIL
========================= */

@media (max-width:592px){

    .wp-block-group.patatin,
    .patatin.wp-container-core-group-is-layout-7a802b03{
        grid-template-columns:1fr!important;
    }

    .wpbbe-23,
    .wpbbe-23.wpbbe-23{
        grid-template-columns:1fr!important;
    }

    .wp-block-columns.wpbbe-36{
        display:flex!important;
        flex-direction:column!important;

        padding:0 1rem 2rem!important;
        gap:1rem!important;

        align-items:center!important;
        justify-content:flex-start!important;

        overflow:hidden!important;
        margin-bottom:1.5rem!important;
        box-sizing:border-box;
    }

}