/* ==========================================================================
   EXERGÍA V7 — Compatibilidad
   Mapea las clases de contenido heredadas de V5 al lenguaje visual de V7,
   para que las páginas interiores hereden la misma tipografía, aire y color.
   ========================================================================== */

.v7-main{ display:block; }

/* ---------- Encabezado de página interior ---------- */
.v7-main .page-hero{
  padding:clamp(130px,17vh,220px) 0 clamp(36px,5.5vh,72px);
  border-bottom:1px solid var(--linea);
  background:var(--paper-2);
}
.page-hero-inner{
  width:100%; max-width:var(--maxw); margin:0 auto;
  padding-left:var(--pad); padding-right:var(--pad);
  display:grid; gap:16px;
}
.page-hero-inner h1{
  font-size:var(--f-h1); font-weight:700; line-height:1.02; letter-spacing:-.035em; max-width:20ch;
}
.etapa-tag{
  font-size:var(--f-small); font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--naranja);
}

/* ---------- Contenedor de contenido ---------- */
.v7-main .container{
  width:100%; max-width:var(--maxw); margin:0 auto;
  padding:clamp(44px,7vh,100px) var(--pad);
}
.etapa-cuerpo{ max-width:86ch; display:grid; gap:1.15em; }
.etapa-cuerpo > .lead{ font-size:clamp(1.05rem,1.45vw,1.42rem); line-height:1.5; color:var(--ink-soft); max-width:62ch; }
.etapa-cuerpo h2{ font-size:var(--f-h2); font-weight:700; letter-spacing:-.028em; margin-top:.6em; }
.etapa-cuerpo h3{ font-size:var(--f-h3); font-weight:600; letter-spacing:-.012em; }
.etapa-cuerpo p{ color:var(--ink-soft); }
.etapa-cuerpo strong{ color:var(--ink); font-weight:600; }

/* ---------- Listas ---------- */
.lista-check{ list-style:none; display:grid; gap:.6em; padding:0; }
.lista-check li{ position:relative; padding-left:1.7em; color:var(--ink-soft); }
.lista-check li::before{
  content:''; position:absolute; left:0; top:.55em; width:9px; height:9px;
  background:var(--naranja); border-radius:2px; transform:rotate(45deg);
}
.v7-main ul:not(.lista-check){ list-style:none; display:grid; gap:.55em; padding:0; }
.v7-main ul:not(.lista-check) li{ position:relative; padding-left:1.4em; color:var(--ink-soft); }
.v7-main ul:not(.lista-check) li::before{
  content:''; position:absolute; left:0; top:.62em; width:6px; height:6px;
  background:var(--azul); border-radius:50%;
}

/* ---------- Cajas destacadas ---------- */
.valor-box{
  background:var(--azul-deep); color:#fff; border-radius:18px;
  padding:clamp(22px,2.6vw,38px); display:grid; gap:12px; margin:.6em 0;
}
.valor-box h3{ color:var(--naranja); font-size:var(--f-small); font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.valor-box p{ color:rgba(255,255,255,.82); }

.etapa-cta{
  background:#fff; border:1px solid var(--linea); border-left:4px solid var(--naranja);
  border-radius:16px; padding:clamp(22px,2.6vw,36px); display:grid; gap:12px; justify-items:start; margin:.6em 0;
}
.etapa-cta h3{ font-size:var(--f-h3); font-weight:700; letter-spacing:-.015em; }
.etapa-cta p{ color:var(--ink-soft); }
.etapa-cta .btn{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.etapa-cta .btn:hover{ background:var(--naranja); border-color:var(--naranja); color:#fff; }

.volver{ margin-top:1.6em; padding-top:1.2em; border-top:1px solid var(--linea); }
.volver a{
  font-size:var(--f-small); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);
  transition:color .25s var(--ease);
}
.volver a:hover{ color:var(--naranja); }

/* ---------- Botones heredados ---------- */
.v7-main .btn{
  display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:100px;
  font-weight:600; font-size:var(--f-small); letter-spacing:.12em; text-transform:uppercase;
  border:1px solid var(--ink); transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
}
.v7-main .btn:hover{ transform:translateY(-2px); background:var(--ink); color:var(--paper); }
.v7-main .btn-primary{ background:var(--naranja); border-color:var(--naranja); color:#fff; }
.v7-main .btn-primary:hover{ background:var(--ink); border-color:var(--ink); color:var(--paper); }

/* ---------- Rejillas de tarjetas heredadas ---------- */
.recursos-links,.noticias-grid,.dictamenes-grid,.alianzas-grid,.allies,.etapas,.contact-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));
  gap:clamp(14px,1.8vw,26px); margin-top:1em;
}
.contact-grid{ grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); align-items:start; gap:clamp(24px,3.4vw,54px); }

