/* お客様の頁（base.css の上に重ねる）。スマホ 390px で横に伸びない */
.shophead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:960px;margin:0 auto;padding:12px 16px;border-bottom:1px solid var(--line)}
.shopname{font-weight:700;font-size:18px;text-decoration:none;color:var(--fg)}
.cartlink{margin-left:auto;font-weight:700}
.grid{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:8px;min-width:0}
.card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px}
.card img,.noimg{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:var(--line);display:block}
.ct{font-weight:700}
.price{font-variant-numeric:tabular-nums}
.price.big{font-size:22px;font-weight:700}
.soldout{display:inline-block;color:var(--warn);font-weight:700}
.pics{display:flex;flex-wrap:wrap;gap:8px}
.pics img{width:100%;max-width:280px;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:var(--line)}
.desc{max-width:40em}
.num{text-align:right;white-space:nowrap}
table.lines{display:block;overflow-x:auto}
table.lines input.qty{width:5em}
tr.total td{font-weight:700;font-size:18px}
.err{display:block;color:var(--warn);font-size:14px}
.conf{border:1px solid var(--line);border-radius:10px;padding:0 12px 8px;margin:12px 0}
.retbox{margin:24px 0;padding:0 12px 8px;border-left:4px solid var(--line)}
table.law th{width:35%;white-space:normal}
.shopfoot{max-width:960px;margin:32px auto 0;padding:16px;border-top:1px solid var(--line)}
@media (max-width:480px){.wrap{padding:12px}h1{font-size:21px}.grid{grid-template-columns:repeat(2,1fr);gap:10px}table.law th,table.law td{display:block;width:100%}}

/* テーマ（theme-*.css の --cx-* 変数）に沿う部分。変数が無い時（古い頁）は上の値のまま */
body{font-family:var(--cx-font,"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans",sans-serif)}
.wrap a:not(.btn):not(.cx-btn),.shopfoot a{color:var(--link,var(--acc))}
.card{border-radius:var(--cx-r-lg,10px);background:var(--cx-surface,transparent);border-color:var(--cx-border,var(--line))}
.card img,.noimg,.pics img{border-radius:var(--cx-r-md,6px)}
.conf,.couponbox{border-radius:var(--cx-r-lg,10px)}
.couponbox{border:1px solid var(--line);padding:0 12px 8px;margin:16px 0}
.couponbox input{max-width:20em}
del.reg{color:var(--mut)}
.cx-badge.sale{white-space:nowrap}
tr.disc td{font-weight:700}
.shophead,.shopfoot{border-color:var(--cx-border,var(--line))}
