/*
Theme Name: Takahashi Brand Theme
Theme URI: https://nikudonya-takahashi.jp
Author: 肉問屋たかはし
Description: 但馬牛の繁殖から販売まで一貫して行う「肉問屋 たかはし」向け、和モダン・ミニマル・高級感。しっぽり明朝を基調とした完全オリジナルテーマ。takahashi-custom-features プラグインと連携。
Version: 1.6.31
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: takahashi-brand-theme
*/

/* ═══════════════════════════════════════════════════════════════
   CSS 変数（カラーパレット・システム）
   functions.php の add_theme_support( 'editor-color-palette' ) と同期
══════════════════════════════════════════════════════════════ */
:root {
  --tbt-enzhi: #7F2629;      /* 臙脂 - アクセント・縦線 */
  --tbt-senju: #D0826C;      /* 洗朱 - 補助 */
  --tbt-shouzumi: #3F3F3F;   /* 消炭色 - 基本文字色 */
  --tbt-kachiiro: #181B39;   /* 勝色 - 信頼・サブアクセント */
  --tbt-ginnezu: #91989F;    /* 銀鼠 - 補助テキスト */
  --tbt-washi-cream: #F8F4ED; /* 和紙の白茶 - メイン背景 */
  --tbt-washi-white: #FAF9F7;  /* 和紙白 - ブロック背景 */
  --tbt-namakabe: #94846A;   /* 生壁色 - 木・自然 */
  --tbt-gold: #B88B46;       /* 黄金 - 飾り線・アクセント */
  --tbt-font-serif: 'Shippori Mincho', 'Noto Serif JP', serif;
  --tbt-font-sans: 'Noto Sans JP', sans-serif;
  /* 和風タイポグラフィ（ブロックで選択可能） */
  --tbt-font-shippori: 'Shippori Mincho', 'Noto Serif JP', serif;
  --tbt-font-sawarabi: 'Sawarabi Mincho', 'Noto Serif JP', serif;
  --tbt-font-zen-old: 'Zen Old Mincho', 'Noto Serif JP', serif;
  --tbt-font-kaisei: 'Kaisei Decol', 'Noto Serif JP', serif;
  --tbt-font-yuji: 'Yuji Syuku', 'Noto Serif JP', serif;
  --tbt-font-hina: 'Hina Mincho', 'Shippori Mincho', serif;
  /* ブロックエディタのタイポグラフィで選択したフォントをフロントで反映（プリセット変数） */
  --wp--preset--font-family--shippori-mincho: "Shippori Mincho", "Noto Serif JP", serif;
  --wp--preset--font-family--sawarabi-mincho: "Sawarabi Mincho", "Noto Serif JP", serif;
  --wp--preset--font-family--zen-old-mincho: "Zen Old Mincho", "Noto Serif JP", serif;
  --wp--preset--font-family--kaisei-decol: "Kaisei Decol", "Noto Serif JP", serif;
  --wp--preset--font-family--yuji-syuku: "Yuji Syuku", "Noto Serif JP", serif;
  --wp--preset--font-family--noto-serif-jp: "Noto Serif JP", serif;
  --wp--preset--font-family--noto-sans-jp: "Noto Sans JP", sans-serif;
  --wp--preset--font-family--hina-mincho: "Hina Mincho", "Shippori Mincho", serif;
}

/* ═══════════════════════════════════════════════════════════════
   リセット・グローバル
══════════════════════════════════════════════════════════════ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  /* パララックス背景 (z-index: -1) がhtmlのデフォルト白背景に隠れないよう透明化 */
  background-color: transparent;
}

body {
  margin: 0;
  font-family: var(--tbt-font-body, var(--tbt-font-sans));
  color: var(--tbt-shouzumi);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  background-color: transparent;
}

/* パララックス時：コンテンツ最上位ラッパーを透明化して背後の固定背景を見せる */
#page,
.site,
.site-inner,
#primary,
.content-area,
.site-main,
#main,
.entry-content,
.tbt-front-content,
.wp-site-blocks {
  background-color: transparent;
}