.recurso-card,.noticia-card,.dictamen-item,.alianza-card,.ally-card,.info-card,.etapa{
  background:#fff; border:1px solid var(--linea); border-radius:18px;
  padding:clamp(20px,2.3vw,32px); display:flex; flex-direction:column; gap:10px;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .35s var(--ease);
}
.recurso-card:hover,.noticia-card:hover,.dictamen-item:hover,.alianza-card:hover,.ally-card:hover,.etapa:hover{
  transform:translateY(-6px); box-shadow:0 22px 50px rgba(14,17,22,.12); border-color:var(--naranja);
}
.recurso-card h4,.noticia-card h4,.dictamen-item h4,.ally-card h4{ font-size:var(--f-h3); font-weight:600; letter-spacing:-.012em; }
.recurso-card h3,.noticia-card h3,.dictamen-item h3,.info-card h3,.etapa h3{ font-size:var(--f-h3); font-weight:600; letter-spacing:-.012em; }
.recurso-card p,.noticia-card p,.dictamen-item p,.info-card p,.ally-card p,.etapa p{ color:var(--ink-soft); font-size:clamp(.92rem,1vw,1.02rem); }
.recurso-card a,.noticia-card a,.etapa-mas,.alianza-link{
  margin-top:auto; padding-top:8px; font-size:var(--f-small); font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--naranja);
  display:inline-flex; gap:8px; align-items:center;
}
.recurso-card a:hover,.noticia-card a:hover,.etapa-mas:hover,.alianza-link:hover{ color:var(--ink); }
.meta{ font-size:var(--f-small); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); font-weight:600; }
.destacada{ border-color:var(--naranja); box-shadow:0 18px 44px rgba(255,117,31,.16); }

