/* ============================================================
   鰻のさわべ 予約システム専用テーマ（2026-06-11）
   slug=unagi-sawabe のときだけ lib/branding.php が読み込む。
   onogi(toogood側)には読み込まれないので無影響。
   ブランド: 白基調 × 焦茶 #370d00 × サンドベージュ #e7ceb1 ・明朝(Shippori Mincho)・Jost数字・フラット
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&family=Jost:wght@400;500;600;700&display=swap');

/* ---- 配色トークンごと差し替え（var()利用箇所が一斉に変わる）---- */
body.reserve {
  --c-brand: #370d00;
  --c-brand-soft: #5a3322;
  --c-primary: #370d00;
  --c-primary-hover: #1f0700;
  --c-primary-soft: #f3e9df;
  --c-accent: #a9763e;
  --c-accent-red: #a9763e;
  --c-gold: #c9a36b;
  --c-gold-soft: #e7ceb1;
  --c-text: #2a1408;
  --c-text-muted: #6e5a4c;
  --c-surface: #fbf8f3;
  --c-card: #ffffff;
  --c-border: #e7ceb1;
  --c-border-strong: #d9bf9f;
  --r-lg: 3px;
  --r-md: 3px;
  --r-sm: 2px;
  background: #fbf8f3;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  color: #2a1408;
  letter-spacing: 0.04em;
}
body.reserve a,
body.reserve a:hover { color: #370d00; }

/* ---- 見出し・本文は明朝統一 ---- */
body.reserve h1,
body.reserve h2,
body.reserve h3,
body.reserve .product-name,
body.reserve .date-card-day,
body.reserve .closed-notice h2,
body.reserve .complete-block-label,
body.reserve label,
body.reserve .field,
body.reserve p { font-family: YakuHanMP, "Shippori Mincho", serif; }

/* ---- 数字・価格は Jost ---- */
body.reserve .product-price,
body.reserve .cart-bar-value,
body.reserve .qty-input,
body.reserve .confirm-total-price,
body.reserve .complete-total-row strong,
body.reserve .reserve-header-mark { font-family: "Jost", sans-serif; }

/* ---- ヘッダー：紺→白基調の上品な帯 ---- */
body.reserve .reserve-header {
  background: #fff !important;
  background-image: none !important;
  color: #370d00;
  border-bottom: 1px solid #e7ceb1;
  border-top: 4px solid #370d00;
  padding: 32px 24px 30px;
}
body.reserve .reserve-header h1 {
  font-family: YakuHanMP, "Shippori Mincho", serif;
  color: #370d00;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 0.12em;
}
body.reserve .reserve-header-mark {
  color: #a9763e;
  border: 1px solid #d9bf9f;
  background: #fff;
  letter-spacing: 0.28em;
  border-radius: 2px;
}
body.reserve .reserve-header-sub { color: #6e5a4c; opacity: 1; }

/* ---- セクションカード：フラット・ベージュ罫 ---- */
body.reserve .section {
  border: 1px solid #e7ceb1;
  border-radius: 3px;
  box-shadow: none;
  background: #fff;
}
body.reserve .section-head { border-bottom: 1px solid #ecdcc6; }
body.reserve .section h2,
body.reserve .closed-notice h2 { color: #370d00; letter-spacing: 0.08em; }

/* セクション番号：焦茶丸→ベージュ角・Jost数字 */
body.reserve .section-num {
  background: #370d00 !important;
  color: #fff;
  font-family: "Jost", sans-serif;
  border-radius: 2px;
  font-weight: 600;
}

/* ---- 日付カード ---- */
body.reserve .date-card {
  background: #fbf6ee;
  border: 1px solid #e7ceb1;
  border-radius: 3px;
}
body.reserve .date-card:hover { border-color: #a9763e; background: #f6ecdc; }
body.reserve .date-card.is-selected,
body.reserve .date-card:has(input:checked) {
  border-color: #370d00;
  background: #fff;
  box-shadow: inset 0 0 0 1px #370d00;
}
body.reserve .date-card-day { color: #370d00; font-weight: 700; }
body.reserve .date-card-label {
  background: #370d00;
  color: #fff;
  border-radius: 2px;
  letter-spacing: 0.1em;
}
body.reserve .date-card-meta { color: #6e5a4c; }

/* ---- 商品カード ---- */
body.reserve .product-card {
  border: 1px solid #e7ceb1;
  border-radius: 3px;
}
body.reserve .product-card-head { border-bottom: 1px solid #ecdcc6; }
body.reserve .product-photo { background: #f6ecdc; border: 1px solid #e7ceb1; border-radius: 2px; }
body.reserve .product-name { color: #370d00; }
body.reserve .product-tag { background: #e7ceb1; color: #5a3322; border-radius: 2px; }
body.reserve .product-price { color: #370d00; }
body.reserve .product-price-sale strong { color: #a9763e; }
body.reserve .size-row { border-top: 1px dashed #e7ceb1; }

/* 数量コントロール */
body.reserve .qty-btn {
  border: 1px solid #370d00;
  color: #370d00;
  border-radius: 2px;
  background: #fff;
}
body.reserve .qty-btn:hover { background: #370d00; color: #fff; }
body.reserve .qty-input { color: #2a1408; }
body.reserve .qty-input:focus { outline-color: #370d00; }

/* ---- 時間スロット ---- */
body.reserve .slot-grid-hour { background: #370d00 !important; color: #fff; }
body.reserve .slot { border-radius: 2px; }
body.reserve .slot:has(input:checked) {
  background: #370d00 !important;
  border-color: #370d00 !important;
  box-shadow: 0 0 0 2px #e7ceb1 !important;
}

/* ---- カートバー（下部固定）---- */
body.reserve .cart-bar { background: #fff; border-top: 1px solid #e7ceb1; }
body.reserve .cart-bar-value { color: #370d00; }

/* ---- ボタン ---- */
body.reserve .btn-primary,
body.reserve .btn-cta {
  background: #370d00 !important;
  border: 1px solid #370d00 !important;
  color: #fff !important;
  border-radius: 3px;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  letter-spacing: 0.12em;
  font-weight: 600;
}
body.reserve .btn-primary:hover:not(:disabled),
body.reserve .btn-cta:hover:not(:disabled) { filter: none; background: #1f0700 !important; }
body.reserve .btn {
  border-radius: 3px;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  letter-spacing: 0.08em;
}

/* ---- 確認・完了ページ ---- */
body.reserve .confirm-section-title { border-left: 3px solid #370d00 !important; color: #370d00; }
body.reserve .confirm-pickup-date,
body.reserve .confirm-pickup-time,
body.reserve .confirm-total-price,
body.reserve .complete-pickup-date,
body.reserve .complete-pickup-time,
body.reserve .complete-reservation-no,
body.reserve .complete-lead { color: #370d00 !important; }
body.reserve .complete-block { border-color: #e7ceb1; }

/* ---- キャンペーンバナー：赤→ベージュ/焦茶（さわべは赤を使わない）---- */
body.reserve .campaign-banner { background: #f9f2e8; border: 1px solid #e7ceb1; border-radius: 3px; }
body.reserve .campaign-banner-mark { background: #370d00; border-radius: 2px; }
body.reserve .campaign-list-item::before { background: #a9763e; }
body.reserve .campaign-list-label { color: #5a3322; }
body.reserve .campaign-list-note { color: #6e5a4c; }

/* ---- フッター ---- */
body.reserve .reserve-footer { color: #6e5a4c; border-top: 1px solid #e7ceb1; }
