/* オンラインショップ共通スタイル(お客様向け・ライトテーマ) */
*{box-sizing:border-box}
:root{--brand:#0ea5c9;--brand2:#0284a8;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--bg:#f8fafc;--danger:#dc2626}
html,body{margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--brand2)}
header.site{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
.hwrap{max-width:1080px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:14px}
.logo{font-weight:900;font-size:17px;color:var(--ink);text-decoration:none;line-height:1.2}
.logo small{display:block;font-size:10.5px;font-weight:700;color:var(--brand2);letter-spacing:.08em}
.hspace{flex:1}
.cartlink{position:relative;text-decoration:none;font-weight:800;font-size:14px;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 14px;background:#fff}
.cartlink:hover{border-color:var(--brand)}
.cartlink .cnt{position:absolute;top:-7px;right:-7px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:none;align-items:center;justify-content:center;padding:0 5px}
.cartlink .cnt.on{display:inline-flex}
main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:20px 16px 48px}
footer.site{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px}
.fwrap{max-width:1080px;margin:0 auto;padding:20px 16px;line-height:1.9}
.fwrap a{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-weight:800;font-size:15px;padding:13px 22px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--brand2)}
.btn[disabled]{background:#cbd5e1;cursor:default}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--brand);background:#fff}
.badge{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 8px;background:#e0f2fe;color:#075985}
.badge.cond{background:#fef3c7;color:#92400e}
.badge.soldout{background:#fee2e2;color:#991b1b}
.price{font-weight:900;color:var(--danger)}
.muted{color:var(--muted)}
