/* Old-school, minimal CSS: fixed-width layout, no frameworks */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font: 14px/1.5 Arial, Helvetica, sans-serif; color:#111; background:#fff; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }

.header { background:#ff0000; color:#fff; border-bottom:2px solid #000; }
.header .inner { width:960px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:8px 0; }
.logo { font-weight:900; text-transform:uppercase; letter-spacing:.5px; background:#fff; color:#e60000; padding:2px 6px; border:1px solid #000; }
.nav { display:flex; gap:14px; text-transform:uppercase; font-weight:bold; }
.nav a { padding:2px 4px; }
.annc { background:#fff; color:#000; border-bottom:1px solid #000; }
.annc .inner { width:960px; margin:0 auto; padding:4px 0; font-weight:bold; text-transform:uppercase; }

/* yes, the classic marquee */
.annc marquee { font-size: 12px; }

.container { width:960px; margin:16px auto; }
.footer { width:960px; margin:24px auto; padding:16px 0; border-top:1px solid #ddd; color:#666; font-size:12px; }

.grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; }
.card { border:1px solid #000; padding:8px; position:relative; }
.card img { width:100%; height:auto; background:#eee; border:1px solid #000; }
.card .title { font-weight:bold; margin-top:6px; }
.card .price { font-weight:bold; }
.badge { position:absolute; top:8px; left:8px; background:#000; color:#fff; font-size:11px; padding:2px 6px; text-transform:uppercase; }

.hero { border:2px solid #000; padding:16px; text-align:center; margin-bottom:16px; }
.hero h1 { margin:0; font-size:28px; text-transform:uppercase; }

.table { width:100%; border-collapse: collapse; }
.table th, .table td { border:1px solid #000; padding:8px; text-align:left; }
.btn { display:inline-block; padding:8px 12px; border:1px solid #000; background:#000; color:#fff; text-transform:uppercase; font-weight:bold; font-size:12px; }
.btn.ghost { background:#fff; color:#000; }

/* Product page */
.product { display:grid; grid-template-columns: 1.1fr 0.9fr; gap:16px; }
.product img { width:100%; border:1px solid #000; }
.sizes { display:flex; gap:8px; flex-wrap:wrap; }
.swatch { border:1px solid #000; padding:6px 10px; cursor:pointer; }
.muted { color:#666; font-size:12px; }
hr { border:0; border-top:1px solid #000; margin:16px 0; }