/* ── ブロックラッパーの意図しない背景を排除（パララックス背景を露出）──────────
 * .has-background  … エディターで色を明示設定（ WordPress が自動付与） → 維持
 * [class*="is-style-"] … カスタムブロックスタイル（和紙・すりガラス等）    → 維持
 * .tcf-floating-card  … 浮遊カードスタイル（固定背景セクション用）           → 維持
 * それ以外は透明化してパララックスを透過させる
 * ──────────────────────────────────────────────────────────────────────────── */
.wp-block-group:not(.has-background):not([class*="is-style-"]):not(.tcf-floating-card),
.wp-block-columns:not(.has-background):not([class*="is-style-"]),
.wp-block-column:not(.has-background):not([class*="is-style-"]),
.wp-block-cover:not(.has-background):not([class*="is-style-"]):not([style*="background"]) {
  background-color: transparent;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 写真の色味保持：オーバーレイ・カラーフィルターを無効化（カスタマイザー「写真の表示」でオン時） */
body.tbt-preserve-image-colors img,
body.tbt-preserve-image-colors .entry-content img,
body.tbt-preserve-image-colors .wp-block-image img,
body.tbt-preserve-image-colors .woocommerce img {
  filter: none !important;
}
body.tbt-preserve-image-colors .tbt-hero-overlay {
  opacity: 0 !important;
}
body.tbt-preserve-image-colors.single-product .site-main::before,
body.tbt-preserve-image-colors.single-product .woocommerce::before {
  display: none !important;
}

a {
  color: var(--tbt-enzhi);
  text-decoration: none;
}

a:hover {
  color: var(--tbt-senju);
}

/* ═══════════════════════════════════════════════════════════════
   タイポグラフィ（和風フォント・ブロックで選択したフォントをフロントで反映）
   ブロックの「タイポグラフィ → フォント」で個別に選んだ字体を優先
══════════════════════════════════════════════════════════════ */
.entry-content .has-shippori-mincho-font-family,
.entry-content .has-shippori-mincho-font-family p,
.tbt-front-content .has-shippori-mincho-font-family,
.tbt-front-content .has-shippori-mincho-font-family p { font-family: var(--tbt-font-shippori) !important; }
.entry-content .has-sawarabi-mincho-font-family,
.entry-content .has-sawarabi-mincho-font-family p,
.tbt-front-content .has-sawarabi-mincho-font-family,
.tbt-front-content .has-sawarabi-mincho-font-family p { font-family: var(--tbt-font-sawarabi) !important; }
.entry-content .has-zen-old-mincho-font-family,
.entry-content .has-zen-old-mincho-font-family p,
.tbt-front-content .has-zen-old-mincho-font-family,
.tbt-front-content .has-zen-old-mincho-font-family p { font-family: var(--tbt-font-zen-old) !important; }
.entry-content .has-kaisei-decol-font-family,
.entry-content .has-kaisei-decol-font-family p,
.tbt-front-content .has-kaisei-decol-font-family,
.tbt-front-content .has-kaisei-decol-font-family p { font-family: var(--tbt-font-kaisei) !important; }
.entry-content .has-yuji-syuku-font-family,
.entry-content .has-yuji-syuku-font-family p,
.tbt-front-content .has-yuji-syuku-font-family,
.tbt-front-content .has-yuji-syuku-font-family p { font-family: var(--tbt-font-yuji) !important; }
.entry-content .has-noto-serif-jp-font-family,
.entry-content .has-noto-serif-jp-font-family p,
.tbt-front-content .has-noto-serif-jp-font-family,
.tbt-front-content .has-noto-serif-jp-font-family p { font-family: var(--tbt-font-serif) !important; }
.entry-content .has-noto-sans-jp-font-family,
.entry-content .has-noto-sans-jp-font-family p,
.tbt-front-content .has-noto-sans-jp-font-family,
.tbt-front-content .has-noto-sans-jp-font-family p { font-family: var(--tbt-font-sans) !important; }

/* 見出しブロックでフォントを指定した場合（ブロックが .wp-block-heading や h1〜h6 にクラスを付与） */
.entry-content .has-shippori-mincho-font-family h1,
.entry-content .has-shippori-mincho-font-family h2,
.entry-content .has-shippori-mincho-font-family h3,
.entry-content .has-shippori-mincho-font-family h4,
.entry-content .has-shippori-mincho-font-family h5,
.entry-content .has-shippori-mincho-font-family h6,
.entry-content h1.has-shippori-mincho-font-family,
.entry-content h2.has-shippori-mincho-font-family,
.entry-content h3.has-shippori-mincho-font-family,
.entry-content h4.has-shippori-mincho-font-family,
.entry-content h5.has-shippori-mincho-font-family,
.entry-content h6.has-shippori-mincho-font-family,
.tbt-front-content .has-shippori-mincho-font-family h1,
.tbt-front-content .has-shippori-mincho-font-family h2,
.tbt-front-content .has-shippori-mincho-font-family h3,
.tbt-front-content .has-shippori-mincho-font-family h4,
.tbt-front-content .has-shippori-mincho-font-family h5,
.tbt-front-content .has-shippori-mincho-font-family h6,
.tbt-front-content h1.has-shippori-mincho-font-family,
.tbt-front-content h2.has-shippori-mincho-font-family,
.tbt-front-content h3.has-shippori-mincho-font-family,
.tbt-front-content h4.has-shippori-mincho-font-family,
.tbt-front-content h5.has-shippori-mincho-font-family,
.tbt-front-content h6.has-shippori-mincho-font-family { font-family: var(--tbt-font-shippori) !important; }
.entry-content .has-sawarabi-mincho-font-family h1,
.entry-content .has-sawarabi-mincho-font-family h2,
.entry-content .has-sawarabi-mincho-font-family h3,
.entry-content .has-sawarabi-mincho-font-family h4,
.entry-content .has-sawarabi-mincho-font-family h5,
.entry-content .has-sawarabi-mincho-font-family h6,
.entry-content h1.has-sawarabi-mincho-font-family,
.entry-content h2.has-sawarabi-mincho-font-family,
.entry-content h3.has-sawarabi-mincho-font-family,
.entry-content h4.has-sawarabi-mincho-font-family,
.entry-content h5.has-sawarabi-mincho-font-family,
.entry-content h6.has-sawarabi-mincho-font-family,
.tbt-front-content .has-sawarabi-mincho-font-family h1,
.tbt-front-content .has-sawarabi-mincho-font-family h2,
.tbt-front-content .has-sawarabi-mincho-font-family h3,
.tbt-front-content .has-sawarabi-mincho-font-family h4,
.tbt-front-content .has-sawarabi-mincho-font-family h5,
.tbt-front-content .has-sawarabi-mincho-font-family h6,
.tbt-front-content h1.has-sawarabi-mincho-font-family,
.tbt-front-content h2.has-sawarabi-mincho-font-family,
.tbt-front-content h3.has-sawarabi-mincho-font-family,
.tbt-front-content h4.has-sawarabi-mincho-font-family,
.tbt-front-content h5.has-sawarabi-mincho-font-family,
.tbt-front-content h6.has-sawarabi-mincho-font-family { font-family: var(--tbt-font-sawarabi) !important; }
.entry-content .has-noto-sans-jp-font-family h1,
.entry-content .has-noto-sans-jp-font-family h2,
.entry-content .has-noto-sans-jp-font-family h3,
.entry-content .has-noto-sans-jp-font-family h4,
.entry-content .has-noto-sans-jp-font-family h5,
.entry-content .has-noto-sans-jp-font-family h6,
.entry-content h1.has-noto-sans-jp-font-family,
.entry-content h2.has-noto-sans-jp-font-family,
.entry-content h3.has-noto-sans-jp-font-family,
.entry-content h4.has-noto-sans-jp-font-family,
.entry-content h5.has-noto-sans-jp-font-family,
.entry-content h6.has-noto-sans-jp-font-family,
.tbt-front-content .has-noto-sans-jp-font-family h1,
.tbt-front-content .has-noto-sans-jp-font-family h2,
.tbt-front-content .has-noto-sans-jp-font-family h3,
.tbt-front-content .has-noto-sans-jp-font-family h4,
.tbt-front-content .has-noto-sans-jp-font-family h5,
.tbt-front-content .has-noto-sans-jp-font-family h6,
.tbt-front-content h1.has-noto-sans-jp-font-family,
.tbt-front-content h2.has-noto-sans-jp-font-family,
.tbt-front-content h3.has-noto-sans-jp-font-family,
.tbt-front-content h4.has-noto-sans-jp-font-family,
.tbt-front-content h5.has-noto-sans-jp-font-family,
.tbt-front-content h6.has-noto-sans-jp-font-family { font-family: var(--tbt-font-sans) !important; }
.entry-content .has-noto-serif-jp-font-family h1,
.entry-content .has-noto-serif-jp-font-family h2,
.entry-content .has-noto-serif-jp-font-family h3,
.entry-content .has-noto-serif-jp-font-family h4,
.entry-content .has-noto-serif-jp-font-family h5,
.entry-content .has-noto-serif-jp-font-family h6,
.entry-content h1.has-noto-serif-jp-font-family,
.entry-content h2.has-noto-serif-jp-font-family,
.entry-content h3.has-noto-serif-jp-font-family,
.entry-content h4.has-noto-serif-jp-font-family,
.entry-content h5.has-noto-serif-jp-font-family,
.entry-content h6.has-noto-serif-jp-font-family,
.tbt-front-content .has-noto-serif-jp-font-family h1,
.tbt-front-content .has-noto-serif-jp-font-family h2,
.tbt-front-content .has-noto-serif-jp-font-family h3,
.tbt-front-content .has-noto-serif-jp-font-family h4,
.tbt-front-content .has-noto-serif-jp-font-family h5,
.tbt-front-content .has-noto-serif-jp-font-family h6,
.tbt-front-content h1.has-noto-serif-jp-font-family,
.tbt-front-content h2.has-noto-serif-jp-font-family,
.tbt-front-content h3.has-noto-serif-jp-font-family,
.tbt-front-content h4.has-noto-serif-jp-font-family,
.tbt-front-content h5.has-noto-serif-jp-font-family,
.tbt-front-content h6.has-noto-serif-jp-font-family { font-family: var(--tbt-font-serif) !important; }
.entry-content .has-yuji-syuku-font-family h1,
.entry-content .has-yuji-syuku-font-family h2,
.entry-content .has-yuji-syuku-font-family h3,
.entry-content .has-yuji-syuku-font-family h4,
.entry-content .has-yuji-syuku-font-family h5,
.entry-content .has-yuji-syuku-font-family h6,
.entry-content h1.has-yuji-syuku-font-family,
.entry-content h2.has-yuji-syuku-font-family,
.entry-content h3.has-yuji-syuku-font-family,
.entry-content h4.has-yuji-syuku-font-family,
.entry-content h5.has-yuji-syuku-font-family,
.entry-content h6.has-yuji-syuku-font-family,
.tbt-front-content .has-yuji-syuku-font-family h1,
.tbt-front-content .has-yuji-syuku-font-family h2,
.tbt-front-content .has-yuji-syuku-font-family h3,
.tbt-front-content .has-yuji-syuku-font-family h4,
.tbt-front-content .has-yuji-syuku-font-family h5,
.tbt-front-content .has-yuji-syuku-font-family h6,
.tbt-front-content h1.has-yuji-syuku-font-family,
.tbt-front-content h2.has-yuji-syuku-font-family,
.tbt-front-content h3.has-yuji-syuku-font-family,
.tbt-front-content h4.has-yuji-syuku-font-family,
.tbt-front-content h5.has-yuji-syuku-font-family,
.tbt-front-content h6.has-yuji-syuku-font-family { font-family: var(--tbt-font-yuji) !important; }
.entry-content .has-kaisei-decol-font-family h1,
.entry-content .has-kaisei-decol-font-family h2,
.entry-content .has-kaisei-decol-font-family h3,
.entry-content .has-kaisei-decol-font-family h4,
.entry-content .has-kaisei-decol-font-family h5,
.entry-content .has-kaisei-decol-font-family h6,
.entry-content h1.has-kaisei-decol-font-family,
.entry-content h2.has-kaisei-decol-font-family,
.entry-content h3.has-kaisei-decol-font-family,
.entry-content h4.has-kaisei-decol-font-family,
.entry-content h5.has-kaisei-decol-font-family,
.entry-content h6.has-kaisei-decol-font-family,
.tbt-front-content .has-kaisei-decol-font-family h1,
.tbt-front-content .has-kaisei-decol-font-family h2,
.tbt-front-content .has-kaisei-decol-font-family h3,
.tbt-front-content .has-kaisei-decol-font-family h4,
.tbt-front-content .has-kaisei-decol-font-family h5,
.tbt-front-content .has-kaisei-decol-font-family h6,
.tbt-front-content h1.has-kaisei-decol-font-family,
.tbt-front-content h2.has-kaisei-decol-font-family,
.tbt-front-content h3.has-kaisei-decol-font-family,
.tbt-front-content h4.has-kaisei-decol-font-family,
.tbt-front-content h5.has-kaisei-decol-font-family,
.tbt-front-content h6.has-kaisei-decol-font-family { font-family: var(--tbt-font-kaisei) !important; }
.entry-content .has-zen-old-mincho-font-family h1,
.entry-content .has-zen-old-mincho-font-family h2,
.entry-content .has-zen-old-mincho-font-family h3,
.entry-content .has-zen-old-mincho-font-family h4,
.entry-content .has-zen-old-mincho-font-family h5,
.entry-content .has-zen-old-mincho-font-family h6,
.entry-content h1.has-zen-old-mincho-font-family,
.entry-content h2.has-zen-old-mincho-font-family,
.entry-content h3.has-zen-old-mincho-font-family,
.entry-content h4.has-zen-old-mincho-font-family,
.entry-content h5.has-zen-old-mincho-font-family,
.entry-content h6.has-zen-old-mincho-font-family,
.tbt-front-content .has-zen-old-mincho-font-family h1,
.tbt-front-content .has-zen-old-mincho-font-family h2,
.tbt-front-content .has-zen-old-mincho-font-family h3,
.tbt-front-content .has-zen-old-mincho-font-family h4,
.tbt-front-content .has-zen-old-mincho-font-family h5,
.tbt-front-content .has-zen-old-mincho-font-family h6,
.tbt-front-content h1.has-zen-old-mincho-font-family,
.tbt-front-content h2.has-zen-old-mincho-font-family,
.tbt-front-content h3.has-zen-old-mincho-font-family,
.tbt-front-content h4.has-zen-old-mincho-font-family,
.tbt-front-content h5.has-zen-old-mincho-font-family,
.tbt-front-content h6.has-zen-old-mincho-font-family { font-family: var(--tbt-font-zen-old) !important; }

/* ひな明朝（Hina Mincho） */
.entry-content .has-hina-mincho-font-family,
.entry-content .has-hina-mincho-font-family p,
.tbt-front-content .has-hina-mincho-font-family,
.tbt-front-content .has-hina-mincho-font-family p { font-family: var(--tbt-font-hina) !important; }
.entry-content .has-hina-mincho-font-family h1,
.entry-content .has-hina-mincho-font-family h2,
.entry-content .has-hina-mincho-font-family h3,
.entry-content .has-hina-mincho-font-family h4,
.entry-content .has-hina-mincho-font-family h5,
.entry-content .has-hina-mincho-font-family h6,
.entry-content h1.has-hina-mincho-font-family,
.entry-content h2.has-hina-mincho-font-family,
.entry-content h3.has-hina-mincho-font-family,
.entry-content h4.has-hina-mincho-font-family,
.entry-content h5.has-hina-mincho-font-family,
.entry-content h6.has-hina-mincho-font-family,
.tbt-front-content .has-hina-mincho-font-family h1,
.tbt-front-content .has-hina-mincho-font-family h2,
.tbt-front-content .has-hina-mincho-font-family h3,
.tbt-front-content .has-hina-mincho-font-family h4,
.tbt-front-content .has-hina-mincho-font-family h5,
.tbt-front-content .has-hina-mincho-font-family h6,
.tbt-front-content h1.has-hina-mincho-font-family,
.tbt-front-content h2.has-hina-mincho-font-family,
.tbt-front-content h3.has-hina-mincho-font-family,
.tbt-front-content h4.has-hina-mincho-font-family,
.tbt-front-content h5.has-hina-mincho-font-family,
.tbt-front-content h6.has-hina-mincho-font-family { font-family: var(--tbt-font-hina) !important; }

/* ═══════════════════════════════════════════════════════════════
   レイアウト枠（プラグインのヘッダー非表示時も余白を取らない）
══════════════════════════════════════════════════════════════ */
.site-content {
  padding-top: 0;
  margin-top: 0;
}

/* 本文デフォルト。ブロックエディタで段落・見出しごとにフォントを選ぶとそちらが優先されます */
.entry-content,
.tbt-front-content {
  padding-top: 0;
  margin-top: 0;
  font-family: var(--tbt-font-body, var(--tbt-font-sans));
}

/* 見出しデフォルト。ブロックでフォントを個別指定すると .has-xxx-font-family が優先されます */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.tbt-front-content h1,
.tbt-front-content h2,
.tbt-front-content h3,
.tbt-front-content h4,
.tbt-front-content h5,
.tbt-front-content h6 {
  font-family: var(--tbt-font-heading, var(--tbt-font-serif));
}

.entry-title {
  font-family: var(--tbt-font-serif);
  color: var(--tbt-shouzumi);
  font-size: 1.75rem;
  margin: 0 0 1rem;
}

.entry-header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

/* 店舗案内 .tcf-store-info__eyebrow と同等の英字（ページタイトル直上） */
.entry-eyebrow {
  margin: 0 auto 0.2rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7f2e35;
  width: 100%;
  max-width: min(100%, var(--wp--style--global--content-size, 1080px));
  text-align: center;
  box-sizing: border-box;
}

.entry-header .entry-eyebrow + .entry-title {
  margin-top: 0;
}

/* 本文：英字＋見出しを縦に密着（店舗案内ヘッダーと同系・演出クラスと組み合わせ可） */
.tbt-heading-with-eyebrow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.18rem;
  margin-top: 0;
  margin-bottom: 0;
}

