/* ============================================================
   Manekineko-AI — Product Page "Refined Kyoto" v4
   WebDAV /content/css/custom.css

   設計原則:
     Phase 1 — 骨格レイアウト（カラム比率・ボタン配置）
     Phase 2 — フォント・色（最小限）
     Phase 3 — 余白・リズム・視線導線

   縦リズム設計（モックv4準拠）:
     brand   → mb:10px   （密）
     title   → mb:20px   line-height:1.45
     price   → mb:28px   （呼吸を入れてCTAゾーンへ）
     options → mb:24px
     ATC btn → padding:20px  mb:10px
     wishlist→ padding:15px
     desc    → mt:36px  pt:36px  border-top

   リズムの考え方:
     上（識別情報）は密に → 下（行動・詳細）は広く
     10 → 20 → 28 → 36 と余白が段階的に広がる
   ============================================================ */


/* ================================================================
   PHASE 1: PDP 骨格レイアウト
   ================================================================ */

/* ── 1-A. カラム比率 58:42 ──────────────────────────────────── */

@media (min-width: 801px) {
  .productView .productView-images {
    width: 58% !important;
  }
  .productView .productView-details {
    width: 42% !important;
    min-width: 0;
    padding-left: 2rem;
    padding-right: 1rem;
  }
}

@media (min-width: 1441px) {
  .productView .productView-images {
    width: 58% !important;
  }
  .productView .productView-details {
    width: 42% !important;
    padding-left: 2.5rem;
    padding-right: 1rem;
  }
}


/* ── 1-B. CTAゾーン構造修正 ──────────────────────────────────
   テーマ既存: add-to-cart-buttons=calc(100%-4.64rem) + wishlist=4.64rem 横並び
   → ATC右にWishlistアイコンがくっつく「不自然な隙間」の正体
   修正: 全て縦積み・全幅に統一
   ──────────────────────────────────────────────────────────── */

/* ATC + ウォレットボタンのコンテナ：全幅化 */
.productView .productView-options .add-to-cart-buttons {
  width: 100% !important;
  float: none !important;
  display: block !important;
}

/* ATC送信ボタンのコンテナ */
.productView .productView-options .form-addToCart {
  width: 100%;
  float: none !important;
  margin-top: 0;
  padding-left: 0;
}

/* ATC送信ボタン本体 */
.productView .productView-options .form-addToCart .button--primary,
.productView .productView-options .form-addToCart #form-action-addToCart {
  width: 100% !important;
  display: block !important;
  border-radius: 0 !important;
  text-align: center;
}

/* Wishlistフォーム：横並びから全幅縦積みに */
.productView .productView-options .form-wishlist {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin-top: 10px;
}

/* Wishlistボタン：アイコンだけ→テキスト付き全幅に */
.productView .productView-options .form-wishlist .dropdown-menu-button-wishList {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  padding: 14px 24px;
  border: 1px solid #E5E2DC !important;
  border-radius: 0;
  background: transparent !important;
}


/* ── 1-C. 説明エリア構造 ────────────────────────────────────── */

.productView-description {
  clear: both;
}

/* Description内のインラインstyle上書き */
.productView-description .productView-description span,
.productView-description .productView-description font {
  font-size: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}


/* ================================================================
   PHASE 2: フォント・色
   ================================================================ */

/* ── 商品タイトル ────────────────────────────────────────────── */
.productView .productView-title {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.5px;
  color: #1A1A18;
  text-transform: none;
}

.productView.uppercaseTitles .productView-title {
  text-transform: none !important;
}

/* ── ブランド名 ──────────────────────────────────────────────── */
.productView .productView-brand {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #4A4845;
}

/* ── 価格 ────────────────────────────────────────────────────── */
.productView .productView-price {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-weight: 500;
  color: #1A1A18;
  letter-spacing: 0.5px;
}

.productView .productView-price .price--rrp,
.productView .productView-price .price--non-sale {
  color: #AAA8A3;
  text-decoration: line-through;
  font-weight: 400;
}

.productView .productView-price .price--saving {
  color: #B09E7C;
}

/* ── ATCボタンの色 ───────────────────────────────────────────── */
.productView .productView-options .form-addToCart .button--primary,
.productView .productView-options .form-addToCart #form-action-addToCart {
  background-color: #1A1A18 !important;
  border-color: #1A1A18 !important;
  color: rgba(255,255,255,0.9) !important;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  transition: background-color 0.3s, border-color 0.3s;
}

.productView .productView-options .form-addToCart .button--primary:hover,
.productView .productView-options .form-addToCart #form-action-addToCart:hover {
  background-color: #333331 !important;
  border-color: #333331 !important;
}

/* ── Wishlistボタンの色（Phase3でレイアウト・サイズ指定済み）── */
.productView .productView-options .form-wishlist .dropdown-menu-button-wishList {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  text-transform: uppercase;
  transition: all 0.3s;
}

.productView .productView-options .form-wishlist .dropdown-menu-button-wishList:hover {
  border-color: #AAA8A3 !important;
  color: #4A4845;
}

/* ── フォーム要素 ────────────────────────────────────────────── */
.productView .productView-options .form-input--incrementTotal {
  border-color: #E5E2DC;
  border-radius: 0;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
}

.productView .productView-options .form-label {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #4A4845;
}

.productView .productView-options .form-input,
.productView .productView-options .form-select {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  border-color: #E5E2DC;
  border-radius: 0;
}

.productView .productView-options .form-input:focus,
.productView .productView-options .form-select:focus {
  border-color: #B09E7C;
}

/* ── タブ見出し ──────────────────────────────────────────────── */
.productView-description .tabs .tab-title {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7A7772;
  transition: color 0.3s;
}

.productView-description .tabs .tab-title:hover {
  color: #1A1A18;
}

.productView-description .tabs .tab.is-active .tab-title {
  color: #1A1A18;
}

.productView-description .tabs .tab.is-active {
  border-top-color: #B09E7C;
  border-top-width: 2px;
}

/* ── レビュー・関連商品 ──────────────────────────────────────── */
.productReviews .page-heading,
.productView-upsell .page-heading {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 400;
  letter-spacing: 1px;
}

.productReviews .page-heading span::after,
.productView-upsell .page-heading span::after {
  border-color: #B09E7C;
}

.productView-upsell .card-title a {
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-weight: 400;
  color: #1A1A18;
}

/* ── パンくず ────────────────────────────────────────────────── */
.breadcrumbs .breadcrumb {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 11px;
  color: #AAA8A3;
  letter-spacing: 1px;
}

.breadcrumbs .breadcrumb a {
  color: #AAA8A3;
  transition: color 0.3s;
}

.breadcrumbs .breadcrumb a:hover {
  color: #4A4845;
}

/* ── ギャラリー・サムネイル ──────────────────────────────────
   「静かに切り替わる」雰囲気: ゆっくりしたtransition +
   アクティブ時の繊細なborder
   ──────────────────────────────────────────────────────────── */

/* メイン画像のフェード */
.productView .productView-images .productView-img-container img {
  transition: opacity 0.5s ease;
}

/* サムネイル: 非アクティブは控えめ、ホバーでゆっくり浮かぶ
   ※ デスクトップ(801px+)のみ適用。スマホはBigCommerceの
   スライダー表示と競合するので無効化（タップ時の画像縮小バグ対策） */
@media (min-width: 801px) {
  .productView .productView-images .productView-thumb {
    opacity: 0.5;
    transition: opacity 0.4s ease, border-color 0.4s ease;
    border-bottom: 2px solid transparent;
  }

  .productView .productView-images .productView-thumb:hover {
    opacity: 0.8;
  }

  .productView .productView-images .productView-thumb.is-active {
    opacity: 1;
    border-bottom-color: #1A1A18;
  }
}

/* サムネイル画像リスト全体の余白 */
.productView .productView-images .productView-thumbnails {
  margin-top: 12px;
}


/* ================================================================
   PHASE 3: 余白・リズム・視線導線
   縦リズム: 10 → 20 → 28 → 36（上は密、下は広く）
   ================================================================ */

/* ── 3-A. タイトルの余白設計 ─────────────────────────────────
   呼吸感のある行間 + 下マージンで価格との間に静けさを
   ──────────────────────────────────────────────────────────── */

.productView .productView-title {
  line-height: 1.5 !important;
  margin-bottom: 16px !important;  /* 呼吸は保ちつつ、価格との距離を詰める(28→16) */
}

@media (min-width: 801px) {
  .productView .productView-title {
    margin-top: 4px;
    margin-bottom: 16px !important;
  }
}


/* ── 3-B. ブランド → タイトルの接続 ──────────────────────────
   ブランド名はタイトルに寄せる（密の関係）
   ──────────────────────────────────────────────────────────── */

.productView .productView-brand {
  margin-bottom: 10px !important;
}


/* ── 3-C. 価格の存在感と呼吸 ─────────────────────────────────
   タイトルから少し離す → 価格の下にしっかり余白 →
   CTAゾーン（数量・ボタン）への視線移動をスムーズに
   ──────────────────────────────────────────────────────────── */

.productView .productView-price {
  font-size: 22px !important;
  margin-top: 4px;             /* タイトルからわずかに呼吸（Chappy R3 ①） */
  margin-bottom: 16px !important;  /* border-bottom までの距離を締める */
  padding-bottom: 28px;
  border-bottom: 1px solid #EDEBE6;
}

@media (min-width: 801px) {
  .productView .productView-price {
    font-size: 24px !important;
  }
}


/* ── 3-D. CTAゾーン ──────────────────────────────────────────
   数量 → ATC → Wishlist を1つの視覚ブロックとして設計。
   ATCが主役。周囲に呼吸をもたせて「ここがCTA」と伝える。
   ──────────────────────────────────────────────────────────── */

/* 数量フィールド：CTAゾーンの入口。ラベルを控えめに */
.productView .productView-options .form-field--increments {
  margin-top: 0;
  margin-bottom: 24px;
  padding-top: 0;
}

.productView .productView-options .form-field--increments .form-label {
  margin-bottom: 8px;
  font-size: 11px;
  color: #7A7772;
}

/* ATCボタン：主役
   - padding上下を大きく → 高さで存在感
   - font-sizeを上げすぎない → letter-spacingで上品に
   - 上に少し余白 → 数量との間に「間」を作る */
