/* Taller 3D · estilos de disenos_3d.php */
:root{--azul:#0284a8;--azul-claro:#e3f3f8;--texto:#16213a;--gris:#7a8494;--borde:#e2e6ec;--fondo:#f3f5f8;--tarjeta:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--texto);background:var(--fondo)}
main{max-width:1200px;margin:0 auto;padding:24px 16px 40px}
header h1{margin:0 0 4px;font-size:26px;font-weight:800}
header p{margin:0 0 20px;color:var(--gris)}
.volver{display:inline-block;margin-bottom:14px;color:var(--azul);font-weight:600;text-decoration:none}

/* Listado de proyectos */
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.tarjeta{display:flex;flex-direction:column;background:var(--tarjeta);border:1px solid var(--borde);border-radius:18px;overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .15s}
.tarjeta:hover{box-shadow:0 6px 20px #16213a14}
.miniatura{display:block;height:170px;background:#fff center/contain no-repeat;border-bottom:1px solid var(--borde)}
.cuerpo{display:flex;flex-direction:column;gap:3px;padding:14px 16px}
.cuerpo small{color:var(--gris);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}
.cuerpo b{font-size:17px}
.pie{margin-top:6px;font-size:13px;color:var(--gris);display:flex;align-items:center;gap:8px}

.estado{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:700;background:#eef1f5;color:var(--gris)}
.estado.probando{background:#fff4d6;color:#a26a00}
.estado.impreso{background:#e1f6e9;color:#1f9d55}

/* Proyecto: visor + ficha */
.banco{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.visor{background:var(--tarjeta);border:1px solid var(--borde);border-radius:18px;overflow:hidden}
#lienzo{position:relative;height:min(62vh,560px)}
#lienzo canvas{display:block;touch-action:none}
#cargando{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gris)}
.controles{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--borde);font-size:13px;color:var(--gris)}
.controles button{padding:7px 14px;border:1px solid var(--borde);border-radius:10px;background:#fff;color:var(--texto);font:600 13px system-ui,sans-serif;cursor:pointer}

.ficha{background:var(--tarjeta);border:1px solid var(--borde);border-radius:18px;padding:16px}
.versiones{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.versiones a{padding:6px 12px;border:1px solid var(--borde);border-radius:10px;color:var(--texto);text-decoration:none;font-weight:600;font-size:14px}
.versiones a.on{background:var(--azul);border-color:var(--azul);color:#fff}
dl{margin:0}
dl div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--borde);font-size:14px}
dt{color:var(--gris)}
dd{margin:0;font-weight:600;text-align:right}
.ficha h2{margin:16px 0 6px;font-size:15px}
.ficha ul{margin:0;padding-left:18px;color:var(--gris);font-size:13.5px;line-height:1.5}
.descargar{display:block;margin-top:16px;padding:13px;border-radius:12px;background:var(--azul);color:#fff;text-align:center;font-weight:700;text-decoration:none}

@media (max-width:820px){
 .banco{grid-template-columns:1fr}
 #lienzo{height:52vh}
 .controles span{font-size:12px}
}
.piezas{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--borde)}
.piezas a{padding:6px 14px;border:1px solid var(--borde);border-radius:10px;color:var(--texto);text-decoration:none;font-weight:600;font-size:14px}
.piezas a.on{background:var(--azul-claro);border-color:var(--azul);color:var(--azul)}
.descargar + .descargar{margin-top:8px}
.leyenda{list-style:none;padding:0;display:grid;gap:6px}.leyenda li{display:flex;align-items:center;gap:8px}.leyenda i{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.15);flex:none}
