/* Barbones · frontend de clientes */
.cargando{padding:64px 24px;text-align:center;color:var(--muted)}
#ts{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:60}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
header{border-bottom:1px solid var(--line)}
header .wrap{padding-top:16px;padding-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
header img{width:92px;height:92px;object-fit:contain}
.horario{display:flex;flex-wrap:wrap;gap:8px 32px;font-size:14px;color:var(--muted)}
.hero{padding-top:56px;padding-bottom:8px}
.eyebrow{margin:0 0 12px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.hero h1{font-size:52px;line-height:1.1;margin-bottom:12px}
.hero .lead{font-size:18px;line-height:1.5;color:var(--muted);max-width:560px}
.pasos{list-style:none;margin:0;padding:32px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.paso{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 10px;border-radius:999px;font-size:15px;background:transparent;border:1px solid var(--line);color:var(--dim)}
.paso .n{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--panel2);color:var(--dim)}
.paso.hecho{color:var(--cream);border-color:var(--line2)}
.paso.activo{color:var(--cream);border-color:var(--cream)}
.paso.hecho .n,.paso.activo .n{background:var(--cream);color:#0A0A0A}
main.wrap{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.contenido{flex:999 1 560px;min-width:0}
.contenido h2{margin-bottom:6px;font-size:30px}
.contenido .sub{margin:0 0 24px;color:var(--muted)}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.opt{text-align:left;border-radius:16px;padding:0;overflow:hidden;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line)}
.opt:hover{border-color:var(--line2)}
.opt.on{background:var(--panel2);border-color:var(--cream);box-shadow:0 0 0 1px var(--cream)}
.opt .ph{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center 6%}
.opt div.ph{min-height:104px}
.opt .bd{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1;width:100%}
.opt .nm{font-family:var(--serif);font-weight:600;font-size:20px}
.opt .tx{font-size:14px;line-height:1.4;color:var(--muted)}
.opt .pr{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}
.opt .pr b{font-size:16px;color:var(--cream);font-weight:600}
.tag{margin-top:8px;align-self:flex-start;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);color:var(--muted)}
.opt.on .tag{border-color:var(--cream);background:var(--cream);color:#0A0A0A;font-weight:600}
.opt.sty{padding:24px;gap:10px;align-items:flex-start}
.opt.sty .av{width:96px;height:96px;border-radius:50%;background:repeating-linear-gradient(135deg,#1C1C1C 0 10px,#2A2A2A 10px 20px);border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px}
.etq{margin:0 0 12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:32px}
.cal .cab{text-align:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:2px}
.dia{width:100%;min-width:0;padding:10px 0;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--line)}
.dia .d{font-family:var(--serif);font-weight:600;font-size:24px}
.dia .m{font-size:11px;color:var(--dim);line-height:1.2}
.dia.on{background:var(--cream);color:#0A0A0A;border-color:var(--cream)}
.dia.on .m{color:#3A3A3A}
.dia:disabled{opacity:.4;border-style:dashed}
.horas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.hora{min-width:92px;min-height:48px;border-radius:999px;font-size:16px;background:var(--panel);border:1px solid var(--line2)}
.hora.on{background:var(--cream);color:#0A0A0A;border-color:var(--cream);font-weight:600}
.nada{border:1px dashed var(--line2);border-radius:16px;padding:28px;color:var(--muted);text-align:center;margin-bottom:24px}
.form{margin-top:16px;border-top:1px solid var(--line);padding-top:32px;display:flex;flex-direction:column;gap:20px}
.form h3{font-size:24px}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.listo{border:1px solid var(--line2);border-radius:20px;padding:40px;background:var(--panel)}
.listo h2{font-size:38px;line-height:1.15;margin-bottom:12px}
.listo .txt{margin:0 0 28px;font-size:17px;line-height:1.5;color:var(--muted);max-width:520px}
.kv{display:flex;flex-direction:column;gap:12px;font-size:16px;border-top:1px solid var(--line);padding-top:24px;margin-bottom:24px}
.kv div{display:flex;justify-content:space-between;gap:16px}
.kv span:first-child{color:var(--muted)}
aside.resumen{flex:1 1 320px;max-width:400px;min-width:0;border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:28px}
aside.resumen h2{font-size:24px;margin-bottom:20px}
.items{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;font-size:15px}
.items div{display:flex;justify-content:space-between;gap:12px}
.items span+span{color:var(--muted)}
.sum{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:12px;font-size:15px}
.sum div{display:flex;justify-content:space-between;gap:12px}
.sum span:first-child{color:var(--muted)}
.sum span:last-child{text-align:right}
.total{border-top:1px solid var(--line);margin-top:20px;padding-top:20px;display:flex;justify-content:space-between;align-items:baseline}
.total span:first-child{color:var(--muted)}
.total span:last-child{font-family:var(--serif);font-weight:600;font-size:30px}
aside.resumen .btn.primary{margin-top:24px;min-height:56px;font-size:16px}
aside.resumen .btn.atras{margin-top:10px;min-height:48px}
footer{border-top:1px solid var(--line);margin-top:32px}
footer .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;gap:24px 64px;font-size:14px;color:var(--muted)}
footer b{display:block;color:var(--cream);font-weight:500;margin-bottom:8px}
footer .marca{font-family:var(--serif);font-size:20px;color:var(--cream);margin-bottom:8px}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero{padding-top:36px}
  .hero h1{font-size:38px}
  .listo{padding:24px}
  .listo h2{font-size:30px}
  aside.resumen{max-width:none}
  .cal{gap:4px}
  .cal .cab{font-size:10px;letter-spacing:.04em}
  .dia{border-radius:12px;padding:8px 0}
  .dia .d{font-size:18px}
  .dia .m{font-size:9px}
}
