* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Segoe UI', Arial, sans-serif; background: #000; color:#eee; line-height:1.5; }
header { background: #000; padding:1rem 0; text-align:center; }
header h1 { font-size:1rem; color:#b2202a; font-weight:900; letter-spacing:2px; }
nav { background:#222; padding:0.8rem 0; }
nav ul { list-style:none; text-align:center; }
nav ul li { display:inline; margin:0 0.8rem;}
nav ul li a { color:#fff; text-decoration:none; text-transform: uppercase; font-size:0.8rem; }
nav ul li a:hover { color:#b2202a; }
main { max-width:1300px; margin:2rem auto; padding:0 1rem; }
h1 { font-size:1.7rem; font-weight:650; color:#b2202a; margin: 1rem auto; text-transform: uppercase; text-align:center; }
h2 { text-align:center; margin:1rem 0; font-size:1.8rem; font-weight:800; font-variant: small-caps; color:#b2202a; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:2rem; }
.product {
    background:#222; border-radius:25px; overflow:hidden; text-align:center;
    transition:transform .3s; box-shadow:0 4px 1px rgba(225,55,55,0.2);
}
.product:hover { transform:translateY(-8px); }
.product img { width:100%; height:220px; object-fit:contain; background:#1c1c1c; padding:1rem; }
.product h3 { padding:0.8rem; font-size:1.2rem; min-height:60px; }
.price { color:#b2202a; font-size:1.2rem; font-weight:bold; }
.msrp { color:#ccc; font-size:0.7rem; font-weight:normal; }
.btn {
    display:block; background:#b2202a; color:white; padding:0.9rem;
    text-decoration:none; font-size:1.4rem; letter-spacing:0rem; margin:1rem; font-variant: small-caps;
    border-radius:8px;
}
.btn:hover { background:#c3313b; }
#search-container { text-align:center; margin:2rem 0; }
#search-input {
    padding:1rem 1.5rem; width:100%; max-width:600px;
    font-size:1.1rem; border:2px solid #432; border-radius:50px;
    background:#111; color:white;
}
#no-results { text-align:center; color:#432; font-size:1.4rem; margin:3rem; display:none; }
footer { background:#000; color:#888; text-align:center; padding:3rem 0; margin-top:4rem; font-size:0.7rem; text-transform: uppercase; }
@media (max-width:768px) { nav ul li { display:inline; margin:1rem 0.3rem; } }