/* Formulario de calificación, confirmación con el boleto y "Avísame si baja de precio". */

/* campos y opciones */
.qf fieldset,.hoja-c fieldset{border:0;margin:0;padding:0;min-width:0}
.qf legend.q,.hoja-c legend.q{padding:0;margin-bottom:10px;font-size:16px;font-weight:650;color:var(--ma-fg);letter-spacing:-.005em}
.qf .fld+.fld,.qf .qf-q+.qf-q,.qf .qf-q+.fld{margin-top:20px}
.qf label:not(.chk){font-size:15px;font-weight:650;color:var(--ma-fg)}
.qf .fld,.hoja-c .fld{gap:8px}
.inp:focus-within{box-shadow:inset 0 0 0 2px var(--ma-action),0 0 0 4px var(--ma-azul-100)}
.inp.is-err{box-shadow:inset 0 0 0 2px var(--ma-err-solid)}
.inp.is-err:focus-within{box-shadow:inset 0 0 0 2px var(--ma-err-solid),0 0 0 2px var(--ma-surface),0 0 0 4px var(--ma-focus)}
.opt[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--ma-err-solid)}
.opt[aria-invalid=true]:focus-visible{box-shadow:inset 0 0 0 2px var(--ma-err-solid),var(--ma-shadow-focus)}
.opt:focus-visible{box-shadow:inset 0 0 0 2px var(--ma-action),var(--ma-shadow-focus)}
.opt[aria-pressed=true]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ma-action);flex:none}
.f-err{display:flex;gap:6px;align-items:flex-start;margin-top:8px;font-size:13.5px;line-height:1.4;font-weight:500;color:var(--ma-err-text)}
.f-err i{font-size:17px;flex:none;margin-top:1px}
.ma-chk{margin-top:20px;font-size:14.5px;line-height:1.45;color:var(--ma-body)}
.ma-chk .box{transition:background var(--ma-motion-fast)}
.ma-chk .box i{opacity:0}
.ma-chk.on .box i{opacity:1}
.ma-chk input:focus-visible+.box{box-shadow:var(--ma-shadow-focus)}
.ma-chk a{color:var(--ma-link)}
.ma-chk+.f-err{margin-top:4px}

/* el formulario dentro de la caja (escritorio) y en hoja (celular) */
.qf.en-caja{animation:qf-entra var(--ma-motion-base) var(--ma-motion-ease-out)}
@keyframes qf-entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.qf-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.qf-h h3{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ma-fg)}
.qf-h .btn-ter{min-height:44px}
.qf .steps{margin-bottom:14px}
.qf-intro{font-size:14.5px;color:var(--ma-body);margin-bottom:18px}
.qf-pie{margin-top:22px}
.qf-pie.dos{display:flex;justify-content:space-between;align-items:center;gap:12px}
.qf-pie.dos .btn:not(.btn-ter){flex:1}
.qf-pie .btn-ter{margin-left:-6px;gap:6px}
.qf-conf h4{font-size:18px;font-weight:700;line-height:1.3;color:var(--ma-fg)}
.qf-conf>p{margin-top:6px;font-size:15px}
.qf-folio{margin:18px 0;padding:14px 16px;border-radius:var(--ma-radius-md);border:1.5px dashed var(--ma-line-strong);display:grid;gap:4px}
.qf-folio small{font-family:var(--ma-font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ma-muted)}
.qf-folio b{font-size:18px;font-weight:500;letter-spacing:.02em;color:var(--ma-fg)}
.qf-conf .btn-wa{min-height:56px;font-size:17px}
.qf-conf .btn-wa i{font-size:22px}
.qf-conf .help{margin-top:10px}
.qf-viendo{display:grid;gap:10px}
.qf-viendo>i{font-size:30px;color:var(--ma-fg)}
.qf-viendo h4{font-size:18px;font-weight:700;color:var(--ma-fg)}
.qf-viendo p{font-size:15px;margin-bottom:6px}
.qf-viendo .btn-ter{justify-self:start;margin-left:-6px}

