/* =======================================================
   BuzzBeaver 追加CSS 完全版
   外観 → カスタマイズ → 追加CSS に
   このファイルの内容をまるごと貼り付けてください
   ======================================================= */

/* --- フッター余分なテキスト非表示 --- */
footer .copySection p:nth-child(2) { display: none !important; }

/* --- 背景ドット（薄め） --- */
body {
  background-color: #f2f2f2;
  background-image:
    radial-gradient(#cccccc 15%, transparent 15%),
    radial-gradient(#cccccc 15%, transparent 15%);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;
}

/* --- ヘッダー --- */
header.siteHeader, .site-header, .l-header {
  background-color: #1a1a1a !important;
  border-bottom: 4px solid #ccff00;
}
.siteHeaderLogo, .site-header-logo { color: #ccff00 !important; font-weight: 900; }
.global-nav-list > li > a { color: #fff !important; font-weight: bold; }

/* --- ページタイトル帯 --- */
div.page-header, div.archive-header, div.section-header, .l-page-header {
  background-color: #1a1a1a !important;
  background-image: none !important;
  border-bottom: none !important;
  padding: 60px 0 !important;
  text-align: center !important;
  box-shadow: 0 6px 0 #000;
  margin-bottom: 40px !important;
}
div.page-header h1, div.archive-header h1, div.section-header h1,
h1.page-header-title, h1.archive-header-title, .l-page-header h1 {
  font-family: Impact, "Arial Black", "Hiragino Kaku Gothic Std", sans-serif !important;
  font-weight: 900 !important; color: #fff !important;
  text-shadow: 4px 4px 0 #ccff00, 6px 6px 0 #000 !important;
  font-size: 3.2rem !important; line-height: 1.2 !important;
  transform: skewX(-10deg) rotate(-3deg) !important;
  display: inline-block !important; background: none !important;
  border: none !important; padding: 0 10px !important; margin: 0 !important;
}

/* --- 記事一覧カード --- */
.vk_post, .media, article.post {
  display: flow-root !important; background: #fff;
  border: 3px solid #1a1a1a !important; box-shadow: 6px 6px 0 #1a1a1a !important;
  margin-bottom: 24px !important; padding: 20px !important;
  border-radius: 0 !important; transition: all 0.1s ease;
}
.vk_post:hover, .media:hover, article.post:hover {
  box-shadow: 8px 8px 0 #ccff00 !important;
  transform: translate(-3px, -3px); background-color: #fffff0;
}
.vk_post_imgOuter, .media-img {
  border: 2px solid #1a1a1a !important; margin-right: 20px !important;
  display: block !important; float: left !important;
  width: 35% !important; max-width: 200px !important;
}
.vk_post_imgOuter img, .media-img img {
  width: 100% !important; height: auto !important;
  vertical-align: bottom; display: block;
}
.vk_post_body, .media-body { display: block !important; overflow: hidden; }
.vk_post_label, .term-label {
  background: #1a1a1a !important; color: #ccff00 !important;
  border: 2px solid #ccff00; font-weight: bold;
  border-radius: 0 !important; transform: skew(-10deg);
  padding: 2px 8px !important; display: inline-block !important; margin-bottom: 10px !important;
}
.vk_post_excerpt, .media-body_excerpt {
  display: -webkit-box !important; -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important; overflow: hidden !important;
  font-size: 13px !important; color: #666 !important;
  line-height: 1.6 !important; margin-top: 5px !important; clear: both;
}

/* --- 記事本文の見出し --- */
.entry-body h2 {
  background: #1a1a1a; color: #ccff00; padding: 10px 20px;
  border: none; box-shadow: 6px 6px 0 #cccccc;
  transform: skew(-2deg); font-weight: 900; margin-bottom: 30px;
}
.entry-body h2:before, .entry-body h2:after { display: none; }
.entry-body h3 {
  border-bottom: 3px solid #1a1a1a; padding: 10px 0;
  background: transparent; position: relative; margin-top: 40px;
}
.entry-body h3:before {
  content: ""; position: absolute; bottom: 0; left: 0;
  width: 40%; height: 10px; background: #ccff00;
  z-index: -1; transform: skew(-20deg);
}

/* --- サイドバー＆検索 --- */
.widget, .sidebar .widget_block {
  border: 2px solid #1a1a1a; background: #fff;
  box-shadow: 4px 4px 0 #bbbbbb; padding: 15px; margin-bottom: 20px;
}
.widget_search .wp-block-search__inside-wrapper {
  display: flex !important; flex-wrap: nowrap !important;
  align-items: stretch !important; width: 100% !important;
  box-sizing: border-box !important; gap: 0 !important;
  border: 3px solid #1a1a1a !important; box-shadow: 6px 6px 0 #cccccc !important;
}
.widget_search .wp-block-search__input {
  border: none !important; background: #fff !important;
  border-radius: 0 !important; padding: 10px !important;
  flex: 1 1 auto !important; width: auto !important;
  margin: 0 !important; max-width: none !important;
}
.widget_search .wp-block-search__button {
  background-color: #1a1a1a !important; color: #ccff00 !important;
  border: none !important; border-left: 3px solid #1a1a1a !important;
  padding: 0 15px !important; font-weight: 900;
  flex: 0 0 auto !important; width: auto !important;
  margin: 0 !important; white-space: nowrap !important; line-height: 1 !important;
}

/* --- 前へ・次へ --- */
.postNextPrev {
  margin-top: 50px !important; gap: 20px !important;
  display: flex !important; align-items: flex-start !important;
}
.postNextPrev .postNextPrev_link {
  border: 3px solid #1a1a1a !important; box-shadow: 6px 6px 0 #1a1a1a !important;
  background: #fff !important; padding: 15px !important;
  width: 48% !important; min-height: 0 !important; height: auto !important;
  text-decoration: none !important; display: flex !important; flex-direction: column !important;
}
.postNextPrev .postNextPrev_thumb {
  width: 100% !important; height: 150px !important;
  object-fit: cover !important; margin: 0 0 10px 0 !important;
  display: block !important; border: 1px solid #1a1a1a;
}
.postNextPrev .postNextPrev_label {
  background-color: #1a1a1a; color: #ccff00; font-size: 11px;
  font-weight: 900; padding: 2px 6px; transform: skew(-10deg);
  align-self: flex-start; margin-bottom: 5px;
}
.postNextPrev .postNextPrev_title { font-weight: bold; font-size: 14px; color: #1a1a1a; line-height: 1.4; }

/* --- スマホ調整 --- */
@media screen and (max-width: 767px) {
  div.page-header h1, .l-page-header h1 { font-size: 2.2rem !important; }
  .vk_post_imgOuter, .media-img {
    float: none !important; width: 100% !important;
    max-width: none !important; margin-right: 0 !important; margin-bottom: 10px !important;
  }
  .postNextPrev { flex-direction: column !important; }
  .postNextPrev .postNextPrev_link { width: 100% !important; margin-bottom: 20px !important; }
}

/* =======================================================
   TOPページ レイアウト制御
   ======================================================= */

body:has(.bb-top) .page-header,
body:has(.bb-top) .archive-header,
body:has(.bb-top) .l-page-header,
body:has(.bb-top) .breadcrumb,
body:has(.bb-top) .topicpath,
body:has(.bb-top) .vk_breadcrumb,
body:has(.bb-top) .wp-block-vk-breadcrumb,
body:has(.bb-top) .entry-header,
body:has(.bb-top) .page-title,
body:has(.bb-top) #secondary,
body:has(.bb-top) .subSection,
body:has(.bb-top) .l-site-body__sub,
body:has(.bb-top) .siteContentSubSection,
body:has(.bb-top) aside.widget-area,
body:has(.bb-top) .widget-area,
body:has(.bb-top) .sideSection { display: none !important; }

body:has(.bb-top) .mainSection,
body:has(.bb-top) .l-site-body__main,
body:has(.bb-top) .siteContentMain,
body:has(.bb-top) .container .mainSection,
body:has(.bb-top) .mainSection-base-on-widget-area {
  width: 100% !important; max-width: none !important; flex: 1 1 100% !important;
}
body:has(.bb-top) .entry-body,
body:has(.bb-top) .entry,
body:has(.bb-top) article.page { margin: 0 !important; padding-top: 0 !important; }

/* bb-top ベース */
.bb-top {
  --bb-lime: #ccff00;
  --bb-black: #1a1a1a;
  width: min(1180px, calc(100% - 32px));
  margin: 28px auto 40px !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.bb-top * { box-sizing: border-box; }

/* =======================================================
   ヒーロー
   ======================================================= */
.bb-top .bb-top-hero {
  background: #111 !important;
  border: 3px solid #222 !important;
  box-shadow: 8px 8px 0 #ccff00 !important;
  padding: 52px 48px !important;
  margin-bottom: 28px !important;
  position: relative !important;
  overflow: hidden !important;
}
.bb-top .bb-top-hero::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(#ccff00 1px,transparent 1px), linear-gradient(90deg,#ccff00 1px,transparent 1px);
  background-size: 44px 44px; opacity: 0.04;
}
.bb-top .bb-top-hero__eyebrow {
  color: #888 !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: 0.2em !important;
  margin: 0 0 18px !important;
  display: flex; align-items: center; gap: 10px;
}
.bb-top .bb-top-hero__title {
  display: block !important;
  background: none !important;
  color: #fff !important;
  font-size: clamp(32px,5vw,58px) !important;
  font-family: Impact,"Arial Black","Hiragino Kaku Gothic Std",sans-serif !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  transform: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  transition: opacity 0.3s ease !important;
}
.bb-top .bb-top-hero__title.fade { opacity: 0 !important; }
.bb-top .bb-top-hero__text { color: #777 !important; font-size: 13px !important; line-height: 2 !important; margin: 0 !important; }

/* =======================================================
   大カテゴリナビ
   ======================================================= */
.bb-catnav {
  background: #fff;
  border: 3px solid #1a1a1a;
  box-shadow: 6px 6px 0 #1a1a1a;
  margin-bottom: 28px;
  overflow: hidden;
}
.bb-catnav-tabs { display: flex; background: #1a1a1a; border-bottom: 3px solid #1a1a1a; }
.bb-cattab {
  flex: 1; padding: 14px 6px; border: none;
  border-right: 2px solid #2a2a2a;
  background: transparent; color: #777;
  font-weight: 900; font-size: 12px; font-family: inherit;
  cursor: pointer; line-height: 1.3; letter-spacing: .03em;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  transition: background .1s, color .1s;
}
.bb-cattab:last-child { border-right: none; }
.bb-cattab .ti { font-size: 18px; }
.bb-cattab:hover:not(.on) { background: #252525; color: #ddd; }
.bb-cattab.on[data-c="lime"]   { background: #ccff00; color: #000; }
.bb-cattab.on[data-c="blue"]   { background: #4da6ff; color: #000; }
.bb-cattab.on[data-c="orange"] { background: #ff8c00; color: #fff; }
.bb-cattab.on[data-c="purple"] { background: #a855f7; color: #fff; }
.bb-cattab.on[data-c="pink"]   { background: #ff69b4; color: #000; }

.bb-catpanel { display: none; padding: 20px 24px; background: #fafafa; }
.bb-catpanel.open { display: block; animation: bbSlide .15s ease; }
@keyframes bbSlide { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:none} }
.bb-catpanel[data-c="lime"]   { border-top: 3px solid #ccff00; }
.bb-catpanel[data-c="blue"]   { border-top: 3px solid #4da6ff; }
.bb-catpanel[data-c="orange"] { border-top: 3px solid #ff8c00; }
.bb-catpanel[data-c="purple"] { border-top: 3px solid #a855f7; }
.bb-catpanel[data-c="pink"]   { border-top: 3px solid #ff69b4; }

.bb-sublabel {
  font-size: 10px; color: #888; font-weight: 700;
  letter-spacing: .14em; margin-bottom: 10px;
  display: flex; align-items: center; gap: 6px;
}
.bb-sublabel::before { content:""; display:inline-block; width:3px; height:11px; background:#bbb; border-radius:1px; }

.bb-tchip {
  padding: 7px 14px; background: #fff; border: 2px solid #1a1a1a;
  color: #1a1a1a; font-size: 12px; font-weight: 900;
  cursor: pointer; font-family: inherit;
  box-shadow: 2px 2px 0 #1a1a1a; transition: all .1s;
  text-decoration: none; display: inline-block;
}
.bb-tchip:hover { background: #1a1a1a; color: #fff; }
.bb-tchip.sel { background: #ccff00; color: #000; border-color: #ccff00; }

.bb-tagrow { display:flex; flex-wrap:wrap; gap:8px; padding-top:14px; margin-top:14px; border-top:1px dashed #ddd; }
.bb-tgchip {
  display: inline-block; padding: 7px 14px;
  background: #1a1a1a; color: #ccff00;
  font-size: 12px; font-weight: 900;
  transform: skewX(-4deg); box-shadow: 3px 3px 0 rgba(0,0,0,.15);
  transition: all .1s; text-decoration: none;
}
.bb-tgchip:hover { transform: skewX(-4deg) translate(-2px,-2px); box-shadow: 5px 5px 0 rgba(204,255,0,.3); color: #ccff00; }
.bb-tgchip.bl { color: #4da6ff; }
.bb-tgchip.bl:hover { box-shadow: 5px 5px 0 rgba(77,166,255,.3); }

.bb-coming { display:flex; align-items:center; gap:12px; }
.bb-coming-badge {
  display: inline-block; background: #1a1a1a; color: #a855f7;
  font-size: 10px; font-weight: 900; padding: 3px 10px;
  letter-spacing: .15em; transform: skewX(-6deg);
}
.bb-goods-btn {
  display: inline-block; background: #1a1a1a; color: #ff69b4 !important;
  padding: 10px 20px; font-weight: 900; font-size: 13px;
  text-decoration: none !important; border: 2px solid #ff69b4;
  box-shadow: 4px 4px 0 #ff69b4; transition: all .1s;
}
.bb-goods-btn:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 #ff69b4; }

/* =======================================================
   セクション見出し
   ======================================================= */
.bb-sh { display:flex; align-items:flex-end; gap:14px; margin-bottom:18px; }
.bb-sh-label {
  font-family: Impact,"Arial Black",sans-serif;
  font-size: 20px; font-weight: 900; letter-spacing: .03em; color: #1a1a1a;
  display: block; flex-shrink: 0;
  /* 既存CSSの h2 スタイルを打ち消し */
  background: none !important; box-shadow: none !important;
  transform: none !important; text-shadow: none !important;
  border: none !important; padding: 0 !important; margin: 0 !important;
}
.bb-sh-sub { font-size: 10px; color: #888; font-weight: 700; letter-spacing: .14em; display: block; margin-top: 2px; }
.bb-sh-line { flex:1; height:3px; background:#ccff00; margin-bottom:4px; }
.bb-sh-line.dk { background: #1a1a1a; }

/* =======================================================
   記事カードグリッド（固定サイズ）
   ======================================================= */
.bb-feat-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
  margin-bottom: 32px;
}
.bb-fc {
  display: flex !important; flex-direction: column !important;
  height: 340px !important; overflow: hidden !important;
  background: #fff !important; border: 3px solid #1a1a1a !important;
  box-shadow: 5px 5px 0 #1a1a1a !important;
  text-decoration: none !important; color: #1a1a1a !important;
  transition: box-shadow .12s, transform .12s !important;
  padding: 0 !important; margin-bottom: 0 !important;
  /* article.post の干渉を無効化 */
  border-radius: 0 !important;
}
.bb-fc:hover {
  box-shadow: 8px 8px 0 #ccff00 !important;
  transform: translate(-3px,-3px) !important;
  background-color: #fff !important;
}

/* サムネ */
.bb-fc-thumb {
  position: relative; height: 180px !important;
  flex-shrink: 0; overflow: hidden; display: block !important;
}
.bb-fc-thumb img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
  float: none !important; margin: 0 !important;
  border: none !important; max-width: none !important;
  opacity: 1 !important; visibility: visible !important;
  transition: transform .4s;
}
.bb-fc:hover .bb-fc-thumb img { transform: scale(1.07); }
.bb-fc-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 55%);
}
.bb-fc-cat {
  position: absolute; top: 10px; left: 10px;
  display: inline-block; background: #1a1a1a; color: #ccff00;
  font-size: 10px; font-weight: 900; padding: 2px 8px;
  transform: skewX(-8deg); letter-spacing: .08em; line-height: 1.4;
}
.bb-fc-badge {
  position: absolute; top: 10px; right: 10px;
  display: inline-block; font-size: 9px; font-weight: 900;
  padding: 2px 7px; letter-spacing: .15em; transform: skewX(-6deg);
}
.bb-fc-badge.hot  { background:#ff3b30; color:#fff; }
.bb-fc-badge.pick { background:#ccff00; color:#000; }
.bb-fc-badge.new  { background:#34aadc; color:#fff; }

/* カード本文 */
.bb-fc-body {
  flex: 1 !important; display: flex !important; flex-direction: column !important;
  padding: 14px 16px !important; gap: 8px !important;
  overflow: hidden !important; background: #fff !important;
}
.bb-fc-date { font-size:10px; color:#999; font-weight:700; flex-shrink:0; }
.bb-fc-title {
  /* p タグ使用のため h2 の干渉なし */
  font-size: 14px !important; font-weight: 900 !important;
  line-height: 1.6 !important; color: #1a1a1a !important;
  flex: 1 !important; margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.bb-fc-excerpt {
  font-size:12px; color:#666; line-height:1.8; flex-shrink:0; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* =======================================================
   2カラム
   ======================================================= */
.bb-twocol { display:grid; grid-template-columns:1fr 320px; gap:28px; align-items:start; }

.bb-catgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.bb-catcard {
  display:flex; align-items:center; gap:12px;
  background:#fff; border:3px solid #1a1a1a; box-shadow:4px 4px 0 #1a1a1a;
  padding:14px 16px; text-decoration:none !important; color:#1a1a1a !important; transition:all .1s;
}
.bb-catcard:hover { transform:translate(-2px,-2px); }
.bb-catic { width:42px; height:42px; border:2px solid #1a1a1a; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.bb-catnm { font-size:14px; font-weight:900; }
.bb-catct { font-size:11px; color:#888; font-weight:600; }

.bb-tagwrap { display:flex; flex-wrap:wrap; gap:8px; }
.bb-taglink {
  display:inline-block; background:#fff; border:2px solid #1a1a1a;
  color:#1a1a1a !important; padding:7px 12px; font-size:12px; font-weight:700;
  box-shadow:2px 2px 0 #1a1a1a; transition:all .1s; text-decoration:none !important;
}
.bb-taglink:hover { background:#1a1a1a; color:#ccff00 !important; transform:translate(-1px,-1px); }

/* =======================================================
   サイドバー
   ======================================================= */
.bb-sidebar { display:flex; flex-direction:column; gap:20px; }
.bb-ticker2 {
  background:#1a1a1a; border:3px solid #ccff00;
  padding:10px 14px; display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap;
}
.bb-ticker2-text { color:#ccc; font-size:12px; font-weight:600; line-height:1.7; flex:1; }

.bb-rankbox { background:#fff; border:3px solid #1a1a1a; box-shadow:6px 6px 0 #1a1a1a; padding:20px; }
.bb-rankrow {
  display:flex; gap:12px; align-items:center; padding:13px 0;
  border-bottom:1px solid #f0f0f0; transition:transform .1s;
  text-decoration:none !important; color:#1a1a1a !important;
}
.bb-rankrow:last-of-type { border-bottom:none; }
.bb-rankrow:hover { transform:translateX(5px); }
.bb-rankno {
  font-size:28px; font-weight:900; min-width:32px; text-align:center;
  font-family:Impact,"Arial Black",sans-serif; line-height:1; flex-shrink:0;
}
.bb-rankno.r1 { color:#ccff00; -webkit-text-stroke:1px #1a1a1a; }
.bb-rankno.r2 { color:#e0e0e0; -webkit-text-stroke:1px #1a1a1a; }
.bb-rankno.r3 { color:#ff8c00; -webkit-text-stroke:1px #1a1a1a; }
.bb-rankno.r4 { color:#ccc; }
.bb-rankinfo { flex:1; min-width:0; }
/* ランキングのカテゴリラベル（bb-fc-catと別クラスに） */
.bb-rklabel {
  display:inline-block; background:#1a1a1a; color:#ccff00;
  font-size:10px; font-weight:900; padding:2px 8px;
  transform:skewX(-8deg); letter-spacing:.08em;
}
.bb-ranktitle { margin:5px 0 0; font-size:12px; font-weight:700; line-height:1.5; }
.bb-rankthumb {
  width:52px; height:52px; object-fit:cover;
  border:2px solid #1a1a1a; flex-shrink:0;
  float:none !important; max-width:none !important;
}
.bb-rankmore {
  display:block; text-align:center; margin-top:16px;
  background:#1a1a1a; color:#ccff00 !important; padding:11px;
  font-weight:900; font-size:12px; letter-spacing:.1em;
  text-decoration:none !important; transition:background .1s;
}
.bb-rankmore:hover { background:#333; }

.bb-about2 { background:#1a1a1a; border:3px solid #ccff00; box-shadow:6px 6px 0 #ccff00; padding:22px; }
.bb-about2-ttl {
  font-family:Impact,"Arial Black",sans-serif; font-size:18px; font-weight:900;
  color:#ccff00; margin:0 0 10px; letter-spacing:.04em;
  background:none !important; box-shadow:none !important; transform:none !important;
}
.bb-about2-txt { color:#aaa; font-size:13px; line-height:1.9; margin:0; }

/* =======================================================
   チェックアウトページ（上品モード）
   ======================================================= */
body.woocommerce-checkout { background:#f5f5f7 !important; background-image:none !important; }
body.woocommerce-checkout #main,
body.woocommerce-checkout .siteContent,
body.woocommerce-checkout .site-body,
body.woocommerce-checkout .l-site-body,
body.woocommerce-checkout .container,
body.woocommerce-checkout .mainSection { background:transparent !important; }
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .archive-header,
body.woocommerce-checkout .section-header,
body.woocommerce-checkout .l-page-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .wp-block-post-title { display:none !important; }
body.woocommerce-checkout .breadcrumb,
body.woocommerce-checkout #secondary,
body.woocommerce-checkout aside,
body.woocommerce-checkout .widget,
body.woocommerce-checkout .widget-area,
body.woocommerce-checkout .sidebar { display:none !important; }
body.woocommerce-checkout .mainSection,
body.woocommerce-checkout .l-site-body__main,
body.woocommerce-checkout .siteContentMain {
  width:100% !important; max-width:1180px !important; float:none !important;
  flex:1 1 100% !important; margin:0 auto !important; padding:32px 20px 48px !important; box-sizing:border-box !important;
}
body.woocommerce-checkout .entry-body,
body.woocommerce-checkout .entry,
body.woocommerce-checkout article.page { margin:0 !important; padding-top:0 !important; }
body.woocommerce-checkout .mainSection::before,
body.woocommerce-checkout .l-site-body__main::before,
body.woocommerce-checkout .siteContentMain::before {
  content:"ご購入手続き"; display:block; font-size:30px; line-height:1.35;
  font-weight:800; color:#111827; letter-spacing:.03em; margin:0 0 24px;
}
body.woocommerce-checkout form.checkout {
  display:grid !important; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr) !important;
  gap:32px !important; align-items:start !important;
}
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review {
  background:#fff !important; border:1px solid #e5e7eb !important;
  border-radius:16px !important; padding:28px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.05) !important;
}
body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
  font-family:inherit !important; font-size:24px !important; font-weight:700 !important;
  color:#111827 !important; background:none !important; border:none !important;
  box-shadow:none !important; transform:none !important; text-shadow:none !important;
  padding:0 0 16px 0 !important; margin:0 0 20px 0 !important;
}
body.woocommerce-checkout h3::before,
body.woocommerce-checkout h3::after { content:none !important; display:none !important; }
body.woocommerce-checkout h3::after,
body.woocommerce-checkout #order_review_heading::after {
  content:"" !important; display:block !important; width:56px !important;
  height:3px !important; background:#111827 !important;
  border-radius:999px !important; margin-top:10px !important;
}
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
  width:100% !important; min-height:48px !important; border:1px solid #d1d5db !important;
  border-radius:10px !important; background:#fff !important; box-shadow:none !important;
  padding:12px 14px !important; font-size:15px !important; color:#111827 !important;
}
body.woocommerce-checkout button,
body.woocommerce-checkout .button,
body.woocommerce-checkout #place_order {
  min-height:50px !important; border-radius:10px !important; border:none !important;
  background:#111827 !important; color:#fff !important; font-size:15px !important;
  font-weight:700 !important; padding:0 20px !important;
  box-shadow:none !important; transform:none !important; text-shadow:none !important;
}
@media (max-width:960px) {
  body.woocommerce-checkout form.checkout { grid-template-columns:1fr !important; }
}

/* =======================================================
   レスポンシブ（TOPページ）
   ======================================================= */
@media (max-width:900px) {
  .bb-feat-grid { grid-template-columns:repeat(2,1fr); }
  .bb-twocol    { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .bb-top .bb-top-hero { padding:28px 20px !important; }
  .bb-feat-grid  { grid-template-columns:1fr; }
  .bb-catgrid    { grid-template-columns:1fr; }
  .bb-catnav-tabs { flex-wrap:wrap; }
  .bb-cattab { flex:0 0 33.33%; border-bottom:2px solid #2a2a2a; }
}
/* ══ カードタイトル h2 の完全リセット ══ */
.bb-fc h2,
.bb-fc h2.bb-fc-title {
  background: none !important;
  background-image: none !important;
  color: #1a1a1a !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  text-shadow: none !important;
  border: none !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  flex: 1 !important;
}

.bb-fc h2::before,
.bb-fc h2::after {
  display: none !important;
}