/* ============================================================
   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 */

/* =========================================================
   Phase 10e: Cart Order Note section (Refined Kyoto)
   ========================================================= */

.cart-order-note-wrapper {
  max-width: 900px;
  margin: 24px auto 8px auto;
  padding: 22px 24px;
  background: #fafaf8;
  border: 1px solid rgba(26, 26, 24, 0.08);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(26, 26, 24, 0.03);
}

.cart-order-note-label {
  display: block !important;
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 4px !important;
  text-transform: none !important;
}

.cart-order-note-hint {
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  color: #8a8a85 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.4 !important;
}

.cart-order-note-field {
  width: 100% !important;
  min-height: 84px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(26, 26, 24, 0.15) !important;
  border-radius: 3px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  color: #1a1a18 !important;
  background: #ffffff !important;
  resize: vertical !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

.cart-order-note-field:focus {
  outline: none !important;
  border-color: #a8894a !important;
  box-shadow: 0 0 0 2px rgba(168, 137, 74, 0.12) !important;
}

.cart-order-note-field::placeholder {
  color: #b8b8b3 !important;
  font-style: italic !important;
}

.cart-order-note-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-top: 8px !important;
  min-height: 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
}

.cart-order-note-status {
  color: #8a8a85 !important;
  transition: color 0.2s ease !important;
}
.cart-order-note-status.is-saving {
  color: #8a8a85 !important;
}
.cart-order-note-status.is-saved {
  color: #a8894a !important;
}
.cart-order-note-status.is-error {
  color: #c77 !important;
}

.cart-order-note-count {
  color: #b8b8b3 !important;
  font-variant-numeric: tabular-nums !important;
}

/* end Phase 10e */

/* =========================================================
   Phase 10e FIX: Order Note positioning guard
   ========================================================= */
.cart-order-note-wrapper {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 28px 0 8px 0 !important;
  clear: both !important;
  position: relative !important;
  float: none !important;
  box-sizing: border-box !important;
}
/* end */

/* =========================================================
   Phase 10f: Mobile cart polish
   ========================================================= */