/* confirmación */
.conf{max-width:920px;padding-top:40px}
.conf>.steps{max-width:420px}
.conf h1{margin-top:22px;font-family:var(--ma-font-display);font-weight:800;font-size:clamp(28px,3vw,40px);line-height:1.08;letter-spacing:-.03em;color:var(--ma-fg);max-width:22ch;text-wrap:balance}
.conf>.sub{margin-top:10px;font-size:17px}
.wa-cta{margin-top:24px;display:grid;gap:10px;justify-items:start}
.wa-cta .btn{min-height:56px;font-size:17px;padding:0 26px}
.wa-cta .btn i{font-size:22px}
.wa-cta p{font-size:14px;color:var(--ma-muted)}
.conf-ok{margin-top:20px;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ma-ok-text)}
.conf-estado{margin-top:24px;display:grid;gap:0;max-width:560px;border-top:1px solid var(--ma-line)}
.conf-estado li{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ma-line);font-size:15px;color:var(--ma-fg)}
.conf-estado li i{font-size:21px}
.conf-estado small{font-family:var(--ma-font-mono);font-size:12px;letter-spacing:.04em;color:var(--ma-muted)}
.conf-estado .hecho i{color:var(--ma-ok-solid)}
.conf-estado .falta{font-weight:650}
.conf-estado .falta i{color:var(--ma-warn-text)}
.conf-estado .falta small{color:var(--ma-warn-text)}
.conf-estado .despues,.conf-estado .sigue{color:var(--ma-body)}
.conf-estado .despues i,.conf-estado .sigue i{color:var(--ma-muted)}
.conf .avisame-banda+.boleto{margin-top:28px}
.conf-ok i{font-size:20px}
.boleto{margin-top:28px;display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.2fr);background:var(--ma-surface);border-radius:var(--ma-radius-xl);box-shadow:inset 0 0 0 1px var(--ma-line),var(--ma-shadow-1)}
.boleto .seg{position:relative;padding:20px 22px 22px;display:grid;align-content:start;gap:4px}
.boleto .seg+.seg{border-left:2px dashed var(--ma-line-strong)}
.boleto .seg+.seg::before,.boleto .seg+.seg::after{content:"";position:absolute;left:-12px;width:22px;height:22px;border-radius:50%;background:var(--ma-page);box-shadow:inset 0 0 0 1px var(--ma-line)}
.boleto .seg+.seg::before{top:-11px;clip-path:inset(50% 0 0 0)}
.boleto .seg+.seg::after{bottom:-11px;clip-path:inset(0 0 50% 0)}
.boleto small{font-family:var(--ma-font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ma-muted)}
.boleto b{font-size:16px;font-weight:650;line-height:1.3;color:var(--ma-fg)}
.boleto .seg span{font-size:14px;color:var(--ma-muted)}
.boleto .seg.folio{display:grid;background:none;border-radius:0;padding:20px 22px 22px;font:inherit;letter-spacing:normal}
.boleto .folio b{font-family:var(--ma-font-mono);font-weight:500;font-size:17px;letter-spacing:.02em;white-space:nowrap}
.conf-sec{margin-top:40px}
.conf-sec h2{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ma-fg);margin-bottom:12px}
.ej-txt{font-size:14px;font-weight:400;color:var(--ma-muted)}
.resp{display:flex;flex-wrap:wrap;gap:10px}
.resp li{display:grid;gap:2px;padding:10px 16px;border-radius:var(--ma-radius-md);background:var(--ma-surface);box-shadow:inset 0 0 0 1px var(--ma-line)}
.resp small{font-size:12px;color:var(--ma-muted)}
.resp b{font-size:15px;font-weight:600;color:var(--ma-fg)}
.avisame-banda{margin-top:32px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 20px;border-radius:var(--ma-radius-md);background:var(--ma-band)}
.avisame-banda>i{font-size:24px;color:var(--ma-fg)}
.avisame-banda b{display:block;color:var(--ma-fg);font-size:15px}
.avisame-banda span{font-size:14px;color:var(--ma-body)}
.conf .parecidos .exp-body{padding:14px 14px 16px;gap:10px}

/* avísame: hoja */
.av-h{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center}
.av-h img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:96px;height:auto}
.av-h b{display:block;font-size:15px;color:var(--ma-fg)}
.av-h span{font-size:14px;color:var(--ma-muted)}
.av-intro{margin:14px 0 18px;font-size:15px}
.hoja-c [data-campo]{margin-top:16px}
.av-ok{margin-top:18px}

@media (max-width:640px){
 .conf{padding-top:24px}
 .boleto{grid-template-columns:minmax(0,1fr)}
 .boleto .seg+.seg{border-left:0;border-top:2px dashed var(--ma-line-strong)}
 .boleto .seg+.seg::before{left:-11px;top:-12px;clip-path:inset(0 0 0 50%)}
 .boleto .seg+.seg::after{left:auto;right:-11px;top:-12px;bottom:auto;clip-path:inset(0 50% 0 0)}
 .wa-cta{justify-items:stretch}
 .wa-cta .btn{width:100%}
 .avisame-banda{grid-template-columns:auto 1fr}
 .avisame-banda .btn{grid-column:1 / -1}
 .qf-pie.dos{flex-direction:row}
}

