@charset "UTF-8";
/* =========================================================
   DOG LUCK — WooCommerce ライト（白基調）レイヤー
   商品/ショップ/カート/決済 を白ベースの上品な見た目に
   ※ dark.css の後に読み込み、WooCommerceページだけ白へ
   ========================================================= */

/* ---- ページ全体を温かみのある白に ---- */
body.bespoke.woocommerce-page,
body.bespoke.single-product,
body.bespoke.woocommerce-cart,
body.bespoke.woocommerce-checkout,
body.bespoke.woocommerce-account,
body.bespoke.post-type-archive-product,
body.bespoke.tax-product_cat {
  background: linear-gradient(180deg, #faf6ef 0%, #f3ece0 100%) !important;
  color: var(--ink);
}

/* ---- テキスト基調を濃色へ ---- */
.woocommerce, .woocommerce-page { color: var(--ink); }
/* 本文エリアのリンクのみ濃色に（ヘッダー・フッター・ボタン・追従CTAには影響させない） */
.bespoke.woocommerce .page-content a:not(.btn):not(.button):not(.added_to_cart):not(.woocommerce-loop-product__link),
.bespoke.woocommerce .product-single a:not(.btn):not(.button):not(.added_to_cart) { color: var(--ink); }
.bespoke.woocommerce .page-content a:not(.btn):not(.button):not(.added_to_cart):hover,
.bespoke.woocommerce .product-single a:not(.btn):not(.button):not(.added_to_cart):hover { color: var(--shika); }

/* ---- 商品グリッド（アーカイブ） ---- */
.woocommerce ul.products li.product { background: #fff; border-color: var(--gold-faint); position: relative; }
.woocommerce ul.products li.product:hover { border-color: var(--gold-line); box-shadow: 0 26px 56px -32px rgba(26,24,22,.28); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--ink); }
.woocommerce ul.products li.product .price { color: var(--shika) !important; }

/* SOLD OUT（在庫切れ）：ショップ一覧の商品にバッジ＋写真を減色 */
.woocommerce ul.products li.product.outofstock::before {
  content: "SOLD OUT"; position: absolute; z-index: 3; top: 1rem; left: 1rem;
  background: rgba(26, 24, 22, .88); color: #fff;
  font-family: var(--font-sans); font-size: .64rem; font-weight: 600; letter-spacing: .2em;
  padding: .55em 1.05em; border: 1px solid var(--gold-line);
}
.woocommerce ul.products li.product.outofstock img { filter: grayscale(.45) brightness(.82); }
.woocommerce .woocommerce-result-count { color: var(--ink-50); }
.woocommerce .woocommerce-ordering select { background: #fff; color: var(--ink); border-color: var(--gold-line); }

/* ---- 商品詳細 ---- */
.woocommerce div.product .product_title { color: var(--ink); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--shika); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ink-85); border-color: var(--gold-faint); }
.woocommerce .quantity .qty { background: #fff; color: var(--ink); border-color: var(--gold-line); }

/* タブ */
/* タブはアンダーライン式（黒塗りをやめ、黒地黒文字の不可視を根本回避） */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--gold-faint); padding-bottom: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--gold-faint) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  margin: 0 1.6em -1px 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--ink-50) !important; font-family: var(--font-serif); font-size: 1rem;
  padding: .55em 0 !important; display: inline-block; border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; border-bottom-color: var(--shu); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--ink) !important; }
.woocommerce div.product .woocommerce-Tabs-panel { color: var(--ink-85); }
.woocommerce div.product .woocommerce-Tabs-panel h2 { color: var(--ink); }
.woocommerce .related > h2, .woocommerce .upsells > h2 { color: var(--ink); }

/* 信頼バッジ */
.dl-trust { border-top-color: var(--gold-faint); }
.dl-trust li { color: var(--ink); }

