/* ══════════════════════════════════════════════════════════════════════
   GB SOCIAL CRM — identidad visual propia (capa de la landing)
   Se carga DESPUÉS de app.css y sustituye el look de la réplica:
   papel cálido + tinta profunda + naranja de señal, esquinas rectas,
   rejilla hairline, etiquetas monoespaciadas y secciones numeradas.
   No toca ni una clase del panel (app.html): solo l-* y botones.
   ══════════════════════════════════════════════════════════════════════ */

:root{
  --paper:#F6F4EF;
  --paper-2:#FFFFFF;
  --ink:#0A1520;
  --ink-2:#33414F;
  --ink-3:#6B7787;
  --line-2:#DCD8CE;
  --signal:#FF4D14;
  --signal-soft:#FFEDE6;
  --mint:#0FBFA5;
  --brand:#004080;
  --radius:4px;
}

/* ── base ────────────────────────────────────────────────── */
body{
  background:var(--paper)!important;
  color:var(--ink)!important;
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;
}

/* ── barra superior ─────────────────────────────────────── */
body > nav, nav.l-nav{
  background:rgba(246,244,239,.86)!important;
  border-bottom:1px solid var(--line-2)!important;
  backdrop-filter:blur(10px);
  box-shadow:none!important;
  height:62px;
}
body > nav a, nav.l-nav a{color:var(--ink)!important;font-weight:600;letter-spacing:-.1px}
body > nav a:hover{color:var(--signal)!important}

/* ── hero: editorial, rejilla hairline, acento naranja ──── */
.l-hero{
  position:relative;
  background:var(--paper)!important;
  padding:104px 0 84px!important;
  overflow:hidden;
  border-bottom:1px solid var(--line-2);
}
.l-hero::before{                     /* retícula técnica de fondo */
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(10,21,32,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10,21,32,.055) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 22% 12%, #000 0%, transparent 72%);
}
.l-hero::after{                      /* barra de señal */
  content:"";position:absolute;left:0;top:0;width:6px;height:100%;
  background:linear-gradient(to bottom,var(--signal) 0%,var(--signal) 38%,transparent 38%);
}
.l-hero h1{
  font-size:clamp(34px,5.2vw,62px)!important;
  line-height:.99!important;letter-spacing:-2.2px!important;
  font-weight:800!important;color:var(--ink)!important;
  max-width:15ch;margin:0 0 22px!important;
}
.l-hero h1 em,.l-hero h1 span{color:var(--signal)!important;font-style:normal}
.l-hero p, .l-hero .l-sub{
  font-size:16.5px!important;line-height:1.62!important;
  color:var(--ink-2)!important;max-width:52ch;
}
.l-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
  font-size:10.5px!important;font-weight:700!important;
  letter-spacing:1.6px!important;text-transform:uppercase!important;
  color:var(--ink-3)!important;background:none!important;
  border:0!important;border-radius:0!important;padding:0 0 14px!important;
}
.l-eyebrow::before{content:"";width:26px;height:2px;background:var(--signal)}

/* ── botones: rectos, sin sombras difusas ────────────────── */
.btn-main{
  border-radius:var(--radius)!important;
  background:var(--ink)!important;color:#fff!important;
  border:1px solid var(--ink)!important;
  padding:13px 22px!important;font-size:13.5px!important;font-weight:700!important;
  letter-spacing:-.1px;box-shadow:4px 4px 0 rgba(10,21,32,.14)!important;
  transition:transform .12s ease, box-shadow .12s ease, background .12s;
}
.btn-main:hover{background:var(--signal)!important;border-color:var(--signal)!important;
  transform:translate(-1px,-1px);box-shadow:6px 6px 0 rgba(255,77,20,.22)!important}
.btn-ghost{
  border-radius:var(--radius)!important;background:transparent!important;
  color:var(--ink)!important;border:1px solid var(--line-2)!important;
  padding:13px 22px!important;font-size:13.5px!important;font-weight:700!important;
  box-shadow:none!important;
}
.btn-ghost:hover{border-color:var(--ink)!important;color:var(--ink)!important}

