/* ═══════════════════════════════════════════════
   SENDAR — estilos compartidos (todas las páginas)
   Generado desde los bloques inline unificados.
   ═══════════════════════════════════════════════ */

/* ── cta-enhance ── */
/* ═══ ZONA CTA FUSIONADA (pre-footer oculto; un solo CTA bajo ¿HABLAMOS?) ═══ */
#pre-footer{ display:none !important; }
.footer-cta{ display:flex; flex-direction:column; align-items:flex-start; position:relative; }
.footer-cta::before{
  content:'¿Tienes un proyecto en mente?';
  font-family:'TT Lakes Neue','Impact',sans-serif;
  font-size:clamp(12px,1.2vw,15px);
  font-weight:700; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--accent); margin-bottom:clamp(14px,1.6vw,22px);
}
/* ¿HABLAMOS? = titular (ya no parece un botón: sin subrayado grueso) */
.footer-cta > a:first-of-type{ display:inline-block; border-bottom:none !important; transition:color .35s var(--ease); }
.footer-cta > a:first-of-type::after{ display:none !important; content:none !important; }
.footer-cta > a:first-of-type:hover{ color:var(--accent) !important; }
/* botón suave — misma identidad, menos potente que el rojo sólido, tamaño visible */
.cta-fusion-btn{
  display:inline-flex; align-items:center; gap:14px;
  margin-top:clamp(28px,3.6vw,46px);
  padding:clamp(17px,1.9vw,23px) clamp(34px,3.6vw,54px);
  border-radius:100px;
  border:2px solid rgba(214,46,73,0.55);
  background:rgba(214,46,73,0.10);
  color:var(--light);
  font-family:'TT Lakes Neue','Impact',sans-serif;
  font-size:clamp(14px,1.25vw,17px); font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  transition:background .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
}
.cta-fusion-btn span{ color:var(--accent); font-size:1.25em; line-height:1; transition:transform .35s var(--ease), color .35s var(--ease); }
.cta-fusion-btn:hover{ background:rgba(214,46,73,0.92); border-color:var(--accent); transform:translateY(-2px); box-shadow:0 14px 34px rgba(214,46,73,0.38); }
.cta-fusion-btn:hover span{ transform:translateX(6px); color:#fff; }
@media(max-width:600px){ .cta-fusion-btn{ width:100%; justify-content:center; } }

/* ── read-boost ── */
/* ═══ LEGIBILIDAD GLOBAL v3 (fix: clases sobre fondo CLARO conservan texto oscuro) ═══ */
/* 1) sin tracking negativo heredado */
body, p, li, dd, .sv-intro-body { letter-spacing: normal !important; }
/* 2) tamaño/aire para TODO el cuerpo (sin tocar color aquí) */
.sv-intro-p, .sv-intro-body p, #sv-services p, .sv-res-hdr p, .sv-claim-body,
.sv-acc-desc, .sv-cap-desc, .sv-tech-body, .sv-faq-answer, .sv-plan-desc, .sv-inc-subtitle,
.pj-mod-desc, .pj-tech-body, .pj-body, .pj-desc,
.pr-card-body, .pr-faq-answer, .pr-note,
.legal p, .legal-card p, .pnr-desc, .fbrand-tag,
.intro-small-text, .intro-small-text p, .work-card-desc,
.rule-desc, .clients-body, .success-body {
  font-size: clamp(15.5px, 1.1vw, 17px) !important;
  line-height: 1.75 !important;
  letter-spacing: normal !important;
}
/* 3) color CLARO solo en clases sobre fondo oscuro */
.sv-intro-p, .sv-intro-body p, #sv-services p, .sv-res-hdr p, .sv-claim-body,
.sv-cap-desc, .sv-tech-body, .sv-faq-answer, .sv-inc-subtitle,
.pj-mod-desc, .pj-tech-body, .pj-body, .pj-desc,
.pr-faq-answer, .pr-note,
.legal p, .legal-card p, .pnr-desc, .fbrand-tag,
.intro-small-text, .intro-small-text p, .work-card-desc,
.rule-desc, .clients-body, .success-body {
  color: rgba(238,238,242,0.94) !important;
}
/* 4) clases sobre fondo CLARO (acordeón servicios, tarjetas plan, tarjetas precios): texto OSCURO legible */
.sv-acc-desc, .sv-plan-desc, .pr-card-body, .pr-card-subtitle {
  color: rgba(29,33,69,0.92) !important;
}
/* 5) leads/citas: aire y contraste sin cambiar tamaño (solo fondo oscuro) */
.sv-hero-desc, .sv-lead, .pj-lead, .pj-cta-sub, .sv-cta-sub,
.test-quote, .pr-sec-intro {
  line-height: 1.7 !important; letter-spacing: normal !important;
  color: rgba(238,238,242,0.92) !important;
}

/* ── mobile-simplify ── */
/* ═══ MÓVIL: un solo botón flotante (menú). Logo y lápiz fuera; el logo (completo) vive dentro del menú ═══ */
@media(max-width:768px){
  .nav-brand { display: none !important; }
  #fixed-cta { display: none !important; }
  .menu-logo-mobile { display: flex !important; align-items: center; gap: 14px; margin: 0 0 22px; }
  .menu-logo-mobile a { display: block; width: 62px; height: 62px; flex: 0 0 auto; }
  .menu-logo-mobile svg { width: 100%; height: 100%; display: block; }
  .menu-logo-mobile .mlm-text { display: flex; flex-direction: column; }
  .menu-logo-mobile .mlm-name { font-family: 'TT Tunnels Bold','Impact',sans-serif; font-weight: 900; font-size: 19px; letter-spacing: 0.24em; color: var(--dark); line-height: 1.1; }
  .menu-logo-mobile .mlm-sub { font-family: 'TT Lakes Neue','Impact',sans-serif; font-size: 10px; letter-spacing: 0.30em; color: rgba(29,33,69,0.55); margin-top: 4px; }
}
.menu-logo-mobile { display: none; }

/* ── acc-center ── */
/* panel abierto del acordeón: contenido centrado (no abajo-izquierda) */
.sv-acc-item.is-active .sv-acc-self-end { justify-content: center !important; align-items: center !important; }
.sv-acc-item.is-active .sv-acc-htitle { text-align: center; white-space: normal; max-width: 100%; }
@media(max-width:768px){
  .sv-acc-item.is-active .sv-acc-self-end { align-items: flex-start !important; }
  .sv-acc-item.is-active .sv-acc-htitle { text-align: left; }
}

/* ── legal-cards ── */
/* ═══ LEGALES — tarjetas ═══ */
.legal { counter-reset: legalc; }
.legal-inner { max-width: 940px !important; display: flex; flex-direction: column; gap: clamp(16px,2vw,26px); }
.legal-card {
  counter-increment: legalc;
  background: linear-gradient(180deg, rgba(40,45,92,0.46), rgba(19,22,46,0.40));
  border: 1px solid rgba(238,238,242,0.10);
  border-radius: 20px;
  padding: clamp(24px,3vw,40px) clamp(22px,3vw,44px);
  position: relative;
}
.legal-card > h2:first-child { margin-top: 0 !important; display: flex; align-items: baseline; gap: 14px; }
.legal-card > h2:first-child::before {
  content: counter(legalc,decimal-leading-zero);
  font-family:'TT Lakes Neue','Impact',sans-serif; font-size: clamp(12px,1.1vw,14px);
  font-weight:700; letter-spacing:0.14em; color: var(--accent);
  border:1px solid rgba(214,46,73,0.4); border-radius:100px; padding:5px 11px; flex:0 0 auto;
}
.legal-card p { color: rgba(238,238,242,0.94) !important; font-size: clamp(15px,1.12vw,17px) !important; line-height: 1.82 !important; }
.legal-card p:last-child { margin-bottom: 0; }
.legal-card .legal-box { background: rgba(19,22,46,0.5); }
.legal-updated { text-align:center; }
@media(max-width:600px){ .legal-card { border-radius:16px; padding:22px 18px; } .legal-card > h2:first-child{ flex-wrap:wrap; gap:10px; } }