@media (max-width: 700px) {
  /* Title */
  [data-cart] .page-heading,
  [data-cart] .pageTitle,
  .page-content > h1,
  .page-content > h2.page-heading {
    font-size: 24px !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 14px !important;
  }

  /* Free shipping bar — 縦圧縮 */
  [data-cart] .alertBox,
  [data-cart] .alertBox.alertBox--warning {
    padding: 9px 14px !important;
    margin: 0 0 14px 0 !important;
    font-size: 12px !important;
  }
  [data-cart] .alertBox .alertBox-icon svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* Cart item row — 余白タイト */
  .cart-list .cart-item,
  table.cart tr.cart-item,
  .cart-item .cart-item-block {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .cart-item-figure img.cart-item-image,
  .cart-item-figure .cart-item-fixed-image {
    max-width: 78px !important;
  }
  .cart-item-name {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .cart-item-brand,
  .cart-item-title .cart-item-brand {
    font-size: 10.5px !important;
    letter-spacing: 0.05em !important;
  }
  .cart-item-options--giftWrapping .cart-item-option-title {
    font-size: 9.5px !important;
  }

  /* Static sidebar (totals) — モバイルでは下にスタック */
  .static-sidebar {
    padding: 18px 16px !important;
    margin-top: 14px !important;
  }
  .static-sidebar .cart-total-value.cart-total-grandTotal {
    font-size: 26px !important;
  }
  .static-sidebar .cart-actions .button--primary {
    height: 50px !important;
    line-height: 50px !important;
    font-size: 13px !important;
  }

  /* Order Note — コンパクト */
  .cart-order-note-wrapper {
    margin: 18px 0 8px 0 !important;
    padding: 16px 14px !important;
  }
  .cart-order-note-label {
    font-size: 17px !important;
  }
  .cart-order-note-hint {
    font-size: 11px !important;
    margin-bottom: 8px !important;
  }
  .cart-order-note-field {
    min-height: 72px !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
  }

  /* Quantity stepper — タップしやすく */
  .cart-item-quantity .form-increment .button--icon {
    min-width: 32px !important;
    height: 34px !important;
  }
}

/* end 10f */

/* =========================================================
   Phase 10f FIX: Cart title numerals + no-wrap
   ========================================================= */

/* Lining numerals — Cormorant の old-style 数字を大文字高さに揃える */
[data-cart] .page-heading,
[data-cart] .pageTitle,
.page-content > h1,
.page-content > h2.page-heading,
.static-sidebar .cart-total-value.cart-total-grandTotal,
.cart-total-value,
.cart-item-value {
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* Desktop: already fits, but ensure no weird break */
[data-cart] .page-heading,
[data-cart] .pageTitle,
.page-content > h1,
.page-content > h2.page-heading {
  white-space: nowrap !important;
}

/* Mobile: 1行キープ + サイズ微減 */
@media (max-width: 700px) {
  [data-cart] .page-heading,
  [data-cart] .pageTitle,
  .page-content > h1,
  .page-content > h2.page-heading {
    font-size: 22px !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 380px) {
  [data-cart] .page-heading,
  [data-cart] .pageTitle,
  .page-content > h1,
  .page-content > h2.page-heading {
    font-size: 20px !important;
    letter-spacing: 0.03em !important;
  }
}

/* end 10f FIX */

/* =========================================================
   Phase 10f FIX2: Image padding tight + clear grey bg
   ========================================================= */

/* Clear grey/highlight backgrounds on cart items */
.cart-list .cart-item,
table.cart tr.cart-item,
.cart-list .cart-item:nth-child(even),
.cart-list .cart-item:nth-child(odd),
.cart-item,
.cart-item-block,
.cart-item-figure,
.cart-item-title,
.cart-item-info {
  background: transparent !important;
  background-color: transparent !important;
}

/* Cart item image — no bg, no border, minimal padding */
.cart-item-figure {
  padding: 10px 14px 10px 0 !important;
  background: transparent !important;
}
.cart-item-figure img.cart-item-image,
.cart-item-figure .cart-item-fixed-image,
.cart-item-figure picture img {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

@media (max-width: 700px) {
  .cart-item-figure {
    padding: 6px 10px 6px 0 !important;
  }
  .cart-item-figure img.cart-item-image,
  .cart-item-figure .cart-item-fixed-image {
    max-width: 72px !important;
  }
}

/* Also remove any theme-applied background on cart item wrapping divs */
[data-cart-content] .cart-item *,
[data-cart-content] td {
  background-image: none !important;
}

/* end 10f FIX2 */

/* =========================================================
   Phase 10f FIX3: Kill lazy-load ::after overlay + blend product bg
   Products have cream/grey baked into photos; mix-blend-mode
   multiplies image against page white, effectively dropping bg.
   ========================================================= */

/* Neutralize theme's ::after placeholder on cart-item-figure */
.cart-item-figure::after,
.cart-item-figure:after {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Strip lazy-load grey flash backgrounds */
.cart-item-figure .lazyload,
.cart-item-figure .lazyloading,
.cart-item-figure .lazyloaded,
.cart-item-figure img {
  background: transparent !important;
  background-color: transparent !important;
}

/* Kill the greyish box around product photo via blend */
.cart-item-figure img.cart-item-image,
.cart-item-figure img.lazyloaded,
.cart-item-figure .cart-item-fixed-image {
  mix-blend-mode: multiply !important;
}

/* Ensure the figure cell itself has a pure white backdrop so blend looks clean */
td.cart-item-figure,
.cart-item-block.cart-item-figure {
  background: #ffffff !important;
}

@media (max-width: 700px) {
  td.cart-item-figure,
  .cart-item-block.cart-item-figure {
    background: #ffffff !important;
    padding: 6px 10px 6px 0 !important;
  }
}

/* end 10f FIX3 */

/* =========================================================
   Phase 10g: Mini-cart (ATC Preview Modal) — Refined Kyoto
   Matches cart page aesthetic. Soft beige, Cormorant headings,
   dominant dark CHECKOUT, subtle View Cart, muted express btns.
   ========================================================= */

/* ------- Modal container: soft off-white, calm spacing ------- */
body .modal[data-reveal] .modal-content,
.modal .modal-body {
  background: #faf8f3 !important;
}
.modal .modal-header {
  background: #faf8f3 !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.14) !important;
  padding: 18px 24px 14px !important;
}
.modal .modal-header-title {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  letter-spacing: 0.02em !important;
  color: #1a1a18 !important;
  margin: 0 !important;
  text-align: left !important;
}
.modal .modal-close,
.modal button.close {
  color: #6b6b66 !important;
  opacity: 0.75 !important;
  transition: opacity 160ms ease !important;
}
.modal .modal-close:hover,
.modal button.close:hover {
  opacity: 1 !important;
}

/* ------- Body padding ------- */
.modal .modal-body {
  padding: 20px 24px 24px !important;
}

/* ------- Free shipping indicator (thin info row, injected by JS) ------- */
.mini-cart-shipping-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  margin: 0 0 16px !important;
  background: #f7f3ec !important;
  border: 1px solid rgba(168, 137, 74, 0.16) !important;
  border-radius: 4px !important;
  font-family: "Inter", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.01em !important;
  color: #4a4a44 !important;
}
.mini-cart-shipping-row.is-unlocked {
  color: #1a1a18 !important;
  border-color: rgba(168, 137, 74, 0.32) !important;
}
.mini-cart-shipping-row .mini-cart-shipping-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #a8894a !important;
  flex: 0 0 6px;
}
.mini-cart-shipping-row.is-unlocked .mini-cart-shipping-dot {
  background: #4a7a3a !important;
}

/* ------- Product view block (image + details) ------- */
.previewCart .productView {
  background: transparent !important;
  padding: 0 0 16px 0 !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.12) !important;
}
.previewCart .productView-image,
.previewCart .productView-img-container {
  background: transparent !important;
  margin: 0 !important;
}
.previewCart .productView-image--cart,
.previewCart .productView-img-container img {
  mix-blend-mode: multiply !important;
  background: transparent !important;
  max-width: 140px !important;
}
.previewCart .productView-title {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: #1a1a18 !important;
  margin: 0 0 4px !important;
}
.previewCart .productView-brand {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
  margin-bottom: 6px !important;
}
.previewCart .productView-price {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}
.previewCart .productView-info {
  font-size: 12px !important;
  color: #6b6b66 !important;
  margin-top: 6px !important;
}

/* ------- Checkout column: kill dark bg, match page ------- */
.previewCart .previewCartCheckout {
  background: transparent !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Subtotal label + price */
.previewCart .previewCartCheckout-subtotal {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin: 0 0 16px !important;
  padding: 10px 0 !important;
  border-top: 1px solid rgba(168, 137, 74, 0.16) !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.16) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #4a4a44 !important;
}
.previewCart .previewCartCheckout-price {
  display: inline-block !important;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  text-align: right !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* "Your cart contains N items" copy */
.previewCart .previewCartCheckout p[data-cart-quantity] {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  color: #6b6b66 !important;
  text-align: center !important;
  margin: 10px 0 14px !important;
}

/* ------- Button hierarchy ------- */
/* PROCEED TO CHECKOUT — dominant dark CTA */
.previewCart .previewCartCheckout .button--primary {
  display: block !important;
  width: 100% !important;
  min-height: 54px !important;
  line-height: 54px !important;
  padding: 0 20px !important;
  background: #1a1a18 !important;
  border: 1px solid #1a1a18 !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease !important;
  margin: 0 0 10px !important;
}
.previewCart .previewCartCheckout .button--primary:hover,
.previewCart .previewCartCheckout .button--primary:focus {
  background: #a8894a !important;
  border-color: #a8894a !important;
  color: #ffffff !important;
}

/* First button--primary in the checkout section is "Proceed to Checkout".
   The second (Continue Shopping) should NOT dominate — demote to secondary */
.previewCart .previewCartCheckout .button--primary + .previewCartCheckout-additionalCheckoutButtons ~ .button--primary,
.previewCart .previewCartCheckout > .button--primary ~ .button--primary,
.previewCart .previewCartCheckout a.button--primary[data-reveal-close] {
  background: transparent !important;
  border: 1px solid rgba(26, 26, 24, 0.35) !important;
  color: #1a1a18 !important;
  min-height: 44px !important;
  line-height: 44px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
}
.previewCart .previewCartCheckout a.button--primary[data-reveal-close]:hover {
  background: #1a1a18 !important;
  color: #ffffff !important;
  border-color: #1a1a18 !important;
}

/* VIEW CART — text-link style, weakest of the three */
.previewCart .previewCartCheckout a.button:not(.button--primary) {
  background: transparent !important;
  border: none !important;
  color: #6b6b66 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(107, 107, 102, 0.35) !important;
  padding: 10px !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  display: block !important;
  text-align: center !important;
  margin-top: 6px !important;
  transition: color 160ms ease, text-decoration-color 160ms ease !important;
}
.previewCart .previewCartCheckout a.button:not(.button--primary):hover {
  color: #1a1a18 !important;
  text-decoration-color: #a8894a !important;
}

/* EXPRESS CHECKOUT (PayPal / Apple Pay / G Pay) — muted */
.previewCart .previewCartCheckout-additionalCheckoutButtons {
  margin: 10px 0 14px !important;
  padding: 10px 0 !important;
  opacity: 0.78 !important;
  transition: opacity 180ms ease !important;
}
.previewCart .previewCartCheckout-additionalCheckoutButtons:hover {
  opacity: 1 !important;
}
.previewCart .previewCartCheckout-additionalCheckoutButtons p {
  margin: 4px 0 !important;
}

/* Multi-address shipping link — subtle */
.previewCart .previewCartAction-checkoutMultiple a {
  font-size: 11px !important;
  color: #8a8a82 !important;
  text-decoration: underline !important;
  letter-spacing: 0.04em !important;
}

/* ------- Layout on wider screens ------- */
@media (min-width: 801px) {
  .previewCart {
    display: flex !important;
    gap: 24px !important;
  }
  .previewCart .productView {
    flex: 1 1 auto !important;
    border-bottom: none !important;
    border-right: 1px solid rgba(168, 137, 74, 0.12) !important;
    padding: 0 24px 0 0 !important;
    margin: 0 !important;
  }
  .previewCart .previewCartCheckout {
    flex: 0 0 280px !important;
    padding: 0 !important;
  }
}

/* Mobile spacing tighten */
@media (max-width: 700px) {
  .modal .modal-body { padding: 16px 18px 20px !important; }
  .modal .modal-header { padding: 14px 18px 12px !important; }
  .modal .modal-header-title { font-size: 19px !important; }
  .previewCart .productView-image--cart { max-width: 96px !important; }
  .previewCart .productView-title { font-size: 16px !important; }
  .previewCart .previewCartCheckout-price { font-size: 22px !important; }
  .previewCart .previewCartCheckout .button--primary {
    min-height: 52px !important; line-height: 52px !important;
    letter-spacing: 0.14em !important;
  }
}

/* Suggested products — calm spacing */
.suggestiveCart {
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(168, 137, 74, 0.14) !important;
}
.suggestiveCart h4 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #1a1a18 !important;
  margin-bottom: 14px !important;
  text-align: left !important;
}

/* Modal close transition polish */
.modal[data-reveal] {
  transition: opacity 220ms ease !important;
}

/* end 10g */

/* =========================================================
   Phase 10g FIX: Header Dropdown Mini-Cart (#cart-preview-dropdown)
   This targets the HEADER cart icon dropdown, distinct from
   the ATC modal (.modal .previewCart, already styled in 10g).
   ========================================================= */

/* Dropdown container */
#cart-preview-dropdown {
  background: #faf8f3 !important;
  border: 1px solid rgba(168, 137, 74, 0.14) !important;
  box-shadow: 0 6px 28px rgba(20, 20, 18, 0.10) !important;
  border-radius: 4px !important;
  padding: 16px 18px 18px !important;
  min-width: 360px !important;
  max-width: 420px !important;
}

/* The nested .previewCart inside the dropdown — reset grid layout */
#cart-preview-dropdown .previewCart {
  display: block !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Items list */
#cart-preview-dropdown .previewCartList {
  list-style: none !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  max-height: 340px !important;
  overflow-y: auto !important;
}
#cart-preview-dropdown .previewCartItem {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.10) !important;
  background: transparent !important;
}
#cart-preview-dropdown .previewCartItem:last-child {
  border-bottom: none !important;
}

