/* ============================================================
   JN ∴ — /cotizador-ia · estilos de página
   ============================================================ */

/* ---------- HERO ---------- */
.cz-hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:104px;padding-bottom:64px;overflow:hidden}
.cz-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(28px,5vw,64px);align-items:center;width:100%}
.cz-hero__copy{max-width:560px}
.cz-hero h1{margin:18px 0 0;font-size:clamp(40px,6.2vw,76px)}
.cz-hero__sub{margin:24px 0 30px;max-width:46ch}
.cz-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}

/* a browser-framed mini quoter living on the client's site */
.cz-web{justify-self:center;width:100%;max-width:520px}
.cz-web .browser{box-shadow:var(--shadow-2)}
.cz-web .browser__viewport{aspect-ratio:auto;display:block;padding:0;background:#0c0c10}
.cz-site{padding:20px}
.cz-site__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cz-site__logo{font-family:var(--display);font-size:15px;color:var(--fg)}
.cz-site__dots{display:flex;gap:14px}
.cz-site__dots span{width:30px;height:5px;border-radius:3px;background:var(--hair)}
.cz-widget{background:var(--ink-2);border:1px solid var(--hair);border-radius:12px;padding:16px}
.cz-widget__h{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gold);font-family:var(--mono);letter-spacing:.04em;margin-bottom:13px}
.cz-widget__h::before{content:"∴";font-family:var(--display)}

/* ---------- PROMO (hero-level, lo más visible) ---------- */
.cz-promo{border:1px solid rgba(227,165,62,.45);border-radius:20px;background:var(--ink-soft);padding:clamp(24px,3.4vw,38px);display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center}
.cz-promo__gift{font-size:40px;line-height:1}
.cz-promo__gift svg{width:38px;height:38px;color:var(--gold)}
.cz-promo__tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.cz-promo__t{font-family:var(--display);font-size:clamp(21px,2.6vw,30px);color:var(--fg);line-height:1.15}
.cz-promo__d{font-size:14.5px;color:var(--lead);margin-top:9px;line-height:1.5;max-width:52ch}
.cz-promo__d b{color:var(--gold)}
.cz-promo__price{text-align:right;flex:none}
.cz-promo__price .was{font-size:15px;color:var(--muted);text-decoration:line-through;font-variant-numeric:tabular-nums}
.cz-promo__price .now{font-family:var(--display);font-size:clamp(34px,4vw,46px);color:var(--gold);font-variant-numeric:tabular-nums;line-height:1}
.cz-promo__price .mxn{font-family:var(--mono);font-size:11px;color:var(--muted)}

/* ---------- FLOW (3 pasos) ---------- */
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:stretch;margin-top:48px}
.flow__step{background:var(--ink-soft);border:1px solid var(--hair);border-radius:var(--r-card);padding:28px 24px;display:flex;flex-direction:column;gap:14px}
.flow__ico{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:var(--ink-2);border:1px solid var(--hair);color:var(--gold)}
.flow__ico .ico{width:24px;height:24px}
.flow__n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.flow__step h3{font-family:var(--sans);font-weight:600;font-size:17px;margin:0}
.flow__step p{margin:0;font-size:14px;color:var(--muted);line-height:1.5}
.flow__arrow{display:grid;place-items:center;color:var(--gold);opacity:.6}
.flow__arrow svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.4;fill:none}

/* ---------- DEMO: cotizador + PDF ---------- */
.cz-demo{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,48px);align-items:start}
.cz-quoter{background:var(--ink-2);border:1px solid var(--hair);border-radius:16px;padding:24px;position:sticky;top:90px}
.cz-quoter__h{font-family:var(--display);font-size:18px;margin:0 0 4px}
.cz-quoter__s{font-size:13px;color:var(--muted);margin:0 0 18px}
.cz-prod{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--hair)}
.cz-prod__name{font-size:14.5px;color:var(--fg)}
.cz-prod__price{font-size:12px;color:var(--muted);font-family:var(--mono)}
.cz-step{display:flex;align-items:center;border:1px solid var(--hair);border-radius:9px;overflow:hidden}
.cz-step button{width:34px;height:34px;font-size:17px;color:var(--lead)}
.cz-step button:hover{background:var(--ink-3);color:var(--gold)}
.cz-step .v{width:40px;text-align:center;font-variant-numeric:tabular-nums;border-inline:1px solid var(--hair);font-size:14px}
.cz-quoter__gen{margin-top:20px}

