/* 料金表の補足だけに適用。商品本体の価格表・共通レイアウトには影響しない。 */
.pricing-discount,
.pricing-tape,
.pricing-campaign {
  margin: 24px 0;
  padding: 18px 20px;
  border: 1px solid var(--line, #dce3eb);
  border-radius: 12px;
  background: var(--paper, #fffdf9);
  color: var(--ink);
  font-size: 13px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.pricing-discount > strong { display: block; color: var(--blue); }
.pricing-discount ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  padding: 0;
  margin: 8px 0;
  list-style: none;
}
.pricing-discount li { white-space: nowrap; }
.pricing-discount p,
.pricing-tape p,
.pricing-campaign p { margin: 8px 0 0; }
.pricing-discount .pricing-rule-note,
.pricing-tape .pricing-rule-note { color: var(--muted); font-size: 12px; }
.pricing-tape > summary { cursor: pointer; color: var(--blue); font-weight: 700; }
.pricing-tape table { width: 100%; max-width: 520px; margin: 14px 0; border-collapse: collapse; font-size: 13px; }
.pricing-tape caption { text-align: left; padding-bottom: 8px; color: var(--muted); font-size: 12px; }
.pricing-tape th,
.pricing-tape td { padding: 6px 10px; border-bottom: 1px solid var(--line, #dce3eb); text-align: left; }
.pricing-tape td { text-align: right; white-space: nowrap; }
.pricing-campaign[hidden] { display: none !important; }

/* 商品ページの数量割引。フォーム・詳細条件・価格セルには適用しない。 */
.pricing-discount--compact { background:var(--blue-soft, #edf3fb); border-color:#cbd9eb; padding:20px; line-height:1.65; }
.pricing-discount--compact > strong { font-size:17px; line-height:1.5; }
.pricing-discount--compact ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; max-width:540px; margin:14px 0; }
.pricing-discount--compact li { display:flex; flex-direction:column; align-items:center; gap:3px; padding:10px 8px; border:1px solid #d5e0ee; border-radius:8px; background:#fff; }
.pricing-discount--compact li span { color:var(--muted); font-size:12px; }
.pricing-discount--compact li b { color:var(--blue-deep); font-size:20px; line-height:1.4; }
.product-shipping-note { display:block; margin-top:5px; font-size:12px; line-height:1.8; color:var(--muted); }
.product-shipping-note a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 640px) {
  .pricing-discount,
  .pricing-tape,
  .pricing-campaign { padding: 14px; }
  .pricing-discount ul { gap: 4px 16px; }
  .pricing-discount--compact > strong { font-size:15px; }
  .pricing-discount--compact ul { gap:7px; }
  .pricing-discount--compact li { padding:9px 4px; }
  .pricing-discount--compact li span { font-size:11px; }
  .pricing-discount--compact li b { font-size:17px; }
}