/* ── fase 2 (31-oct) ── */
/* formulario: el auto arriba de la hoja, la ciudad con botones y la promesa con la hora */
.qf-auto{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--ma-line);grid-template-columns:80px 1fr}
.qf-auto img{width:80px}
.qf-otra{margin-top:10px}
/* lo que devuelve el código postal: ciudad y estado con palomita, o el aviso de que no existe */
.qf-cp-res{display:flex;gap:6px;align-items:flex-start;margin-top:8px;font-size:14px;line-height:1.4;color:var(--ma-body)}
.qf-cp-res i{font-size:18px;flex:none;margin-top:1px}
.qf-cp-res.si i{color:var(--ma-ok-solid)}
.qf-cp-res.si b{color:var(--ma-fg);font-weight:650}
.qf-cp-res.no{color:var(--ma-warn-text);font-weight:500}
.qf-sigue{margin-top:12px;padding:12px 14px;border-radius:var(--ma-radius-md);background:var(--ma-band);font-size:14.5px;line-height:1.45;color:var(--ma-fg)}
.ma-chk .ej-dato{margin-left:4px}
.av-busq{grid-template-columns:56px 1fr}
.av-ic{width:56px;height:56px;border-radius:14px;background:var(--ma-band);display:grid;place-items:center;font-size:26px;color:var(--ma-fg)}

/* "Sigue tu folio": WhatsApp con QR en escritorio */
.wa-boton{display:grid;gap:10px;justify-items:start}
.wa-qr{display:none}
@media (min-width:1024px){
 .wa-cta.con-qr{grid-template-columns:auto minmax(0,360px);justify-content:start;align-items:center;gap:28px}
 .wa-qr{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;margin:0;padding:12px 16px 12px 12px;border-radius:var(--ma-radius-md);background:var(--ma-surface);box-shadow:inset 0 0 0 1px var(--ma-line)}
 .wa-qr-c svg{display:block;width:112px;height:112px}
 .wa-qr figcaption{font-size:14px;line-height:1.45;color:var(--ma-body)}
}
/* los cinco pasos del folio */
.conf-seg{margin-top:28px}
.conf-seg .conf-estado{margin-top:0;max-width:640px}
.conf-estado li{align-items:start}
.conf-estado li>span{display:grid;gap:2px;min-width:0}
.conf-estado li b{font-weight:600}
.conf-estado li em{font-style:normal;font-size:14px;line-height:1.45;color:var(--ma-body)}
.conf-estado li>i{margin-top:1px}
.conf-estado li>small{margin-top:3px;white-space:nowrap}
.conf-estado .ahora i{color:var(--ma-fg)}
.conf-estado .ahora small{color:var(--ma-fg);font-weight:600}
.conf-estado .ahora b{font-weight:700}
.conf-estado .despues b{font-weight:500;color:var(--ma-body)}
.conf-estado .no i,.conf-estado .no small{color:var(--ma-sold-text)}
/* "¿Ya te escribió?" y respuestas a lo que toca el comprador */
.conf-preg{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}
.conf-listo{margin-top:24px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;max-width:640px;padding:14px 16px;border-radius:var(--ma-radius-md);background:var(--ma-band);color:var(--ma-fg);font-size:15px;line-height:1.5}
.conf-listo i{font-size:22px;color:var(--ma-ok-solid)}
.conf-listo b{font-weight:650}
.reof .conf-listo{margin-top:0}
/* el vendedor no lo tomó: parecidos para elegir */
.conf .reof{margin-top:32px}
.reof .parecidos{row-gap:24px}
.reof-item{display:grid;gap:10px;align-content:start}
.reof-pie{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.reof-pie .btn-ter{min-height:44px;margin-left:-6px}
.reof-pie span{font-size:14px;color:var(--ma-muted)}
.resp-nota{margin-top:10px;font-size:14px;color:var(--ma-muted)}
.conf-baja{margin-top:48px;padding-top:16px;border-top:1px solid var(--ma-line);display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.conf-baja .btn-ter{min-height:44px;margin-left:-6px}
.conf-baja span{font-size:14px;color:var(--ma-muted)}
.conf-acc{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}
.conf.retirado .boleto{margin-top:36px}
.baja-t{font-size:16px;line-height:1.55;color:var(--ma-fg)}
.baja-acc{margin-top:20px;display:grid;gap:10px}
@media (max-width:640px){
 .wa-boton{justify-items:stretch}
 .conf-preg .btn,.conf-acc .btn{flex:1 1 100%}
}
.conf-estado li em{font-weight:400}
@media (min-width:1024px){.wa-cta.con-qr .wa-boton p{max-width:36ch}}
.reof-item{grid-template-rows:1fr auto}
/* quién te escribe (pasos 4 y 5): la tarjeta del vendedor de la ficha, sin botón */
.conf-vend .f-vend{grid-template-columns:64px 1fr;max-width:620px}
@media (max-width:640px){ .conf-vend .f-vend{grid-template-columns:52px 1fr} }