/* Thumbnail */
#cart-preview-dropdown .previewCartItem-image {
  flex: 0 0 56px !important;
  width: 56px !important;
  height: 56px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(168, 137, 74, 0.12) !important;
}
#cart-preview-dropdown .previewCartItem-image img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  mix-blend-mode: multiply !important;
  background: transparent !important;
}

/* Item content */
#cart-preview-dropdown .previewCartItem-content {
  flex: 1 1 auto !important;
  padding: 0 !important;
  min-width: 0 !important;
}
#cart-preview-dropdown .previewCartItem-brand {
  display: block !important;
  font-family: "Inter", sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8a8a82 !important;
  margin-bottom: 2px !important;
  font-style: normal !important;
}
#cart-preview-dropdown .previewCartItem-name {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  color: #1a1a18 !important;
  margin: 0 0 4px !important;
}
#cart-preview-dropdown .previewCartItem-name a {
  color: inherit !important;
  text-decoration: none !important;
}
#cart-preview-dropdown .previewCartItem-name a:hover {
  color: #a8894a !important;
}
#cart-preview-dropdown .previewCartItem-price {
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* Action area: stack actions vertically, CHECKOUT dominates */
#cart-preview-dropdown .previewCartAction {
  display: block !important;
  margin-top: 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
#cart-preview-dropdown .previewCartAction-checkout,
#cart-preview-dropdown .previewCartAction-viewCart {
  display: block !important;
  width: 100% !important;
}
#cart-preview-dropdown .previewCartAction-checkout .button,
#cart-preview-dropdown .previewCartAction-viewCart .button {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Checkout Now — dominant dark CTA */
#cart-preview-dropdown .previewCartAction-checkout .button--primary {
  background: #1a1a18 !important;
  border: 1px solid #1a1a18 !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  min-height: 52px !important;
  line-height: 52px !important;
  padding: 0 16px !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  transition: background 180ms ease, border-color 180ms ease !important;
  margin-bottom: 8px !important;
}
#cart-preview-dropdown .previewCartAction-checkout .button--primary:hover,
#cart-preview-dropdown .previewCartAction-checkout .button--primary:focus {
  background: #a8894a !important;
  border-color: #a8894a !important;
  color: #ffffff !important;
}

/* View Cart — subtle text link, weakest element */
#cart-preview-dropdown .previewCartAction-viewCart .button,
#cart-preview-dropdown .previewCartAction-viewCart .button--action {
  background: transparent !important;
  border: none !important;
  color: #6b6b66 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(107, 107, 102, 0.35) !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  padding: 8px !important;
  text-align: center !important;
  transition: color 160ms ease, text-decoration-color 160ms ease !important;
}
#cart-preview-dropdown .previewCartAction-viewCart .button:hover {
  color: #1a1a18 !important;
  text-decoration-color: #a8894a !important;
}

/* Sole view cart (no checkout button) — promote to secondary button */
#cart-preview-dropdown .previewCartAction-viewCart--sole .button {
  background: transparent !important;
  border: 1px solid rgba(26, 26, 24, 0.35) !important;
  color: #1a1a18 !important;
  min-height: 48px !important;
  line-height: 48px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

/* Multi-address — tiny link */
#cart-preview-dropdown .previewCartAction-checkoutMultiple a {
  font-size: 11px !important;
  color: #8a8a82 !important;
  text-decoration: underline !important;
}

/* Payment icons row — muted */
#cart-preview-dropdown .previewCartAction .footer-payment-icons {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(168, 137, 74, 0.10) !important;
  opacity: 0.55 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: opacity 200ms ease !important;
}
#cart-preview-dropdown .previewCartAction .footer-payment-icons:hover {
  opacity: 0.9 !important;
}
#cart-preview-dropdown .previewCartAction .footer-payment-icons > * {
  flex: 0 0 auto !important;
}

/* Empty state */
#cart-preview-dropdown .previewCart-emptyBody {
  padding: 20px 10px !important;
  text-align: center !important;
  color: #6b6b66 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
}

/* Free shipping row inside dropdown */
#cart-preview-dropdown .mini-cart-shipping-row {
  margin: 0 0 12px !important;
}

/* Dropdown arrow/pointer - keep subtle */
#cart-preview-dropdown::before,
#cart-preview-dropdown::after {
  display: none !important;
}

/* Mobile: widen a touch */
@media (max-width: 700px) {
  #cart-preview-dropdown {
    min-width: 300px !important;
    max-width: 94vw !important;
    padding: 14px 14px 16px !important;
  }
  #cart-preview-dropdown .previewCartItem-image {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
  }
  #cart-preview-dropdown .previewCartItem-name { font-size: 14px !important; }
}

/* end 10g FIX */

/* =========================================================
   Phase 10g FIX2: Mini-cart breathing room
   - Slightly wider dropdown
   - More padding on shipping row
   - More space between express payments & card icons
   ========================================================= */

