:root{--ink:#28251f;--muted:#746f66;--cream:#fffaf0;--line:#e8e0d2;--accent:#f0a438;--accent-dark:#b96800;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:#fffdf9;line-height:1.7}.wrap{width:min(1080px,calc(100% - 36px));margin:auto}.hero{background:linear-gradient(135deg,#fff2cf,#ffe7b4 55%,#ffd99a);border-bottom:1px solid #f5cc83}.hero .wrap{width:100%;max-width:1080px;padding:0}.hero-banner{display:block;width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main{padding:34px 0 70px}.notice{padding:17px 20px;border:1px solid var(--line);border-radius:16px;background:var(--cream);font-size:.87rem}.notice p{margin:4px 0 0;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:34px 0 15px}.toolbar input{min-width:min(100%,330px);padding:13px 16px;border:1px solid #d8d0c4;border-radius:12px;background:#fff;font:inherit;outline:none}.toolbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f0a43824}.toolbar select{padding:12px 14px;border:1px solid #d8d0c4;border-radius:12px;background:#fff;font:inherit;color:var(--ink);cursor:pointer}.toolbar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f0a43824}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{padding:9px 15px;border:1px solid #ded6ca;border-radius:999px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.filter.active,.filter:hover{border-color:var(--ink);background:var(--ink);color:#fff}.filter-colored{border-color:transparent;background:var(--chip-bg);color:var(--chip-fg)}.filter-colored.active,.filter-colored:hover{border-color:var(--chip-fg);background:var(--chip-fg);color:#fff}.result-count{min-height:1.7em;margin:0 0 10px;color:var(--muted);font-size:.9rem}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ad-slot{grid-column:1/-1;width:100%;max-width:336px;margin:24px auto;padding:10px 8px 12px;overflow:hidden;text-align:center;background:#f5f2ec;border:1px dashed #d3c9b6;border-radius:10px}
.ad-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}
.ad-body{width:320px;max-width:100%;height:50px;margin:0 auto;display:flex;justify-content:center;align-items:center;overflow:hidden}.card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 8px 25px #4d3b1d0d}.image{display:block;aspect-ratio:1/1;background:#f6f3ee}.image img{width:100%;height:100%;object-fit:cover}.card-body{padding:18px}.badges-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px}.category{display:inline-block;font-size:.73rem;font-weight:800;padding:3px 10px;border-radius:999px}.new-badge{display:inline-block;font-size:.68rem;font-weight:800;padding:3px 10px;border-radius:999px;background:#e0264d;color:#fff;letter-spacing:.03em}.card h2{margin:5px 0 7px;font-size:1.08rem;line-height:1.45}.card p{margin:0 0 12px;color:var(--muted);font-size:.9rem}.price{margin:9px 0;font-weight:800}.button{display:block;margin-top:15px;padding:11px 14px;border-radius:11px;background:var(--ink);color:#fff;text-align:center;text-decoration:none;font-weight:800}.button:hover{background:var(--accent-dark)}.empty-state{padding:70px 20px;text-align:center;border:1px dashed #d9cebc;border-radius:20px;background:var(--cream)}.empty-icon{display:block;margin:0 auto;width:72px;height:72px}.empty-state h2{margin:8px 0}.empty-state p{color:var(--muted)}.empty-state a{color:var(--accent-dark);font-weight:800}.no-results{grid-column:1/-1;padding:45px;text-align:center;color:var(--muted)}footer{padding:30px 0;background:#292720;color:#d7d1c6;font-size:.8rem}footer p{margin:4px 0}@media(max-width:780px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.wrap{width:min(100% - 24px,1080px)}main{padding-top:24px}.product-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar input,.toolbar select{width:100%}}