/* Estilos base provisionales. El diseno definitivo se aplica con el logo y la paleta del cliente. */
:root { --ink:#1a1a1a; --muted:#666; --line:#e5e5e5; }
* { box-sizing: border-box; }
body { margin:0; font-family: ui-sans-serif, system-ui, sans-serif; color:var(--ink); line-height:1.5; }
.container { max-width: 1100px; margin: 0 auto; padding: 2rem 1rem; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.5rem; border-bottom:1px solid var(--line); }
.site-header .brand { font-weight:700; text-decoration:none; color:var(--ink); }
.site-header nav a { margin-left:1rem; text-decoration:none; color:var(--ink); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.5rem; }
.card { display:block; text-decoration:none; color:inherit; border:1px solid var(--line); padding:1rem; }
.card img { width:100%; height:auto; display:block; }
.product { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.product-img { width:100%; }
.price { font-size:1.4rem; font-weight:700; }
.alert { background:#fde8e8; padding:.75rem 1rem; border-radius:4px; }
.alert.ok { background:#e6f6ea; }
.form label, .login-card label { display:block; margin:.75rem 0; }
.form input, .form textarea, .login-card input { width:100%; padding:.5rem; }
.whatsapp-fab { position:fixed; right:1rem; bottom:1rem; background:#25d366; color:#fff; padding:.6rem 1rem; border-radius:999px; text-decoration:none; }
.site-footer { border-top:1px solid var(--line); padding:2rem 1rem; text-align:center; color:var(--muted); }
table.cart { width:100%; border-collapse:collapse; } table.cart td { padding:.5rem; border-bottom:1px solid var(--line); }
.btn-primary { background:var(--ink); color:#fff; border:0; padding:.7rem 1.4rem; cursor:pointer; }
@media (max-width:720px){ .product{ grid-template-columns:1fr; } }
