
:root { --black: #000; --off-white: #e0e0e0; --grey: #111; --mid-grey: #666; }
* { box-sizing: border-box; }
body { background: var(--black); color: var(--off-white); font-family: sans-serif; margin: 0; padding: 0; }
header { border-bottom: 5px solid var(--off-white); padding: 30px 20px; }
h1 { font-size: 8vw; line-height: 0.8; margin: 0; font-weight: 900; text-transform: uppercase; letter-spacing: -4px; }
h1 a { color: inherit; text-decoration: none; }
.breadcrumbs { padding: 20px; font-size: 0.75rem; text-transform: uppercase; color: var(--mid-grey); letter-spacing: 1px; }
.breadcrumbs a { color: var(--off-white); text-decoration: none; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); width: 100%; }
.product-card { border-right: 1px solid #222; border-bottom: 1px solid #222; padding: 40px; display: flex; flex-direction: column; }
.img-container { width: 100%; aspect-ratio: 1/1; margin-bottom: 25px; overflow: hidden; background: #050505; display: block; }
.product-image { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(0.85); transition: 0.5s; }
.product-card:hover .product-image { filter: grayscale(0) brightness(1); transform: scale(1.05); }
.card-title-link { text-decoration: none; color: inherit; display: block; }
h2 { font-size: 1.25rem; margin: 0 0 12px 0; text-transform: uppercase; font-weight: 900; line-height: 1.1; }
p { font-size: 1rem; color: var(--mid-grey); line-height: 1.5; margin-bottom: 35px; }
.buy-link { display: block; width: 100%; background: var(--off-white); color: var(--black); text-align: center; padding: 20px; text-decoration: none; font-weight: 900; text-transform: uppercase; transition: 0.15s; border: none; cursor: pointer; }
.buy-link:hover { background: var(--black); color: var(--off-white); outline: 3px solid var(--off-white); }
.pdp-buy-btn { max-width: 300px; } /* Constraint for PDP button */
.price-label { font-weight: 900; color: #fff; letter-spacing: 1px; font-size: 0.8rem; margin-top: auto; display: block; text-decoration: none; }
.manifesto { padding: 80px 20px; max-width: 1000px; border-top: 10px solid var(--off-white); }
.manifesto h3 { font-size: 3rem; margin: 0 0 20px 0; }
.manifesto p { font-size: 1.8rem; line-height: 1.1; font-weight: 800; text-transform: uppercase; margin-bottom: 0; }
footer { padding: 60px 20px; border-top: 1px solid #222; font-size: 0.75rem; opacity: 0.6; line-height: 1.8; }
.amazon-disclaimer { font-style: italic; margin-top: 15px; color: var(--mid-grey); font-size: 0.7rem; }
@media (max-width: 600px) { h1 { font-size: 14vw; } .grid { grid-template-columns: 1fr; } .pdp-flex { flex-direction: column; } .pdp-buy-btn { max-width: 100%; } }
.pdp-flex { display: flex; gap: 40px; padding: 40px; border-bottom: 1px solid #222; }
.pdp-image-box { flex: 1; max-width: 600px; }
.pdp-content-box { flex: 1; }