/* ---- カート / 決済テーブル・フォーム ---- */
.woocommerce table.shop_table { background: #fff; color: var(--ink); border-color: var(--gold-faint); }
.woocommerce table.shop_table th { background: #fbf7f0; color: var(--ink); }
.woocommerce table.shop_table td { color: var(--ink-85); border-top-color: var(--gold-faint); }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { background: #fff; border-color: var(--gold-faint); color: var(--ink); }
.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading { color: var(--ink); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  background: #fff !important;
  color: var(--ink) !important;
  border-color: var(--gold-line) !important;
}
.woocommerce form .form-row label { color: var(--ink-85); }
.woocommerce #payment { background: #fbf7f0; }
.woocommerce #payment div.payment_box { background: #fff; border-color: var(--gold-faint); color: var(--ink-85); }
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message { background: #fbf7f0; color: var(--ink); border-top-color: var(--gold); }
/* 通知：アイコンと文字の被りを解消（左に十分な余白＋アイコン位置調整） */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  position: relative;
  padding: 1.15em 1.5em 1.15em 3.5em !important;
  line-height: 1.6;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  left: 1.35em !important; top: 1.2em !important;
}

/* ---- ボタン：白地で見えるように（ghostは濃色／dark.cssの a.btn--ghost に勝たせる） ---- */
.single-product a.btn--ghost,
.woocommerce-page a.btn--ghost,
.post-type-archive-product a.btn--ghost { color: var(--ink) !important; border-color: var(--gold-line); }
.single-product a.btn--ghost:hover,
.woocommerce-page a.btn--ghost:hover { color: var(--washi) !important; }

/* ---- 商品ページ内「四つの約束」も白基調に ---- */
.single-product .dl-pstory { background: #fff !important; }
.single-product .dl-pstory::before { display: none; }
.single-product .dl-pstory .section-title { color: var(--ink); }
.single-product .dl-pstory .why__head p { color: var(--ink-70); }
.single-product .dl-pstory .kicker { color: var(--shika); }
.single-product .assure { background: linear-gradient(158deg, #fff 0%, #f7f1e7 100%) !important; border: 1px solid var(--gold-faint); border-top: 2px solid var(--gold); }
.single-product .assure__title { color: var(--ink); }
.single-product .assure__desc { color: var(--ink-70); }
.single-product .assure__icon { color: var(--shika); }

/* =========================================================
   WooCommerce レイアウト修正（page.php経由・全幅）
   ========================================================= */
.page-main--wc .page-content--wc { padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: var(--section-pad); }

/* =========================================================
   商品グリッド：高級志向リデザイン（フレックスで均等＝端数は中央寄せ）
   ========================================================= */
.woocommerce ul.products {
  background: none !important; /* dark.cssの .products 暗い放射グラデを打ち消す（ギャップの黒対策） */
  display: flex !important;
  flex-wrap: wrap; justify-content: center;
  --pgap: clamp(1.4rem, 2.2vw, 2.4rem); --cols: 3;
  gap: var(--pgap) !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }

.woocommerce ul.products li.product {
  float: none !important; margin: 0 !important;
  flex: 0 1 calc((100% - (var(--cols) - 1) * var(--pgap)) / var(--cols)) !important;
  max-width: calc((100% - (var(--cols) - 1) * var(--pgap)) / var(--cols)) !important;
  background: #fff; border: 1px solid var(--gold-faint); border-radius: 0;
  display: flex; flex-direction: column; overflow: hidden; position: relative;
  padding: 0 0 1.6rem !important; text-align: center;
  transition: transform .6s var(--ease-out), box-shadow .6s var(--ease-out), border-color .6s var(--ease-out);
}
@media (max-width: 1024px) { .woocommerce ul.products { --cols: 2; } }
@media (max-width: 560px)  { .woocommerce ul.products { --cols: 2; --pgap: .9rem; } }

.woocommerce ul.products li.product::after {
  content: ""; position: absolute; inset: 8px; border: 1px solid transparent;
  pointer-events: none; transition: border-color .6s var(--ease-out); z-index: 2;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px); border-color: var(--gold-line);
  box-shadow: 0 38px 72px -42px rgba(26,24,22,.45);
}
.woocommerce ul.products li.product:hover::after { border-color: rgba(176,141,87,.4); }

/* 画像：正方形・ホバーでズーム */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a:first-of-type { display: block; }
.woocommerce ul.products li.product img {
  width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover;
  margin: 0 0 1.4rem !important; transition: transform 1.5s var(--ease-out);
}
.woocommerce ul.products li.product:hover img { transform: scale(1.06); }

/* タイトル：明朝・中央・金の区切り線 */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif) !important; font-weight: 500 !important;
  font-size: 1rem !important; line-height: 1.7 !important; letter-spacing: .04em;
  color: var(--ink) !important; padding: 0 1.3rem !important; margin: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title::after {
  content: ""; display: block; width: 28px; height: 1px; margin: .9rem auto .1rem;
  background: var(--gold); opacity: .85;
}
/* 価格：明朝・鹿赤茶 */
.woocommerce ul.products li.product .price {
  font-family: var(--font-serif) !important; color: var(--shika) !important;
  font-size: 1.12rem !important; font-weight: 600 !important; padding: .4rem 1rem 0 !important; margin: 0 !important;
}
.woocommerce ul.products li.product .price del { color: var(--ink-50) !important; font-weight: 400; opacity: .6; font-size: .9em; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: .7rem auto 0 !important; color: var(--gold) !important; }

/* 価格は常に同じ位置（下にボタンを押し下げる起点） */
.woocommerce ul.products li.product .price { margin-bottom: 0 !important; }
/* カートボタン：朱・白文字。margin-top:autoでカード下端に揃える（行内で高さが揃う） */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: block; width: calc(100% - 2.6rem); margin: auto 1.3rem 0 !important; align-self: center;
  background: var(--shu) !important; color: #fff !important; border: 1px solid var(--shu) !important;
  border-radius: 0 !important; padding: .9em 1em !important; box-sizing: border-box;
  font-family: var(--font-sans) !important; font-size: .76rem !important; font-weight: 600 !important; letter-spacing: .1em !important;
  white-space: nowrap; min-height: 2.6em; display: flex; align-items: center; justify-content: center;
  transition: background .4s, border-color .4s;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
  background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important;
}

/* ショップ上部の並び替え/件数バー */
.woocommerce .woocommerce-result-count { margin-bottom: 1.5rem; color: var(--ink-50); }
.woocommerce-products-header__title,
.woocommerce .term-description { color: var(--ink); }

/* =========================================================
   カート/追加後の通知/決済ボタンの仕上げ
   ========================================================= */
/* 通知（カゴに追加しました 等） */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #fff !important;
  border: 1px solid var(--gold-faint) !important;
  border-top: 2px solid var(--gold) !important;
  border-radius: 0;
  color: var(--ink) !important;
  padding: 1.1em 1.4em;
  font-family: var(--font-sans);
  box-shadow: 0 14px 34px -22px rgba(26,24,22,.3);
}
.woocommerce-message a.button,
.woocommerce-info a.button { background: var(--ink); color: #fff; }

/* 一覧で「カゴに追加済み」リンク */
.woocommerce a.added_to_cart {
  display: inline-block;
  margin: .8rem 1.5rem 0;
  font-size: .78rem;
  letter-spacing: .08em;
  color: var(--shika);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.woocommerce a.added_to_cart:hover { color: var(--shu); }

/* カート：数量・小計・合計を上品に */
.woocommerce-cart table.cart img { border: 1px solid var(--gold-faint); }
.woocommerce-cart .product-name a { color: var(--ink); font-family: var(--font-serif); }
.woocommerce-cart .product-name a:hover { color: var(--shika); }
.woocommerce .cart-collaterals .cart_totals table th,
.woocommerce .cart-collaterals .cart_totals table td { border-top-color: var(--gold-faint); }
.woocommerce a.remove { color: var(--shu) !important; border: 1px solid var(--gold-faint); }
.woocommerce a.remove:hover { background: var(--shu) !important; color: #fff !important; }

/* レジへ進む / 注文確定ボタンを大きく目立たせる */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--shu) !important;
  color: #fff !important;
  border: 1px solid var(--shu) !important;
  font-size: 1rem;
  padding: 1.1em 1.6em !important;
  letter-spacing: .14em;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover { background: var(--ink) !important; border-color: var(--ink) !important; }

/* クーポン/更新ボタン等は控えめ（墨） */
.woocommerce .actions .button,
.woocommerce .coupon .button { background: var(--ink) !important; color: var(--washi-warm) !important; }

/* 数量スピナー */
.woocommerce .quantity input.qty { width: 4.5em; text-align: center; }

/* 商品詳細：画像とサマリーの余白・関連 */
.single-product div.product { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.single-product div.product .woocommerce-product-gallery { margin-bottom: 0 !important; }
.single-product div.product .summary { margin: 0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells,
.single-product div.product .dl-pstory { grid-column: 1 / -1; }
@media (max-width: 820px) { .single-product div.product { grid-template-columns: 1fr; } }

/* =========================================================
   商品詳細ページ：高級ECリデザイン（白基調・明朝・余白）
   ========================================================= */
.product-single { background: #fff; }
.product-single__inner { padding: clamp(1.2rem, 3vw, 2.2rem) 0 clamp(3rem, 6vw, 5rem); }

/* パンくず */
.product-breadcrumb { margin-bottom: clamp(1.4rem, 3vw, 2.4rem); }
.product-breadcrumb .woocommerce-breadcrumb { font-size: .76rem; letter-spacing: .04em; color: var(--ink-50); }
.product-breadcrumb .woocommerce-breadcrumb a { color: var(--ink-50); }
.product-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--shika); }

/* 列幅とギャラリー/サマリーの幅リセット（WCの48%floatを解除） */
.single-product div.product { grid-template-columns: 1.15fr 1fr; gap: clamp(2.2rem, 4vw, 4.5rem); }
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary { width: 100% !important; float: none !important; }

/* 右サマリー：暗い箱をやめ、白地の上品なタイポへ */
.single-product div.product .summary.entry-summary {
  background: transparent !important; border: 0 !important; padding: 0 !important; color: var(--ink);
}
.woocommerce div.product .product_title {
  font-family: var(--font-serif); font-weight: 600;
  font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.15rem) !important;
  line-height: 1.5; letter-spacing: .02em; color: var(--ink) !important; margin: 0 0 1rem !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--shika) !important; font-family: var(--font-serif); font-weight: 700;
  font-size: 1.7rem !important; letter-spacing: .02em;
}
.woocommerce div.product p.price { margin: 0 0 1.4rem; }
.woocommerce div.product p.price del { color: var(--ink-50); font-weight: 400; opacity: .65; font-size: 1.05rem; }
.woocommerce div.product p.price ins { text-decoration: none; }

/* 短い説明：上に金の細線で区切る */
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--ink-85) !important; line-height: 1.95; font-size: .95rem;
  border: 0 !important; border-top: 1px solid var(--gold-faint) !important;
  padding: 1.6rem 0 0 !important; margin: 0 0 1.8rem !important;
}

/* 数量＋カート行 */
.woocommerce div.product form.cart { display: flex; align-items: stretch; gap: .8rem; margin: 1.8rem 0 0; flex-wrap: wrap; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce .quantity input.qty {
  background: #fff !important; color: var(--ink) !important; border: 1px solid var(--gold-line) !important;
  border-radius: 0 !important; min-height: 3.4em; width: 4.6em; font-size: 1rem;
}
.woocommerce div.product .single_add_to_cart_button {
  background: var(--shu) !important; color: #fff !important; border: 1px solid var(--shu) !important;
  border-radius: 0 !important; padding: 1.05em 2.8em !important; letter-spacing: .14em; font-weight: 600;
  flex: 1 1 14em;
}
.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--ink) !important; border-color: var(--ink) !important;
}

