/* ============================================================
   prueba-social.css — Prueba social, testimonios y logro
   Alkimia · datos reales · mobile-first
   Carga DESPUÉS de promo.css y ANTES de themes.css
   ============================================================ */

/* ── Estrellas / badge ─────────────────────────────────────── */
.ps-stars { color: var(--gold); font-size: 17px; letter-spacing: 3px; line-height: 1; }
.ps-stars.deep { color: var(--gold-deep); }

.ps-badge {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 22px;
}
.ps-badge .c {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: color-mix(in srgb, var(--bone) 68%, transparent);
}
.ps-badge .c b { color: var(--gold); font-weight: 700; }
@media (min-width: 960px) { .ps-badge .c { font-size: 12px; } }

/* ── Insignia de confianza en el hero ──────────────────────── */
.ps-trust {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-top: 24px; padding-top: 22px;
  border-top: 1px solid color-mix(in srgb, var(--moss) 70%, transparent);
}
.ps-avastack { display: flex; }
.ps-avastack .a {
  width: 38px; height: 38px; border-radius: 50%;
  border: 2px solid var(--forest); background: var(--moss); margin-left: -11px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif-display); font-weight: 600; font-size: 13px; color: var(--gold);
}
.ps-avastack .a:first-child { margin-left: 0; }
.ps-avastack .a.more { background: var(--gold); color: var(--ink); font-family: var(--mono); font-size: 11px; }
.ps-trust-txt { font-family: var(--serif-body); font-size: 14px; line-height: 1.4; color: color-mix(in srgb, var(--bone) 82%, transparent); }
.ps-trust-txt b { color: var(--gold); font-weight: 600; }
.ps-trust .ps-stars { font-size: 14px; letter-spacing: 2px; }

/* ── Banda de estadísticas ─────────────────────────────────── */
.ps-band { padding: 0; background: var(--forest); }
.ps-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border-top: 1px solid var(--moss); border-bottom: 1px solid var(--moss);
}
@media (min-width: 720px) { .ps-stats { grid-template-columns: repeat(4, 1fr); } }
.ps-stat {
  padding: 28px 18px; text-align: center;
  border-right: 1px solid color-mix(in srgb, var(--moss) 75%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--moss) 75%, transparent);
}
@media (min-width: 720px) {
  .ps-stat { padding: 36px 20px; border-bottom: none; }
  .ps-stat:last-child { border-right: none; }
}
.ps-stat:nth-child(2n) { border-right: none; }
@media (min-width: 720px) { .ps-stat:nth-child(2n) { border-right: 1px solid color-mix(in srgb, var(--moss) 75%, transparent); } }
.ps-stat-n {
  font-family: var(--serif-display); font-weight: 600;
  font-size: clamp(34px, 7vw, 50px); line-height: 1; color: var(--gold); letter-spacing: -0.01em;
}
.ps-stat-n .u { font-size: 0.5em; color: var(--gold-soft); }
.ps-stat-l {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--sage); margin-top: 12px;
}
@media (min-width: 960px) { .ps-stat-l { font-size: 11px; } }

/* ============================================================
   SECCIÓN TESTIMONIOS — muro de pruebas
   ============================================================ */
.ps-testi { padding: 72px 0 64px; }
@media (min-width: 960px) { .ps-testi { padding: 112px 0 96px; } }
.ps-testi-title { font-size: clamp(30px, 6vw, 56px); margin: 14px 0 40px; }
.ps-testi-title em { font-family: var(--serif-body); font-style: italic; font-weight: 400; color: var(--gold); }
@media (min-width: 960px) { .ps-testi-title { margin-bottom: 56px; } }

/* Muro masonry */
.ps-wall { columns: 1; column-gap: 18px; }
@media (min-width: 600px) { .ps-wall { columns: 2; } }
@media (min-width: 960px) { .ps-wall { columns: 3; column-gap: 22px; } }
.ps-wall > * { break-inside: avoid; margin: 0 0 18px; width: 100%; display: block; }
@media (min-width: 960px) { .ps-wall > * { margin-bottom: 22px; } }

