/* =========================
   既存レイアウト系
   ========================= */
.fs-c-breadcrumb { margin: 0 auto min(80px,6vw); max-width: 1200px; width: 90%; }
.fs-l-pageMain { margin: auto; padding-bottom: min(150px,20.834vw); max-width: 1200px; width: 90%; }
.fs-c-cartDiscountInfo { padding: 20px; border: 1px solid #ED8046; background: #fff4ea; }
.fs-c-cartDiscountInfo__info span { color: #ED8046; }

/* ご注文手続き */
@media screen and (min-width: 960px){
  [class^=fs-body-checkout] .fs-l-checkout { position: relative; }
  [class^=fs-body-checkout] .fs-l-checkout__sideColumn { position: sticky; top: 0; }
}

/* マイページ */
@media screen and (max-width: 480px){
  .fs-c-accountService__page:not(:first-of-type) { flex-basis: 48%; }
}

/* マイページTOPへ戻るボタン */
.fs-c-buttonContainer--myPageTop,
.fs-c-buttonContainer--back,
.fs-c-buttonContainer--backToRegister { margin-top: min(100px, 7vw); }
.fs-c-buttonContainer--myPageTop a,
.fs-c-buttonContainer--myPageTop a:link,
.fs-c-buttonContainer--myPageTop a:visited,
.fs-c-buttonContainer--back a,
.fs-c-buttonContainer--back a:link,
.fs-c-buttonContainer--back a:visited,
.fs-c-buttonContainer--backToRegister a,
.fs-c-buttonContainer--backToRegister a:link,
.fs-c-buttonContainer--backToRegister a:visited{
  margin:auto; padding:1em 0; color:#fff; display:block; width:80%; max-width:320px; text-align:center; background:#ED8046;
}

/* =========================
   商品説明（大）ユーティリティ
   ========================= */
.iz-typo p { margin: 0 0 8px; line-height: 1.9; font-size: 14px; }
.iz-badge{
  display:inline-block; padding:.2em .55em; border:1px solid #ED8046; color:#ED8046;
  border-radius:4px; font-size:12px; line-height:1.4; vertical-align:middle;
}
.iz-badge--frozen { border-color:#0ea5e9; color:#0ea5e9; }
.iz-alert{
  margin:10px 0; padding:10px 12px; border:1px dashed #e5e7eb; background:#f9fafb;
  border-radius:6px; font-size:14px; line-height:1.8;
}
.iz-small { font-size:12px; opacity:.9; }

/* =========================
   UL型バッジ：共通ベース（CSS変数で色受け取り）
   ========================= */
.p-badges{
  display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 .75rem; padding:0; list-style:none;
}
.p-badges .badge{
  /* JSやテーマ側から上書き可能なデフォルト値 */
  --bg:#f6f7f9; --fg:#1f2937; --bd:rgba(0,0,0,.08);
  display:inline-flex; align-items:center; gap:.35em;
  padding:.45em .7em; border-radius:9999px; border:1px solid var(--bd);
  background:var(--bg); color:var(--fg); font-size:.875rem; line-height:1; white-space:nowrap;
  box-shadow:0 0 0 1px rgba(255,255,255,.6) inset;
}

/* 先頭のバッジを“少し大きく”するバリアント */
.p-badges--lead .badge{
  font-size:1rem;
  padding:.55em .9em;
}
@media (min-width:960px){
  .p-badges--lead .badge{ font-size:1.0625rem; }
}

/* =========================
   UL型バッジ：色分け（任意の固定クラス運用）
   ========================= */
.p-badges .badge.is-wagyu{     background:#fff7f5; border-color:#ED8046; color:#8c2f1d; } /* 黒毛和牛 */
.p-badges .badge.is-loin{      background:#f5f9ff; border-color:#aec8ff; color:#1f3a95; } /* ロース */
.p-badges .badge.is-haneshita{ background:#f5fff7; border-color:#aee8c0; color:#176c3a; } /* ハネシタ */
.p-badges .badge.is-frozen{    background:#f3fbff; border-color:#9edbff; color:#0b6aa4; } /* 冷凍便 */
.p-badges .badge.is-chilled{   background:#f4fffb; border-color:#9ee5d0; color:#0e6d57; } /* 冷蔵便 */
.p-badges .badge.is-gift{      background:#fff5fb; border-color:#f7b6dd; color:#9a2f6f; } /* ギフト */

/* =========================
   アクセシビリティ配慮（高コントラスト環境）
   ========================= */
@media (prefers-contrast: more){
  .p-badges .badge{ --bg:#fff; --bd:#6b7280; --fg:#111827; } /* 変数で一括上書き */
  /* 固定色クラスにも背景白を適用して視認性を確保 */
  .p-badges .badge.is-wagyu,
  .p-badges .badge.is-loin,
  .p-badges .badge.is-haneshita,
  .p-badges .badge.is-frozen,
  .p-badges .badge.is-chilled,
  .p-badges .badge.is-gift { background:#fff; }
}

/* =========================
   モバイル微調整
   ========================= */
@media (max-width:480px){
  .p-badges .badge{ font-size:.8125rem; }
  .p-badges--lead .badge{ font-size:.9375rem; }
}