/* 信頼バッジ：金のチェック付き2列 */
.dl-trust {
  list-style: none; margin: 1.9rem 0 0 !important; padding: 1.7rem 0 0 !important;
  border-top: 1px solid var(--gold-faint) !important;
  display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1.4rem;
}
.dl-trust li { color: var(--ink) !important; font-size: .86rem; letter-spacing: .03em; display: flex; align-items: center; gap: .55em; padding: 0; }
.dl-trust li::before { content: "✓"; color: var(--gold); font-weight: 700; }

/* 商品メタ */
.woocommerce div.product .product_meta { font-size: .8rem; color: var(--ink-50); margin-top: 1.7rem; border-top: 1px solid var(--gold-faint); padding-top: 1.2rem; }
.woocommerce div.product .product_meta a { color: var(--shika); }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: .35rem; }

/* ギャラリー */
.single-product div.product .woocommerce-product-gallery__image img { border: 1px solid var(--gold-faint); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { margin-top: .9rem; gap: .6rem; display: flex; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: auto; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid transparent; transition: border-color .3s; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs .flex-active { border-color: var(--gold-line); }

/* タブ：余白と見出し */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(3rem, 5vw, 4.5rem); }
.woocommerce div.product .woocommerce-Tabs-panel { padding-top: 1.8rem; line-height: 1.95; }
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-family: var(--font-serif); color: var(--ink); font-size: 1.3rem; }

