/* =========================================================
   直売所／通販の商品棚・注文ページ（/order）・注文ボタンの強調・商品選択（数量ステッパー）
   ========================================================= */

.shelf-lead{ font-size:.85rem; color:var(--muted); margin:.2rem 0 0; }

/* 通販の棚は背景を変えて別の売り場に見せる */
.stock--online{ background:#e9ece3; }

/* 通販の棚・注文ページへの導線 */
.btn-order{
  display:inline-block; padding:.75rem 1.4rem; border-radius:8px;
  background:var(--green-dark, #3f4f27); color:#fff; font-weight:700; text-decoration:none;
}
.nav .nav-order{ font-weight:700; }

.card-order-btn{
  display:block; width:calc(100% - 1.8rem); margin:.8rem .9rem .9rem; padding:.7rem; box-sizing:border-box;
  border:0; border-radius:6px; background:var(--green-dark, #3f4f27); color:#fff;
  font:inherit; font-weight:700; text-align:center; text-decoration:none; cursor:pointer;
}

/* 注文ページの見出し */
.order-page-head{ background:var(--cream); padding:2.4rem 1.2rem 0; }
.order-page-head-inner{ max-width:1280px; margin:0 auto; padding:0 2rem; }
.breadcrumb{ font-size:.8rem; color:var(--muted); margin-bottom:.6rem; }
.breadcrumb a{ color:inherit; }

/* トップへ戻る導線。パンくずやロゴだけでは戻れると気づけないため、明確なボタンを置く */
.back-home-wrap{ max-width:720px; margin:1.8rem auto 0; padding:0 1.2rem; text-align:center; }
.btn-back-home{
  display:inline-block; padding:.8rem 1.8rem; border-radius:8px;
  background:#fff; border:1.5px solid var(--green-dark, #3f4f27);
  color:var(--green-dark, #3f4f27); font-weight:700; text-decoration:none;
  transition:background .2s, transform .1s;
}
.btn-back-home::before{ content:'‹ '; font-weight:700; }
.btn-back-home:active{ background:#f1f3ec; transform:translateY(1px); }
@media (max-width:600px){
  .back-home-wrap{ padding:0 .9rem; }
  .btn-back-home{ display:block; width:100%; box-sizing:border-box; padding:.9rem 1rem; }
}

/* =========================================================
   フェーズ2：注文ボタンの強調（アクセント色は仮：柿色系）
   ========================================================= */
:root{ --accent:#C2410C; --accent-dark:#9A3412; }

.btn-order,
.card-order-btn,
#orderForm .cform-submit{
  background:var(--accent); color:#fff;
  box-shadow:0 3px 10px rgba(194,65,12,.28);
  transition:background .2s, transform .1s;
}
.btn-order:hover,
.card-order-btn:hover,
#orderForm .cform-submit:hover{ background:var(--accent-dark); }
.btn-order:active,
.card-order-btn:active,
#orderForm .cform-submit:active{ transform:translateY(1px); }
.btn-order{ padding:.9rem 1.8rem; font-size:1rem; }
.card-order-btn{ padding:.85rem; font-size:.95rem; }
#orderForm .cform-submit{ padding:1rem; font-size:1.08rem; }

/* ヘッダーの「ご注文」 */
.nav a.nav-order{
  background:var(--accent); color:#fff; border-radius:999px;
  padding:.5rem 1.1rem; margin-left:.4rem;
  box-shadow:0 2px 6px rgba(194,65,12,.3);
}
.nav a.nav-order:hover,
.nav a.nav-order.active{ background:var(--accent-dark); color:#fff; }
.nav a.nav-order::after{ display:none !important; }

/* 追加した行を一瞬ハイライト */
.order-line.is-added{ animation:orderAdded 1.2s ease-out; border-radius:8px; }
@keyframes orderAdded{ 0%{ background:#fde6d8; } 100%{ background:transparent; } }

/* 「○○を注文に追加しました」 */
.order-toast{
  position:fixed; left:50%; bottom:24px; transform:translate(-50%, 20px);
  background:#2b2b2b; color:#fff; padding:.8rem 1.4rem; border-radius:999px;
  font-size:.9rem; opacity:0; pointer-events:none; transition:.25s; z-index:1000;
  width:max-content; max-width:calc(100% - 32px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.order-toast.is-show{ opacity:1; transform:translate(-50%, 0); }
.nav a.nav-order, .nav a.nav-order.active{ border-bottom:none; font-weight:700; }
@media (max-width:1200px){
  .nav a.nav-order{ margin:.8rem 1.2rem; text-align:center; border-radius:8px; }
}

/* =========================================================
   カードの「単位：」の文字だけ消す（値の「15個」と「価格：3,500円」は元のまま）
   （直売所・通販の両方の棚）
   ========================================================= */
.card-info > div:first-child dt{ display:none; }

/* =========================================================
   注文ページ：商品選択（一覧＋数量ステッパー）
   ========================================================= */
.order-block-hint{ display:block; font-family:"Noto Sans JP",sans-serif; font-size:.74rem; font-weight:400; color:var(--muted); margin-top:.15rem; letter-spacing:0; }
.order-picker{ display:flex; flex-direction:column; gap:.6rem; }
.order-pick{
  display:flex; align-items:center; gap:.85rem;
  padding:.65rem .75rem; background:#fff;
  border:1.5px solid var(--beige); border-radius:12px;
  cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s;
}
.order-pick:hover{ border-color:#d6cdb4; }
.order-pick.is-selected{
  border-color:var(--accent); background:#fff8f3;
  box-shadow:0 0 0 3px rgba(194,65,12,.08);
}
.order-pick-img{ width:56px; height:56px; border-radius:8px; object-fit:cover; flex-shrink:0; background:#f0ebd6; }
.order-pick-body{ flex:1; min-width:0; }
.order-pick-name{
  font-family:"Noto Serif JP",serif; font-weight:600; font-size:1rem; color:var(--text);
  line-height:1.4; margin:0; font-feature-settings:"palt";
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.order-pick-meta{
  font-size:.8rem; color:var(--muted); margin:.15rem 0 0; line-height:1.4;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.order-pick-price{ color:var(--text); font-weight:700; margin-left:.6em; }

/* − 数量 ＋（タップしやすいよう 44px 四方） */
.order-stepper{
  display:flex; align-items:center; flex-shrink:0;
  border:1.5px solid var(--beige); border-radius:999px; background:#fff; overflow:hidden;
}
.order-pick.is-selected .order-stepper{ border-color:var(--accent); }
.order-step-btn{
  width:44px; height:44px; border:0; background:transparent; cursor:pointer;
  font-size:1.25rem; line-height:1; color:var(--accent); font-family:inherit;
  display:flex; align-items:center; justify-content:center; transition:background .15s;
}
.order-step-btn:hover:not(:disabled){ background:#fde6d8; }
.order-step-btn:disabled{ color:#c9c4b6; cursor:default; }
.order-qty-val{
  min-width:2ch; text-align:center; font-weight:700; font-size:1.05rem; color:var(--text);
  font-variant-numeric:tabular-nums;
}
.order-pick:not(.is-selected) .order-qty-val{ color:#b5b0a3; }

/* 選択中の件数 */
.order-pick-summary{
  margin:.9rem 0 .2rem; padding:.7rem .9rem; border-radius:8px;
  background:var(--cream); font-size:.86rem; color:var(--muted); text-align:center;
}
.order-pick-summary.has-items{ background:#fff3ea; color:var(--text); }
.order-pick-summary b{ color:var(--accent-dark); }

@media (max-width:480px){
  .order-pick{ gap:.65rem; padding:.55rem .6rem; }
  .order-pick-img{ width:48px; height:48px; }
  .order-pick-name{ font-size:.95rem; }
  .order-pick-meta{ font-size:.75rem; }
  .order-pick-price{ display:block; margin-left:0; }
}