/* ---------- Etapas (ciclo de vida) ---------- */
.etapa-num{
  font-size:var(--f-small); font-weight:700; letter-spacing:.16em; color:var(--naranja);
}
.etapa .icono,.icono{
  font-size:1.6rem; line-height:1; display:block;
  width:clamp(42px,3.6vw,58px); height:clamp(42px,3.6vw,58px); flex:0 0 auto;
}
.icono svg{ width:100%; height:100%; display:block; stroke:var(--naranja); }
/* Salvaguarda: ningún SVG suelto puede estirarse a lo alto del contenedor */
.v7-main svg{ max-width:100%; }
.v7-main svg:not([width]):not([height]){ width:clamp(42px,3.6vw,58px); height:auto; }
.etapa-nav{ display:flex; flex-wrap:wrap; gap:10px; margin-top:1.4em; }
.etapa-nav-link{
  font-size:var(--f-small); font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:10px 18px; border:1px solid var(--linea); border-radius:100px; color:var(--ink-soft);
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.etapa-nav-link:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.derecha{ text-align:right; }

/* ---------- Secciones de servicios ---------- */
.servicio-section{
  padding:clamp(26px,3.4vw,48px) 0; border-top:1px solid var(--linea); display:grid; gap:.9em;
}
.servicio-section:first-of-type{ border-top:0; }
.servicio-section h2{ font-size:var(--f-h2); font-weight:700; letter-spacing:-.028em; }
.servicio-section h3{ font-size:var(--f-h3); font-weight:600; }
.servicio-section p{ color:var(--ink-soft); }
.section-header{ display:grid; gap:12px; margin-bottom:clamp(20px,3vh,38px); }

/* ---------- Alianzas ---------- */
.alianzas-intro{ max-width:70ch; color:var(--ink-soft); font-size:clamp(1.02rem,1.3vw,1.24rem); }
.alianza-logo{ height:56px; width:auto; object-fit:contain; margin-bottom:6px; }
.alianza-razon{ font-size:var(--f-small); letter-spacing:.1em; text-transform:uppercase; color:var(--naranja); font-weight:700; }
.alianza-como{ color:var(--ink-soft); font-size:clamp(.9rem,.98vw,1rem); }
.alianzas-nota{ margin-top:1.6em; font-size:var(--f-small); color:var(--ink-soft); }
.alianzas-cta{
  margin-top:clamp(30px,5vh,60px); padding:clamp(26px,3.4vw,48px);
  background:var(--azul-deep); color:#fff; border-radius:20px; display:grid; gap:14px; justify-items:start;
}
.alianzas-cta h2,.alianzas-cta h3{ font-size:var(--f-h2); letter-spacing:-.028em; }
.alianzas-cta p{ color:rgba(255,255,255,.78); }
.alianzas-cta .btn{ background:#fff; color:var(--azul-deep); border-color:#fff; }
.alianzas-cta .btn:hover{ background:var(--naranja); border-color:var(--naranja); color:#fff; }

/* ---------- Nosotros ---------- */
.about-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:clamp(24px,4vw,64px); align-items:start; }
.about-text{ display:grid; gap:1.05em; }
.about-text p{ color:var(--ink-soft); }
.about-text strong{ color:var(--ink); font-weight:600; }
.about-visual{ display:grid; gap:14px; }

/* ---------- Contacto / formularios ---------- */
.form-section{ display:grid; gap:16px; }
.form-intro{ color:var(--ink-soft); max-width:60ch; }
.form-fila{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:14px; }
.form-group{ display:grid; gap:7px; }
.form-group label{ font-size:var(--f-small); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.form-group input,.form-group textarea,.form-group select{
  font:inherit; color:var(--ink); background:#fff; border:1px solid var(--linea); border-radius:12px;
  padding:14px 16px; width:100%;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none; border-color:var(--naranja); box-shadow:0 0 0 3px rgba(255,117,31,.16);
}
.campo-oculto{ position:absolute; left:-9999px; opacity:0; }
.form-aviso{ font-size:var(--f-small); color:var(--ink-soft); }
.contact-info{ display:grid; gap:12px; }
.contact-info a{ color:var(--ink); }
.contact-info a:hover{ color:var(--naranja); }

.wa-boton{
  display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:100px;
  background:#25D366; color:#fff; font-weight:600; font-size:var(--f-small);
  letter-spacing:.1em; text-transform:uppercase;
  transition:transform .3s var(--ease), filter .3s var(--ease);
}
.wa-boton:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.wa-icono{ width:20px; height:20px; }

/* ---------- Tarjeta digital ---------- */
.tarjeta-seccion{ padding:clamp(30px,5vh,60px) 0; }
.tarjeta-wrap{ display:grid; place-items:center; }
.tarjeta{ background:#fff; border:1px solid var(--linea); border-radius:22px; padding:clamp(24px,3vw,40px); max-width:460px; width:100%; display:grid; gap:14px; }
.tarjeta-logo{ height:54px; width:auto; }
.tarjeta-cargo{ color:var(--naranja); font-weight:600; font-size:var(--f-small); letter-spacing:.12em; text-transform:uppercase; }
.tarjeta-empresa{ color:var(--ink-soft); }
.tarjeta-datos{ display:grid; gap:8px; }
.tarjeta-datos a{ color:var(--ink); }
.tarjeta-datos a:hover{ color:var(--naranja); }
.tarjeta-acciones{ display:flex; flex-wrap:wrap; gap:10px; }
.tarjeta-qr{ max-width:170px; }
.tb{ display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:100px; font-size:var(--f-small); font-weight:600; letter-spacing:.1em; text-transform:uppercase; border:1px solid var(--linea); }
.tb-azul{ background:var(--azul); color:#fff; border-color:var(--azul); }
.tb-verde{ background:#25D366; color:#fff; border-color:#25D366; }
.tb-linea{ background:transparent; }

/* ---------- Responsivo ---------- */
@media (max-width:760px){
  .derecha{ text-align:left; }
  .etapa-cuerpo{ max-width:100%; }
}

/* Ajuste fino: etiquetas y valores de la tarjeta digital */
.tarjeta-datos li{ display:flex; flex-wrap:wrap; gap:6px 10px; align-items:baseline; }
.tarjeta-datos li strong,.tarjeta-datos li span:first-child{
  font-size:var(--f-small); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); font-weight:600;
}