.productView .productView-options .form-addToCart .button--primary,
.productView .productView-options .form-addToCart #form-action-addToCart {
  padding: 22px 24px !important;
  font-size: 12px !important;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
}

/* ATCコンテナ */
.productView .productView-options .form-addToCart {
  margin-bottom: 0;
}

/* Wishlist：ATCの下、控えめに
   テーマ既存の「小さなハートアイコンが右に浮く」を解消済み（Phase1）
   ここではスタイルの統一のみ */
.productView .productView-options .form-wishlist .dropdown-menu-button-wishList {
  font-size: 11px;
  letter-spacing: 2px;
  color: #7A7772;
}

.productView .productView-options .form-wishlist .dropdown-menu-button-wishList .icon svg {
  fill: #7A7772;
  stroke: #7A7772;
  width: 14px;
  height: 14px;
  transition: fill 0.3s, stroke 0.3s;
}

.productView .productView-options .form-wishlist .dropdown-menu-button-wishList:hover .icon svg {
  fill: #4A4845;
  stroke: #4A4845;
}

/* ペイメントボタン（Apple Pay等）: 繊細な区切り */
.productView .productView-options .add-to-cart-wallet-buttons {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #EDEBE6;
}


/* ── 3-E. オプションエリアの下余白 ───────────────────────────
   ボタン群の前にしっかり区切り
   ──────────────────────────────────────────────────────────── */

.productView .productView-options {
  margin-top: 12px;      /* 価格border下から少し呼吸（Chappy R3 ②） */
  padding-bottom: 24px;
}


/* ── 3-F. スペック行の余白 ───────────────────────────────────
   ラベルと値の行間を整える
   ──────────────────────────────────────────────────────────── */

.productView .productView-details .productView-info-name,
.productView .productView-details .productView-info-value {
  font-size: 15px;
  line-height: 1.8;
  padding: 6px 0;
  color: #1A1A18;
}


/* ── 3-G. Description 格上げ ─────────────────────────────────
   セクションとしての存在感を出す:
   - 上に余白 + border で区切り
   - 文字サイズを読みやすいレベルに
   - line-height をゆったり
   ──────────────────────────────────────────────────────────── */

/* Descriptionセクション全体 */
article.productView-description {
  margin-top: 36px;
  padding-top: 36px;
}

/* 説明セクション見出し（"Description"等） */
.productView-description .productView-title {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7A7772;
  margin-bottom: 20px !important;
  padding-bottom: 14px;
  border-bottom: 1px solid #EDEBE6;
}

/* Descriptionの本文 */
.productView-description .productView-description {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 17px;
  line-height: 1.9;
  color: #1A1A18;
  font-weight: 400;
}

/* タブ内本文 */
.productView-description .tab-content {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 17px;
  line-height: 1.9;
  color: #1A1A18;
  font-weight: 400;
  padding: 28px 0 36px;
}

.productView-description .tab-content h2,
.productView-description .tab-content h3,
.productView-description .tab-content h4 {
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-weight: 400;
  color: #1A1A18;
  margin-bottom: 12px;
}

.productView-description .tab-content p {
  margin-bottom: 20px;
}


/* ── 3-H. 右カラムの空気感 ───────────────────────────────────
   モックの「静けさ」を構造ではなく余白と密度で再現:
   - 画像上端に揃える
   - rating・細かいUI要素は控えめに
   - 各ブロック間に「間」を持たせる
   ──────────────────────────────────────────────────────────── */

@media (min-width: 801px) {
  .productView .productView-product {
    padding-top: 0;
    margin-top: 0;
  }
}

/* レーティング（星）を控えめに: 存在するが主張しない */
.productView .productView-rating {
  margin-top: 4px;
  margin-bottom: 8px;
  opacity: 0.6;
  transition: opacity 0.3s;
}

.productView .productView-rating:hover {
  opacity: 1;
}

/* Gift wrapping / shipping info: テキストを控えめに */
.productView .productView-options .form-label--alternate {
  font-size: 12px;
  color: #7A7772;
  letter-spacing: 0.5px;
}

/* 右カラム下部 — social links を静かに */
.productView .socialLinks {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #EDEBE6;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.productView .socialLinks:hover {
  opacity: 1;
}


/* ================================================================
   PHASE 4: GreatZakka スタイル — 右カラム短い説明文
   説明文の「Note」以降を抽出し、ATCボタンの下に配置（JSで注入）
   ================================================================ */

/* ── 4-A. 右カラム内の短い説明文 ─────────────────────────────
   GreatZakka風: 購入ブロックの一部として溶け込む
   - 控えめなサイズ
   - 穏やかな色
   - 上下に呼吸
   - 太字なし・箇条書きなし
   ──────────────────────────────────────────────────────────── */

.mnk-short-desc {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #EDEBE6;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 15.5px;
  line-height: 1.8;
  color: #1A1A18;
  font-weight: 400;
  letter-spacing: 0.2px;
  max-width: 420px;
}

/* 強調やボールドを打ち消す（穏やかなトーン維持）*/
.mnk-short-desc strong,
.mnk-short-desc b {
  font-weight: 400;
}

/* リンクがあれば控えめに */
.mnk-short-desc a {
  color: #7A7772;
  border-bottom: 1px solid #E5E2DC;
  transition: color 0.3s, border-color 0.3s;
}

.mnk-short-desc a:hover {
  color: #4A4845;
  border-color: #AAA8A3;
}

/* Gift wrapping / shipping info との間 */
.mnk-short-desc + .productView-info-bulkPricing,
.mnk-short-desc ~ .form-label--alternate {
  margin-top: 20px;
}


/* ================================================================
   PHASE 5 (B-1): 右カラムの「入口」アクセント
   - 長い区切り線 → 短いタイトルマークへ
   - ブランド名〜タイトル横のみに寄り添う（高さ約72px）
   - カラム全体には広げない → 区切り感を消す
   - デスクトップ(801px+)のみ。スマホでは非表示
   ================================================================ */

@media (min-width: 801px) {
  .productView .productView-details {
    position: relative;
  }
  .productView .productView-details::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;                /* ブランドの x-height あたりに合わせる */
    height: 50px;             /* さらに短く: 72 → 50px（70%） */
    width: 1px;
    background-color: #C8B79A; /* もう一段淡いゴールド */
    opacity: 0.55;             /* 色を淡くしたので少しだけ上げる */
    /* 上下フェードはそのまま */
    mask-image: linear-gradient(to bottom, transparent 0, #000 6px, #000 calc(100% - 6px), transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 6px, #000 calc(100% - 6px), transparent 100%);
  }
}


/* ================================================================
   PHASE 5-B: Short description の見え方の微調整
   - 位置はCTA下のまま（base.html側は触らない）
   - border-top / padding-top / margin-top は Phase 4 の元設計を維持
   - 行間だけ可読性優先で 1.8 → 1.75 に詰める
   ================================================================ */

.mnk-short-desc {
  line-height: 1.75;
}


/* ================================================================
   PHASE 6: 商品カード（Related Products / カテゴリ一覧共通）
   - ホバー時のATC/Choose Optionsボタンを Refined Kyoto 統一
   - card-title を Cormorant Garamond、ブランド・価格を Inter
   - ホバー transition を優雅に
   ================================================================ */

/* カード全体: ホバー時のアニメーションを優雅に */
.card .card-figure {
  transition: opacity 0.4s ease;
}

/* カード内のブランド名 */
.card .card-text.brandName {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7A7772;
}

/* カード内タイトル */
.card .card-title,
.card .card-title a {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.3px;
  color: #1A1A18;
  text-transform: none;
}

/* カード内の価格 */
.card .card-text[data-test-info-type="price"] {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  letter-spacing: 0.3px;
  color: #1A1A18;
}

/* ホバー時のATC / Choose Options ボタン: PDP本体と同じ色調に */
.card .card-figcaption .button--primary,
.card .card-figcaption-button.button--primary {
  background-color: #1A1A18 !important;
  border-color: #1A1A18 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0 !important;
  transition: background-color 0.3s, border-color 0.3s;
}

.card .card-figcaption .button--primary:hover,
.card .card-figcaption-button.button--primary:hover {
  background-color: #333331 !important;
  border-color: #333331 !important;
}

/* ホバー時のQuick View / Wishlist / Compare アイコンボタン */
.card .card-figcaption-button:not(.button--primary) {
  background-color: rgba(255, 255, 255, 0.95) !important;
  border-color: #E5E2DC !important;
  color: #4A4845;
  transition: all 0.3s;
}

.card .card-figcaption-button:not(.button--primary):hover {
  background-color: #fff !important;
  border-color: #B09E7C !important;
  color: #1A1A18;
}

/* ------------------------------------------------------------------
   Phase 6 追加: 一覧カードのホバー ADD TO CART ボタンは非表示
   - Covent Garden 標準では bottom: 0; margin: 1rem で「カード下端」に
     配置されるため、タイトル/価格帯に被って見える
   - Refined Kyoto は「静けさ重視」なので、一覧ではボタンを出さず、
     Quick View アイコン + 商品ページ遷移で AtC を誘導する
   - ボタンは DOM から消さないので、モバイル(hover なし) では影響なし
   ------------------------------------------------------------------ */
@media (min-width: 801px) {
  .productCarousel-slide .card .card-figcaption-button.button--primary,
  .product .card .card-figcaption-button.button--primary {
    display: none !important;
  }
}


/* ================================================================
   PHASE 7: カテゴリ／一覧ページ（MANEKI NEKO 等）
   - 上部「breadcrumbs + h1 + category-description」を Refined Kyoto
     バナー風に再構成（中央寄せ、Cormorant 大見出し、サブカテリンク
     をチップ風に）
   - .actionBar（商品数 + Sort）をミニマルに
   - .pagination をクリーンなタイポに
   - モックアップ v4 の listing/page-banner を参照
   ================================================================ */

