:root { --ink: #0a0a0a; --paper: #f4f4f4; --white: #fff; --panel: #e5e5e5; --muted: #666; --accent: #d4d4d4; --eerie: #1b1b1b; }
[hidden] { display: none !important; }
.hero { background: var(--eerie); }
.ticker-track { animation: ticker-loop 30s linear infinite; width: max-content; }
.ticker-group { display: flex; flex-shrink: 0; min-width: 100vw; justify-content: space-around; }
.ticker-track span { flex-shrink: 0; white-space: nowrap; }
@keyframes ticker-loop { to { transform: translateX(-50%); } }
.ticker:hover .ticker-track, .ticker:focus-within .ticker-track { animation-play-state: paused; }
.product-media { text-decoration: none; }
.product-card h3 a:focus-visible, .product-media:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.stock-note { font-size: 13px; line-height: 1.5; margin: 10px 0; min-height: 20px; }
.stock-note[data-stock-state="soldout"] { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.stock-badge { position: absolute; bottom: 12px; left: 12px; z-index: 4; padding: 9px 12px; background: #1b1b1b; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.stock-badge[hidden] { display: none; }
.size-button:disabled { text-decoration: line-through; opacity: .38; cursor: not-allowed; }
.stock-retry { background: transparent; border: 0; text-decoration: underline; cursor: pointer; padding: 6px 0; font-size: 13px; }
.explore-stock { font-weight: 800; text-transform: uppercase; }
.pdp { background: #f4f4f4; padding: 32px clamp(18px, 4vw, 64px) 72px; }
.pdp-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; font-size: 13px; margin-bottom: 28px; }
.pdp-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.pdp-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); max-width: 1500px; margin: auto; align-items: start; }
.pdp-gallery { min-width: 0; position: sticky; top: 24px; }
.pdp-main-image { display: block; width: 100%; height: auto; object-fit: contain; background: #e9e9e9; }
.pdp-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.pdp-thumbs button { padding: 0; width: 74px; height: 90px; border: 1px solid #bbb; background: #eee; cursor: pointer; }
.pdp-thumbs button[aria-pressed="true"] { outline: 2px solid #1b1b1b; outline-offset: 2px; }
.pdp-thumbs img { height: 100%; width: 100%; object-fit: contain; }
.pdp-gallery-caption { font-size: 13px; color: #555; }
.pdp-info .product-card { display: block; border: 0; background: transparent; transform: none; }
.pdp-info .product-card > .product-media { display: none; }
.pdp-info .product-details { padding: 0; }
.pdp-info h1 { font-size: clamp(30px, 3.2vw, 52px); line-height: 1; letter-spacing: -.045em; text-transform: uppercase; margin: 14px 0 20px; }
.pdp-info .product-line { display: block; }
.pdp-info .product-price { font-size: 22px; margin: 12px 0 24px; }
.pdp-intro { font-size: 16px; line-height: 1.65; color: #444; margin: 18px 0 28px; }
.pdp-info .selection-note { font-size: 13px; }
.pdp-information { margin-top: 36px; }
.pdp-information details { border-top: 1px solid #bbb; }
.pdp-information details:last-child { border-bottom: 1px solid #bbb; }
.pdp-information summary { cursor: pointer; padding: 22px 0; font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pdp-information details > div { padding: 0 0 24px; font-size: 15px; line-height: 1.7; }
.pdp-information h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; margin-top: 24px; }
.pdp-information a { text-decoration: underline; }
.composition-bar { display: flex; overflow: hidden; border-radius: 6px; width: 100%; margin: 16px 0; }
.composition-segment { background: #111; color: #fff; display: flex; align-items: center; justify-content: center; min-height: 32px; font-weight: 700; font-size: 12px; }
.composition-segment:nth-child(even) { background: #ddd; color: #111; }
.composition-key { display: flex; gap: 18px; flex-wrap: wrap; list-style: none; padding: 0; font-size: 13px; }
.composition-key li::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 7px; background: #111; border-radius: 2px; }
.composition-key li:nth-child(even)::before { background: #ddd; }
.pdp-reviews, .pdp-explore { max-width: 1500px; margin: 64px auto 0; padding-top: 32px; border-top: 1px solid #bbb; }
.pdp-reviews h2, .pdp-explore h2 { font-size: clamp(26px, 3vw, 40px); letter-spacing: -.035em; text-transform: uppercase; }
.pdp-reviews p { font-size: 15px; line-height: 1.6; }
.review-form { max-width: 640px; display: grid; gap: 18px; margin: 24px 0; }
.review-form label { display: grid; gap: 8px; font-size: 14px; }
.review-form input, .review-form select, .review-form textarea { width: 100%; padding: 14px; background: #fff; border: 1px solid #aaa; color: #111; font: inherit; }
.review-form textarea { min-height: 130px; resize: vertical; }
.review-entry { padding: 24px 0; border-top: 1px solid #ccc; }
.review-entry p { white-space: pre-wrap; overflow-wrap: anywhere; }
.review-meta { font-size: 13px; color: #666; }
.explore-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.explore-card img { width: 100%; aspect-ratio: 4/5; object-fit: contain; background: #e8e8e8; }
.explore-card h3 { font-size: 16px; margin-bottom: 8px; }
.explore-card p { font-size: 14px; }
.crew-dialog { max-width: 480px; width: calc(100% - 36px); padding: 36px; border: 1px solid #666; background: #1b1b1b; color: white; }
.crew-dialog::backdrop { background: #000b; }
.crew-dialog h2 { font-size: 36px; letter-spacing: -.04em; margin: 12px 0; }
.crew-dialog p, .crew-dialog label { font-size: 15px; line-height: 1.6; }
.crew-dialog label { display: flex; align-items: start; gap: 12px; margin: 24px 0; }
.crew-dialog input { margin-top: 6px; accent-color: #fff; }
.crew-dialog button { min-height: 44px; cursor: pointer; }
.crew-dialog .primary-button { background: white; color: #111; }
.crew-dialog .text-button { color: #ddd; display: block; margin: 16px auto 0; }
.crew-panel { border: 1px solid #444; background: #1b1b1b; padding: 24px; margin: 24px 0; }
.crew-panel h2 { margin-top: 0; }
.order-detail { margin-top: 20px; border-top: 1px solid #444; padding-top: 16px; }
.order-detail summary { cursor: pointer; font-size: 14px; }
.order-detail a { text-decoration: underline; }
@media(max-width: 800px) { .pdp-layout { grid-template-columns: 1fr; } .pdp-gallery { position: static; } .pdp-main-image { max-height: 75svh; } .pdp { padding-top: 20px; } .explore-grid { gap: 12px; } }
@media(max-width: 480px) { .explore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .explore-card:last-child { display: none; } .pdp-info h1 { font-size: 32px; } }
@media(max-width: 900px) { .nav-right > a[href$="#athletes"] { display: none; } }
@media(prefers-reduced-motion: reduce) { .ticker-track { animation: none; } }