#cart-preview-dropdown {
  min-width: 400px !important;
  max-width: 460px !important;
  padding: 18px 20px 20px !important;
}

/* Shipping info row — more breathing room L/R */
#cart-preview-dropdown .mini-cart-shipping-row,
.mini-cart-shipping-row {
  padding: 9px 14px !important;
}

/* Add separation under express payments */
#cart-preview-dropdown .previewCartAction-additionalCheckoutButtons,
#cart-preview-dropdown .additionalCheckoutButtons,
#cart-preview-dropdown .previewCartCheckout-additionalCheckoutButtons {
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.10) !important;
}

/* If express buttons are absent but card icons present, add top spacing
   to the icons block */
#cart-preview-dropdown .previewCartAction .footer-payment-icons {
  margin-top: 16px !important;
  padding-top: 14px !important;
}

/* Mobile: keep proportional widening */
@media (max-width: 700px) {
  #cart-preview-dropdown {
    min-width: 320px !important;
    max-width: 94vw !important;
    padding: 16px 16px 18px !important;
  }
}

/* end 10g FIX2 */

/* =========================================================
   Phase 10g FIX3: Final mini-cart polish
   - Free shipping row: more horizontal padding
   - Cart items: more vertical breathing
   - Payment icons: stronger separation, lower opacity
   - Button label: CSS-only swap to "Proceed to Checkout"
     (works without JS, JS is belt-and-suspenders)
   ========================================================= */

/* (1) Free shipping row breathing room */
#cart-preview-dropdown .mini-cart-shipping-row,
.mini-cart-shipping-row {
  padding: 10px 16px !important;
}

/* (2) Cart items vertical spacing */
#cart-preview-dropdown .previewCartItem {
  padding: 12px 0 !important;
}
#cart-preview-dropdown .previewCartItem + .previewCartItem {
  margin-top: 4px !important;
}

/* (3) Payment icons — clearly the lowest layer */
#cart-preview-dropdown .previewCartAction .footer-payment-icons,
#cart-preview-dropdown .footer-payment-icons {
  margin-top: 18px !important;
  padding-top: 16px !important;
  opacity: 0.45 !important;
  border-top: 1px solid rgba(168, 137, 74, 0.10) !important;
}
#cart-preview-dropdown .previewCartAction .footer-payment-icons:hover,
#cart-preview-dropdown .footer-payment-icons:hover {
  opacity: 0.85 !important;
}

/* (4) Button label swap: CSS-only fallback (works without JS).
       Hides original text via font-size:0 and prints new label via ::before.
       JS rewrite (mini-cart-shipping.js) does the same job; whichever runs
       first wins. JS sets data-label-rewritten="1" — we suppress CSS in that
       case so we don't double-stack the label. */
#cart-preview-dropdown .previewCartAction-checkout .button--primary:not([data-label-rewritten="1"]) {
  font-size: 0 !important;
  line-height: 0 !important;
  position: relative !important;
}
#cart-preview-dropdown .previewCartAction-checkout .button--primary:not([data-label-rewritten="1"])::before {
  content: "Proceed to Checkout" !important;
  display: inline-block !important;
  font-size: 12px !important;
  line-height: 52px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-family: "Inter", sans-serif !important;
  color: inherit !important;
  vertical-align: middle !important;
}

/* end 10g FIX3 */

/* =========================================================
   Phase 11a: PDP Refined Kyoto
   Goal: visual consistency PDP → mini-cart → cart.
   Refinement only — no layout changes.
   ========================================================= */

/* ------- Brand label (above title) ------- */
.productView .productView-brand {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #8a8a82 !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
}
.productView .productView-brand a,
.productView .productView-brand span {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 160ms ease !important;
}
.productView .productView-brand a:hover {
  color: #a8894a !important;
}

/* ------- Product title ------- */
.productView .productView-title {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 32px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.005em !important;
  color: #1a1a18 !important;
  margin: 0 0 14px !important;
  text-transform: none !important;
}
@media (max-width: 700px) {
  .productView .productView-title { font-size: 26px !important; }
}

/* ------- Price ------- */
.productView .productView-price {
  font-family: "Inter", "Noto Sans JP", sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  letter-spacing: 0.01em !important;
  margin: 6px 0 16px !important;
}
.productView .productView-price .price--withoutTax,
.productView .productView-price .price--withTax,
.productView .productView-price .price,
.productView .productView-price .price-section,
.productView .productView-price span {
  font-family: inherit !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}
.productView .productView-price .price--non-sale,
.productView .productView-price .price--rrp {
  color: #8a8a82 !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  font-size: 16px !important;
}
.productView .productView-price .price--withoutTax.price--discounted,
.productView .productView-price .price--withTax.price--discounted {
  color: #a8894a !important;
}

/* ------- Rating area — quiet ------- */
.productView .productView-rating {
  margin: 0 0 18px !important;
}
.productView .productView-reviewLink a {
  font-size: 12px !important;
  color: #6b6b66 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(107, 107, 102, 0.35) !important;
  letter-spacing: 0.02em !important;
}
.productView .productView-reviewLink a:hover {
  color: #1a1a18 !important;
  text-decoration-color: #a8894a !important;
}

/* ------- Product image: mix-blend for baked-in bg ------- */
.productView .productView-image,
.productView .productView-img-container,
.productView .productView-image--default,
.productView .productView-thumbnail-link img {
  background: transparent !important;
}
.productView .productView-image .productView-image--default,
.productView .productView-img-container img,
.productView .productView-thumbnail-link img {
  mix-blend-mode: multiply !important;
}
/* thumbnails — subtle border, no grey */
.productView .productView-thumb {
  background: transparent !important;
}
.productView .productView-thumbnail-link {
  border: 1px solid rgba(168, 137, 74, 0.12) !important;
  background: #ffffff !important;
  transition: border-color 160ms ease !important;
}
.productView .productView-thumbnail-link:hover,
.productView .slick-current .productView-thumbnail-link {
  border-color: rgba(168, 137, 74, 0.45) !important;
}