/* PDF proposal (paper sobre tinta) */
.pdf{background:var(--bone);color:#1a1815;border-radius:12px;padding:clamp(20px,2.6vw,30px);box-shadow:0 30px 70px -30px rgba(0,0,0,.7);position:relative;min-height:380px}
.pdf__top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.5px solid rgba(26,24,21,.14);padding-bottom:16px;margin-bottom:6px}
.pdf__brand{font-family:var(--display);font-size:20px;color:#1a1815}
.pdf__brand .tri{color:var(--gold-deep)}
.pdf__meta{text-align:right;font-family:var(--mono);font-size:10.5px;color:#6b6557;line-height:1.6}
.pdf__title{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a8270;margin:16px 0 8px}
.pdf__row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:9px 0;border-bottom:1px solid rgba(26,24,21,.08);font-size:13.5px;align-items:baseline}
.pdf__row .q{font-variant-numeric:tabular-nums;color:#6b6557;text-align:right}
.pdf__row .s{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;min-width:84px}
.pdf__empty{color:#a59c88;font-size:13.5px;padding:24px 0;text-align:center;font-style:italic}
.pdf__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:14px;border-top:1.5px solid rgba(26,24,21,.14)}
.pdf__total .l{font-size:13px;color:#6b6557;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
.pdf__total .a{font-family:var(--display);font-size:34px;color:var(--gold-deep);font-variant-numeric:tabular-nums}
.pdf__foot{margin-top:14px;font-size:11px;color:#8a8270;font-family:var(--mono)}
.pdf__stamp{position:absolute;top:18px;right:18px;border:2px solid var(--ok);color:var(--ok);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:8px;transform:rotate(-8deg);opacity:0;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.pdf.sent .pdf__stamp{opacity:1;transform:rotate(-8deg) scale(1)}
.cz-toast{display:flex;align-items:center;gap:10px;margin-top:16px;background:var(--ink-soft);border:1px solid rgba(61,214,140,.3);border-radius:12px;padding:13px 16px;color:#7EE8B4;font-size:13.5px;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.cz-toast.show{opacity:1;transform:none}
.cz-toast .ico{color:var(--ok);flex:none}

/* ---------- QUÉ INCLUYE ---------- */
.includes{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:16px;overflow:hidden;margin-top:42px}
.inc{background:var(--ink-soft);padding:24px 22px;display:flex;flex-direction:column;gap:12px}
.inc .ico{width:22px;height:22px;color:var(--gold)}
.inc b{font-size:15px;color:var(--fg);font-weight:560}
.inc span{font-size:13px;color:var(--muted);line-height:1.45}

/* ---------- MENSUALIDAD ---------- */
.monthly{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border:1px solid var(--hair-strong);border-radius:18px;background:var(--ink-soft);padding:clamp(24px,3vw,36px)}
.monthly__price{font-family:var(--display);font-size:clamp(30px,4vw,42px);color:var(--fg);font-variant-numeric:tabular-nums;line-height:1}
.monthly__price small{font-size:14px;color:var(--muted);font-family:var(--mono)}
.monthly__t{font-family:var(--display);font-size:21px;margin-bottom:8px}
.monthly__d{color:var(--muted);font-size:14.5px;line-height:1.55;max-width:56ch}
.monthly__d b{color:var(--gold);font-weight:600}
.monthly__note{margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;max-width:56ch}
.monthly__opt{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase}

/* ---------- BLOQUE FINAL DE INVERSION ---------- */
.price-stack{padding-top:clamp(64px,7vw,92px)}
.price-stack .cz-promo{margin-top:0}
.price-stack .pay{margin-top:24px}
.price-stack .monthly{margin-top:22px}
.price-stack .pay__note{margin-top:14px}

/* ---------- PAGOS (contado vs parcialidades) ---------- */
.pay{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px;align-items:stretch}
.pay__card{background:var(--ink-soft);border:1px solid var(--hair);border-radius:18px;padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;gap:18px;position:relative}
.pay__card--cash{border-color:rgba(227,165,62,.55);box-shadow:0 30px 80px -40px rgba(227,165,62,.32)}
.pay__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.pay__tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.pay__title{font-family:var(--display);font-size:22px;margin:0;color:var(--fg);font-weight:500}
.pay__price{text-align:right;flex:none}
.pay__was{display:block;font-size:13px;color:var(--muted);text-decoration:line-through;font-variant-numeric:tabular-nums;margin-bottom:2px}
.pay__now{display:block;font-family:var(--display);font-size:clamp(30px,3.2vw,40px);color:var(--gold);font-variant-numeric:tabular-nums;line-height:1.05}
.pay__now small{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;margin-left:2px}
.pay__sub{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:6px;letter-spacing:.04em}
.pay__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;color:var(--lead);font-size:14.5px;line-height:1.45;flex:1}
.pay__list li{position:relative;padding-left:22px}
.pay__list li::before{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%;background:rgba(227,165,62,.18);border:1.5px solid var(--gold)}
.pay__steps{list-style:none;padding:0;margin:0;counter-reset:step;display:flex;flex-direction:column;gap:0;flex:1}
.pay__steps li{display:grid;grid-template-columns:auto auto 1fr;column-gap:14px;row-gap:2px;align-items:baseline;padding:11px 0;border-top:1px solid var(--hair);counter-increment:step}
.pay__steps li:first-child{border-top:0;padding-top:0}
.pay__steps li::before{content:counter(step);font-family:var(--mono);font-size:10.5px;color:var(--muted);width:22px;height:22px;border:1px solid var(--hair);border-radius:50%;display:grid;place-items:center;align-self:start;margin-top:1px}
.pay__steps b{font-family:var(--display);font-size:17px;color:var(--gold);font-variant-numeric:tabular-nums;justify-self:start}
.pay__steps span{font-size:13.5px;color:var(--lead);grid-column:3/4;line-height:1.45}
.pay__steps span b{font-family:var(--sans);font-size:13.5px;color:var(--gold);font-weight:600}
.pay__note{margin-top:18px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;text-align:center}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .cz-hero__grid{grid-template-columns:1fr;gap:44px}
  .cz-hero__copy{max-width:none}
  .cz-web{margin:0 auto}
  .cz-demo{grid-template-columns:1fr}
  .cz-quoter{position:static}
  .flow{grid-template-columns:1fr;gap:0}
  .flow__arrow{transform:rotate(90deg);padding:8px 0}
  .includes{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .cz-promo{grid-template-columns:1fr;text-align:center;gap:16px}
  .cz-promo__price,.cz-promo__d{text-align:center;margin-inline:auto}
  .monthly{grid-template-columns:1fr;text-align:center;gap:18px}
  .pay{grid-template-columns:1fr}
}
@media (max-width:560px){
  .cz-hero__cta .btn{width:100%}
  .includes{grid-template-columns:1fr}
  .pay__head{flex-direction:column;align-items:flex-start}
  .pay__price{text-align:left}
}