.tbt-heading-with-eyebrow.has-text-align-center {
  align-items: center;
  text-align: center;
}

.tbt-heading-with-eyebrow.has-text-align-right {
  align-items: flex-end;
  text-align: right;
}

/* 本文内コア見出しの英字（render_block。抑止は tbt-no-en-eyebrow） */
.tbt-heading-with-eyebrow .tbt-heading-eyebrow {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7f2e35;
}

.tbt-heading-with-eyebrow > :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
}

/* textAlign 属性が空でも見出しブロックに has-text-align-* だけ付いている場合、英字と見出しを同じ軸に揃える */
.tbt-heading-with-eyebrow:has(> :is(h1, h2, h3, h4, h5, h6).has-text-align-center) {
  align-items: center;
  text-align: center;
}
.tbt-heading-with-eyebrow:has(> :is(h1, h2, h3, h4, h5, h6).has-text-align-right) {
  align-items: flex-end;
  text-align: right;
}
.tbt-heading-with-eyebrow:has(> :is(h1, h2, h3, h4, h5, h6).has-text-align-left) {
  align-items: flex-start;
  text-align: left;
}

.tbt-front-content {
  padding: 0 0 2rem;
}

/* ═══════════════════════════════════════════════════════════════
   ブロック幅：alignwide / alignfull をテーマでサポート
   通常コンテンツは中央寄せ（端に張り付かない）、ヒーローは100%全幅のまま
══════════════════════════════════════════════════════════════ */
/* 標準幅ブロック：適切な余白で中央寄せ */
.entry-content > *:not(.alignfull):not(.alignwide),
.tbt-front-content > *:not(.alignfull):not(.alignwide) {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.entry-content .alignwide,
.tbt-front-content .alignwide {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.entry-content .alignfull,
.tbt-front-content .alignfull {
  max-width: none;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

@media (max-width: 781px) {
  .entry-content .alignfull,
  .tbt-front-content .alignfull {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* トップ下コンテンツ：エディタで設定した幅・高さをそのまま使う（一律変更しない） */
.tbt-front-content .wp-block-image img,
.tbt-front-content .wp-block-image figure img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ブロックの背景色プリセット（和紙・臙脂・黄金・白など）をテーマパレットで表示 */
.has-enzhi-background-color { background-color: var(--tbt-enzhi) !important; }
.has-washi-cream-background-color { background-color: var(--tbt-washi-cream) !important; }
.has-washi-white-background-color { background-color: var(--tbt-washi-white) !important; }
.has-namakabe-background-color { background-color: var(--tbt-namakabe) !important; }
.has-gold-background-color { background-color: var(--tbt-gold) !important; }
.has-shouzumi-background-color { background-color: var(--tbt-shouzumi) !important; }
.has-kachiiro-background-color { background-color: var(--tbt-kachiiro) !important; }

/* ═══════════════════════════════════════════════════════════════
   スタッフ専用ページ（/staff-only/）最適化
   プラグインのダッシュボード・売上レポートが崩れないよう余計な装飾を抑える
══════════════════════════════════════════════════════════════ */
body.page-staff-only .site-main,
body.page-staff-only .entry-content {
  max-width: none;
  padding: 0;
  margin: 0;
}

body.page-staff-only .entry-header {
  display: none;
}

/* プラグインの .tcf-* コンテナが全幅で使えるように */
body.page-staff-only .site-content .entry-content > * {
  max-width: none;
}

/* ═══════════════════════════════════════════════════════════════
   ユーティリティ：モバイル表示切替（ブロックの追加CSSクラス用）
══════════════════════════════════════════════════════════════ */
@media (max-width: 781px) {
  .hide-on-mobile { display: none !important; }
  .show-on-mobile { display: block !important; }
  .mobile-text-sm { font-size: 0.875rem !important; }
  .mobile-text-lg { font-size: 1.125rem !important; }
}

@media (min-width: 782px) {
  .hide-on-desktop { display: none !important; }
  .show-on-desktop { display: block !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Absolute Canvas 用（座標配置のベース）
   ブロックに .tbt-absolute-canvas を付与し、インラインで --tbt-x, --tbt-y 等を指定
══════════════════════════════════════════════════════════════ */
.tbt-absolute-canvas {
  position: relative;
  width: 100%;
  min-height: 200px;
}

.tbt-absolute-canvas .tbt-canvas-item {
  position: absolute;
  left: var(--tbt-x, 0);
  top: var(--tbt-y, 0);
  z-index: var(--tbt-z, 1);
  width: var(--tbt-w, auto);
  height: var(--tbt-h, auto);
  border: var(--tbt-border, none);
  border-radius: var(--tbt-radius, 0);
}