/* ------- Quantity input — refined ------- */
.productView .form-field--increments .form-label {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
  margin-bottom: 8px !important;
}
.productView .form-increment {
  border: 1px solid rgba(26, 26, 24, 0.18) !important;
  background: #ffffff !important;
  display: inline-flex !important;
  align-items: stretch !important;
  border-radius: 2px !important;
  overflow: hidden !important;
}
.productView .form-increment .button--icon {
  background: transparent !important;
  border: none !important;
  padding: 0 14px !important;
  min-height: 46px !important;
  color: #1a1a18 !important;
  transition: background 140ms ease !important;
}
.productView .form-increment .button--icon:hover {
  background: #f7f3ec !important;
}
.productView .form-increment .form-input--incrementTotal {
  border: none !important;
  min-height: 46px !important;
  width: 56px !important;
  text-align: center !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: transparent !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* ------- ADD TO CART button — dominant dark CTA ------- */
.productView #form-action-addToCart,
.productView .add-to-cart-buttons .button--primary,
.productView .form-addToCart .button--primary {
  display: block !important;
  width: 100% !important;
  min-height: 56px !important;
  line-height: 56px !important;
  padding: 0 24px !important;
  background: #1a1a18 !important;
  border: 1px solid #1a1a18 !important;
  color: #ffffff !important;
  font-family: "Inter", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease !important;
  margin: 14px 0 10px !important;
}
.productView #form-action-addToCart:hover,
.productView #form-action-addToCart:focus,
.productView .add-to-cart-buttons .button--primary:hover,
.productView .form-addToCart .button--primary:hover {
  background: #a8894a !important;
  border-color: #a8894a !important;
  color: #ffffff !important;
}

/* Wallet (Apple Pay / G Pay etc.) — muted */
.productView .add-to-cart-wallet-buttons {
  margin-top: 10px !important;
  opacity: 0.85 !important;
  transition: opacity 160ms ease !important;
}
.productView .add-to-cart-wallet-buttons:hover {
  opacity: 1 !important;
}

/* ------- Availability + info list ------- */
.productView .productView-availability {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  color: #6b6b66 !important;
  letter-spacing: 0.04em !important;
  margin-top: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.productView .productView-availability .icon {
  width: 16px !important;
  height: 16px !important;
  color: #a8894a !important;
}

.productView .productView-info {
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(168, 137, 74, 0.14) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
}
.productView .productView-info-name {
  color: #6b6b66 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  margin-right: 8px !important;
}
.productView .productView-info-value {
  color: #1a1a18 !important;
  font-weight: 400 !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* ------- Description / tabs area ------- */
.productView .productView-description {
  margin-top: 40px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(168, 137, 74, 0.14) !important;
  font-family: "Inter", "Noto Sans JP", sans-serif !important;
  color: #3a3a36 !important;
  line-height: 1.7 !important;
}
.productView .productView-description h2,
.productView .productView-description .productView-title {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  letter-spacing: 0.04em !important;
  color: #1a1a18 !important;
  margin-bottom: 16px !important;
  text-transform: none !important;
}

/* Tabs (if enabled) */
.productView .tabs .tab .tab-title {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6b6b66 !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  transition: color 160ms ease, border-color 160ms ease !important;
}
.productView .tabs .tab.is-active .tab-title,
.productView .tabs .tab .tab-title:hover {
  color: #1a1a18 !important;
  border-bottom-color: #a8894a !important;
}

/* ------- Sale tags / labels — calm ------- */
.productView .card-tags,
.productView .card-tags .card-tag {
  font-family: "Inter", sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}
.productView .card-tags .card-tag--sale,
.productView .card-tags .card-tag {
  background: #f7f3ec !important;
  color: #a8894a !important;
  border: 1px solid rgba(168, 137, 74, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 2px !important;
  font-weight: 500 !important;
}

/* ------- Wishlist dropdown — subtle ------- */
.productView .wishlist-dropdown,
.productView .form-action--wishlist button {
  background: transparent !important;
  color: #6b6b66 !important;
  border: 1px solid rgba(26, 26, 24, 0.15) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

/* ------- Stock alert / out-of-stock messages ------- */
.productView .alertBox.productAttributes-message {
  background: #f7f3ec !important;
  border: 1px solid rgba(168, 137, 74, 0.25) !important;
  color: #1a1a18 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  padding: 10px 14px !important;
}

/* ------- Share icons (social) — subtle ------- */
.productView .socialLinks {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(168, 137, 74, 0.1) !important;
  opacity: 0.7 !important;
  transition: opacity 160ms ease !important;
}
.productView .socialLinks:hover {
  opacity: 1 !important;
}

/* end 11a */

/* =========================================================
   Phase 11a FIX: PDP typography & balance refinement
   - Title lighter, constrained width
   - Brand more refined (Cormorant, slight letter-spacing, opacity)
   - ATC slightly more refined letter-spacing
   - Price elegant (Cormorant, lining-nums)
   ========================================================= */

/* (1) Title — reduce heaviness, improve line-height, constrain width */
.productView .productView-title {
  font-size: 26px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
  font-weight: 500 !important;
  max-width: 520px !important;
  margin: 0 0 12px !important;
}
@media (max-width: 700px) {
  .productView .productView-title {
    font-size: 22px !important;
    line-height: 1.35 !important;
    max-width: none !important;
  }
}

/* (2) Brand label — Cormorant, subtle but present */
.productView .productView-brand {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #1a1a18 !important;
  opacity: 0.7 !important;
  margin: 0 0 10px !important;
  transition: opacity 160ms ease !important;
}
.productView .productView-brand:hover {
  opacity: 1 !important;
}

/* (3) Add to Cart — refine letter-spacing for balance */
.productView #form-action-addToCart,
.productView .add-to-cart-buttons .button--primary,
.productView .form-addToCart .button--primary {
  min-height: 56px !important;
  line-height: 56px !important;
  letter-spacing: 0.12em !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* (4) Price — elegant Cormorant, lining-nums, slight size up */
.productView .productView-price,
.productView .productView-price .price,
.productView .productView-price span {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  color: #1a1a18 !important;
}
.productView .productView-price {
  margin: 4px 0 18px !important;
  max-width: 520px !important;
}
/* Non-sale (strike-through) price: smaller, muted */
.productView .productView-price .price--non-sale,
.productView .productView-price .price--rrp {
  font-size: 16px !important;
  color: #8a8a82 !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
}
/* Sale-active price: gold */
.productView .productView-price .price--withoutTax.price--discounted,
.productView .productView-price .price--withTax.price--discounted {
  color: #a8894a !important;
}

/* end 11a FIX */

/* =========================================================
   Phase A: ATC Preview (cart-preview-on-add.html) — dedicated
   Scope:  .previewCart:has(.item-added)      ← ATC variant ONLY
   Never:  plain .previewCart / #cart-preview-dropdown .previewCart
           (those belong to the View Cart variant = Phase B)
   Goal:   calm, refined confirmation layer.
           - "Item added to your cart"  (Cormorant + ✓)
           - Free shipping row  (injected by JS)
           - Primary   = Proceed to Checkout
           - Secondary = View Cart
           Does NOT show full product details.
   NOTE:   This block supersedes the former 10g FIX4 block.
   ========================================================= */

/* ---------- Container ---------- */
#cart-preview-dropdown .previewCart:has(.item-added) {
  padding: 22px 22px 20px !important;
  background: #ffffff !important;
  max-width: 380px !important;
  margin: 0 auto !important;
}
.modal .previewCart:has(.item-added),
.modal-body .previewCart:has(.item-added) {
  padding: 26px 28px 22px !important;
  background: #ffffff !important;
  max-width: 440px !important;
  margin: 0 auto !important;
}

/* ---------- Item list row (just the confirmation line) ---------- */
/* 4px breathing room between shipping row and message */
.previewCart:has(.item-added) .previewCartList {
  list-style: none !important;
  margin: 4px 0 14px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.16) !important;
}
.previewCart:has(.item-added) .previewCartItem {
  display: block !important;
  padding: 2px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
/* ATC template doesn't provide an image — hide cell defensively */
.previewCart:has(.item-added) .previewCartItem-image {
  display: none !important;
}
.previewCart:has(.item-added) .previewCartItem-content {
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  flex: 1 1 100% !important;
}

/* ---------- Confirmation line ---------- */
/* Layout: flex row with ✓ (from parent ::before) + "Added to cart" (from h6 ::before).
   Original "Item added to your cart" text is hidden via font-size:0. */
.previewCart:has(.item-added) .previewCartItem-content.item-added {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 !important;
  text-align: center !important;
}
.previewCart:has(.item-added) .previewCartItem-content.item-added::before {
  content: "✓" !important;
  flex: 0 0 auto !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 11px !important;      /* smaller, more restrained */
  font-weight: 600 !important;
  color: #b89d68 !important;       /* softer gold */
  opacity: 0.7 !important;         /* a touch lighter */
  line-height: 1.5 !important;
}
#cart-preview-dropdown .previewCart:has(.item-added) .previewCartItem-name,
.modal .previewCart:has(.item-added) .previewCartItem-name,
.previewCart:has(.item-added) h6.previewCartItem-name {
  font-size: 0 !important;         /* hide original text */
  color: transparent !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}
.previewCart:has(.item-added) .previewCartItem-name::before {
  content: "Added to cart" !important;
  display: inline-block !important;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
  color: #1a1a18 !important;
  opacity: 0.85 !important;        /* soften presence */
  text-transform: none !important;
}

/* ---------- Free shipping row (injected by JS) ---------- */
.previewCart:has(.item-added) .mini-cart-shipping-row {
  margin: 0 0 16px !important;
  padding: 10px 14px !important;
  background: #faf8f3 !important;
  border: 1px solid rgba(168, 137, 74, 0.18) !important;
  border-radius: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: #6b6b66 !important;
}
.previewCart:has(.item-added) .mini-cart-shipping-row.is-unlocked {
  background: rgba(168, 137, 74, 0.08) !important;
  color: #1a1a18 !important;
}
.previewCart:has(.item-added) .mini-cart-shipping-row .mini-cart-shipping-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #a8894a !important;
  flex: 0 0 auto !important;
}
.previewCart:has(.item-added) .mini-cart-shipping-row.is-unlocked .mini-cart-shipping-dot {
  background: #1a1a18 !important;
}

/* ---------- Action buttons (stacked) ---------- */
.previewCart:has(.item-added) .previewCartAction {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.previewCart:has(.item-added) .previewCartAction-checkout,
.previewCart:has(.item-added) .previewCartAction-viewCart {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* PRIMARY: Proceed to Checkout ­— black, emphasized */
.previewCart:has(.item-added) .previewCartAction-checkout .button,
.previewCart:has(.item-added) .previewCartAction-checkout .button--primary {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 14px 16px !important;
  background: #1a1a18 !important;
  color: #ffffff !important;
  border: 1px solid #1a1a18 !important;
  border-radius: 2px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-align: center !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.previewCart:has(.item-added) .previewCartAction-checkout .button--primary:hover,
.previewCart:has(.item-added) .previewCartAction-checkout .button--primary:focus {
  background: #a8894a !important;
  border-color: #a8894a !important;
  color: #ffffff !important;
}

/* SECONDARY: View Cart — soft ghost outline (recognizable as button,
   but never competes with primary). Chappy-tuned values. */
.previewCart:has(.item-added) .previewCartAction-viewCart,
.previewCart:has(.item-added) .previewCartAction-viewCart .button,
.previewCart:has(.item-added) .previewCartAction-viewCart .button--small,
.previewCart:has(.item-added) .previewCartAction-viewCart .button--action,
.previewCart:has(.item-added) .previewCartAction-viewCart a.button {
  display: block !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 11px 16px !important;
  background: #faf8f3 !important;                     /* soft beige fill */
  color: #1a1a18 !important;
  border: 1px solid rgba(26, 26, 24, 0.24) !important; /* clear but quiet */
  border-radius: 2px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease !important;
  box-sizing: border-box !important;
}
/* The outer wrapper shouldn't itself be a box — reset to simple block */
.previewCart:has(.item-added) .previewCartAction-viewCart {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
.previewCart:has(.item-added) .previewCartAction-viewCart .button:hover,
.previewCart:has(.item-added) .previewCartAction-viewCart .button--action:hover,
.previewCart:has(.item-added) .previewCartAction-viewCart a.button:hover {
  border-color: rgba(26, 26, 24, 0.45) !important;
  color: #1a1a18 !important;
  background: #f7f3ec !important;
}
.previewCart:has(.item-added) .previewCartAction-viewCart--sole .button {
  max-width: 100% !important;
}

/* Checkout-multiple link — tiny, muted */
.previewCart:has(.item-added) .previewCartAction-checkoutMultiple {
  margin-top: 2px !important;
  padding: 0 !important;
  text-align: center !important;
}
.previewCart:has(.item-added) .previewCartAction-checkoutMultiple a {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  color: #8a8a82 !important;
  letter-spacing: 0.06em !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.previewCart:has(.item-added) .previewCartAction-checkoutMultiple a:hover {
  color: #a8894a !important;
}

/* ---------- Payment icons — subtle trust strip ---------- */
.previewCart:has(.item-added) .previewCartAction .footer-payment-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px 8px !important;
  margin: 16px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid rgba(168, 137, 74, 0.10) !important;
  opacity: 0.5 !important;
}
.previewCart:has(.item-added) .footer-payment-icons > *,
.previewCart:has(.item-added) .footer-payment-icons > span {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.previewCart:has(.item-added) .footer-payment-icons svg {
  width: 28px !important;
  height: 18px !important;
  display: block !important;
}
.previewCart:has(.item-added) .footer-payment-icons .payment-icon-square svg {
  width: 20px !important;
  height: 20px !important;
}

/* ---------- Empty state (defensive) ---------- */
.previewCart:has(.item-added) .previewCart-emptyBody {
  padding: 28px 16px !important;
  text-align: center !important;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 15px !important;
  color: #6b6b66 !important;
}

/* end Phase A — ATC preview */


/* =========================================================
   Phase 12: PLP (Product Listing Page) — Refined Kyoto
   Plan B scope:  ① Page header   ② Product card grid
   NOT touched:   filters, sort, pagination, empty state
   Consistency:   matches PDP (Phase 11a FIX) & mini-cart tones.
   Strategy:      refine on top of existing Phase 5/7/8 blocks
                  — we only override what needs softening.
   ========================================================= */

/* ---------- ① Page Header ---------- */

/* Category title — slightly less letter-spacing so it reads
   as a calm heading rather than an event poster */
.page-heading,
.container > .page-heading,
.page-content > .page-heading {
  font-family: "Cormorant Garamond", "Noto Serif JP", "Georgia", serif !important;
  font-weight: 300 !important;
  font-size: 44px !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2 !important;
  color: #1a1a18 !important;
  text-align: center !important;
  margin: 0 auto 22px !important;
  padding: 0 !important;
}
@media (max-width: 1024px) {
  .page-heading {
    font-size: 38px !important;
  }
}
@media (max-width: 700px) {
  .page-heading {
    font-size: 30px !important;
    letter-spacing: 0.04em !important;
  }
}

/* Breadcrumb — tighter vertical rhythm, more refined */
.container > .breadcrumbs {
  padding: 40px 0 0 0 !important;
  margin: 0 0 20px 0 !important;
  font-size: 10.5px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #8a8a82 !important;
}
.container > .breadcrumbs .breadcrumb a,
.container > .breadcrumbs .breadcrumb-label {
  color: #8a8a82 !important;
}
.container > .breadcrumbs .breadcrumb.is-active a,
.container > .breadcrumbs .breadcrumb.is-active .breadcrumb-label {
  color: #1a1a18 !important;
}

/* Category description — softer, serif-tinted quiet tone */
.category-description p {
  font-family: "Inter", system-ui, -apple-system, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.95 !important;
  letter-spacing: 0.02em !important;
  color: #4a4845 !important;
}
.category-description::after {
  width: 36px !important;
  background: rgba(168, 137, 74, 0.45) !important;
  margin: 28px auto 0 !important;
}

/* ---------- ② Product Card Grid ---------- */

/* Grid: a touch more room between cards on desktop */
@media (min-width: 1025px) {
  .productGrid {
    margin-left: -14px !important;
    margin-right: -14px !important;
    margin-bottom: 56px !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: 0 14px !important;
    margin-bottom: 44px !important;
  }
}

/* Image container — slightly warmer neutral instead of pure off-white */
.productGrid .card-img-container {
  background: #faf8f3 !important;  /* aligned with beige family */
}

/* Card body — more breathing above text block */
.productGrid .card-body {
  padding: 16px 4px 0 !important;
  text-align: center !important;
}

/* Brand — Cormorant, letter-spaced, muted (matches PDP brand) */
.productGrid .card .card-text.brandName,
.productGrid .card .brandName {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #1a1a18 !important;
  opacity: 0.55 !important;
  margin: 0 0 6px !important;
  line-height: 1.4 !important;
}

/* Title — Cormorant, refined line-height, calmer size */
.productGrid .card .card-title,
.productGrid .card .card-title a {
  font-family: "Cormorant Garamond", "Noto Serif JP", "Georgia", serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
  color: #1a1a18 !important;
  text-transform: none !important;
  text-decoration: none !important;
}
.productGrid .card .card-title {
  margin: 0 0 8px !important;
  /* keep titles to 2 lines max for visual rhythm */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(1.45em * 2) !important;
}
.productGrid .card .card-title a:hover {
  color: #a8894a !important;
}

/* Price — Cormorant, lining-nums (PDP-consistent, just smaller) */
.productGrid .card .card-text[data-test-info-type="price"],
.productGrid .card .card-text[data-test-info-type="price"] .price-section,
.productGrid .card .card-text[data-test-info-type="price"] .price,
.productGrid .card .card-text[data-test-info-type="price"] span {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  color: #1a1a18 !important;
}
.productGrid .card .card-text[data-test-info-type="price"] {
  margin: 0 !important;
  line-height: 1.3 !important;
}
/* Non-sale (strike-through) — smaller, muted */
.productGrid .card .card-text[data-test-info-type="price"] .price--non-sale,
.productGrid .card .card-text[data-test-info-type="price"] .price--rrp {
  font-size: 13px !important;
  color: #8a8a82 !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  margin-right: 6px !important;
}
/* Discounted price — gold */
.productGrid .card .card-text[data-test-info-type="price"] .price--discounted,
.productGrid .card .card-text[data-test-info-type="price"] .price--withoutTax.price--discounted,
.productGrid .card .card-text[data-test-info-type="price"] .price--withTax.price--discounted {
  color: #a8894a !important;
}

/* Remove any sale-tag boldness from the tag area (stays minimal) */
.productGrid .card .card-tags {
  padding: 0 !important;
}

/* Gentle hover lift: image fades slightly, no box-shadow gimmick */
.productGrid .card {
  transition: opacity 0.3s ease !important;
}
.productGrid .card:hover .card-img-container {
  opacity: 0.9 !important;
  transition: opacity 0.3s ease !important;
}

/* Tablet / Notebook — give text block a touch more air */
@media (max-width: 1024px) and (min-width: 701px) {
  .productGrid .card-body {
    padding-top: 14px !important;
  }
  .productGrid .card .card-title {
    font-size: 14px !important;
  }
  .productGrid .card .card-text[data-test-info-type="price"],
  .productGrid .card .card-text[data-test-info-type="price"] span {
    font-size: 16px !important;
  }
}

/* Mobile — compact but still legible */
@media (max-width: 700px) {
  .productGrid .card-body {
    padding: 12px 2px 0 !important;
  }
  .productGrid .card .card-text.brandName {
    font-size: 10.5px !important;
    letter-spacing: 0.16em !important;
  }
  .productGrid .card .card-title,
  .productGrid .card .card-title a {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
  }
  .productGrid .card .card-title {
    min-height: calc(1.4em * 2) !important;
  }
  .productGrid .card .card-text[data-test-info-type="price"],
  .productGrid .card .card-text[data-test-info-type="price"] span {
    font-size: 15px !important;
  }
}

/* end Phase 12 — PLP (Plan B) */


/* =========================================================
   Phase 12 FIX: PLP card refinement pass
   - Tighten vertical rhythm (brand → title → price)
   - Slightly warmer/darker image background for contrast
   - Cards only. No filters/sort/pagination/empty-state changes.
   ========================================================= */

/* Image container — a touch warmer beige (more presence under
   pale products like Tableware white teapots) */
.productGrid .card-img-container {
  background: #f3ede1 !important;
}

/* Card body — reduce top padding */
.productGrid .card-body {
  padding: 12px 4px 0 !important;
}

/* Brand → tighter to title */
.productGrid .card .card-text.brandName,
.productGrid .card .brandName {
  margin: 0 0 4px !important;
  line-height: 1.35 !important;
}

/* Title → tighter to price, and tighter line-height (+1px breath) */
.productGrid .card .card-title {
  margin: 0 0 6px !important;
  line-height: 1.4 !important;
  min-height: calc(1.4em * 2) !important;
}
.productGrid .card .card-title,
.productGrid .card .card-title a {
  font-size: 14.5px !important;
}

/* Price → keep elegant, remove any residual top margin */
.productGrid .card .card-text[data-test-info-type="price"] {
  margin: 0 !important;
  line-height: 1.25 !important;
}

/* Figure → reduce gap to body */
.productGrid .card-figure {
  margin: 0 0 10px !important;
}

/* Mobile — matching tightening */
@media (max-width: 700px) {
  .productGrid .card-body {
    padding: 10px 2px 0 !important;
  }
  .productGrid .card .card-text.brandName {
    margin-bottom: 3px !important;
  }
  .productGrid .card .card-title {
    margin-bottom: 4px !important;
    min-height: calc(1.4em * 2) !important;
  }
  .productGrid .card-figure {
    margin: 0 0 8px !important;
  }
}

/* end Phase 12 FIX — card rhythm */


/* =========================================================
   Phase 13: PLP controls & navigation — Refined Kyoto
   Scope: action bar (product count + sort), filter sidebar
          refinements, pagination.
   Strategy: refine on top of Phase 7 / Phase 9 existing blocks;
             reduce visual noise, keep clarity without heaviness.
   Cards are NOT touched.
   ========================================================= */

/* ---------- Action Bar (product count + Sort by) ---------- */

/* Soften to single bottom rule, hairline gold tint */
.actionBar {
  border-top: 0 !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.14) !important;
  padding: 16px 0 18px !important;
  margin: 0 0 28px !important;
  gap: 18px !important;
  background: transparent !important;
}

/* "SHOWING X OF Y PRODUCTS" — smaller, refined tracking */
.actionBar .productCount {
  font-family: "Inter", system-ui, -apple-system, sans-serif !important;
  font-size: 10.5px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #8a8a82 !important;
  line-height: 1.4 !important;
}
.actionBar .productCount a {
  color: #4a4845 !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.35) !important;
  padding-bottom: 1px !important;
  margin-left: 14px !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}
.actionBar .productCount a:hover {
  color: #1a1a18 !important;
  border-bottom-color: #1a1a18 !important;
}

/* "SORT BY" label */
.actionBar .form-label {
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 10.5px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #8a8a82 !important;
}

/* Sort dropdown — hairline border, custom caret, tighter */
.actionBar .form-select,
.actionBar .form-select--small {
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: #1a1a18 !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%231a1a18' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  border: 1px solid rgba(26, 26, 24, 0.18) !important;
  border-radius: 2px !important;
  padding: 9px 38px 9px 14px !important;
  height: auto !important;
  min-height: 36px !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  transition: border-color 0.2s ease !important;
}
.actionBar .form-select:hover,
.actionBar .form-select:focus {
  outline: none !important;
  border-color: #a8894a !important;
  box-shadow: none !important;
}

/* ---------- Filter Sidebar Refinements ---------- */

/* Sidebar heading — slightly tighter, consistent with page-heading family */
.page-sidebar .sidebarBlock-heading {
  font-size: 20px !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 1px solid rgba(168, 137, 74, 0.22) !important;
}

/* Nav link padding + letter-spacing — calmer */
.page-sidebar .navList-item a,
.page-sidebar .navList-action,
.page-sidebar .navList a,
.page-sidebar .sideNav-item a {
  font-size: 12.5px !important;
  letter-spacing: 0.02em !important;
  padding: 8px 2px !important;
  line-height: 1.5 !important;
}

/* Color swatches ("Select the color" faceted filter) */
.page-sidebar .form-field--swatch .form-option-swatch,
.page-sidebar .form-checklist-item .form-option-swatch,
.faceted-search-navList .form-option-swatch {
  width: 20px !important;
  height: 20px !important;
  border: 1px solid rgba(26, 26, 24, 0.2) !important;
  border-radius: 50% !important;
  margin: 4px 6px 4px 0 !important;
  transition: transform 0.15s ease, border-color 0.15s ease !important;
}
.page-sidebar .form-option-swatch:hover,
.faceted-search-navList .form-option-swatch:hover {
  transform: scale(1.1) !important;
  border-color: #1a1a18 !important;
}

/* Faceted filter generic link style (price range rows, etc.) */
.page-sidebar .navList-action,
.page-sidebar .navList-action.is-selected,
.page-sidebar .navList-action--selected {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.page-sidebar .navList-action-countPill {
  font-family: "Inter", sans-serif !important;
  font-size: 10.5px !important;
  color: #8a8a82 !important;
  background: transparent !important;
  padding: 0 !important;
  margin-left: 8px !important;
}

/* Selected filter chips / checkboxes */
.page-sidebar .form-checklist-item,
.page-sidebar .form-checkbox + .form-label {
  font-family: "Inter", sans-serif !important;
  font-size: 12.5px !important;
  letter-spacing: 0.02em !important;
  color: #6b6b66 !important;
}
.page-sidebar .form-checklist-item:hover {
  color: #1a1a18 !important;
}

/* Price range (if enabled) — hairline rule, no padding bloat */
.page-sidebar .priceRange,
.page-sidebar .form-field--price {
  padding: 6px 0 !important;
}
.page-sidebar .priceRange .form-input,
.page-sidebar .form-field--price .form-input {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 14px !important;
  border: 1px solid rgba(26, 26, 24, 0.18) !important;
  border-radius: 2px !important;
  padding: 8px 10px !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}
.page-sidebar .priceRange .form-input:focus,
.page-sidebar .form-field--price .form-input:focus {
  border-color: #a8894a !important;
  outline: none !important;
}
.page-sidebar .priceRange .button,
.page-sidebar .form-field--price .button {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
  background: #1a1a18 !important;
  color: #fff !important;
  border: 1px solid #1a1a18 !important;
  border-radius: 2px !important;
  min-height: 38px !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}
.page-sidebar .priceRange .button:hover,
.page-sidebar .form-field--price .button:hover {
  background: #a8894a !important;
  border-color: #a8894a !important;
}

/* "Clear filters" / selected filter block */
.page-sidebar .sidebarBlock--selectedFilters .navList-item a,
.page-sidebar .sidebarBlock--selectedFilters .navList-action {
  color: #a8894a !important;
  font-size: 12px !important;
}
.page-sidebar .sidebarBlock--selectedFilters .navList-item a::before,
.page-sidebar .sidebarBlock--selectedFilters .navList-action::before {
  content: "×  " !important;
  color: #a8894a !important;
  font-weight: 400 !important;
  opacity: 0.7 !important;
}

/* ---------- Pagination Refinement ---------- */

/* Softer top rule, same gold tint as actionBar */
.pagination {
  margin: 48px 0 72px !important;
  border-top: 1px solid rgba(168, 137, 74, 0.14) !important;
  padding: 32px 0 0 !important;
  background: transparent !important;
}
.pagination-list {
  gap: 4px !important;
}

/* Page number links — smaller, more refined */
.pagination-item .pagination-link {
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 10px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: #6b6b66 !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}
.pagination-item .pagination-link:hover {
  color: #1a1a18 !important;
  border-bottom-color: rgba(168, 137, 74, 0.4) !important;
}
.pagination-item.pagination-item--current .pagination-link {
  color: #1a1a18 !important;
  border-bottom: 1px solid #1a1a18 !important;
  font-weight: 500 !important;
  background: transparent !important;
}

/* PREVIOUS / NEXT — uppercase Inter, arrow glyph */
.pagination-item--next .pagination-link,
.pagination-item--previous .pagination-link {
  font-size: 10.5px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #1a1a18 !important;
  min-width: auto !important;
  padding: 0 14px !important;
}
.pagination-item--next .pagination-link:hover,
.pagination-item--previous .pagination-link:hover {
  color: #a8894a !important;
  border-bottom-color: transparent !important;
}

/* Disabled state — muted */
.pagination-item .pagination-link[aria-disabled="true"],
.pagination-item.is-disabled .pagination-link {
  color: rgba(26, 26, 24, 0.25) !important;
  pointer-events: none !important;
}

/* Mobile — tighter */
@media (max-width: 700px) {
  .pagination {
    margin: 36px 0 56px !important;
    padding: 24px 0 0 !important;
  }
  .pagination-item .pagination-link {
    min-width: 32px !important;
    height: 32px !important;
    font-size: 11.5px !important;
  }
  .actionBar {
    padding: 12px 0 14px !important;
    margin: 0 0 20px !important;
  }
  .actionBar .productCount,
  .actionBar .form-label {
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
  }
}

/* end Phase 13 — PLP controls */