/* ------- Breadcrumbs: 見出し上の細い誘導線 ------- */
.container > .breadcrumbs {
  list-style: none;
  padding: 48px 0 0 0;
  margin: 0 0 22px 0;
  text-align: center;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 11px;
  letter-spacing: 1.5px;
  color: #7A7772;
  display: block;
}
.container > .breadcrumbs .breadcrumb {
  display: inline-block;
  margin: 0;
  padding: 0;
  background: none;
}
.container > .breadcrumbs .breadcrumb + .breadcrumb::before {
  content: "/";
  display: inline-block;
  margin: 0 10px;
  color: #AAA8A3;
}
.container > .breadcrumbs .breadcrumb a,
.container > .breadcrumbs .breadcrumb-label {
  color: #7A7772 !important;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.container > .breadcrumbs .breadcrumb.is-active a,
.container > .breadcrumbs .breadcrumb.is-active .breadcrumb-label {
  color: #1A1A18 !important;
}

/* ------- カテゴリ見出し（Cormorant 大見出し） ------- */
.page-heading {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 300 !important;
  font-size: 48px !important;
  letter-spacing: 5px !important;
  text-transform: none !important;
  color: #1A1A18 !important;
  text-align: center !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}
.page-heading .title-separator,
.page-heading hr,
.page-heading .title-separator--solid {
  display: none !important;
}

/* ------- カテゴリ説明: インラインスタイルをニュートラル化 ------- */
.category-description {
  max-width: 680px;
  margin: 0 auto 56px;
  padding: 0 20px 40px;
  text-align: center;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  position: relative;
}
/* 説明文末に細いゴールド区切り線（"入り口" 感を締める） */
.category-description::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: #C8B79A;
  margin: 32px auto 0;
}
.category-description p {
  margin: 0 0 14px;
  font-size: 13px !important;
  line-height: 1.9 !important;
  color: #4A4845 !important;
  letter-spacing: 0.2px;
}
.category-description p:empty,
.category-description p.blog-date {
  display: none !important;
}
/* テーマが付けたインラインの font-family / font-size / color / underline を無効化 */
.category-description p span,
.category-description p strong,
.category-description p em {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: inherit !important;
  color: inherit !important;
  text-decoration: none !important;
  letter-spacing: inherit !important;
}
/* サブカテゴリ見出し（<strong>MANEKI NEKO</strong>）をセクションラベル化 */
.category-description p strong {
  display: block;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #7A7772 !important;
  margin-bottom: 14px;
}
/* サブカテゴリリンクをチップ風に */
.category-description p a {
  display: inline-block;
  margin: 4px 6px;
  padding: 7px 18px;
  border: 1px solid #E5E2DC !important;
  background: transparent !important;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: #4A4845 !important;
  text-decoration: none !important;
  transition: all 0.3s;
}
.category-description p a:hover {
  border-color: #1A1A18 !important;
  color: #1A1A18 !important;
}
/* 説明文中の <br> 間隔調整 */
.category-description p br {
  line-height: 0;
}

/* ------- Action Bar（商品数 + Sort） ------- */
.actionBar {
  border: none !important;
  padding: 14px 0 !important;
  margin: 0 0 16px !important;
  border-top: 1px solid #EDEBE6 !important;
  border-bottom: 1px solid #EDEBE6 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 14px;
  background: transparent !important;
}
.actionBar .productCount {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #7A7772;
  margin: 0;
  padding: 0;
}
.actionBar .productCount a {
  margin-left: 14px;
  color: #4A4845;
  text-decoration: none;
  border-bottom: 1px solid #C8B79A;
  padding-bottom: 1px;
  transition: color 0.3s, border-color 0.3s;
}
.actionBar .productCount a:hover {
  color: #1A1A18;
  border-bottom-color: #1A1A18;
}
.actionBar .form-fieldset,
.actionBar .actionBar-section {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}
.actionBar .form-field {
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 12px;
}
.actionBar .form-label {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #7A7772;
  margin: 0 !important;
}
.actionBar .form-select,
.actionBar .form-select--small {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 12px;
  color: #1A1A18;
  border: 1px solid #E5E2DC;
  background-color: transparent;
  padding: 8px 36px 8px 14px;
  height: auto !important;
  letter-spacing: 0.3px;
  border-radius: 0 !important;
  box-shadow: none;
}
.actionBar .form-select:focus {
  outline: none;
  border-color: #B09E7C;
  box-shadow: none;
}

/* ===== Product Grid (Phase 8): ChatGPT 案 + サイドバー復活 + 横幅大幅拡張 =====
   方針:
   - .product--1 / --2 を明示的に 25% に戻して 1 枚目特殊崩れを防ぐ
   - 正方形化は .card-figure ではなく .card-img-container にかける
     (figcaption / hover image との衝突回避)
   - .card-figure は overflow:visible で殺さない
   - 画像 padding は 0 で正方形枠いっぱい
   - .image-hover (一覧ホバー用 2 枚目画像) は非表示
   - サイドバーは復活 (display:none しない)
   - .container の max-width を大幅に広げ、ビューポート両端の余白を削る
     (現状 max 1280px → 約 4 割の余白だったので 1800px に拡張) */

/* グリッド本体 */
.productGrid {
  display: flex !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin: 0 -10px 48px !important;
  list-style: none !important;
}

/* テーマの .product--1 / .product--2 を無力化して、常に 4 列 */
.productGrid > .product,
.page-sidebar + .page-content .productGrid > .product,
.page-content .productGrid > .product.product--1,
.page-content .productGrid > .product.product--2,
.page-content .productGrid > .product.desktop-columns--4 {
  width: 25% !important;
  max-width: 25% !important;
  flex: 0 0 25% !important;
  padding: 0 10px !important;
  margin: 0 0 34px !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: none !important;
}

/* 8 枚ごとの章区切り */
@media (min-width: 1025px) {
  .productGrid > .product:nth-child(8n+1),
  .productGrid > .product:nth-child(8n+2),
  .productGrid > .product:nth-child(8n+3),
  .productGrid > .product:nth-child(8n+4) {
    margin-top: 20px !important;
  }
  .productGrid > .product:nth-child(-n+4) {
    margin-top: 0 !important;
  }
}

/* カードはフラット化（枠線・背景・余白を除去） */
.productGrid .product .card,
.productGrid .productCarousel-slide .card {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  height: auto !important;
}
.productGrid .product .card:hover {
  border: none !important;
}

/* .card-figure は殺さない (hover figcaption と衝突するので overflow:visible) */
.productGrid .card-figure {
  position: relative !important;
  display: block !important;
  height: auto !important;
  margin: 0 0 14px !important;
  overflow: visible !important;
  background: transparent !important;
}

/* 正方形は .card-img-container に作る */
.productGrid .card-img-container {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 0 !important;
  padding-bottom: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #FAFAF8 !important;
}

/* テーマ側の比率用疑似要素があれば無効化 */
.productGrid .card-img-container::before,
.productGrid .card-img-container::after {
  display: none !important;
  content: none !important;
}

/* 一覧では hover 用 2 枚目画像を非表示 */
.productGrid .image-hover {
  display: none !important;
}

/* 画像を正方形枠いっぱいに (padding 0) */
.productGrid .card-img-container > img,
.productGrid .card-img-container .card-image,
.productGrid img.card-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  box-sizing: border-box !important;
}

/* figcaption (テーマの hover 用) は画像を隠さないように */
.productGrid .card-figcaption {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

/* カード本文 */
.productGrid .card-body {
  padding: 12px 2px 0 !important;
  text-align: center !important;
}
.productGrid .card .card-text.brandName {
  margin-bottom: 6px !important;
}
.productGrid .card .card-title {
  margin-bottom: 6px !important;
}

/* タブレット: 3 列 */
@media (max-width: 1024px) {
  .productGrid > .product,
  .page-sidebar + .page-content .productGrid > .product,
  .page-content .productGrid > .product.product--1,
  .page-content .productGrid > .product.product--2,
  .page-content .productGrid > .product.desktop-columns--4 {
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    flex: 0 0 33.3333% !important;
  }
}

/* スマホ: 2 列 */
@media (max-width: 700px) {
  .productGrid {
    margin: 0 -5px 32px !important;
  }
  .productGrid > .product,
  .page-sidebar + .page-content .productGrid > .product,
  .page-content .productGrid > .product.product--1,
  .page-content .productGrid > .product.product--2,
  .page-content .productGrid > .product.desktop-columns--4 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 0 5px !important;
    margin-bottom: 24px !important;
  }
  .productGrid .card-body {
    padding-top: 8px !important;
  }
}

/* ------- Pagination ------- */
.pagination {
  margin: 56px 0 80px !important;
  border-top: 1px solid #EDEBE6;
  padding: 36px 0 0 !important;
  background: transparent !important;
}
.pagination-list {
  display: flex;
  justify-content: center;
  gap: 2px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}
.pagination-item {
  margin: 0;
  padding: 0;
  background: none;
  display: inline-flex;
}
.pagination-item .pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.5px;
  color: #4A4845;
  text-decoration: none;
  border: 1px solid transparent !important;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;
  transition: color 0.3s, border-color 0.3s;
}
.pagination-item .pagination-link:hover {
  color: #1A1A18;
  border-bottom-color: #E5E2DC !important;
}
.pagination-item.pagination-item--current .pagination-link {
  color: #1A1A18 !important;
  border-bottom: 1px solid #1A1A18 !important;
  font-weight: 500;
  background: transparent !important;
}
.pagination-item--next .pagination-link,
.pagination-item--previous .pagination-link {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1A1A18;
  min-width: auto;
  padding: 0 14px;
}

/* ===== Phase 8: コンテナを画面いっぱいに広げる（左右の 4 割余白を解消） =====
   テーマ標準の .container は max-width 1280px 程度で、1920px モニタだと
   両端に 320px ずつ (合計 4 割) の余白が出ていた。Musubi Kiln 等は
   1700-1800px 帯でほぼ画面全幅を使うので、それに揃える。 */