/* ── WhatsApp ──────────────────────────────────────────────── */
.ps-wa {
  background: #0B141A; border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 14px 40px rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.04);
}
.ps-wa-head { background: #1F2C34; padding: 11px 14px; display: flex; align-items: center; gap: 11px; }
.ps-wa-ava {
  width: 38px; height: 38px; border-radius: 50%; background: var(--moss);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif-display); font-weight: 600; font-size: 15px; color: var(--gold); flex-shrink: 0;
}
.ps-wa-name { font-family: var(--mono); font-size: 13px; color: #E9EDEF; font-weight: 500; }
.ps-wa-sub  { font-family: var(--mono); font-size: 10.5px; color: #8696A0; letter-spacing: .04em; }
.ps-wa-body { padding: 14px 12px; background: #0B141A; display: flex; flex-direction: column; gap: 8px; }
.ps-wa-bub { background: #1F2C34; border-radius: 9px 9px 9px 2px; padding: 9px 11px 7px; max-width: 86%; }
.ps-wa-bub.sent { background: #144D37; border-radius: 9px 9px 2px 9px; align-self: flex-end; }
.ps-wa-bub p { font-family: var(--serif-body); font-size: 13.5px; line-height: 1.5; color: #E9EDEF; margin: 0; }
.ps-wa-bub .hl { background: rgba(201,162,75,.30); border-radius: 2px; padding: 0 2px; }
.ps-wa-meta { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-top: 3px; }
.ps-wa-time { font-family: var(--mono); font-size: 9.5px; color: #8696A0; }
.ps-wa-check { color: #53BDEB; font-size: 11px; }

/* ── Recibo ────────────────────────────────────────────────── */
.ps-receipt { background: var(--bone); color: var(--ink); padding: 22px 22px 12px; box-shadow: 0 14px 40px rgba(0,0,0,.34); }
.ps-receipt::after {
  content: ""; display: block; height: 14px;
  background: repeating-linear-gradient(90deg, var(--bone) 0 9px, transparent 9px 16px);
  margin: 14px -22px -12px;
}
.ps-receipt-top {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--serif-display); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px dashed var(--paper-line);
}
.ps-receipt-top .num { color: var(--gold-deep); font-family: var(--mono); letter-spacing: .1em; }
.ps-receipt-stars { text-align: center; color: var(--gold-deep); font-size: 16px; letter-spacing: 3px; margin-bottom: 14px; }
.ps-receipt-q { font-family: var(--serif-body); font-style: italic; font-size: 15px; line-height: 1.6; text-align: center; margin: 0 0 16px; }
.ps-receipt-line {
  border-top: 1px dashed var(--paper-line); padding-top: 12px; display: flex; justify-content: space-between;
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-deep);
}
.ps-receipt-vf {
  text-align: center; margin-top: 10px; font-family: var(--mono); font-size: 9px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--paper-line); display: flex; align-items: center; justify-content: center; gap: 6px;
}

/* ── Tarjeta-cita ──────────────────────────────────────────── */
.ps-q {
  background: color-mix(in srgb, var(--bottle) 50%, transparent); border: 1px solid var(--moss);
  padding: 24px 22px 20px; position: relative; display: flex; flex-direction: column;
}
.ps-q::before { content: ""; position: absolute; inset: 4px; border: 1px solid color-mix(in srgb, var(--gold) 16%, transparent); pointer-events: none; }
.ps-q-mark { font-family: var(--serif-display); font-size: 40px; line-height: 1; color: color-mix(in srgb, var(--gold) 45%, transparent); margin-bottom: 8px; user-select: none; }
.ps-q-text { font-family: var(--serif-body); font-style: italic; font-size: 15.5px; line-height: 1.62; color: var(--bone); margin: 0 0 18px; flex-grow: 1; }
.ps-q-text .hl { color: var(--gold-soft); font-style: normal; }
.ps-q-foot { display: flex; align-items: center; gap: 10px; border-top: 1px solid color-mix(in srgb, var(--moss) 75%, transparent); padding-top: 14px; }
.ps-q-ava { width: 34px; height: 34px; border-radius: 50%; background: var(--moss); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: var(--serif-display); font-weight: 600; font-size: 13px; color: var(--gold); }
.ps-q-id { display: flex; flex-direction: column; gap: 1px; }
.ps-q-name { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); font-weight: 700; }
.ps-q-loc { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--sage); }
.ps-vf { margin-left: auto; font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: var(--leaf); display: inline-flex; align-items: center; gap: 5px; }
.ps-check { width: 15px; height: 15px; border-radius: 50%; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; flex-shrink: 0; }

/* ── Captura real ──────────────────────────────────────────── */
.ps-shot { border-radius: 9px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.34); background: var(--bottle); border: 1px solid color-mix(in srgb, var(--gold) 14%, transparent); }
.ps-shot img { width: 100%; height: auto; display: block; }
.ps-shot-cap { font-family: var(--serif-body); font-style: italic; font-size: 12.5px; line-height: 1.45; color: color-mix(in srgb, var(--bone) 68%, transparent); margin-top: 10px; }

/* ============================================================
   PROBABILIDAD DE LOGRO
   ============================================================ */
.ps-logro { padding: 72px 0; }
@media (min-width: 960px) { .ps-logro { padding: 104px 0; } }
.ps-logro-title { font-size: clamp(28px, 5.5vw, 48px); margin: 14px 0 12px; }
.ps-logro-title em { font-family: var(--serif-body); font-style: italic; font-weight: 400; color: var(--gold); }
.ps-logro-lede { margin-bottom: 44px; }

/* Línea de tiempo */
.ps-tl { display: grid; grid-template-columns: 1fr; gap: 22px; }
@media (min-width: 720px) { .ps-tl { grid-template-columns: repeat(7, 1fr); gap: 0; } }
.ps-tl-day { position: relative; padding: 0 8px; display: flex; flex-direction: row; align-items: flex-start; gap: 16px; text-align: left; }
@media (min-width: 720px) { .ps-tl-day { flex-direction: column; align-items: center; text-align: center; gap: 0; } }
@media (min-width: 720px) {
  .ps-tl-day::before { content: ""; position: absolute; top: 14px; left: 0; right: 0; height: 2px; background: color-mix(in srgb, var(--gold) 32%, transparent); }
  .ps-tl-day:first-child::before { left: 50%; }
  .ps-tl-day:last-child::before { right: 50%; }
}
.ps-tl-dot {
  width: 30px; height: 30px; border-radius: 50%; background: var(--forest); border: 2px solid var(--gold);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  font-family: var(--mono); font-size: 12px; font-weight: 700; color: var(--gold); position: relative; z-index: 1;
}
@media (min-width: 720px) { .ps-tl-dot { margin: 0 auto 16px; } }
.ps-tl-day:last-child .ps-tl-dot { background: var(--gold); color: var(--ink); }
.ps-tl-body { display: flex; flex-direction: column; }
.ps-tl-d { font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--sage); margin-bottom: 6px; }
.ps-tl-t { font-family: var(--serif-alt); font-size: 16px; line-height: 1.25; color: var(--bone); }
.ps-tl-r { font-family: var(--serif-body); font-style: italic; font-size: 12.5px; line-height: 1.45; color: var(--gold-soft); margin-top: 8px; }

/* Antes / Después */
.ps-ba { display: grid; grid-template-columns: 1fr; border: 1px solid var(--moss); margin-top: 44px; }
@media (min-width: 720px) { .ps-ba { grid-template-columns: 1fr auto 1fr; } }
.ps-ba-col { padding: 30px 28px; }
.ps-ba-col.before { background: color-mix(in srgb, var(--forest) 50%, transparent); }
.ps-ba-col.after  { background: color-mix(in srgb, var(--bottle) 85%, transparent); }
.ps-ba-arrow {
  display: flex; align-items: center; justify-content: center; padding: 14px 4px;
  background: var(--gold); color: var(--ink); font-family: var(--serif-body); font-size: 24px;
}
.ps-ba-arrow .v { display: none; } .ps-ba-arrow .h { display: inline; }
@media (min-width: 720px) { .ps-ba-arrow .v { display: inline; } .ps-ba-arrow .h { display: none; } }
.ps-ba-tag { font-family: var(--mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 18px; display: inline-block; }
.ps-ba-col.before .ps-ba-tag { color: var(--rust); }
.ps-ba-col.after  .ps-ba-tag { color: var(--leaf); }
.ps-ba-li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; font-family: var(--serif-body); font-size: 15px; line-height: 1.5; color: color-mix(in srgb, var(--bone) 88%, transparent); }
.ps-ba-li:last-child { margin-bottom: 0; }
.ps-ba-li .mk { flex-shrink: 0; font-family: var(--mono); font-size: 13px; line-height: 1.5; }
.ps-ba-col.before .mk { color: var(--rust); }
.ps-ba-col.after  .mk { color: var(--leaf); }

/* ── Refuerzo bajo CTA ─────────────────────────────────────── */
.ps-ctaproof {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px;
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--sage);
}
.ps-ctaproof .ps-stars { font-size: 13px; letter-spacing: 2px; }
.ps-ctaproof .ps-avastack .a { width: 26px; height: 26px; font-size: 10px; margin-left: -8px; border-width: 1.5px; }
section.bone .ps-ctaproof { color: var(--gold-deep); }
section.bone .ps-ctaproof .ps-stars { color: var(--gold-deep); }
section.bone .ps-ctaproof .ps-avastack .a { border-color: var(--bone); }
.final .ps-ctaproof,
.ps-ctaproof.is-centered { justify-content: center; }
