*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,sans-serif;background:#0b0c10;color:#e8e8ea}
a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #222;background:#111318}
.logo{font-weight:900;letter-spacing:2px;font-size:20px}.logo span{color:#ff3b30}.logo .ph{font-size:10px;background:#ff3b30;color:#fff;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}
.banner{background:#2a1a00;color:#ffb340;text-align:center;font-size:12px;padding:6px}
main{max-width:1100px;margin:auto;padding:24px 16px}h1{font-size:clamp(26px,5vw,44px);text-align:center;margin:10px 0}.sub{text-align:center;color:#9a9aa3;margin-bottom:28px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.big{display:block;background:linear-gradient(160deg,#171a21,#0f1115);border:1px solid #2a2d36;border-radius:18px;padding:28px;text-align:center;transition:.2s;color:#ff3b30}
.big:hover{border-color:#ff3b30;transform:translateY(-3px);box-shadow:0 10px 30px #ff3b3033}.big svg{width:100%;max-width:300px}
.big h2{color:#fff;font-size:40px;margin:10px 0 4px;letter-spacing:3px}.big p{color:#9a9aa3;margin:0}
.btn{background:#ff3b30;color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}input,select{background:#151821;border:1px solid #2a2d36;color:#fff;border-radius:10px;padding:11px;font-size:15px}
.search{flex:1;min-width:200px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chip{background:#151821;border:1px solid #2a2d36;color:#ccc;padding:7px 12px;border-radius:999px;cursor:pointer;font-size:13px}
.chip.on{background:#ff3b30;border-color:#ff3b30;color:#fff}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.card{background:#151821;border:1px solid #2a2d36;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px}.badge{align-self:flex-start;background:#ffb340;color:#000;font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px}
.cat{color:#9a9aa3;font-size:12px}.price{font-size:20px;font-weight:800;color:#fff}.card .btn{margin-top:auto}
.cartlink{background:#1d2029;padding:8px 12px;border-radius:10px}table{width:100%;border-collapse:collapse}td,th{padding:10px;border-bottom:1px solid #222;text-align:left}
form{display:grid;gap:10px;max-width:480px}
.big img{width:100%;max-width:420px;border-radius:12px;display:block;margin:auto;aspect-ratio:4/3;object-fit:cover;background:#000}
.credits{margin-top:40px;font-size:11px;color:#777;text-align:center}.credits a{text-decoration:underline}
.btn[disabled]{background:#444;cursor:not-allowed}
.ship{background:#ff3b30;color:#fff;text-align:center;font-weight:700;font-size:13px;padding:6px}.fs{color:#4cd28a;font-size:12px;font-weight:700}
.pimg{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:10px;margin-bottom:6px}.fit{font-size:12px;color:#b9bcc5}.por{font-size:16px;color:#ffb340}.empty{grid-column:1/-1;text-align:center;padding:50px 10px;border:1px dashed #333;border-radius:14px}.empty a{color:#ff3b30}

.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar .search{flex:1;min-width:180px}.sort{padding:10px 12px;border:1px solid #2a2d36;border-radius:8px;font:inherit;background:#15171d;color:#e8e8ea;color-scheme:dark}.count{color:#666;font-size:.9em;margin:6px 0}.more{text-align:center;margin:20px 0}.more .btn{min-width:200px}

.legal-links{margin:40px auto 20px;max-width:1100px;padding:16px;border-top:1px solid #222;text-align:center;font-size:12px;color:#888}.legal-links nav{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-bottom:8px}.legal-links a{color:#b9bcc5;text-decoration:underline}
.legal{max-width:760px;line-height:1.65;font-size:16px}.legal h1{margin-bottom:4px}.legal h2{font-size:20px;margin:28px 0 8px;color:#fff}.legal p,.legal li{color:#d4d5da}.legal ul{padding-left:22px}.legal li{margin:6px 0}.legal .note{background:#2a2112;border:1px solid #ffb340;color:#ffd18a;padding:12px 14px;border-radius:10px;font-size:14px}.legal .upd{color:#888;font-size:13px}
.agree{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.4}.agree input{width:auto;margin-top:3px}.agree a{text-decoration:underline}

/* Product details: readable stacked layout on narrow screens. */
.product-link{display:block}.product-name:hover,.back-link:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid #ffb340;outline-offset:4px}
.product-page{padding-bottom:32px}.product-page .back-link{display:inline-block;padding:6px 0;color:#b9bcc5}
.product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:24px}
.product-media{border-radius:18px;background:#fff;overflow:hidden;border:1px solid #2a2d36}
.product-image{display:block;width:100%;aspect-ratio:1;object-fit:contain;padding:16px}
.product-info{min-width:0}.product-info h1{text-align:left;font-size:clamp(25px,3vw,36px);line-height:1.2;margin:8px 0 14px;overflow-wrap:anywhere}
.product-category{color:#ffb340;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:0}.product-fit{color:#b9bcc5;font-size:15px;line-height:1.6}
.product-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.quality-badge{border:1px solid #555b6b;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#1d2029}.japan-badge{border-color:#d65b5b}
.product-price{font-weight:800;font-size:30px;margin:18px 0 12px}.product-add{min-height:46px;width:100%;font-size:16px}.cart-status{min-height:20px;color:#4cd28a;font-size:14px;margin:8px 0}
.product-description{font-size:17px;line-height:1.65;color:#d4d5da}.product-section h2,.product-note h2{font-size:19px;margin:0 0 14px}.product-section{margin-top:24px}
.product-specs{margin:0;display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);font-size:14px;line-height:1.6}.product-specs dt,.product-specs dd{padding:10px 0;border-bottom:1px solid #2a2d36;overflow-wrap:anywhere}.product-specs dt{color:#b9bcc5;padding-right:12px}.product-specs dd{margin:0}
.product-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.product-note{background:#151821;border:1px solid #2a2d36;border-radius:14px;padding:20px;font-size:14px;line-height:1.65}.product-note p{color:#c7c9d0}.product-note a{color:#ffb340;text-decoration:underline}
@media(max-width:700px){.product-layout{grid-template-columns:1fr;gap:22px;margin-top:14px}.product-notes{grid-template-columns:1fr}.product-media{max-width:480px;width:100%;margin:auto}.product-info h1{font-size:28px}.product-specs{grid-template-columns:minmax(95px,1fr) minmax(0,2fr)}.product-note{padding:18px}}
