:root{--bg:#0b1220;--card:#121b2b;--muted:#9aa4b2;--txt:#e8eef7;--ring:#1f2937;--brand:#3b82f6}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--txt);font:16px/1.4 system-ui,Segoe UI,Roboto,Helvetica,Arial}
main{max-width:1000px;margin:48px auto;padding:0 16px}h1{font-size:22px;margin:0 0 16px}
.card{background:var(--card);border:1px solid var(--ring);border-radius:16px;padding:16px}
.grid{display:grid;gap:12px}.grid.catalog{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.item{background:#0e1726;border:1px solid var(--ring);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.item img{width:100%;height:140px;object-fit:cover;border-radius:10px;background:#0b1220}
.muted{color:var(--muted);font-size:14px}
header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
input,select,button{background:#0e1726;border:1px solid var(--ring);color:var(--txt);padding:10px 12px;border-radius:10px}
button{cursor:pointer}.primary{background:var(--brand);border-color:var(--brand);color:white}
.row{display:flex;gap:12px;align-items:center}.cart{position:sticky;top:16px}
.footer{margin-top:40px;color:var(--muted);font-size:13px}hr{border:none;border-top:1px solid var(--ring);margin:16px 0}
#lightbox {
  background: rgba(0,0,0,.75);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px); /* soporte Safari/iOS */
}

#lightbox-img {
  transition: opacity .25s ease;
}