/* 「四つの約束」(dl-pstory)：商品ページでは白基調の上品なバンドへ */
.product-single .dl-pstory.assurance {
  background: linear-gradient(180deg, #fbf7f0, #f3ead9) !important;
  color: var(--ink) !important;
  margin-top: clamp(3rem, 5vw, 4.5rem);
  padding: clamp(2.8rem, 5vw, 4.2rem) 0;
  border: 1px solid var(--gold-faint);
}
.product-single .dl-pstory.assurance::before { display: none !important; }
.product-single .dl-pstory .kicker { color: var(--shika) !important; }
.product-single .dl-pstory .section-title { color: var(--ink) !important; }
.product-single .dl-pstory .why__head > p { color: var(--ink-70) !important; }
.product-single .dl-pstory .assure__icon { color: var(--shika) !important; }
.product-single .dl-pstory .assure__title { color: var(--ink) !important; }
.product-single .dl-pstory .assure__desc { color: var(--ink-70) !important; }

/* 関連商品：ダークCSS（.products）の継承を解除して白基調へ */
.woocommerce .related.products,
.woocommerce .up-sells.products {
  background: transparent !important; color: var(--ink) !important;
  padding: clamp(3rem, 5vw, 4.5rem) 0 0 !important; margin-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--gold-faint);
}
.woocommerce .related.products::before,
.woocommerce .up-sells.products::before { display: none !important; }
.woocommerce .related.products > h2,
.woocommerce .up-sells.products > h2 {
  font-family: var(--font-serif); color: var(--ink) !important;
  font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); text-align: center;
  margin-bottom: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: .04em;
}