.body > .container {
  max-width: 1800px !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
@media (max-width: 1100px) {
  .body > .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media (max-width: 700px) {
  .body > .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* ===== サイドバーは表示する（Phase 7b で消したのを復活） =====
   .page の display:block を解除して、テーマ標準の sidebar + content
   2 カラム構造 (theme は sidebar 20-25% / content 75-80%) に戻す。
   サイドバー自体の見た目調整は Phase 8b で別途行う。 */

/* ------- サイドバー基本スタイル（Phase 7b 時に書いたもの、復活時に活用） ------- */
.page-sidebar.__keep_for_reference {
  padding-right: 24px;
}
.page-sidebar .sidebarBlock {
  border-bottom: 1px solid #EDEBE6;
  padding: 18px 0;
  margin: 0;
}
.page-sidebar .sidebarBlock:first-child {
  padding-top: 0;
}
.page-sidebar .sidebarBlock-heading {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  letter-spacing: 0.5px !important;
  color: #1A1A18 !important;
  text-transform: none !important;
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
  border-bottom: none !important;
}
.page-sidebar .navList,
.page-sidebar .sideNav {
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-sidebar .navList-item a,
.page-sidebar .navList a,
.page-sidebar .sideNav-item a {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: 0.3px;
  color: #4A4845;
  padding: 6px 0;
  text-decoration: none;
  display: block;
  background: none;
  border: none;
}
.page-sidebar .navList-item a:hover,
.page-sidebar .navList a:hover,
.page-sidebar .sideNav-item a:hover {
  color: #1A1A18;
}

/* container 直下の p.blog-date（空の p）が余計な余白を作るため非表示 */
.container > p.blog-date {
  display: none !important;
}


/* ================================================================
   UTILITY
   ================================================================ */

.eapps-instagram-feed .eapps-link {
  display: none !important;
}

/* ==============================================================
   Phase 8a.5 - Image Dominance Tuning (ChatGPT 案)
   Phase 8 のあとに後勝ちで適用。画像背景を白に、カード下文字を詰める。
   ============================================================== */

/* (1) 画像背景を白にしてページに馴染ませる */
.productGrid .card-img-container {
  background: #ffffff !important;
}

/* (2) 画像を枠いっぱいに（再宣言） */
.productGrid .card-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  max-height: none !important;
}

/* (3) container を block に */
.productGrid .card-img-container {
  display: block !important;
}

/* (4) カード本文の下スカスカ感を減らす */
.productGrid .card-body {
  padding-top: 8px !important;
  padding-bottom: 6px !important;
}

/* (5) タイトル間隔を締める */
.productGrid .card-title {
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}

/* (6) ブランド名の余白を削る */
.productGrid .card-text.brandName {
  margin-bottom: 2px !important;
}

/* (7) 価格の余白を削る */
.productGrid .price-section {
  margin-top: 2px !important;
}

/* (8) hover 用 2 枚目画像を完全オフ（再確認） */
.productGrid .image-hover {
  display: none !important;
}

/* (9) figure のズレ防止 */
.productGrid .card-figure {
  margin: 0 !important;
}


/* ==============================================================
   Phase 8a.6 - Title Readability + Larger Visual Cells (ChatGPT 案)
   8a.5 のあとに後勝ちで適用。タイトルを濃く・大きく、セルの実面積も拡張。
   ============================================================== */

/* ----- A. タイトル・ブランド・価格を読みやすく ----- */

/* ブランド名: 小さめ控えめだが濃さを保つ */
.productGrid .card-text.brandName {
  font-size: 10px !important;
  letter-spacing: 1.6px !important;
  color: #7a7772 !important;
  margin-bottom: 4px !important;
}

/* タイトル: 大きく・濃く・行間タイト */
.productGrid .card-title,
.productGrid .card-title a {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  color: #1a1a18 !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

/* 価格: はっきり */
.productGrid .card-text[data-test-info-type="price"],
.productGrid .price-section,
.productGrid .price-section .price {
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  margin-top: 2px !important;
}

/* カード本文全体 */
.productGrid .card-body {
  padding: 10px 2px 2px !important;
  text-align: center !important;
}


/* ----- B. セル自体を少し大きく見せる ----- */

/* productGrid の横ガターを詰める */
.productGrid {
  margin-left: -6px !important;
  margin-right: -6px !important;
}

/* 各セルの左右 padding を縮小 */
.productGrid > .product,
.page-content .productGrid > .product.product--1,
.page-content .productGrid > .product.product--2,
.page-content .productGrid > .product.desktop-columns--4 {
  padding-left: 6px !important;
  padding-right: 6px !important;
  margin-bottom: 28px !important;
}

/* 画像と文字の距離を少しだけ縮める */
.productGrid .card-figure {
  margin-bottom: 10px !important;
}

/* コンテンツ領域をもう少し使う */
.body > .container,
.page .page-content,
.page > main.page-content,
.page-sidebar + .page-content {
  max-width: 1880px !important;
}

/* 1600px+ では max-width 1920px */
@media (min-width: 1600px) {
  .body > .container,
  .page .page-content,
  .page > main.page-content,
  .page-sidebar + .page-content {
    max-width: 1920px !important;
  }
}

/* 1025-1599px は左右 padding 少し詰める */
@media (min-width: 1025px) and (max-width: 1599px) {
  .body > .container,
  .page .page-content,
  .page > main.page-content,
  .page-sidebar + .page-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* タブレット以下は安全運転 */
@media (max-width: 1024px) {
  .productGrid > .product,
  .page-content .productGrid > .product.product--1,
  .page-content .productGrid > .product.product--2,
  .page-content .productGrid > .product.desktop-columns--4 {
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-bottom: 22px !important;
  }
  .productGrid .card-title,
  .productGrid .card-title a {
    font-size: 15px !important;
  }
}

/* ==============================================================
   Phase 8b - Header spacing refinement
   - 上部 (breadcrumbs) の余白を全体的に詰める
   - サブカテチップ (= category-description 内の <a>) が無いカテゴリ
     (Traditional Craft 等) で hero が間延びする問題を :has() で個別対応
   - スペーシングのみの調整。デザイン本体は変更なし
   ============================================================== */

/* (1) breadcrumbs の上余白を詰める (全カテゴリ共通) */
.container > .breadcrumbs {
  padding: 28px 0 0 0 !important;
  margin: 0 0 16px 0 !important;
}

/* (2) page-heading 直後に「中身のない category-description」が続く時、
       見出しの下マージンを最小に。 */
.page-heading:has(+ .category-description:empty),
.page-heading:has(+ .category-description:not(:has(p:not(:empty)))) {
  margin-bottom: 0 !important;
}

/* (3) page-heading の後に「チップ <a> が無い category-description」が続く時、
       見出しの下マージンも控えめに。 */
.page-heading:has(+ .category-description:not(:has(a))) {
  margin-bottom: 12px !important;
}

/* (4) 完全に空 (テーマがコンテンツ無しでも div を出す) → 非表示 */
.category-description:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* (5) <p> の中身が全部空 (改行のみ等) でも実質空とみなして非表示 */
.category-description:not(:has(p:not(:empty))):not(:has(strong)):not(:has(a)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* (6) チップ <a> が無いカテゴリ (= サブカテ無し) は divider と下余白を整理。
       説明文だけはあるが チップが無いケースもこれでカバー。 */
.category-description:not(:has(a)) {
  margin-bottom: 28px !important;
  padding: 0 20px 8px !important;
}
.category-description:not(:has(a))::after {
  display: none !important;
  content: none !important;
}

/* (7) Above-category description region (テーマの空のフック div) も詰める */
[data-content-region="below_category_description"]:empty,
[data-content-region="above_category_products"]:empty {
  display: none !important;
}

/* ==============================================================
   Phase 8b (cont.) - General header rhythm compression
   全カテゴリ共通でカテゴリ上部の縦リズムを少し締める。
   "デザインを変えず呼吸を浅く" がコンセプト。
   目安: title下 85% / chip行下 75% / 説明文下 80% / divider上 70%
   ============================================================== */

/* (a) page-heading 下 18px -> 14px */
.page-heading {
  margin: 0 auto 14px !important;
}

/* (b) サブカテ ラベル <strong> 下 14px -> 10px */
.category-description p strong {
  margin-bottom: 10px !important;
}

/* (c) category-description 全体: 下マージン 56 -> 44, 下パディング 40 -> 28 */
.category-description {
  margin: 0 auto 44px !important;
  padding: 0 20px 28px !important;
}

/* (d) ゴールド divider の上余白 32 -> 22 */
.category-description::after {
  margin: 22px auto 0 !important;
}

/* (e) actionBar (商品数 / sort) の上余白も少し詰める。説明 → 一覧の移行を早く */
form.actionBar {
  margin-top: 0 !important;
  padding-top: 8px !important;
  margin-bottom: 14px !important;
}

/* (f) 説明文 <p> の段間隔も僅かに詰める */
.category-description p {
  margin: 0 0 10px !important;
}
.category-description p:last-child {
  margin-bottom: 0 !important;
}

/* ==============================================================
   Phase 8c - Card text balance refinement (typography only)
   画像 (特に Kutani 系) のビジュアル強度に対して、テキストを
   ほんの少しだけ強めてバランスを取る。
   触らない: 画像サイズ / object-fit / グリッド / カード間 spacing
   触る: card-title の font-size 微増, price の size+weight 微増
   ============================================================== */

/* タイトル: 17px → 18px (僅かに大きく)、行間も少しだけ余裕 */
.productGrid .card-title,
.productGrid .card-title a {
  font-size: 18px !important;
  line-height: 1.25 !important;
  /* 他属性 (Cormorant / weight 500 / color #1A1A18 / letter-spacing 0.2px /
     margin-bottom 6px / text-transform none) は Phase 8a.6 の値を継承 */
}

/* 価格: 13px → 14px、weight 500 → 600 で読みやすく */
.productGrid .card-text[data-test-info-type="price"],
.productGrid .price-section,
.productGrid .price-section .price {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15px !important;
  /* color #1A1A18 は 8a.6 を継承 */
}

/* タブレット以下: タイトルは 8a.6 で 15px に下げているのでそれは維持。
   価格だけ少し読みやすさ寄りに揃える */
@media (max-width: 1024px) {
  .productGrid .card-title,
  .productGrid .card-title a {
    font-size: 16px !important;
  }
  .productGrid .card-text[data-test-info-type="price"],
  .productGrid .price-section,
  .productGrid .price-section .price {
    font-size: 13px !important;
  }
}

/* ==============================================================
   Phase 8c v2 - Final typography balance refinement
   画像 (特に Kutani) の強いビジュアルに対してテキストを
   もう一段だけ整えてバランス完成させる。
   触らない: 画像 / グリッド / spacing / カード構造
   触る: title のサイズと行間を少しだけ、price の size+weight を
         もう一段、そして title と price の間に小さな余白
   ============================================================== */

/* タイトル: 18px → 19px、line-height 1.25 → 1.3
   さらに title-price 間に小さな gap (margin-bottom) */
.productGrid .card-title,
.productGrid .card-title a {
  font-size: 19px !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
}

/* 価格: 14px → 15px、weight 600 → 650 相当 (実質 600 のまま、
   letter-spacing を少しだけ広げて視覚的重みを上げる) */
.productGrid .card-text[data-test-info-type="price"],
.productGrid .price-section,
.productGrid .price-section .price {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25px !important;
  margin-top: 2px !important;
}

/* タブレット以下は控えめに揃える */
@media (max-width: 1024px) {
  .productGrid .card-title,
  .productGrid .card-title a {
    font-size: 17px !important;
    line-height: 1.28 !important;
    margin-bottom: 8px !important;
  }
  .productGrid .card-text[data-test-info-type="price"],
  .productGrid .price-section,
  .productGrid .price-section .price {
    font-size: 14px !important;
  }
}

/* ==============================================================
   Phase 9 - Sidebar Refined Kyoto + empty chips + horizontal tightening
   Scope:
     A. Container: padding 32 → 24px, gutter 10 → 8px, max-widthは不変
     B. Sidebar block: 箱感除去
     C. Heading: "MANEKI NEKO" (ALL CAPS / Cormorant / letter-spacing 0.1em)
        + 見出し下だけヘアライン
     D. List reset: 項目間の線なし、余白で見せる
     E. Links: Inter / 小さめ / muted / hover で色+微スライド
     F. Active: #a8894a (和の金)
     G. 空チップ消し
   ============================================================== */

/* === 9-A. Container horizontal tightening =================== */
.body > .container {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Gutter: productGrid 内のカード間を 20px → 16px に */
.productGrid {
  margin-left: -8px !important;
  margin-right: -8px !important;
}
.productGrid > .product,
.page-sidebar + .page-content .productGrid > .product,
.page-content .productGrid > .product.product--1,
.page-content .productGrid > .product.product--2,
.page-content .productGrid > .product.desktop-columns--4 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* === 9-B. Sidebar block reset =============================== */
.page-sidebar {
  padding-top: 4px !important;
  padding-right: 28px !important;
}
.page-sidebar .sidebarBlock {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin-bottom: 36px !important;
  padding: 0 !important;
}

/* === 9-C. Heading: ALL CAPS + Cormorant + hairline ========= */
.page-sidebar .sidebarBlock-heading {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 0 0 18px 0 !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid rgba(26, 26, 24, 0.12) !important;
  line-height: 1.25 !important;
}

/* === 9-D. List reset: 項目間は余白のみ ===================== */
.page-sidebar .navList,
.page-sidebar .sideNav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page-sidebar .navList-item,
.page-sidebar .sideNav-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* === 9-E. Links: Inter / muted / hover で色+微スライド ===== */
.page-sidebar .navList-item a,
.page-sidebar .navList-action,
.page-sidebar .navList a,
.page-sidebar .sideNav-item a {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15px !important;
  color: #6b6b66 !important;
  padding: 9px 2px !important;
  text-decoration: none !important;
  display: block !important;
  background: none !important;
  border: none !important;
  text-align: left !important;
  transition: color 0.18s ease, transform 0.18s ease !important;
}

.page-sidebar .navList-item a:hover,
.page-sidebar .navList-action:hover,
.page-sidebar .navList a:hover,
.page-sidebar .sideNav-item a:hover {
  color: #1a1a18 !important;
  transform: translateX(2px) !important;
}

/* === 9-F. Active: soft gold (#a8894a) ====================== */
.page-sidebar .navList-item.is-active > a,
.page-sidebar .navList-item--active > a,
.page-sidebar .navList-action.is-active,
.page-sidebar .navList-action--active,
.page-sidebar .sideNav-item.is-active > a,
.page-sidebar .sideNav-item--active > a,
.page-sidebar .navList-item[class*="active"] > a {
  color: #a8894a !important;
  font-weight: 500 !important;
}
.page-sidebar .navList-item.is-active > a:hover,
.page-sidebar .navList-item--active > a:hover,
.page-sidebar .sideNav-item.is-active > a:hover {
  color: #a8894a !important;
  transform: translateX(2px) !important;
}

/* === 9-G. Empty sub-category chips 消し ==================== */
.category-description a:empty,
.subcategories a:empty,
.page-content a.subcategory-link:empty {
  display: none !important;
}

/* ==============================================================
   Phase 9b - Leaf-category layout balance + robust empty-chip removal
   Scope:
     H. 末端カテ (サイドバー無し) の商品エリア幅を親カテと揃える
        → 80%幅中央寄せ、左右に「呼吸」としての余白
     I. 空チップ・空プレースホルダを完全除去 (border/bg/height/marginごと)
   ============================================================== */

/* === 9-H. Leaf category: keep product area ~80% width, centered ===== */
@media (min-width: 1025px) {
  .page > main.page-content:only-child,
  .page > main.page-content:first-child:last-child {
    width: 80% !important;
    max-width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
  }
}

@media (min-width: 1441px) {
  .page > main.page-content:only-child,
  .page > main.page-content:first-child:last-child {
    width: 80% !important;
    max-width: 80% !important;
  }
}

/* モバイル/タブレットは影響させない (フル幅のまま) */

/* === 9-I. Empty chip / placeholder removal (robust) =============== */

/* 9-I-1. 空の<a> (テキストも子要素もない) */
.category-description a:empty,
.subcategories a:empty,
.subCategory-name a:empty,
.featuredCategory-name a:empty,
.subCategory-grid .gridColumn a:empty {
  display: none !important;
}

/* 9-I-2. 空の name ラッパ */
.subCategory-name:empty,
.featuredCategory-name:empty,
.subCategory-name:has(> a:empty:only-child),
.featuredCategory-name:has(> a:empty:only-child) {
  display: none !important;
}

/* 9-I-3. gridColumn が完全に空 / 画像なし+名前空 のケース → セルごと消す */
.subCategory-grid .gridColumn:empty,
.subCategory-grid .gridColumn:not(:has(img)):has(.subCategory-name > a:empty:only-child),
.subCategory-grid .gridColumn:not(:has(img)):has(.subCategory-name:empty),
.grid .gridColumn:empty {
  display: none !important;
  border: 0 !important;
  background: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 9-I-4. 汎用 — 空要素は一切のスタイルを持たない */
.subCategory-grid *:empty:not(img):not(input):not(br):not(hr) {
  border: 0 !important;
  background: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==============================================================
   Phase 10a - Header sticky + enlarged cart button
   - ヘッダーをスクロール時も常に画面上に固定
   - カートアイコン/バッジを大きく、金色アクセントで目立たせる
   ============================================================== */

/* 10a-1. Header sticky (スクロールしても常に見える) */
.header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: #ffffff !important;
  transition: box-shadow 0.25s ease !important;
}

/* スクロール時のみ薄い影で境界を出す */
.header.js-is-sticky,
.header.sticky.fixed,
.header.sticky-nav {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08) !important;
}

/* hide-on-sticky 系のクラスでカートが消えるのを防ぐ */
.navUser-item--cart,
.navUser-item--cart.hide-on-sticky,
.header.sticky .navUser-item--cart,
.header.js-is-sticky .navUser-item--cart {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 10a-2. Cart button: アイコン+ラベル大きく */
.navUser-item--cart .navUser-action {
  padding: 10px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  letter-spacing: 0.3px !important;
}

/* カートアイコン本体のサイズアップ */
.navUser-item--cart .navUser-action .icon {
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.navUser-item--cart .navUser-action .icon svg {
  width: 26px !important;
  height: 26px !important;
}

/* 10a-3. Cart quantity バッジ: 目立たせる + 和の金 */
.navUser-item--cart .countPill.cart-quantity {
  font-size: 11px !important;
  font-weight: 600 !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  padding: 0 5px !important;
  border-radius: 9px !important;
  background: #a8894a !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  position: relative !important;
  top: -8px !important;
  left: -4px !important;
  display: inline-block !important;
}

/* カウントが0/空のときはバッジ非表示 (defensive) */
.navUser-item--cart .countPill.cart-quantity:empty {
  display: none !important;
}

/* 10a-4. Hover時の金アクセント */
.navUser-item--cart .navUser-action:hover .icon svg {
  fill: #a8894a !important;
  stroke: #a8894a !important;
  transition: all 0.18s ease !important;
}

/* ==============================================================
   Phase 10b - Cart preview dropdown redesign (Refined Kyoto)
   カートアイコンクリック / Add to Cart後 両方のドロップダウン
   ============================================================== */

/* 10b-1. Dropdown container */
#cart-preview-dropdown.dropdown-menu {
  max-width: 380px !important;
  width: 380px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.10) !important;
  border-radius: 2px !important;
  padding: 0 !important;
  margin-top: 10px !important;
}

/* 10b-2. Preview container padding */
.previewCart {
  padding: 18px 22px 22px !important;
}

/* 10b-3. List reset */
.previewCartList {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  max-height: 320px !important;
  overflow-y: auto !important;
}

/* 10b-4. Cart item row */
.previewCartItem {
  display: flex !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  gap: 14px !important;
  align-items: flex-start !important;
}
.previewCartItem:first-child {
  padding-top: 4px !important;
}
.previewCartItem:last-child {
  border-bottom: none !important;
  padding-bottom: 4px !important;
}

/* 10b-5. Thumbnail */
.previewCartItem-image {
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 72px !important;
  background: #fafaf8 !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.previewCartItem-image img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* 10b-6. Content column */
.previewCartItem-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 2px 0 !important;
}

/* 10b-7. Brand — small italic serif */
.previewCartItem-brand {
  display: block !important;
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-style: italic !important;
  font-size: 11px !important;
  color: #8b8b86 !important;
  letter-spacing: 0.3px !important;
  margin: 0 0 4px !important;
  text-transform: none !important;
  font-weight: 400 !important;
}
.previewCartItem-brand:empty {
  display: none !important;
}

/* 10b-8. Product name — serif, sentence case, 2-line clamp */
.previewCartItem-name {
  margin: 0 0 6px !important;
  padding: 0 !important;
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.15px !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
.previewCartItem-name a {
  color: inherit !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
}
.previewCartItem-name a:hover {
  color: #a8894a !important;
}

/* 10b-9. Price (qty × price) */
.previewCartItem-price {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.15px !important;
  display: block !important;
}

/* 10b-10. Actions container */
.previewCartAction {
  padding: 14px 0 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.10) !important;
  display: flex !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 !important;
}
.previewCartAction-checkout,
.previewCartAction-viewCart {
  display: block !important;
  flex: 1 1 0 !important;
  width: auto !important;
  margin: 0 !important;
}
.previewCartAction-viewCart--sole {
  flex: 1 1 100% !important;
  width: 100% !important;
}

/* 10b-11. Buttons */
.previewCartAction .button {
  display: block !important;
  width: 100% !important;
  padding: 13px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  line-height: 1 !important;
}

/* Primary (CHECK OUT NOW) — solid dark, gold on hover */
.previewCartAction-checkout .button--primary {
  background: #1a1a18 !important;
  color: #ffffff !important;
  border: 1px solid #1a1a18 !important;
}
.previewCartAction-checkout .button--primary:hover,
.previewCartAction-checkout .button--primary:focus {
  background: #a8894a !important;
  border-color: #a8894a !important;
  color: #ffffff !important;
}

/* Action (VIEW CART) — outlined, invert on hover */
.previewCartAction-viewCart .button--action,
.previewCartAction-viewCart .button {
  background: transparent !important;
  color: #1a1a18 !important;
  border: 1px solid #1a1a18 !important;
}
.previewCartAction-viewCart .button--action:hover,
.previewCartAction-viewCart .button:hover {
  background: #1a1a18 !important;
  color: #ffffff !important;
}

/* 10b-12. Multi-shipping small link */
.previewCartAction-checkoutMultiple {
  padding: 10px 0 0 !important;
  text-align: center !important;
  font-size: 11px !important;
  width: 100% !important;
  flex: 1 1 100% !important;
}
.previewCartAction-checkoutMultiple a {
  color: #6b6b66 !important;
  text-decoration: underline !important;
  letter-spacing: 0.3px !important;
}

/* 10b-13. Empty state */
.previewCart-emptyBody {
  padding: 36px 22px !important;
  text-align: center !important;
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: #6b6b66 !important;
  letter-spacing: 0.3px !important;
}

/* 10b-14. "Item added" (Add to Cart popup version) */
.previewCartItem-content.item-added {
  text-align: center !important;
  padding: 28px 0 14px !important;
}
.previewCartItem-content.item-added .previewCartItem-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  text-transform: none !important;
  letter-spacing: 0.4px !important;
  line-height: 1.3 !important;
}

/* Payment icons row (if enabled) */
.previewCartAction .footer-payment-icons {
  justify-content: center !important;
  margin-top: 0 !important;
  opacity: 0.6 !important;
}

/* ==============================================================
   Phase 10c-1 - Cart page redesign (Refined Kyoto)
   確実な部分のみ。Q1-Q3 (alert / alt-payments / title) はチャッピー
   回答次第で 10c-2 で追加対応
   ============================================================== */

/* 10c-1a. Cart container spacing */
[data-cart] {
  padding-top: 8px !important;
}

/* 10c-1b. Cart table: remove heavy borders, use hairlines */
.cart {
  border: none !important;
  border-collapse: collapse !important;
  width: 100% !important;
  margin-bottom: 32px !important;
}

/* Table header */
.cart-header {
  border-bottom: 1px solid rgba(26, 26, 24, 0.12) !important;
  background: transparent !important;
}
.cart-header-item {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
  padding: 14px 12px !important;
  background: transparent !important;
  border: none !important;
  text-align: left !important;
}

/* Row hairline */
.cart-item {
  border-bottom: 1px solid rgba(26, 26, 24, 0.06) !important;
}
.cart-item:last-child {
  border-bottom: none !important;
}
.cart-item td {
  padding: 20px 12px !important;
  vertical-align: top !important;
  border: none !important;
  background: transparent !important;
}

/* 10c-1c. Product image cell */
.cart-item-figure {
  width: 100px !important;
}
.cart-item-image,
.cart-item-fixed-image {
  width: 84px !important;
  height: 84px !important;
  object-fit: contain !important;
  background: #fafaf8 !important;
  padding: 4px !important;
  border-radius: 2px !important;
}

/* 10c-1d. Brand — italic serif muted */
.cart-item-brand {
  display: block !important;
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: #8b8b86 !important;
  letter-spacing: 0.3px !important;
  margin: 0 0 4px !important;
  text-transform: none !important;
  font-weight: 400 !important;
}

/* 10c-1e. Product name — serif, NORMAL CASE, readable */
.cart-item-name {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
.cart-item-name a {
  color: inherit !important;
  text-decoration: none !important;
  text-transform: none !important;
}
.cart-item-name a:hover {
  color: #a8894a !important;
}

/* 10c-1f. Gift wrapping + other inline options */
.cart-item-title a[data-item-edit],
.cart-item-title a[href*="giftwrap"],
.cart-item-giftWrapping a,
.cart-item-title .cart-item-option a {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #6b6b66 !important;
  text-decoration: underline !important;
  letter-spacing: 0.2px !important;
  transition: color 0.18s ease !important;
}
.cart-item-title a[data-item-edit]:hover,
.cart-item-giftWrapping a:hover {
  color: #a8894a !important;
}

/* Gift wrapping label */
.cart-item-giftWrapping,
.cart-item-title dl.definitionList {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #4a4a45 !important;
  margin: 8px 0 0 !important;
}

/* 10c-1g. Price / Total / Qty labels (responsive) */
.cart-item-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #8b8b86 !important;
}

.cart-item-value {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #1a1a18 !important;
  letter-spacing: 0.15px !important;
  font-weight: 400 !important;
}
strong.cart-item-value {
  font-weight: 600 !important;
}

/* 10c-1h. Quantity stepper — minimal */
.cart-item-quantity .form-increment {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(26, 26, 24, 0.15) !important;
  border-radius: 2px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}
.cart-item-quantity .form-increment .button--icon {
  width: 32px !important;
  height: 36px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #4a4a45 !important;
  border-radius: 0 !important;
  transition: background 0.18s ease !important;
}
.cart-item-quantity .form-increment .button--icon:hover {
  background: rgba(168, 137, 74, 0.08) !important;
  color: #a8894a !important;
}
.cart-item-quantity .form-increment .button--icon .icon svg {
  width: 12px !important;
  height: 12px !important;
  fill: currentColor !important;
}
.cart-item-quantity .form-input--incrementTotal {
  width: 42px !important;
  border: none !important;
  border-left: 1px solid rgba(26, 26, 24, 0.10) !important;
  border-right: 1px solid rgba(26, 26, 24, 0.10) !important;
  text-align: center !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 8px 0 !important;
  height: 36px !important;
  background: transparent !important;
  color: #1a1a18 !important;
}
.cart-item-quantity .form-input--incrementTotal:focus {
  outline: none !important;
  background: rgba(168, 137, 74, 0.04) !important;
}

/* 10c-1i. Remove (×) icon */
.cart-remove {
  display: inline-block !important;
  margin-left: 10px !important;
  opacity: 0.4 !important;
  transition: opacity 0.18s ease, color 0.18s ease !important;
  vertical-align: middle !important;
}
.cart-remove:hover {
  opacity: 1 !important;
  color: #a8894a !important;
}
.cart-remove svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* 10c-1j. Totals sidebar (right panel) */
.static-sidebar {
  background: #fafaf8 !important;
  border: 1px solid rgba(26, 26, 24, 0.06) !important;
  border-radius: 2px !important;
  padding: 24px 22px !important;
}

.cart-totals {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}

.cart-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(26, 26, 24, 0.06) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
}
.cart-total:last-child {
  border-bottom: none !important;
  padding-top: 14px !important;
  margin-top: 6px !important;
  border-top: 1px solid rgba(26, 26, 24, 0.15) !important;
}

.cart-total-label {
  flex: 1 !important;
}
.cart-total-label strong {
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
}
.cart-total-value {
  font-weight: 500 !important;
  color: #1a1a18 !important;
  text-align: right !important;
  letter-spacing: 0.15px !important;
}

/* Grand Total prominence */
.cart-total-grandTotal {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.3px !important;
}
.cart-total:last-child .cart-total-label strong {
  font-size: 12px !important;
  color: #1a1a18 !important;
  font-weight: 600 !important;
}

/* "Add Info" / "Add Coupon" inline links */
.cart-total a,
.cart-total .cart-total-label a {
  color: #a8894a !important;
  text-decoration: underline !important;
  font-size: 12px !important;
  letter-spacing: 0.2px !important;
  font-weight: 500 !important;
}
.cart-total a:hover {
  color: #1a1a18 !important;
}

/* Shipping estimator / coupon input fields */
.shippingEstimator,
.coupon-code,
.gift-certificate-code {
  padding: 4px 0 !important;
}
.coupon-code .form-input,
.gift-certificate-code .form-input,
.shippingEstimator .form-input,
.shippingEstimator .form-select {
  border: 1px solid rgba(26, 26, 24, 0.15) !important;
  padding: 8px 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  border-radius: 2px !important;
  background: #ffffff !important;
}

/* 10c-1k. PROCEED TO CHECKOUT button */
.cart-actions .button--primary {
  display: block !important;
  width: 100% !important;
  padding: 15px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: #1a1a18 !important;
  color: #ffffff !important;
  border: 1px solid #1a1a18 !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  margin: 0 !important;
}
.cart-actions .button--primary:hover,
.cart-actions .button--primary:focus {
  background: #a8894a !important;
  border-color: #a8894a !important;
  color: #ffffff !important;
}

/* Continue shopping button (empty cart variant) */
.cart-actions .button:not(.button--primary) {
  display: block !important;
  width: 100% !important;
  padding: 14px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  color: #1a1a18 !important;
  border: 1px solid #1a1a18 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.cart-actions .button:not(.button--primary):hover {
  background: #1a1a18 !important;
  color: #ffffff !important;
}

/* Checkout multiple subtle link */
.cart-actions .checkoutMultiple {
  display: block !important;
  text-align: center !important;
  margin-top: 12px !important;
  font-size: 11px !important;
  color: #6b6b66 !important;
  text-decoration: underline !important;
  letter-spacing: 0.3px !important;
}

/* "-- or use --" divider for alt payments */
.cart-actions,
.static-sidebar > .cart-actions {
  margin: 18px 0 0 !important;
}

/* 10c-1l. Alternative checkout buttons spacing */
.cart-additionalCheckoutButtons {
  margin-top: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* 10c-1m. Empty cart heading */
[data-cart] > h3 {
  text-align: center !important;
  padding: 60px 20px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  color: #6b6b66 !important;
  letter-spacing: 0.3px !important;
}

/* ==============================================================
   Phase 10c-2a - Free shipping / cart-countdown banner refinement
   黄色アラート風 → 薄ベージュの控えめ通知に差し替え
   (動的 "あと¥Xで送料無料" はJS実装の 10c-2b で別途対応)
   ============================================================== */

/* alertBox base: remove warning vibe, soft beige breathing space */
[data-cart] .alertBox,
[data-cart] .alertBox.alertBox--warning,
.cart-countdown.alertBox {
  background: #f7f3ec !important;
  border: none !important;
  border-left: 2px solid #a8894a !important;
  color: #4a4a45 !important;
  padding: 12px 18px !important;
  margin: 0 0 28px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  letter-spacing: 0.3px !important;
  line-height: 1.4 !important;
}

/* icon: mute warning triangle, tiny + muted */
[data-cart] .alertBox-icon,
[data-cart] .alertBox .alertBox-column.alertBox-icon {
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
}
[data-cart] .alertBox-icon svg,
[data-cart] .alertBox-icon .icon svg {
  width: 14px !important;
  height: 14px !important;
  fill: #a8894a !important;
  opacity: 0.9 !important;
}

/* message text */
[data-cart] .alertBox-message,
[data-cart] .alertBox .alertBox-column.alertBox-message {
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  color: #4a4a45 !important;
  letter-spacing: 0.3px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  flex: 1 !important;
}
[data-cart] .alertBox-message span {
  font-weight: inherit !important;
}

/* countdown timer itself: slightly highlighted */
[data-cart] #cart-countdown {
  font-weight: 600 !important;
  color: #a8894a !important;
  margin: 0 4px !important;
  letter-spacing: 0.2px !important;
}

/* unlocked state: full green/gold band (将来動的対応用のhook) */
[data-cart] .alertBox.is-shipping-unlocked {
  background: #f0ede2 !important;
  border-left-color: #8a6f3a !important;
  color: #5e4b25 !important;
}
[data-cart] .alertBox.is-shipping-unlocked .alertBox-icon svg {
  fill: #8a6f3a !important;
}

/* =========================================================
   Phase 10c-3: Cart page polish (Chappy feedback)
   ① Free shipping bar refinement
   ② Totals right column hierarchy (Grand Total主役)
   ③ Product area (bigger image + stronger qty/total)
   ④ Page title polish
   ========================================================= */

/* ① Free shipping bar — more breathing room + subtle rounding */
[data-cart] .alertBox,
[data-cart] .alertBox.alertBox--warning {
  padding: 14px 22px !important;
  border-radius: 4px !important;
  margin-bottom: 20px !important;
}
[data-cart] .alertBox .alertBox-icon {
  padding-right: 10px !important;
}
[data-cart] .alertBox.is-shipping-unlocked {
  background: #f0ede2 !important;
  border-left-color: #8a6f3a !important;
}
[data-cart] .alertBox.is-shipping-unlocked .alertBox-icon svg {
  fill: #8a6f3a !important;
}

/* ② Totals — Grand Total 主役化 */
.static-sidebar .cart-totals {
  padding: 4px 0 !important;
}
.static-sidebar li.cart-total:has(.cart-total-grandTotal) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  border-top: 1px solid rgba(26, 26, 24, 0.14) !important;
  padding-top: 18px !important;
  margin-top: 14px !important;
}
.static-sidebar li.cart-total:has(.cart-total-grandTotal) .cart-total-label {
  width: 100% !important;
  margin-bottom: 4px !important;
}
.static-sidebar li.cart-total:has(.cart-total-grandTotal) .cart-total-label strong {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
  font-weight: 500 !important;
}
.static-sidebar .cart-total-value.cart-total-grandTotal {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  line-height: 1.1 !important;
  color: #1a1a18 !important;
}

/* ② Button hierarchy — CHECKOUT主役 */
.cart-actions .button--primary {
  height: 56px !important;
  line-height: 56px !important;
  padding: 0 28px !important;
  font-size: 14px !important;
  letter-spacing: 0.12em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  width: 100% !important;
}

/* Alt payment buttons (PayPal / Apple Pay / Google Pay) — 控えめに */
.cart-additionalCheckoutButtons {
  opacity: 0.92 !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(26, 26, 24, 0.08) !important;
}
.cart-additionalCheckoutButtons .CheckoutButton,
.cart-additionalCheckoutButtons > div > div {
  transform: scale(0.94) !important;
  transform-origin: center top !important;
}

/* Card logos row — さらに控えめ */
.static-sidebar .cart-actions .footer-payment-icons {
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(26, 26, 24, 0.08) !important;
  opacity: 0.55 !important;
  justify-content: center !important;
  gap: 8px !important;
}
.static-sidebar .cart-actions .footer-payment-icons svg,
.static-sidebar .cart-actions .footer-payment-icons img {
  max-height: 18px !important;
  width: auto !important;
}

/* ③ Product area — 画像 +12%, quantity/total 強め */
.cart-item-figure img.cart-item-image,
.cart-item-figure .cart-item-fixed-image,
.cart-item-figure picture,
.cart-item-figure picture img {
  max-width: 115px !important;
  width: 100% !important;
  height: auto !important;
}
.cart-item-figure {
  padding-right: 18px !important;
}

/* 数量ステッパー — 視認性UP */
.cart-item-quantity .form-increment {
  border: 1.5px solid rgba(26, 26, 24, 0.22) !important;
  background: #ffffff !important;
  border-radius: 2px !important;
}
.cart-item-quantity .form-increment .button--icon {
  background: transparent !important;
  color: #1a1a18 !important;
  min-width: 34px !important;
  height: 38px !important;
}
.cart-item-quantity .form-increment .button--icon:hover {
  background: #fafaf8 !important;
  color: #a8894a !important;
}
.cart-item-quantity .form-increment .cart-item-qty-input {
  font-weight: 500 !important;
  color: #1a1a18 !important;
  height: 38px !important;
}

/* ライン合計（右端）を強調 */
.cart-item-block.cart-item-info:last-of-type strong.cart-item-value,
.cart-item-block.cart-item-info:last-of-type .cart-item-value {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1a1a18 !important;
}

/* ④ Page title — YOUR CART — N ITEMS トーン */
[data-cart] .page-heading,
[data-cart] .pageTitle,
.page-content > h1,
.page-content > h2.page-heading {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #1a1a18 !important;
  font-size: 32px !important;
  margin-bottom: 18px !important;
}
/* end 10c-3 */

/* =========================================================
   Phase 10c-3 FIX: Grand Total label + payment icons
   ========================================================= */

/* Grand Total LABEL — :has() fallback using :last-child */
.static-sidebar ul.cart-totals > li.cart-total:last-child,
.static-sidebar li.cart-total:has(.cart-total-grandTotal) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  border-top: 1px solid rgba(26, 26, 24, 0.14) !important;
  padding-top: 14px !important;
  margin-top: 8px !important;
  padding-bottom: 4px !important;
}
.static-sidebar ul.cart-totals > li.cart-total:last-child .cart-total-label,
.static-sidebar li.cart-total:has(.cart-total-grandTotal) .cart-total-label {
  display: block !important;
  width: 100% !important;
  margin-bottom: 6px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.static-sidebar ul.cart-totals > li.cart-total:last-child .cart-total-label strong,
.static-sidebar li.cart-total:has(.cart-total-grandTotal) .cart-total-label strong {
  display: inline-block !important;
  visibility: visible !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
  font-weight: 500 !important;
}

.static-sidebar ul.cart-totals > li.cart-total:last-child .cart-total-value,
.static-sidebar li.cart-total:has(.cart-total-grandTotal) .cart-total-value {
  width: 100% !important;
}

/* Payment icons — constrain width, prevent duplication visual mess */
.static-sidebar .cart-actions .footer-payment-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  max-width: 100% !important;
  gap: 6px 10px !important;
  row-gap: 8px !important;
}
.static-sidebar .cart-actions .footer-payment-icons > * {
  flex: 0 0 auto !important;
  max-height: 18px !important;
}

/* If payment icons section appears twice in DOM, hide the second */
.static-sidebar .cart-actions .footer-payment-icons ~ .footer-payment-icons,
.static-sidebar .cart-actions + .cart-actions .footer-payment-icons {
  display: none !important;
}

/* Also hide any duplicate cart-actions blocks that only contain footer-payment-icons */
.static-sidebar .cart-actions:has(.footer-payment-icons) ~ .cart-actions:has(.footer-payment-icons) {
  display: none !important;
}

/* "— or use —" separator — cleaner */
.cart-additionalCheckoutButtons {
  position: relative !important;
  text-align: center !important;
}
.cart-additionalCheckoutButtons::before {
  content: "or pay with" !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #8a8a85 !important;
  margin-bottom: 10px !important;
  text-align: center !important;
}

/* end 10c-3 FIX */

/* =========================================================
   Phase 10c-3 FIX2: Payment icons consolidation
   ========================================================= */

/* 右カラム内のアイコンを一行にまとめる + 重複排除 */
.static-sidebar .cart-actions .footer-payment-icons {
  gap: 4px 8px !important;
  row-gap: 6px !important;
  padding: 0 2px !important;
  justify-content: center !important;
}
.static-sidebar .cart-actions .footer-payment-icons svg,
.static-sidebar .cart-actions .footer-payment-icons img {
  max-height: 14px !important;
  max-width: 26px !important;
  width: auto !important;
  height: auto !important;
}
.static-sidebar .cart-actions .footer-payment-icons > * {
  max-height: 14px !important;
  max-width: 28px !important;
  flex: 0 0 auto !important;
}

/* 重複する footer-payment-icons ブロックを非表示化 */
.static-sidebar .cart-actions:has(.footer-payment-icons) ~ .cart-actions:has(.footer-payment-icons) {
  display: none !important;
}
.static-sidebar .cart-actions .footer-payment-icons + .footer-payment-icons {
  display: none !important;
}
.static-sidebar .cart-actions ~ .cart-actions .footer-payment-icons {
  display: none !important;
}

/* cart-additionalCheckoutButtons 内に埋め込まれた footer-payment-icons も消す（重複源かも） */
.static-sidebar .cart-additionalCheckoutButtons .footer-payment-icons {
  display: none !important;
}

/* end 10c-3 FIX2 */

/* =========================================================
   Phase 10c-3 FIX3: De-stretch right column
   ========================================================= */

/* Remove my OR PAY WITH ::before (theme already has "-- or use --") */
.cart-additionalCheckoutButtons::before {
  content: none !important;
  display: none !important;
}

/* Bring back the dedicated footer-payment-icons row (last cart-actions) */
.static-sidebar .cart-actions:last-of-type .footer-payment-icons,
.static-sidebar .cart-actions:last-child .footer-payment-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 4px 6px !important;
}

/* Keep cart-additionalCheckoutButtons internal duplicates hidden */
.static-sidebar .cart-additionalCheckoutButtons .footer-payment-icons {
  display: none !important;
}

/* Tighten alt-payment button spacing — Musubi風にキュッと */
.static-sidebar .cart-additionalCheckoutButtons {
  margin-top: 10px !important;
  padding-top: 10px !important;
}
.static-sidebar .cart-additionalCheckoutButtons > div,
.static-sidebar .cart-additionalCheckoutButtons > div > div {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}
.static-sidebar .cart-additionalCheckoutButtons iframe,
.static-sidebar .cart-additionalCheckoutButtons .CheckoutButton {
  margin: 4px 0 !important;
}

/* "-- or use --" separator: 静かに整える */
.static-sidebar .cart-additionalCheckoutButtons [class*="Separator"],
.static-sidebar .cart-additionalCheckoutButtons .or-divider,
.static-sidebar .cart-additionalCheckoutButtons span:not(.button):not(.icon):not(a) {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #8a8a85 !important;
}

/* Bottom icons — keep subtle, compact */
.static-sidebar .cart-actions:last-of-type {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(26, 26, 24, 0.08) !important;
  opacity: 0.6 !important;
}
.static-sidebar .cart-actions:last-of-type .footer-payment-icons svg,
.static-sidebar .cart-actions:last-of-type .footer-payment-icons img {
  max-height: 14px !important;
  max-width: 26px !important;
}

/* end 10c-3 FIX3 */

/* =========================================================
   Phase 10c-3 FIX4: 80→90点 micro-adjustments
   ① Free shipping → card化
   ② Grand Total +2px強化
   ③ CHECKOUT hover = gold
   ④ PayPal zone 控えめに
   ⑤ Gift Wrapping 薄く
   + reassurance text "Shipping and taxes calculated at checkout"
   ========================================================= */

/* ① Free shipping bar → カード化 */
[data-cart] .alertBox,
[data-cart] .alertBox.alertBox--warning {
  margin: 0 4px 24px 4px !important;
  box-shadow: 0 1px 2px rgba(26, 26, 24, 0.05) !important;
  border-radius: 4px !important;
  padding: 14px 22px !important;
}

/* ② Grand Total — もう一押し */
.static-sidebar .cart-total-value.cart-total-grandTotal {
  font-size: 32px !important;
  line-height: 1.05 !important;
}
.static-sidebar ul.cart-totals > li.cart-total:last-child,
.static-sidebar li.cart-total:has(.cart-total-grandTotal) {
  padding-top: 22px !important;
  margin-top: 12px !important;
}

/* ③ CHECKOUT button — gold hover */
.cart-actions .button--primary,
.static-sidebar .cart-actions .button--primary {
  background: #1a1a18 !important;
  color: #ffffff !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}
.cart-actions .button--primary:hover,
.static-sidebar .cart-actions .button--primary:hover {
  background: #a8894a !important;
  color: #ffffff !important;
}

/* ③-補足: reassurance text under CHECKOUT */
.static-sidebar .cart-actions:has(.button--primary)::after {
  content: "Shipping and taxes calculated at checkout" !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10.5px !important;
  letter-spacing: 0.04em !important;
  color: #8a8a85 !important;
  text-align: center !important;
  margin-top: 10px !important;
  line-height: 1.4 !important;
}

/* ④ PayPal zone — もう一段控えめに */
.static-sidebar .cart-additionalCheckoutButtons {
  opacity: 0.82 !important;
  transition: opacity 0.2s ease !important;
}
.static-sidebar .cart-additionalCheckoutButtons:hover {
  opacity: 1 !important;
}

/* "-- or use --" separator をさらに静かに */
.static-sidebar .cart-additionalCheckoutButtons > *:first-child,
.static-sidebar .cart-additionalCheckoutButtons span:not(.button):not(a),
.static-sidebar .cart-additionalCheckoutButtons::first-line {
  opacity: 0.75 !important;
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
}

/* ⑤ Gift Wrapping — 薄く、サイズ下げ */
.cart-item-title [class*="giftWrap" i],
.cart-item-title [class*="gift-wrap" i],
.cart-item-giftWrapping,
.cart-item-title > div:has(> strong:first-child) {
  opacity: 0.62 !important;
  font-size: 12px !important;
  margin-top: 8px !important;
}
.cart-item-title [class*="giftWrap" i] strong,
.cart-item-title [class*="gift-wrap" i] strong,
.cart-item-giftWrapping strong {
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #8a8a85 !important;
}
.cart-item-title [class*="giftWrap" i] a,
.cart-item-title [class*="gift-wrap" i] a,
.cart-item-giftWrapping a {
  font-size: 12px !important;
  color: #6b6b66 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(26, 26, 24, 0.2) !important;
  text-underline-offset: 3px !important;
}
.cart-item-title [class*="giftWrap" i] a:hover,
.cart-item-title [class*="gift-wrap" i] a:hover,
.cart-item-giftWrapping a:hover {
  color: #a8894a !important;
}

/* end 10c-3 FIX4 */

/* =========================================================
   Phase 10c-3 FIX5: reassurance text + Gift Wrapping actual selectors
   ========================================================= */

/* Reassurance text — :has() 無しフォールバック */
.static-sidebar .cart-actions:first-of-type::after {
  content: "Shipping and taxes calculated at checkout" !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10.5px !important;
  letter-spacing: 0.04em !important;
  color: #8a8a85 !important;
  text-align: center !important;
  margin-top: 10px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

/* Gift Wrapping — 正しい DOM 構造ターゲット */
.cart-item-options.cart-item-options--giftWrapping {
  margin-top: 10px !important;
  opacity: 0.68 !important;
}
.cart-item-options--giftWrapping .cart-item-option-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8a8a85 !important;
  margin-bottom: 2px !important;
}
.cart-item-options--giftWrapping .cart-item-option-description {
  font-size: 12px !important;
  color: #6b6b66 !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
}
.cart-item-options--giftWrapping .cart-item-option-description a {
  color: #6b6b66 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(26, 26, 24, 0.22) !important;
  text-underline-offset: 3px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}
.cart-item-options--giftWrapping .cart-item-option-description a:hover {
  color: #a8894a !important;
  text-decoration-color: #a8894a !important;
}

/* end 10c-3 FIX5 */

/* =========================================================
   Phase 10c-3 FIX6: Vertical compression
   "Compression, not redesign" — 高級感キープしつつ密度UP
   ========================================================= */

/* ① Free shipping bar — 横幅を締めて中央寄せ */
[data-cart] .alertBox,
[data-cart] .alertBox.alertBox--warning {
  max-width: 900px !important;
  margin: 0 auto 16px auto !important;
  padding: 11px 20px !important;
}
[data-cart] .alertBox .alertBox-message {
  padding: 0 !important;
}

/* ② 商品行 — 縦 padding タイトに */
.cart-list .cart-item,
table.cart tr.cart-item {
  border-bottom: 1px solid rgba(26, 26, 24, 0.06) !important;
}
.cart-list .cart-item > td,
table.cart tr.cart-item > td,
.cart-item .cart-item-block {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  vertical-align: top !important;
}
.cart-item-figure img.cart-item-image,
.cart-item-figure .cart-item-fixed-image {
  max-width: 100px !important;
}
.cart-item-title {
  padding-top: 2px !important;
}
.cart-item-title .cart-item-brand {
  margin-bottom: 2px !important;
}
.cart-item-title .cart-item-name {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
  line-height: 1.35 !important;
}
.cart-item-options.cart-item-options--giftWrapping {
  margin-top: 6px !important;
}
.cart-item-options--giftWrapping .cart-item-option-title {
  font-size: 10px !important;
  margin-bottom: 1px !important;
}
.cart-item-options--giftWrapping .cart-item-option-description {
  font-size: 11.5px !important;
}

/* ③ 右カラム — padding を少し詰める、要素間 -20% */
.static-sidebar {
  padding: 22px 20px !important;
}
.static-sidebar .cart-totals {
  margin: 0 !important;
  padding: 0 !important;
}
.static-sidebar .cart-totals li.cart-total {
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  margin: 0 !important;
}
.static-sidebar ul.cart-totals > li.cart-total:last-child,
.static-sidebar li.cart-total:has(.cart-total-grandTotal) {
  padding-top: 16px !important;
  margin-top: 6px !important;
  padding-bottom: 6px !important;
}
.static-sidebar .cart-total-value.cart-total-grandTotal {
  font-size: 30px !important;
}
.static-sidebar .cart-actions {
  margin-top: 12px !important;
}
.static-sidebar .cart-actions:first-of-type {
  margin-top: 14px !important;
}
.static-sidebar .cart-actions:first-of-type::after {
  margin-top: 8px !important;
  font-size: 10px !important;
}
.static-sidebar .cart-additionalCheckoutButtons {
  margin-top: 8px !important;
  padding-top: 8px !important;
}
.static-sidebar .cart-additionalCheckoutButtons iframe,
.static-sidebar .cart-additionalCheckoutButtons .CheckoutButton,
.static-sidebar .cart-additionalCheckoutButtons > div > div {
  margin: 3px 0 !important;
}
.static-sidebar .cart-actions:last-of-type {
  margin-top: 10px !important;
  padding-top: 10px !important;
}

/* end 10c-3 FIX6 */