/* ── franja de canales: de marquesina a fila técnica ────── */
.l-marquee{
  background:var(--ink)!important;color:var(--paper)!important;
  border:0!important;padding:0!important;overflow:hidden;
}
.l-marquee > *{
  animation:none!important;display:flex!important;gap:0!important;
  justify-content:center;flex-wrap:wrap;margin:0 auto!important;
}
.l-marquee span{
  font-family:ui-monospace,monospace;font-size:10.5px;letter-spacing:1.4px;
  text-transform:uppercase;color:#B9C4CF!important;
  padding:15px 18px;border-right:1px solid rgba(255,255,255,.09);
}
.l-marquee span:last-child{border-right:0}
.l-marquee b,.l-marquee strong{color:#fff!important}

/* ── métricas ───────────────────────────────────────────── */
.l-stats{
  background:var(--paper-2)!important;border-bottom:1px solid var(--line-2);
  padding:34px 0!important;
}
.l-stats > *{gap:0!important}
.l-stats .st, .l-stats > div > div{
  border-right:1px solid var(--line-2);padding:2px 26px;
}
.l-stats .st:last-child{border-right:0}
.l-stats b, .l-stats .num{
  font-family:ui-monospace,monospace!important;
  font-size:29px!important;font-weight:700!important;letter-spacing:-1.5px;
  color:var(--ink)!important;
}
.l-stats small, .l-stats span{font-size:11px!important;color:var(--ink-3)!important;
  text-transform:uppercase;letter-spacing:1.2px;font-weight:700}

/* ── secciones: numeradas, con hairline ────────────────── */
.l-sect{
  background:var(--paper)!important;
  padding:82px 0!important;border-top:1px solid var(--line-2);
  counter-increment:sect;
}
.l-sect.alt{background:var(--paper-2)!important}
.l-sect.dark{background:var(--ink)!important;border-top:0}
.l-sect.dark h2,.l-sect.dark h3{color:#fff!important}
.l-sect.dark p,.l-sect.dark .l-sub{color:#A9B6C2!important}
.l-sect h2{
  font-size:clamp(23px,2.6vw,33px)!important;letter-spacing:-1.1px!important;
  line-height:1.1!important;font-weight:800!important;color:var(--ink);
  max-width:26ch;margin:0 0 10px!important;
}
.l-sect h3{font-size:16px!important;letter-spacing:-.35px!important;font-weight:750!important}
.l-sect p{color:var(--ink-2)!important;line-height:1.62!important}
.l-sect h2::before{
  content:counter(sect,decimal-leading-zero);
  display:block;font-family:ui-monospace,monospace;font-size:11px;
  letter-spacing:1.6px;color:var(--signal);margin-bottom:10px;font-weight:700;
}

/* ── tarjetas: borde fino, esquina recta, sin glow ──────── */
.l-card{
  background:var(--paper-2)!important;
  border:1px solid var(--line-2)!important;
  border-radius:var(--radius)!important;
  box-shadow:none!important;
  padding:22px!important;
  transition:border-color .14s, transform .14s;
}
.l-card:hover{border-color:var(--ink)!important;transform:translateY(-2px)}
.l-card h4,.l-card b{color:var(--ink)!important;letter-spacing:-.2px}
.l-card p{font-size:12.5px!important;color:var(--ink-3)!important}
.l-grid3{gap:14px!important}

/* ── pestañas: subrayado técnico, no píldoras ──────────── */
.l-tabs{
  gap:2px!important;border-bottom:1px solid var(--line-2);
  display:flex;flex-wrap:wrap;margin-bottom:26px;
}
.l-tabs button, .l-tabs .tab{
  border:0!important;border-bottom:2px solid transparent!important;
  border-radius:0!important;background:transparent!important;
  padding:11px 15px!important;font-size:12.5px!important;font-weight:700!important;
  color:var(--ink-3)!important;letter-spacing:-.1px;box-shadow:none!important;
}
.l-tabs button.on, .l-tabs .tab.on{
  color:var(--ink)!important;border-bottom-color:var(--signal)!important;
  background:transparent!important;
}
.l-tab-panel,.tpane{
  background:var(--paper-2)!important;border:1px solid var(--line-2)!important;
  border-radius:var(--radius)!important;padding:24px!important;box-shadow:none!important;
}
.tp-mock,.qm,.wl-mock{
  background:var(--paper)!important;border:1px solid var(--line-2)!important;
  border-radius:var(--radius)!important;
}
.qm-row{border-bottom:1px solid var(--line-2);font-size:12px}
.qm-row:last-child{border-bottom:0}
.qm-row .ok, .tag.ok{
  background:var(--mint)!important;color:#04231f!important;
  border-radius:2px!important;font-weight:800;letter-spacing:.3px;
}
.qm-tag{background:var(--paper)!important;border:1px solid var(--line-2)!important;
  border-radius:2px!important;color:var(--ink-3)!important}

/* ── pasos: línea de tiempo con regla vertical ─────────── */
.l-steps{gap:0!important;display:grid!important;grid-template-columns:repeat(5,1fr)}
.l-steps > *{
  border-left:1px solid var(--line-2);padding:0 18px 0 20px;position:relative;
}
.l-steps > *:first-child{border-left:0;padding-left:0}
.l-steps > *::before{
  content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;
  background:var(--signal);border-radius:50%;
}
.l-steps > *:first-child::before{left:0}
@media(max-width:900px){.l-steps{grid-template-columns:1fr!important}
  .l-steps > *{border-left:0;padding:0 0 20px}}

/* ── precios: rectos, el central elevado con barra naranja ─ */
.l-plan{
  background:var(--paper-2)!important;border:1px solid var(--line-2)!important;
  border-radius:var(--radius)!important;padding:26px 24px!important;
  box-shadow:none!important;position:relative;transition:border-color .15s;
}
.l-plan.on{
  border:1px solid var(--ink)!important;
  box-shadow:8px 8px 0 rgba(10,21,32,.1)!important;
  transform:translateY(-4px);
}
.l-plan.on::before{
  content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;
  background:var(--signal);
}
.p-pill{
  background:var(--signal)!important;color:#fff!important;border-radius:0!important;
  font-family:ui-monospace,monospace;font-size:9.5px!important;letter-spacing:1.3px;
  text-transform:uppercase;padding:4px 9px!important;font-weight:800;
}
.l-plan h4{font-size:12px!important;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--ink-3)!important;font-family:ui-monospace,monospace;font-weight:700!important}
.p-price{display:flex;align-items:baseline;gap:6px;margin:12px 0 4px}
.p-price b{
  font-family:ui-monospace,monospace!important;font-size:38px!important;
  letter-spacing:-2.2px!important;font-weight:700!important;color:var(--ink)!important;
}
.p-price span{font-size:11px!important;color:var(--ink-3)!important;letter-spacing:.4px}
.l-plan ul{list-style:none;padding:0;margin:16px 0 20px;display:grid;gap:7px}
.l-plan li{font-size:12.5px!important;color:var(--ink-2)!important;padding-left:18px;position:relative}
.l-plan li::before{content:"—";position:absolute;left:0;color:var(--signal);font-weight:700}

/* ── FAQ, blog y white-label ───────────────────────────── */
.l-sect .l-card .l-date,.l-date{font-family:ui-monospace,monospace;font-size:10px;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)!important}
.l-thumb,.l-read{border-radius:2px!important}
.l-sect.wl{background:var(--brand)!important;border-top:0}
.l-sect.wl h2,.l-sect.wl h3,.l-sect.wl b{color:#fff!important}
.l-sect.wl p,.l-sect.wl .l-sub{color:#CFE0F0!important}
.l-sect.wl .l-card{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.18)!important}
.l-sect.wl .l-card p{color:#D8E6F2!important}

/* ── pie ───────────────────────────────────────────────── */
body > footer, footer.l-footer{
  background:var(--ink)!important;color:#93A2B0!important;
  border-top:3px solid var(--signal);
  padding:44px 0 30px!important;
}
body > footer a, footer.l-footer a{color:#C7D2DC!important}
body > footer a:hover{color:var(--signal)!important}

/* ── detalles tipográficos globales de la landing ─────── */
.l-sect, .l-hero, .l-stats, body > footer{font-feature-settings:"ss01"}
.l-chip,.l-chips span{
  border-radius:2px!important;border:1px solid var(--line-2)!important;
  background:var(--paper-2)!important;font-size:11px!important;
  font-family:ui-monospace,monospace;letter-spacing:.6px;color:var(--ink-2)!important;
}
.l-check::before{color:var(--mint)!important}

@media(max-width:760px){
  .l-hero{padding:66px 0 54px!important}
  .l-sect{padding:56px 0!important}
  .l-plan.on{transform:none}
  .l-stats .st, .l-stats > div > div{border-right:0;padding:8px 0;text-align:left}
}