/* モバイル：商品詳細を1カラムに（上の列指定を後勝ちで上書き） */
@media (max-width: 820px) {
  .single-product div.product { grid-template-columns: 1fr; }
  .woocommerce div.product form.cart { gap: .6rem; }
  .dl-trust { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .dl-trust { grid-template-columns: 1fr; }
}

/* =========================================================
   カート（WooCommerceブロック版）：高級志向に仕上げ
   ========================================================= */
.wp-block-woocommerce-cart { margin: clamp(1rem, 3vw, 2rem) auto clamp(3rem,6vw,5rem); }
/* alignwide のはみ出しを抑え、ラップ内で中央寄せ */
.page-content--wc .wp-block-woocommerce-cart.alignwide,
.page-content--wc .wp-block-woocommerce-checkout.alignwide {
  margin-left: auto !important; margin-right: auto !important;
  max-width: 100% !important; width: 100% !important; left: auto !important;
}

/* 空カート（中央寄せで整える） */
.wp-block-woocommerce-empty-cart-block {
  text-align: center !important; padding: clamp(2rem, 5vw, 4rem) 0;
  display: flex; flex-direction: column; align-items: center;
}
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2 {
  font-family: var(--font-serif) !important; color: var(--ink) !important; font-weight: 600 !important;
  letter-spacing: .04em; text-align: center !important; width: 100%;
}
/* ボタンブロックを必ず中央に */
.wp-block-woocommerce-empty-cart-block .wp-block-buttons {
  display: flex !important; justify-content: center !important; width: 100%; margin: 1.8rem 0 0;
}
.dl-empty-shop-btn { margin: 0 auto; }
.dl-empty-shop-btn a.wp-block-button__link {
  background: var(--shu) !important; color: #fff !important; border: 1px solid var(--shu) !important;
  border-radius: 0 !important; padding: 1em 2.8em !important;
  font-family: var(--font-sans) !important; letter-spacing: .14em; font-weight: 600;
}
.dl-empty-shop-btn a.wp-block-button__link:hover { background: var(--ink) !important; border-color: var(--ink) !important; }

/* 明細・合計パネル */
.wp-block-woocommerce-cart-totals-block,
.wc-block-components-sidebar { background: #fff; border: 1px solid var(--gold-faint); }
/* 合計パネル：右パディングが0で金額が見切れる→左右対称に揃える */
.wp-block-woocommerce-cart-totals-block { padding-left: 1.75rem !important; padding-right: 1.75rem !important; }
.wp-block-woocommerce-cart-totals-block > * { padding-left: 0 !important; padding-right: 0 !important; }
.wc-block-cart-items, .wc-block-cart__totals-title { color: var(--ink); }
.wc-block-cart .wc-block-components-product-name { color: var(--ink) !important; font-family: var(--font-serif); }
.wc-block-cart .wc-block-components-product-metadata,
.wc-block-cart .wc-block-components-totals-item__label { color: var(--ink-70); }
.wc-block-cart .wc-block-components-formatted-money-amount,
.wc-block-cart .wc-block-components-totals-item__value { color: var(--shika); }
.wc-block-cart table th { color: var(--ink); font-family: var(--font-serif); }
.wc-block-cart-items__row { border-color: var(--gold-faint) !important; }

/* 購入手続き／各種ボタンを朱に */
.wc-block-cart__submit-button,
.wc-block-components-button.contained {
  background: var(--shu) !important; color: #fff !important; border: 0 !important;
  border-radius: 0 !important; font-weight: 600; letter-spacing: .1em;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-button.contained:hover { background: var(--ink) !important; }
/* 数量ステッパー */
.wc-block-components-quantity-selector { border-color: var(--gold-line) !important; border-radius: 0 !important; }

/* チェックアウト（ブロック版）：見出しを明朝、入力枠を上品に */
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
  font-family: var(--font-serif) !important; color: var(--ink) !important; letter-spacing: .03em;
}
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-text-input textarea {
  border-radius: 0 !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price { color: var(--shika) !important; }
.wp-block-woocommerce-checkout-order-summary-block {
  background: #fff; border: 1px solid var(--gold-faint);
}
/* ラジオ/チェックの選択色をブランドカラーに（既定の青をやめる） */
.wc-block-checkout input[type="radio"],
.wc-block-checkout input[type="checkbox"],
.wp-block-woocommerce-checkout input[type="radio"],
.wp-block-woocommerce-checkout input[type="checkbox"],
.wc-block-components-checkbox__input { accent-color: var(--shika); }
/* 選択中の支払い/配送オプションを金枠で示す */
.wc-block-components-radio-control__option--checked-option-highlight::before,
.wc-block-components-radio-control-accordion-option--checked-option-highlight { border-color: var(--gold-line) !important; }
/* Stripe等のカード入力欄・各種inputを角ばらせて統一 */
.wc-block-checkout .wc-block-components-payment-method__content input[type="text"],
.wc-block-checkout .wc-block-components-payment-method__content input[type="tel"],
.wc-block-checkout .wc-block-card-elements,
.wc-block-checkout .wcpay-card-mount,
.wc-block-checkout .wc-stripe-elements-field,
.wc-block-checkout .StripeElement { border-radius: 0 !important; }
/* 「注文を確定」を確実に朱・全幅 */
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button { width: 100%; background: var(--shu) !important; color: #fff !important; border-radius: 0 !important; font-weight: 600; letter-spacing: .1em; }
.wc-block-components-checkout-place-order-button:hover { background: var(--ink) !important; }
