/* Tienda: página pública de compra. Reusa los colores, botones y tarjetas del visor (visor.css). */
body.tienda{min-height:100vh;display:flex;flex-direction:column}
.tienda-cab{height:60px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;
            background:var(--superficie);border-bottom:1px solid var(--borde)}
.tienda-cab .logo{display:flex;align-items:center;font-weight:800;font-size:18px;letter-spacing:-.02em;text-decoration:none}
.tienda-cab .logo-a{color:#0f2a4a}.tienda-cab .logo-b{color:#0ea5b7}
.tienda-cuerpo{flex:1;padding:40px 32px 64px;max-width:1180px;width:100%;margin:0 auto}
.tienda .mc-lista{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
.tienda .mc-banda{background:linear-gradient(135deg,#0f2a4a,#1e4e8c)}
.tienda .mc-banda.franja-2{background:linear-gradient(135deg,#134e4a,#0ea5b7)}
.tienda .mc-banda.franja-3{background:linear-gradient(135deg,#3b1d6e,#7c3aed)}
.tienda-precio{font-size:28px;font-weight:800;letter-spacing:-.02em;color:#0f2a4a}
.tienda-antes{font-size:18px;font-weight:600;color:var(--texto-3);margin-right:12px;text-decoration:line-through}
.tienda-sin{padding:12px 0 0;color:var(--texto-3);line-height:1.5}
.tienda-que{margin-top:16px;padding-top:14px;border-top:1px solid var(--borde)}
.tienda-etq{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0ea5b7}
.tienda-incluye{margin:10px 0 0;padding-left:20px;font-size:14.5px;line-height:1.5;color:#334155}
.tienda-incluye li{margin-top:4px}
.tienda .mc-pie{flex-direction:column;align-items:stretch;gap:12px}
.btn-grande{width:100%;height:auto;min-height:54px;padding:14px 24px;font-size:17px;font-weight:700;line-height:1.25;white-space:normal}
.dialogo-fondo{position:fixed;inset:0;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:24px;z-index:50}
.dialogo{background:#fff;border-radius:14px;padding:28px;box-shadow:var(--sombra-alta)}
.dialogo h2{font-size:22px;font-weight:600;letter-spacing:-.02em}
/* Página de un curso: información a la izquierda, registro y pago a la derecha. */
.compra-pagina{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,420px);gap:40px;align-items:start;margin-top:8px}
.compra-banner{display:block;width:100%;max-height:300px;object-fit:contain;background:#f1f5f9;border-radius:12px;margin-bottom:20px}
.compra-cat{background:#0f2a4a;color:#fff;border-color:#0f2a4a}
.compra-info h1{margin:12px 0 0;font-size:36px;line-height:1.1;font-weight:800;letter-spacing:-.03em;color:#0f2a4a}
.compra-desc{margin:12px 0 0;font-size:17px;line-height:1.5;color:#334155}
.compra-info .mc-meta{margin-top:14px}
.compra-info .tienda-precio{margin-top:18px;font-size:32px}
.compra-form{max-width:none;position:sticky;top:24px}
.compra-contacto{margin-top:18px;padding-top:14px;border-top:1px solid var(--borde);font-size:14px;color:var(--texto-2);line-height:1.7}
.compra-contacto a{color:var(--primario);font-weight:600;text-decoration:none}
.listo-correo{margin-top:12px;color:#065f46;font-weight:500}
@media (max-width:900px){.compra-pagina{grid-template-columns:1fr}.compra-form{position:static}}
.dialogo .sub{margin-top:6px;color:var(--texto-3)}
.listo-aviso{margin-top:16px;padding:10px 12px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;line-height:1.45}
.credenciales{margin-top:14px;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center}
.credenciales dt{font-size:12.5px;font-weight:500;color:var(--texto-2)}
.credenciales dd{font-size:16px;word-break:break-all;user-select:all}
@media (max-width:640px){.tienda-cab{padding:0 16px}.tienda-cuerpo{padding:24px 16px 48px}.tienda .mc-lista{grid-template-columns:1fr}}
