/*
Theme Name: Famurai
Theme URI: https://famurai.com
Description: Famurai デモサイト用 独立ブロックテーマ（旧 famurai-child。Greenshift 親のランタイムを inc/greenshift-base.php として内蔵）
Author: Famurai
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: famurai
*/

/* =========================================================
   spacing プリセットの別名補完（重要バグ修正）
   theme.json の slug 2xl/3xl は WP により --spacing--2-xl / --3-xl として
   定義される一方、ブロックのインライン style は --spacing--2xl / --3xl を
   参照するため未定義＝padding が 0 に潰れていた。別名を張って全ページ修復。
   実値の変更は theme.json 側で行えばこの別名にも反映される。
   ========================================================= */
:root {
	--wp--preset--spacing--2xl: var(--wp--preset--spacing--2-xl, 6.5rem);
	--wp--preset--spacing--3xl: var(--wp--preset--spacing--3-xl, clamp(80px, 10vw, 140px));
}

/* =========================================================
   縦リズム（本文コンテンツ）— blockGap(1.75rem) を土台に、
   見出しの前だけ大きく空けて「節」の切れ目を作り、
   画像・埋め込み等の塊ブロックには上下ひと呼吸を与える。
   WPのblockGap規則は :where()（詳細度0）のためこの上書きが常に勝つ。
   ========================================================= */
.wp-block-post-content > h2:not(:first-child) {
	margin-top: 2.6em;
}
.wp-block-post-content > h3:not(:first-child),
.wp-block-post-content > h4:not(:first-child) {
	margin-top: 2.2em;
}
/* 見出し直後の要素は詰めて「見出しと本文の結びつき」を強調 */
.wp-block-post-content > :is(h2, h3, h4) + * {
	margin-top: 0.9em;
}
/* 塊ブロック（画像・動画埋め込み・引用・表・ギャラリー）は上下にゆとり */
.wp-block-post-content > :is(.wp-block-image, .wp-block-embed, .wp-block-pullquote, .wp-block-table, .wp-block-gallery):not(:first-child) {
	margin-top: 2.2em;
}
.wp-block-post-content > :is(.wp-block-image, .wp-block-embed, .wp-block-pullquote, .wp-block-table, .wp-block-gallery) + *:not(h2):not(h3):not(h4) {
	margin-top: 2.2em;
}

/* =========================================================
   セクション見出し（fmsh-*）— lane非依存（file/DBテンプレ両対応）
   ※以前は front-page 内 greenshift-element の CSSRender で注入していたが、
     DBテンプレ文脈で崩れるためテーマCSSに移設
   ========================================================= */
.fmsh-header {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 0;
	margin-bottom: 48px;
}
.fmsh-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--brand-accent, var(--wp--preset--color--accent));
}
.fmsh-eyebrow::before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 1px;
	background-color: var(--brand-accent, var(--wp--preset--color--accent));
}
.fmsh-title {
	margin: 0;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink);
}
/* 中央寄せバリアント（ブランドページの「商品ラインアップ」見出し等） */
.fmsh-header--center {
	align-items: center;
	text-align: center;
}

/* =========================================================
   Home: Category セクション（WooCommerce 商品カテゴリーをグリッド化）
   ========================================================= */
.famurai-category .wc-block-product-categories-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.famurai-category .wc-block-product-categories-list-item {
	margin: 0;
}
/* 画像のないカテゴリ（Uncategorized 等）は非表示にして散漫さを排除 */
.famurai-category .wc-block-product-categories-list-item:has(.wc-block-product-categories-list-item__image--placeholder) {
	display: none;
}
.famurai-category .wc-block-product-categories-list-item > a {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.famurai-category .wc-block-product-categories-list-item > a:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--ink);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}
.famurai-category .wc-block-product-categories-list-item__image {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
}
.famurai-category .wc-block-product-categories-list-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.famurai-category .wc-block-product-categories-list-item > a:hover .wc-block-product-categories-list-item__image img {
	transform: scale(1.06);
}
.famurai-category .wc-block-product-categories-list-item__name {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 16px 18px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.01em;
}
.famurai-category .wc-block-product-categories-list-item__name::after {
	content: "→";
	font-size: 14px;
	color: var(--wp--preset--color--accent);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.famurai-category .wc-block-product-categories-list-item > a:hover .wc-block-product-categories-list-item__name::after {
	opacity: 1;
	transform: translateX(0);
}
.famurai-category .wc-block-product-categories-list-item-count {
	display: none;
}
@media (max-width: 991.98px) {
	.famurai-category .wc-block-product-categories-list { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
	.famurai-category .wc-block-product-categories-list { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

/* =========================================================
   Home: Brand セクション（[famurai_brand_grid] ショートコード）
   ========================================================= */
.famurai-brand-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.famurai-brand-grid__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 28px 20px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	transition: box-shadow 0.2s ease;
}
.famurai-brand-grid__item:hover {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.famurai-brand-grid__logo {
	max-width: 130px;
	height: auto;
	object-fit: contain;
}
.famurai-brand-grid__name {
	font-size: 14px;
	font-weight: 600;
}
@media (max-width: 991.98px) {
	.famurai-brand-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767.98px) {
	.famurai-brand-grid { grid-template-columns: repeat(2, 1fr); }
}

/* =========================================================
   Home: News セクション（[famurai_news] + もっと見る）
   ========================================================= */
.famurai-news__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
.famurai-news__card {
	display: flex;
	flex-direction: column;
}
.famurai-news__thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 8px;
	background: var(--wp--preset--color--surface);
}
.famurai-news__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.famurai-news__card:hover .famurai-news__thumb img {
	transform: scale(1.04);
}
.famurai-news__title {
	margin: 14px 0 8px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.famurai-news__title:hover {
	color: var(--wp--preset--color--accent);
}
.famurai-news__date {
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-news__more {
	display: flex;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--l, 48px);
}
.famurai-news__more-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 44px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--ink);
	background: transparent;
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 4px;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.famurai-news__more-btn:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}
.famurai-news__more-btn:disabled {
	opacity: 0.55;
	cursor: default;
}
@media (max-width: 991.98px) {
	.famurai-news__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
	.famurai-news__grid { grid-template-columns: 1fr; }
}
/* ニュース = コア Query Loop 版。<ul.wp-block-post-template>/<li.wp-block-post> を
   従来の自作カード（.famurai-news__*）の見た目に合わせる */
.famurai-news .famurai-news__grid { list-style: none; margin: 0; padding: 0; }
.famurai-news .wp-block-post { display: flex; flex-direction: column; margin: 0; padding: 0; }
.famurai-news .famurai-news__thumb { margin: 0; }
.famurai-news .famurai-news__thumb a { display: block; width: 100%; height: 100%; }
.famurai-news .wp-block-post:hover .famurai-news__thumb img { transform: scale(1.04); }
.famurai-news .famurai-news__title { margin: 14px 0 8px; }
.famurai-news .famurai-news__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.famurai-news .famurai-news__title a:hover { color: var(--wp--preset--color--accent); }
/* ページネーション（もっと見る→ページ送り） */
.famurai-news__pager { margin-top: var(--wp--preset--spacing--l, 48px); gap: 10px; font-size: 14px; }
.famurai-news__pager a, .famurai-news__pager .wp-block-query-pagination-numbers { text-decoration: none; color: var(--wp--preset--color--ink); }
.famurai-news__pager a:hover { color: var(--wp--preset--color--accent); }
.famurai-news__pager .page-numbers.current { font-weight: 700; }

/* =========================================================
   Home: Outlet 商品カード（WooCommerce product-collection をカード化）
   ========================================================= */
/* （famurai_featured_products グリッドは 2026-07-18 撤去。カードは .wc-block-product 共通を継続使用） */
.famurai-products .wc-block-product {
	display: flex;
	flex-direction: column;
	margin: 0;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.famurai-products .wc-block-product:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--ink);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}
.famurai-products .wc-block-components-product-image {
	margin: 0;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--wp--preset--color--white);
	border-radius: 0;
}
.famurai-products .wc-block-components-product-image a,
.famurai-products .wc-block-components-product-image img {
	width: 100%;
	height: 100%;
	display: block;
}
.famurai-products .wc-block-components-product-image img {
	object-fit: cover;
	transition: transform 0.5s ease;
}
.famurai-products .wc-block-product:hover .wc-block-components-product-image img {
	transform: scale(1.05);
}
.famurai-product__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	flex: 1;
	padding: 16px 18px 20px;
}
/* （旧トップ専用カード文字/ボタンルールは shopcat 系へ統一のため削除 2026-07-19） */

/* =========================================================
   Brand archive hero（[famurai_brand_header]）
   ========================================================= */
/* ブランドアーカイブの main 上マージン(blockGap 24px)を詰め、ヒーローをヘッダー直下に */
.tax-product_brand main.wp-block-group { margin-top: 0 !important; }
.famurai-brand-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--wp--preset--color--midnight);
	background-size: cover;
	background-position: center;
	color: var(--wp--preset--color--white);
	text-align: center;
	padding: clamp(64px, 12vh, 140px) 20px;
}
/* ヒーロー動画（YouTube）: 背景としてカバー配置＋暗幕オーバーレイ */
.famurai-brand-hero--video {
	min-height: clamp(360px, 52vh, 560px);
	display: flex;
	align-items: center;
	justify-content: center;
}
.famurai-brand-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.famurai-brand-hero__media iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	height: 56.25vw; /* 16:9 */
	min-width: 177.78vh; /* 16:9 高さ基準でカバー */
	min-height: 100%;
	border: 0;
}
.famurai-brand-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}
.famurai-brand-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.famurai-brand-hero__logo {
	max-width: 160px;
	height: auto;
	object-fit: contain;
}
.famurai-brand-hero__title {
	margin: 0;
	font-size: clamp(32px, 6vw, 56px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--white);
}
.famurai-brand-hero__desc {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	color: var(--wp--preset--color--on-dark);
}

/* =========================================================
   記事ページ 2カラム & サイドバー（ウィジェット）
   ========================================================= */
.famurai-sidebar {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
/* 関連商品（記事本文の下・全幅グリッド） */
.famurai-related {
	margin-top: var(--wp--preset--spacing--2xl, 80px);
	padding-top: var(--wp--preset--spacing--l, 48px);
	border-top: 1px solid var(--wp--preset--color--line);
}
.famurai-widget__title {
	margin: 0 0 16px;
	padding-bottom: 10px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink);
	border-bottom: 2px solid var(--wp--preset--color--accent);
}
/* 人気記事5選 */
.famurai-popular {
	list-style: none;
	margin: 0;
	padding: 0;
}
.famurai-popular__item {
	margin: 0 0 14px;
}
.famurai-popular__link {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.famurai-popular__rank {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--ink);
	border-radius: 50%;
}
.famurai-popular__thumb {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
}
.famurai-popular__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.famurai-popular__title {
	font-size: 13px;
	line-height: 1.5;
	font-weight: 600;
}
.famurai-popular__link:hover .famurai-popular__title {
	color: var(--wp--preset--color--accent);
}
/* 新着記事（サムネ＋タイトル＋日付） */
.famurai-postlist {
	list-style: none;
	margin: 0;
	padding: 0;
}
.famurai-postlist__item {
	margin: 0 0 14px;
}
.famurai-postlist__link {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.famurai-postlist__thumb {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
}
.famurai-postlist__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.famurai-postlist__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.famurai-postlist__title {
	font-size: 13px;
	line-height: 1.5;
	font-weight: 600;
}
.famurai-postlist__date {
	font-size: 11px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-postlist__link:hover .famurai-postlist__title {
	color: var(--wp--preset--color--accent);
}
/* 関連ブランド（ロゴ＋ブランド名／ブランドページへ） */
/* 該当ブランドが無い記事では見出しごとウィジェットを非表示 */
.famurai-widget--brands:not(:has(.famurai-brandlist)) {
	display: none;
}
.famurai-brandlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.famurai-brandlist__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
	border-radius: 8px;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.famurai-brandlist__link:hover {
	border-color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 5%, transparent);
}
.famurai-brandlist__logo-wrap {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.famurai-brandlist__logo {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.famurai-brandlist__name {
	font-size: 14px;
	font-weight: 600;
}
/* 注目商品コンパクトカード（横並び：左サムネ＋右にブランド名/商品名/価格） */
.famurai-pcards {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.famurai-pcard {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent);
	border-radius: 8px;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.famurai-pcard:hover {
	border-color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 4%, transparent);
}
.famurai-pcard__thumb {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	display: flex;
	align-items: center;
	justify-content: center;
}
.famurai-pcard__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.famurai-pcard__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.famurai-pcard__brand {
	font-size: 11px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-pcard__title {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}
.famurai-pcard__price {
	font-size: 14px;
	font-weight: 700;
}
.famurai-pcard__price del {
	font-size: 12px;
	font-weight: 400;
	color: var(--wp--preset--color--ink-soft);
	margin-left: 4px;
}
.famurai-pcard__price ins {
	text-decoration: none;
}
.famurai-pcard:hover .famurai-pcard__title {
	color: var(--wp--preset--color--accent);
}
/* 取扱店舗ページ：分類凡例チップ */
.famurai-store-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 22px;
}
.famurai-store-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 13px;
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent);
}
.famurai-store-legend__item::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}
.famurai-store-legend__item:nth-child(1)::before { background: var(--wp--preset--color--accent); }
.famurai-store-legend__item:nth-child(2)::before { background: var(--wp--preset--color--store-cat-2); }
.famurai-store-legend__item:nth-child(3)::before { background: var(--wp--preset--color--store-cat-3); }
.famurai-store-legend__item:nth-child(4)::before { background: var(--wp--preset--color--store-cat-4); }

/* 取扱店舗ロケーター（2カラム：左地図／右リスト・表示範囲連動） */
/* フルブリード＋パディングでビューポート中央に配置（最大1200px・両端24px余白）。
   親幅やWPの contentSize 上限に依存せず中央寄せできる。!important は constrained layout の上書き用。 */
.famurai-locator {
	box-sizing: border-box;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-inline: max(24px, calc((100vw - 1200px) / 2)) !important;
}
.famurai-locator__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: 0 0 16px;
}
/* 現在地コントロール（地図左下・Leaflet カスタムコントロール。十字アイコン） */
.famurai-geoctrl {
	border: none !important;
	box-shadow: none !important;
	margin: 0 0 10px 10px !important; /* 地図左下の内側マージン */
}
.famurai-geoctrl__btn {
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	border-radius: 8px;
	background-color: var(--wp--preset--color--white);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bc4a2e' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cline x1='12' y1='1' x2='12' y2='4'/%3E%3Cline x1='12' y1='20' x2='12' y2='23'/%3E%3Cline x1='1' y1='12' x2='4' y2='12'/%3E%3Cline x1='20' y1='12' x2='23' y2='12'/%3E%3Ccircle cx='12' cy='12' r='2.2' fill='%23bc4a2e' stroke='none'/%3E%3C/svg%3E");
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.famurai-geoctrl__btn:hover {
	background-color: var(--wp--preset--color--surface);
}
.famurai-geoctrl__btn:disabled {
	opacity: 0.5;
	cursor: default;
}
.famurai-geoctrl__btn.is-loading {
	background-image: none;
}
.famurai-geoctrl__btn.is-loading::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	margin: 0 auto;
	border: 2px solid color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent);
	border-top-color: var(--wp--preset--color--accent);
	border-radius: 50%;
	animation: famurai-geospin 0.7s linear infinite;
}
@keyframes famurai-geospin {
	to { transform: rotate(360deg); }
}
.famurai-locator__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0; /* 左寄せ（現在地ボタンを右へ入れ替え） */
}
.famurai-locator__chk {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 13px;
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
	cursor: pointer;
	user-select: none;
}
.famurai-locator__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
}
.famurai-locator__main {
	display: grid;
	grid-template-columns: 3fr 2fr; /* 左60% / 右40% */
	gap: 24px;
}
.famurai-locator__map {
	height: 640px;
	border-radius: 10px;
	overflow: hidden;
	z-index: 0;
}
.famurai-locator__list {
	height: 640px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-right: 4px;
}
/* ブランドフィルタ: ネイティブ select（単一選択・多ブランドでもスケール） */
.famurai-locator__brands {
	margin-bottom: 14px;
}
.famurai-brand-select {
	display: block;
	width: 100%;
	max-width: 320px;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	background-color: var(--wp--preset--color--white);
	/* ネイティブ矢印を消してカスタム矢印を描画 */
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231a1a1a' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 18%, transparent);
	border-radius: 10px;
	padding: 11px 40px 11px 14px;
	cursor: pointer;
}
.famurai-brand-select:hover {
	border-color: var(--wp--preset--color--accent);
}
.famurai-brand-select:focus-visible {
	outline: none;
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--accent) 20%, transparent);
}
.famurai-store-item__brands {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
}
.famurai-store-item__brands img {
	display: block;
	width: 26px;
	height: 26px;
	object-fit: contain;
}
.famurai-store-item__brand-name {
	font-size: 11px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-locator__count {
	position: sticky;
	top: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--wp--preset--color--ink-soft);
	padding: 6px 2px;
	background: var(--wp--preset--color--white);
}
.famurai-locator__empty {
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-store-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	width: 100%;
	text-align: left;
	background: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent);
	border-radius: 8px;
	padding: 12px 14px;
	cursor: pointer;
	transition: border-color 0.2s ease;
}
.famurai-store-item:hover {
	border-color: var(--wp--preset--color--accent);
}
.famurai-store-item__cat {
	align-self: flex-start;
	font-size: 11px;
	font-weight: 700;
	color: var(--wp--preset--color--white);
	padding: 2px 9px;
	border-radius: 999px;
	margin-bottom: 2px;
}
.famurai-store-item__name {
	font-size: 15px;
	font-weight: 700;
}
.famurai-store-item__addr,
.famurai-store-item__tel {
	font-size: 12px;
	color: var(--wp--preset--color--ink-soft);
}
@media (max-width: 781px) {
	.famurai-locator__main {
		grid-template-columns: 1fr;
	}
	.famurai-locator__map {
		height: 380px;
	}
	.famurai-locator__list {
		height: 460px;
	}
	/* ブランド select: タブレット以下は全幅に */
	.famurai-brand-select {
		max-width: none;
	}
}

/* ブランドコンテンツ（紐付け固定ページの描画領域） */
.famurai-brand-content img,
.famurai-brand-content video,
.famurai-brand-content iframe {
	max-width: 100%;
	height: auto;
}
/* 商品ページ：商品名上のブランドバッジ（ロゴ＋名・ブランドページへ） */
.famurai-product-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	transition: color 0.2s ease;
}
.famurai-product-brand__logo-wrap {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.famurai-product-brand__logo {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.famurai-product-brand__name {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.famurai-product-brand:hover .famurai-product-brand__name {
	color: var(--wp--preset--color--accent);
}
/* 関連記事（逆引き・商品ページ）カードグリッド */
.famurai-related-articles {
	margin-top: var(--wp--preset--spacing--xl, 48px);
}
.famurai-articlegrid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
@media (max-width: 991.98px) {
	.famurai-articlegrid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 575.98px) {
	.famurai-articlegrid {
		grid-template-columns: repeat(1, 1fr);
	}
}
.famurai-articlegrid__link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.famurai-articlegrid__thumb {
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 8px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	margin-bottom: 12px;
}
.famurai-articlegrid__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.famurai-articlegrid__link:hover .famurai-articlegrid__thumb img {
	transform: scale(1.04);
}
.famurai-articlegrid__title {
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}
.famurai-articlegrid__date {
	display: block;
	font-size: 12px;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 6px;
}
.famurai-articlegrid__link:hover .famurai-articlegrid__title {
	color: var(--wp--preset--color--accent);
}

/* =========================================================
   Footer: SNS アイコン
   ========================================================= */
/* フッターのリンクは near-black 背景で見えるよう明色に（theme.jsonのink色を上書き） */
footer .wp-block-list a {
	color: var(--wp--preset--color--on-dark);
	text-decoration: none;
}
footer .wp-block-list a:hover {
	color: var(--wp--preset--color--accent);
}

.famurai-social {
	display: flex;
	gap: 16px;
	align-items: center;
}
.famurai-social a {
	display: inline-flex;
	color: var(--wp--preset--color--on-dark);
	transition: color 0.2s ease;
}
.famurai-social a:hover {
	color: var(--wp--preset--color--accent);
}

/* =========================================================
   Header / Primary navigation
   ========================================================= */
.famurai-header {
	position: sticky;
	top: 0;
	z-index: 100;
}
.famurai-header__inner {
	align-items: center;
}
/* ロゴは高さ基準で統一（縦長ロゴが巨大化しないよう抑制） */
.famurai-header .wp-block-site-logo {
	margin: 0;
	line-height: 0;
}
.famurai-header .wp-block-site-logo img,
.famurai-header .custom-logo {
	height: 51px; /* 44px から約15%拡大 */
	width: auto;
	max-width: none;
}
.famurai-actions {
	align-items: center;
}
.famurai-actions__icon {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--ink);
	transition: color 0.2s ease;
}

/* 著者ボックス内：記事一覧への誘導リンク */
.famurai-author-box__more {
	display: inline-block;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}
.famurai-author-box__more:hover { text-decoration: underline; }

/* 著者アーカイブ イントロ */
.famurai-author-intro__head {
	display: flex;
	align-items: center;
	gap: 18px;
}
.famurai-author-intro__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	flex: 0 0 auto;
}
.famurai-author-intro__eyebrow {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--accent);
}
.famurai-author-intro__name {
	margin: 2px 0 0;
	font-size: 28px;
	line-height: 1.3;
}
.famurai-author-intro__count {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-author-intro__bio {
	margin: 16px 0 0;
	max-width: 760px;
	font-size: 15px;
	line-height: 1.8;
	color: var(--wp--preset--color--ink-soft);
}
/* 著者の記事グリッド（カテゴリ eyebrow の上下余白） */
.famurai-author-grid__cat { margin: 12px 0 0; }

/* 著者一覧（固定ページ） */
.famurai-authors {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 8px 0;
}
.famurai-authors__card {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 20px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
}
.famurai-authors__avatarlink { flex: 0 0 auto; }
.famurai-authors__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	display: block;
}
.famurai-authors__name {
	margin: 0;
	font-size: 19px;
	line-height: 1.3;
}
.famurai-authors__name a { color: var(--wp--preset--color--ink); text-decoration: none; }
.famurai-authors__name a:hover { color: var(--wp--preset--color--accent); }
.famurai-authors__count {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-authors__bio {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.75;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-authors__more {
	display: inline-block;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}
.famurai-authors__more:hover { text-decoration: underline; }
@media (min-width: 600px) {
	.famurai-authors { grid-template-columns: 1fr 1fr; }
}
.famurai-actions__icon:hover {
	color: var(--wp--preset--color--accent);
}
/* ヘッダー右側アイコンの整列：検索/サポート/アカウント/カートを 22px・縦中央で統一 */
.famurai-actions { align-items: center; gap: 16px; }
.famurai-actions > * { margin: 0; display: inline-flex; align-items: center; }
/* 全アイコンを 22px に統一（svg の width/height 属性・min-width/height を上書き） */
.famurai-actions svg {
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	display: block;
	margin: 0;
}
/* ボタン系（検索＝floating-white-search はボタン自体がアイコン／ミニカート）の内部余白を撤去し中央寄せ */
.famurai-actions .famurai-header-search,
.famurai-actions .famurai-header-search .wp-block-search__button,
.famurai-actions .wc-block-mini-cart__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	min-height: 0 !important;
	line-height: 1;
}

/* nav (desktop) */
.famurai-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 28px;
}
.famurai-nav__item {
	position: relative;
	margin: 0;
}
.famurai-nav__item > a {
	display: inline-block;
	padding: 8px 0;
	font-size: 15px;
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	white-space: nowrap;
}
.famurai-nav__item > a:hover {
	color: var(--wp--preset--color--accent);
}
.famurai-nav__item--dropdown > a::after {
	content: "";
	display: inline-block;
	margin-left: 6px;
	border: 4px solid transparent;
	border-top-color: currentColor;
	transform: translateY(2px);
}
.famurai-nav__dropdown {
	list-style: none;
	margin: 0;
	padding: 8px 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.15s ease, transform 0.15s ease;
	z-index: 50;
}
.famurai-nav__item--dropdown:hover .famurai-nav__dropdown,
.famurai-nav__item--dropdown:focus-within .famurai-nav__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.famurai-nav__dropdown li { margin: 0; }
.famurai-nav__dropdown a {
	display: block;
	padding: 8px 18px;
	font-size: 14px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	white-space: nowrap;
}
.famurai-nav__dropdown a:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--accent); }
.famurai-nav__dropdown-all { border-top: 1px solid var(--wp--preset--color--line); margin-top: 4px; }
.famurai-nav__dropdown-all a { font-weight: 700; }

/* hamburger (hidden on desktop) */
.famurai-nav__toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}
.famurai-nav__toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--wp--preset--color--ink);
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.famurai-nav__toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.famurai-nav__toggle.is-active span:nth-child(2) { opacity: 0; }
.famurai-nav__toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* mobile */
@media (max-width: 900px) {
	.famurai-nav__toggle { display: flex; order: -1; }
	.famurai-nav {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: var(--wp--preset--color--base);
		border-bottom: 1px solid var(--wp--preset--color--line);
		box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
		padding: 8px 24px 20px;
	}
	.famurai-nav.is-open { display: block; }
	.famurai-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.famurai-nav__item { border-bottom: 1px solid var(--wp--preset--color--line); }
	.famurai-nav__item > a { padding: 12px 0; }
	.famurai-nav__item--dropdown > a::after { float: right; }
	.famurai-nav__dropdown {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		padding: 0 0 8px 14px;
		min-width: 0;
	}
	.famurai-nav__dropdown a { padding: 8px 0; }
}

/* =========================================================
   ショップ特選セクション ＋ カルーセル
   ========================================================= */
.famurai-shop-lead { margin: 0 0 32px; color: var(--wp--preset--color--ink-soft); font-size: 15px; line-height: 1.8; }
.famurai-specials__sec { margin-bottom: clamp(40px, 6vw, 72px); }
.famurai-carousel { position: relative; }
.famurai-carousel__track {
	list-style: none;
	margin: 0;
	padding: 6px 2px 14px;
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: thin;
}
.famurai-pcard2 {
	flex: 0 0 clamp(220px, 24vw, 268px);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent);
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.famurai-pcard2:hover { box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10); transform: translateY(-3px); }
.famurai-pcard2__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--wp--preset--color--surface); }
.famurai-pcard2__img { width: 100%; height: 100%; object-fit: contain; display: block; }
.famurai-pcard2__badge { position: absolute; top: 10px; left: 10px; color: var(--wp--preset--color--white); font-size: 11px; font-weight: 700; padding: 3px 11px; border-radius: 999px; }
.famurai-pcard2__body { display: flex; flex-direction: column; gap: 8px; padding: 14px; flex: 1; }
.famurai-pcard2__name { font-size: 14px; font-weight: 700; line-height: 1.5; color: var(--wp--preset--color--ink); text-decoration: none; }
.famurai-pcard2__name:hover { color: var(--wp--preset--color--accent); }
.famurai-pcard2__price { font-size: 15px; font-weight: 700; color: var(--wp--preset--color--ink); }
.famurai-pcard2__price del { font-size: 13px; font-weight: 400; color: var(--wp--preset--color--ink-soft); margin-right: 6px; }
.famurai-pcard2__price ins { text-decoration: none; }
.famurai-pcard2__cart {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--accent);
	border-radius: 999px;
	padding: 9px 14px;
	transition: opacity 0.2s ease;
}
.famurai-pcard2__cart:hover { opacity: 0.88; }
.famurai-pcard2__cart--out { color: var(--wp--preset--color--ink-soft); background: var(--wp--preset--color--surface); cursor: default; }
.famurai-pcard2__body .added_to_cart { display: none; } /* WC「カートを見る」リンクはカード内で非表示 */
.famurai-carousel__nav {
	position: absolute;
	top: calc(50% - 24px);
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: background 0.2s ease, color 0.2s ease;
}
.famurai-carousel__nav:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); }
.famurai-carousel__nav--prev { left: 4px; }
.famurai-carousel__nav--next { right: 4px; }
@media (max-width: 781px) {
	.famurai-carousel__nav { display: none; }
	.famurai-pcard2 { flex-basis: 70%; }
}

/* 特選：アウトレット・整備済品（グリッド表示） */
.famurai-specials__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.famurai-specials__grid .famurai-pcard2 { flex: initial; }
@media (max-width: 991.98px) {
	.famurai-specials__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767.98px) {
	.famurai-specials__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

/* =========================================================
   商品ページ：WCタブ（製品仕様 / レビュー）
   ========================================================= */
.woocommerce-tabs { margin-top: var(--wp--preset--spacing--xl, 48px); }
.woocommerce-tabs ul.wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
}
.woocommerce-tabs ul.wc-tabs li { margin: 0; padding: 0; }
.woocommerce-tabs ul.wc-tabs li a {
	display: inline-block;
	padding: 12px 2px;
	margin-bottom: -1px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	color: var(--wp--preset--color--ink-soft);
	border-bottom: 2px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.woocommerce-tabs ul.wc-tabs li.active a,
.woocommerce-tabs ul.wc-tabs li a:hover {
	color: var(--wp--preset--color--ink);
	border-bottom-color: var(--wp--preset--color--accent);
}
.woocommerce-tabs .woocommerce-Tabs-panel { margin: 0; }
.woocommerce-tabs table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}
.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td {
	padding: 12px 16px;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 8%, transparent);
	text-align: left;
	vertical-align: top;
	font-size: 14px;
}
.woocommerce-tabs table.shop_attributes th { width: 30%; font-weight: 700; }
.woocommerce-tabs table.shop_attributes td p { margin: 0; }

/* 商品タブ：FAQ（アコーディオン） */
.famurai-faq { display: flex; flex-direction: column; gap: 10px; }
.famurai-faq__item {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
	border-radius: 8px;
	overflow: hidden;
}
.famurai-faq__q {
	list-style: none;
	cursor: pointer;
	padding: 14px 18px;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	display: flex;
	align-items: center;
	gap: 10px;
}
.famurai-faq__q::-webkit-details-marker { display: none; }
.famurai-faq__q::before {
	content: "＋";
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	flex: 0 0 auto;
}
.famurai-faq__item[open] .famurai-faq__q::before { content: "−"; }
.famurai-faq__a {
	padding: 0 18px 16px 40px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-faq__a p { margin: 0 0 0.6em; }

/* 商品タブ：ダウンロード一覧 */
.famurai-downloads { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.famurai-download {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
	border-radius: 8px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.famurai-download:hover {
	border-color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 4%, transparent);
}
.famurai-download__icon {
	flex: 0 0 auto;
	width: 32px; height: 32px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent);
	font-size: 16px;
}
.famurai-download__body { display: flex; flex-direction: column; gap: 2px; }
.famurai-download__meta { font-size: 12px; font-weight: 400; color: var(--wp--preset--color--ink-soft); }

/* =========================================================
   商品ページ：関連商品カルーセル（Greenshift querygrid を横スクロール化）
   ========================================================= */
.famurai-relcar { position: relative; }
/* Greenshift querygrid（ul.wp-block-post-template）と WooCommerce product-collection
   （ul.wc-block-product-template）双方のグリッド指定を上書きして横スクロールのトラックに */
.famurai-relcar ul.wc-block-product-template {
	display: flex !important;
	grid-template-columns: none !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin: 0;
	scroll-padding-inline: 0;
}
.famurai-relcar ul.wc-block-product-template::-webkit-scrollbar { display: none; }
.famurai-relcar ul.wc-block-product-template > li {
	flex: 0 0 280px !important;
	width: 280px !important;
	max-width: 280px;
	scroll-snap-align: start;
}
@media (max-width: 575.98px) {
	.famurai-relcar ul.wc-block-product-template > li {
		flex-basis: 72vw !important;
		width: 72vw !important;
		max-width: 72vw;
	}
}
/* ナビ矢印：はみ出している時のみ表示 */
.famurai-relcar__nav { display: none; }
.famurai-relcar.is-overflowing .famurai-relcar__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 38%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	color: var(--wp--preset--color--ink);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	z-index: 3;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.famurai-relcar.is-overflowing .famurai-relcar__nav:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}
.famurai-relcar__nav--prev { left: -10px; }
.famurai-relcar__nav--next { right: -10px; }

/* =========================================================
   商品ページ：SNSシェア（Greenshift Social Share）— カート下
   ※ファイルテンプレ直書きのため inlineCssStyles が無く、テーマ側で最小整形
   ========================================================= */
/* （旧 Greenshift social-share 用CSSは 2026-07-18 撤去。famurai-share に置換済み） */

/* アイコンのみ表示（ラベルはtitle/aria-labelに保持） */

/* 商品ページ：簡単な説明（product-summary）の余白 */
.wp-block-woocommerce-product-summary { margin-top: 16px; }

/* 商品ページ：お買い物カゴに追加ボタン（色味を反転＝塗りで強調） */
.wp-block-add-to-cart-form .single_add_to_cart_button,
.wc-block-add-to-cart-form .single_add_to_cart_button,
form.cart .single_add_to_cart_button {
	background-color: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--white) !important;
	border: 1px solid var(--wp--preset--color--ink) !important;
	border-radius: 6px;
	font-weight: 700;
	padding: 14px 30px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.wp-block-add-to-cart-form .single_add_to_cart_button:hover,
.wc-block-add-to-cart-form .single_add_to_cart_button:hover,
form.cart .single_add_to_cart_button:hover {
	background-color: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--white) !important;
}

/* 商品ページ：新ギャラリーブロック（woocommerce/product-gallery）を Amazon 型に
   （左に72px正方形サムネイル縦列＋右に600px正方形メイン・白背景・contain）
   ※旧 flexslider（product-image-gallery）は 2026-07-21 に本ブロックへ置き換え済み */
.wp-block-woocommerce-product-gallery {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	max-width: 696px; /* 600(メイン) + 12(gap) + 72(サムネ) + 12(余裕) */
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails {
	flex: 0 0 72px !important; /* WC既定の 0 0 25% を読み込み順に依らず上書き */
	width: 72px;
	order: -1; /* サムネイルを左に */
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__scrollable {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 600px;
	overflow-y: auto;
	scrollbar-width: none;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail {
	width: 72px;
	height: 72px;
	flex: 0 0 auto;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	background: var(--wp--preset--color--surface);
	cursor: pointer;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail:hover img,
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail--is-active img,
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail[aria-current] img {
	opacity: 1;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail--is-active,
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__thumbnail[aria-current] {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: -2px;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-large-image {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 600px;
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	overflow: hidden;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-large-image__container,
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-large-image__wrapper {
	height: 100%;
}
.wp-block-woocommerce-product-gallery .wc-block-product-gallery-large-image__wrapper img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--wp--preset--color--white);
}
/* モバイルはメイン下の横並びに戻す */
@media ( max-width: 640px ) {
	.wp-block-woocommerce-product-gallery { flex-direction: column; }
	.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails { order: 1; flex-basis: auto; }
	.wp-block-woocommerce-product-gallery .wc-block-product-gallery-thumbnails__scrollable { flex-direction: row; max-height: none; overflow-x: auto; }
}

/* 商品ページ：ブランド サブバー（ヘッダー直下・全幅グレー帯） */
.famurai-subbar {
	background: var(--wp--preset--color--surface);
	padding-top: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 8%, transparent);
}
.famurai-subbar p { margin: 0; }
/* 商品ページ: カテゴリのピル型リンク（カート下） */
.famurai-pcats {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: var(--wp--preset--spacing--s);
}
.famurai-pcats__label {
	font-size: 12px;
	color: var(--wp--preset--color--ink-soft);
	letter-spacing: 0.08em;
}
.famurai-pcats__pill {
	display: inline-block;
	font-size: 13px;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--ink-soft);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
	transition: color 0.2s ease;
}
.famurai-pcats__pill:hover {
	color: var(--wp--preset--color--accent);
}

/* サブバー: 左=ブランド / 右=パンくず */
.famurai-subbar__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.famurai-bc { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--wp--preset--color--ink-soft); min-width: 0; }
.famurai-bc a { display: inline-flex; align-items: center; color: var(--wp--preset--color--ink-soft); text-decoration: none; transition: color 0.2s ease; }
.famurai-bc a:hover { color: var(--wp--preset--color--accent); }
.famurai-bc__home { display: block; }
.famurai-bc__sep { color: color-mix(in srgb, var(--wp--preset--color--ink-soft) 55%, transparent); }
.famurai-bc__current { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media ( max-width: 640px ) { .famurai-bc { display: none; } }
.famurai-subbar .famurai-product-brand { margin-bottom: 0; gap: 14px; }
.famurai-subbar .famurai-product-brand__logo-wrap { width: 52px; height: 52px; }
.famurai-subbar .famurai-product-brand__name { font-size: 18px; }
/* ヘッダーとサブバーの間の余白（WCラッパーのルート由来マージン）を詰める */
body.single-product .wp-site-blocks > .wp-block-group.woocommerce { margin-top: 0; margin-block-start: 0; }

/* グローバルメニューをビューポート中央寄せ：ナビを絶対配置でヘッダー中央（=ビューポート中央）に固定し、
   ロゴ(左)・アイコン(右)は space-between のまま。ロゴ/アイコンの幅差に影響されず正確に中央。 */
@media (min-width: 901px) {
	.famurai-header__inner { position: relative; }
	.famurai-header__inner > .famurai-nav {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* サポート導線：問い合わせCTAボックス（[famurai_support_cta]・docs/商品/ブランド共通） */
.famurai-support-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin: 40px 0 0;
	padding: 22px 28px;
	background: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 8%, transparent);
	border-radius: 12px;
}
.famurai-support-cta__body { min-width: 0; }
.famurai-support-cta__title {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
.famurai-support-cta__text {
	margin: 0;
	font-size: 14px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-support-cta__brand { font-weight: 700; color: var(--wp--preset--color--ink); }
.famurai-support-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }
.famurai-support-cta__btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--ink);
}
.famurai-support-cta__btn--ghost:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--ink);
}
.famurai-support-cta__btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 30px;
	border-radius: 6px;
	font-weight: 700;
	text-decoration: none;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.famurai-support-cta__btn:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

/* =========================================================
   フッター：ファットフッター ナビ（[famurai_footer_nav]）
   ========================================================= */
.famurai-fnav {
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* ①ブランド ②カテゴリ/固定ページ ③ショップ/規約 ④サポート/会社（ロゴ+SNSは下部署名バーへ移設） */
	gap: 32px 40px;
}
/* フロー型レイアウト既定の「2番目以降の子に margin-top」を打ち消し、全列の上端を揃える */
.famurai-fnav > * { margin-block-start: 0 !important; }
/* 署名バー：区切り線とコピーライトの間・中央スタック（ロゴ→SNS→コピーライト） */
.famurai-fbrandbar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
}
.famurai-fbrandbar .famurai-fnav__logotext {
	margin: 0;
}
.famurai-fbrandbar .famurai-social {
	display: flex;
	gap: 14px;
}
.famurai-fbrandbar .famurai-social a {
	color: var(--wp--preset--color--on-dark);
	transition: color 0.2s ease;
}
.famurai-fbrandbar .famurai-social a:hover {
	color: var(--wp--preset--color--accent);
}
/* ① ショップ＋サポートを同列二段 */
.famurai-fnav__col--stack { display: flex; flex-direction: column; gap: 28px; }
.famurai-fnav__sec + .famurai-fnav__sec { margin-top: 0; }
/* 見出し＝アイブロウ風（小さめ・字間広め・グレー＋アクセント下線）でリンクと明確に差別化。
   静的列の h4 は .wp-block-heading の既定上マージンが付くため margin-top を強制ゼロに（列間の縦ズレ防止） */
.famurai-fnav h4.famurai-fnav__title,
.famurai-fnav .famurai-fnav__title {
	margin: 0 0 16px !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: color-mix(in srgb, var(--wp--preset--color--on-dark) 55%, transparent);
}
.famurai-fnav .famurai-fnav__title::after {
	content: "";
	display: block;
	width: 24px;
	height: 2px;
	background: var(--wp--preset--color--accent);
	margin-top: 8px;
}
.famurai-fnav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 2;
}
.famurai-fnav__list li { margin: 0; }
.famurai-fnav__list a { color: var(--wp--preset--color--on-dark); text-decoration: none; transition: color 0.2s ease; }
.famurai-fnav__list a:hover { color: var(--wp--preset--color--accent); }
/* （旧・会社カラム(ロゴ+SNS)のCSSは 2026-07-18 撤去。ロゴ+SNSは下部署名バー famurai-fbrandbar へ移設済み） */
.famurai-fnav__logotext { display: inline-block; margin-bottom: 16px; font-size: 30px; font-weight: 800; letter-spacing: 0.12em; line-height: 1; color: var(--wp--preset--color--white); }
@media (max-width: 991.98px) {
	.famurai-fnav { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575.98px) {
	.famurai-fnav { grid-template-columns: 1fr; gap: 28px; }
	.famurai-fnav__col--brands { grid-column: auto; }
}

/* ヘッダー：ブランドドロップダウンを2列で全件表示（40ブランド規模対応） */
.famurai-nav__dropdown--brands {
	display: grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	column-gap: 8px;
	min-width: 360px;
	padding: 10px 0;
}
.famurai-nav__dropdown--brands .famurai-nav__dropdown-all {
	grid-column: 1 / -1;
}
/* フッター：ブランド一覧を2列で全件表示 */
.famurai-fnav__col--brands .famurai-fnav__list {
	columns: 1;
}
.famurai-fnav__col--brands .famurai-fnav__list li {
	break-inside: avoid;
}
@media (max-width: 575.98px) {
	.famurai-nav__dropdown--brands { min-width: 0; }
}

/* =========================================================
   WooCommerce マイアカウント：フォームの視認性（入力欄に枠線・ボタン強調）
   ※ FluentForms(.ff-el-*) には影響しない（WCクラスのみ対象）
   ========================================================= */
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="number"],
.woocommerce-account form input.input-text,
.woocommerce-account form select,
.woocommerce-account form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
}
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {
	border-color: var(--wp--preset--color--ink);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
	outline: none;
}
/* パスワードの表示切替（目アイコン）を枠内右に収める */
.woocommerce-account form .password-input { display: block; position: relative; }
.woocommerce-account form .password-input input { padding-right: 44px; }
.woocommerce-account form .password-input .show-password-input {
	position: absolute; top: 50%; right: 14px; transform: translateY(-50%);
}
.woocommerce-account form .woocommerce-form-row label { display: block; margin-bottom: 6px; font-weight: 600; }
/* ログイン等のボタン */
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-Button,
.woocommerce-account form button[type="submit"],
.woocommerce-account form .button {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 6px;
	padding: 12px 30px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account form button[type="submit"]:hover,
.woocommerce-account form .button:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

/* =========================================================
   製品登録モーダル（マイアカウント・<dialog>）
   ========================================================= */
.famurai-reg-modal {
	width: min(560px, 92vw);
	max-height: 88vh;
	overflow: auto;
	margin: auto;
	padding: 28px 28px 32px;
	border: none;
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
}
.famurai-reg-modal::backdrop {
	background: rgba(0, 0, 0, 0.5);
}
.famurai-reg-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 6px;
}
.famurai-reg-modal__title {
	margin: 0;
	font-size: 20px;
}
.famurai-reg-close {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	line-height: 1;
	color: var(--wp--preset--color--ink-soft);
	background: none;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.famurai-reg-close:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

/* 登録製品：見出し行（左:見出し / 右:製品登録ボタン） */
.famurai-reg-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.famurai-reg-head__title {
	margin: 0;
}
.famurai-reg-head .famurai-reg-open {
	flex: 0 0 auto;
}
@media (max-width: 575.98px) {
	.famurai-reg-head .famurai-reg-open { width: 100%; }
}

/* =========================================================
   マイアカウント：レイアウトのバランス調整
   WooCommerce既定のfloat回り込み → クリーンな2カラムgridへ
   ========================================================= */
/* WooCommerceコア(woocommerce-blocktheme.css)が .woocommerce-account main .woocommerce を
   max-width:1000px に制限しているため、同詳細度(main含む)＋後勝ちで本文幅まで広げる。
   カード装飾(border/box-shadow/角丸/padding)は維持。 */
/* 幅はログイン/ゲスト両方で本文幅まで（WC既定の max-width:1000px を解除） */
.woocommerce-account main .woocommerce { max-width: 100%; }
/* ナビがある（＝ログイン済み）アカウント画面のみ 2カラムgrid（ナビ220px＋本文） */
.woocommerce-account main .woocommerce:has( .woocommerce-MyAccount-navigation ) {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
/* 未ログインのログイン/登録：WooCommerce既定の .col2-set{width:50%;float:left} を
   ID指定＋!important で確実に上書きし、左右均等の2カラム(flex)にする */
.woocommerce-account .woocommerce:has( #customer_login ) { display: block; }
.woocommerce-account #customer_login.col2-set {
	display: flex !important;
	float: none !important;
	width: 100% !important;
	gap: 40px;
	padding-right: 0 !important;
	padding-left: 0 !important;
	align-items: flex-start;
}
.woocommerce-account #customer_login.col2-set > .col-1,
.woocommerce-account #customer_login.col2-set > .col-2 {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
	margin: 0 !important;
}
@media (max-width: 575.98px) {
	.woocommerce-account #customer_login.col2-set { flex-direction: column; }
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
	content: none;
}
/* WC が挿入する <style> 等の非表示要素にグリッドセルを占有させない */
.woocommerce-account .woocommerce > style {
	display: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: auto;
	float: none;
	margin: 0;
	grid-column: 1;
	grid-row: 1;
}
.woocommerce-account .woocommerce-MyAccount-content {
	width: auto;
	float: none;
	margin: 0;
	grid-column: 2;
	grid-row: 1;
}
/* アカウント内の見出しを本文に対して過大にしない */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .famurai-reg-head__title {
	font-size: 22px;
	line-height: 1.3;
}
@media (max-width: 768px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* マイアカウント：本文・テーブルのフォントが小さすぎる問題を修正
   （WC既定でcontent=13px / table th,td=em連鎖で約11pxに縮小されていた） */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	font-size: 15px;
}
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content li,
.woocommerce-account .woocommerce-MyAccount-content label,
.woocommerce-account .woocommerce-MyAccount-content a,
.woocommerce-account .woocommerce-MyAccount-content td,
.woocommerce-account .woocommerce-MyAccount-content th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
	font-size: 15px;
}

/* 登録製品：問い合わせボタン（リンク風）＋ 問い合わせモーダルの製品サマリ */
.famurai-inq-open {
	padding: 0;
	background: none;
	border: none;
	color: var(--wp--preset--color--accent);
	font-size: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.famurai-inq-open:hover {
	color: var(--wp--preset--color--ink);
}
.famurai-inq-summary {
	background: var(--wp--preset--color--surface);
	border-radius: 8px;
	padding: 14px 16px;
	margin: 4px 0 18px;
}
.famurai-inq-summary__row {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 3px 0;
	font-size: 14px;
}
.famurai-inq-summary__k {
	flex: 0 0 88px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-inq-summary__v {
	font-weight: 600;
}

/* =========================================================
   製品登録・サポート利用の案内（[famurai_registration_guide]）
   ========================================================= */
.famurai-guide { max-width: 760px; }
.famurai-guide__lead { font-size: 16px; line-height: 1.8; margin: 0 0 28px; }
.famurai-guide__steps { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 16px; }
.famurai-guide__step {
	display: flex; gap: 18px; align-items: flex-start;
	background: var(--wp--preset--color--surface);
	border-radius: 12px; padding: 20px 22px;
}
.famurai-guide__num {
	flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%;
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white);
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 17px; line-height: 1;
}
.famurai-guide__title { margin: 3px 0 6px; font-size: 17px; }
.famurai-guide__desc { margin: 0; font-size: 14px; line-height: 1.7; color: var(--wp--preset--color--ink-soft); }
.famurai-guide__cta { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.famurai-guide__btn {
	display: inline-block; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white);
	padding: 14px 36px; border-radius: 8px; font-weight: 700; text-decoration: none;
	transition: background-color 0.2s ease;
}
.famurai-guide__btn:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.famurai-guide__note { margin: 0; font-size: 13px; color: var(--wp--preset--color--ink-soft); }

/* =========================================================
   サポート導線：問い合わせ分岐ルーター（[famurai_inquiry_router]）
   ========================================================= */
.famurai-router { margin: 0 0 40px; }
.famurai-router__lead { font-size: 16px; font-weight: 600; margin: 0 0 18px; }
.famurai-router__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.famurai-router__card {
	display: flex; flex-direction: column;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px; padding: 22px 20px;
}
.famurai-router__title { margin: 0 0 8px; font-size: 16px; line-height: 1.45; }
.famurai-router__desc {
	margin: 0 0 18px; font-size: 13px; line-height: 1.7;
	color: var(--wp--preset--color--ink-soft); flex: 1 1 auto;
}
.famurai-router__btn {
	display: inline-block; text-align: center;
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white);
	padding: 11px 18px; border-radius: 8px; font-weight: 700; font-size: 14px;
	text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease;
}
.famurai-router__btn:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.famurai-router__btn--ghost {
	background: transparent; color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
}
.famurai-router__btn--ghost:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
@media (max-width: 781px) { .famurai-router__cards { grid-template-columns: 1fr; } }

/* 問い合わせルーター：2カード時は最大2列・横幅を抑えて中央寄り */
.famurai-router__cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
@media (max-width: 781px) { .famurai-router__cards--2 { grid-template-columns: 1fr; } }

/* docsアーカイブ末尾のルーター：上余白＋本文幅で中央寄せ */
.famurai-docs-archive-router { margin: 40px auto 0; max-width: 1200px; padding: 0; }

/* docsアーカイブ最下部の問い合わせ分岐：中央寄せ */
.famurai-docs-archive-router--center { text-align: center; margin-top: 48px; }
.famurai-docs-archive-router--center .famurai-router__lead { text-align: center; }
.famurai-docs-archive-router--center .famurai-router__cards { margin-left: auto; margin-right: auto; }
/* docsアーカイブのルーターはFAQアコーディオンと同じ幅まで広げる */
.famurai-docs-archive-router .famurai-router__cards--2 { max-width: none; }

/* =========================================================
   お問い合わせページ：製品サポート案内パネル（左カラム）
   ========================================================= */
.famurai-support-panel {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: 32px 28px;
	height: 100%;
	box-sizing: border-box;
}
.famurai-support-panel__eyebrow {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--accent);
}
.famurai-support-panel__title { margin: 0 0 14px; font-size: 22px; line-height: 1.4; }
.famurai-support-panel__desc {
	margin: 0 0 22px; font-size: 14px; line-height: 1.85;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-support-panel__btn {
	display: inline-block;
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white);
	padding: 13px 30px; border-radius: 8px; font-weight: 700; text-decoration: none;
	transition: background-color 0.2s ease;
}
.famurai-support-panel__btn:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.famurai-support-panel__note {
	margin: 18px 0 0; font-size: 12.5px; line-height: 1.7;
	color: var(--wp--preset--color--ink-soft);
}
/* お問い合わせページ：連絡先情報（フォーム下・中央寄せ） */
.famurai-contact-info { text-align: center; }
.famurai-contact-info .famurai-contact-info__row { margin: 0; }

/* =========================================================
   固定ページ ヒーロー（[famurai_page_hero]・アイキャッチ＋タイトル・全幅）
   ========================================================= */
.famurai-page-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw); /* フルブリード（全幅） */
	margin-top: 0; /* ヘッダー直下に密着（既定のブロック間隔を打ち消す） */
	min-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	text-align: center;
}
.famurai-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.5) 100%);
}
/* アイキャッチ未設定：濃いグレー背景（オーバーレイ不要）・高さは低め */
.famurai-page-hero--plain { background-color: var(--wp--preset--color--near-black); min-height: 200px; }
.famurai-page-hero--plain::before { display: none; }
.famurai-page-hero__inner {
	position: relative;
	z-index: 1;
	padding: 28px 24px;
}
.famurai-page-hero__title {
	margin: 0;
	color: var(--wp--preset--color--white);
	font-size: clamp(26px, 4vw, 42px);
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

/* =========================================================
   ヘッダー検索（Greenshift floating-search）を白ヘッダー用に調整
   ========================================================= */
.famurai-header .famurai-header-search { margin: 0; }
.famurai-header .famurai-header-search .wp-block-search__inside-wrapper { background: none !important; border: none; }
.famurai-header .famurai-header-search .wp-block-search__button {
	background: none !important;
	border: none;
	padding: 0 !important;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.famurai-header .famurai-header-search .wp-block-search__button svg {
	width: 22px;
	height: 22px;
	fill: var(--wp--preset--color--ink);
}
.famurai-header .famurai-header-search .wp-block-search__button:hover svg { fill: var(--wp--preset--color--accent); }
/* ドロップダウン検索パネル（送信ボタンをアクセント色に） */
.gs-floating-search-block .wp-block-search__button { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); border: none; }

/* =========================================================
   検索結果ページ（search.html）
   ========================================================= */
.famurai-search__eyebrow {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.famurai-search .famurai-search__title,
.famurai-search .wp-block-query-title {
	margin: 0 0 28px;
	font-size: clamp(26px, 4vw, 38px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
}
/* 検索フォーム：入力＋ボタンを1つの枠に */
.famurai-search__form { max-width: 560px; margin: 0 0 44px; }
.famurai-search__form .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow: hidden;
	padding: 0;
}
.famurai-search__form input[type="search"] {
	border: none !important;
	padding: 14px 16px;
	font-size: 15px;
	background: var(--wp--preset--color--base);
}
.famurai-search__form .wp-block-search__button {
	margin: 0;
	border: none;
	border-radius: 0;
	padding: 0 26px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.famurai-search__form .wp-block-search__button:hover { background: var(--wp--preset--color--ink); }
/* 結果リスト：区切り線＋ホバー */
.famurai-search__item {
	align-items: flex-start;
	padding: 24px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.famurai-search__item:first-child { border-top: 1px solid var(--wp--preset--color--line); }
.famurai-search__thumb { flex: 0 0 auto; }
.famurai-search__thumb img { border-radius: 8px; object-fit: cover; }
.famurai-search__body { flex: 1 1 auto; min-width: 0; }
.famurai-search__item-title { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.45; }
.famurai-search__item-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.famurai-search__item-title a:hover { color: var(--wp--preset--color--accent); }
.famurai-search__item-excerpt {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-search__empty {
	padding: 32px;
	background: var(--wp--preset--color--surface);
	border-radius: 12px;
	text-align: center;
	color: var(--wp--preset--color--ink-soft);
}
/* ページネーション */
.famurai-search .wp-block-query-pagination { gap: 8px; }
.famurai-search .wp-block-query-pagination a,
.famurai-search .wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers {
	text-decoration: none;
}

/* コア Query ページネーション（記事一覧/検索 共通）：
   クリック可能に見えるボックス型。SHOP全商品一覧（.famurai-allproducts-grid .pagination）と同意匠 */
.wp-block-query-pagination {
	gap: 6px;
	align-items: center;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	font-size: 15px;
	line-height: 1;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	transition: border-color .15s ease, background-color .15s ease;
}
.wp-block-query-pagination a:hover {
	border-color: var(--wp--preset--color--ink);
	background: rgba(0, 0, 0, 0.03);
}
.wp-block-query-pagination .page-numbers.current {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--ink);
}
.wp-block-query-pagination .page-numbers.dots {
	border: 0;
	min-width: auto;
	padding: 0 4px;
}
@media (max-width: 575.98px) {
	.famurai-search__item { flex-direction: column; }
	.famurai-search__thumb img { width: 100%; height: auto; }
}

/* 検索見出し：固定ページヒーロー同様の黒背景バンド */
.famurai-search-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 36px 24px;
	background: var(--wp--preset--color--near-black);
	text-align: center;
}
.famurai-search-hero .famurai-search__eyebrow { margin: 0 0 10px; }
.famurai-search-hero .famurai-search__title,
.famurai-search-hero .wp-block-query-title {
	margin: 0;
	color: var(--wp--preset--color--white);
	font-size: clamp(26px, 4vw, 38px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

/* ニュースカテゴリ回遊ナビ（[famurai_category_nav]・黒帯ヒーロー内のピル型リンク） */
.famurai-catnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 22px;
}
.famurai-catnav__item {
	display: inline-block;
	padding: 7px 18px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--wp--preset--color--white);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.famurai-catnav__item:hover {
	border-color: var(--wp--preset--color--white);
	background: rgba(255, 255, 255, 0.12);
}
.famurai-catnav__item.is-active {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--near-black);
	pointer-events: none;
}
/* 白背景用ライト配色（home.html などヒーロー帯の外に置く場合） */
.famurai-catnav--light {
	margin-top: 0;
}
.famurai-catnav--light .famurai-catnav__item {
	border-color: var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
}
.famurai-catnav--light .famurai-catnav__item:hover {
	border-color: var(--wp--preset--color--ink);
	background: rgba(0, 0, 0, 0.05);
}
.famurai-catnav--light .famurai-catnav__item.is-active {
	background: var(--wp--preset--color--near-black);
	border-color: var(--wp--preset--color--near-black);
	color: var(--wp--preset--color--white);
}
/* フィルタモード（トップのニュース欄）：読み込み中は操作を止めて薄く */
.famurai-catnav.is-loading {
	opacity: 0.55;
	pointer-events: none;
}
/* 商品カードのブランドリンク（商品名の上に小さく表示。
   ブランドページ/商品詳細ページでは PHP 側＝famurai_card_brand_link() で出力を抑止） */
.famurai-card-brand {
	display: block;
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--wp--preset--color--ink-soft);
	text-decoration: none;
}
.famurai-card-brand:hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

/* SHOP すべての商品：件数＋並び替えツールバー */
.famurai-alltoolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin: 0 0 20px;
}
.famurai-alltoolbar__count {
	font-size: 14px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-allsort {
	display: flex;
	align-items: center;
	gap: 10px;
}
.famurai-allsort__label {
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-allsort select {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 18%, transparent);
	border-radius: 8px;
	padding: 8px 12px;
	cursor: pointer;
}

/* カード内アクションクラスタ（自作 QV/比較/ウィッシュリスト・画像右上に縦並び）
   ヘッダの .famurai-actions（横並びアイコン群）と同名のため、カード画像内に限定する */
.famurai-pcard__media .famurai-actions {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	z-index: 2;
}
.famurai-actions__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07);
	color: var(--wp--preset--color--ink-soft);
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
}
.famurai-actions__btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}
.famurai-actions__btn:hover {
	transform: scale(1.06);
	color: var(--wp--preset--color--ink);
}
/* ホバー時のみ表示（ホバー可能なデバイス限定。タッチ端末では常時表示を維持）
   キーボード操作時は focus-within で表示する */
@media (hover: hover) {
	.famurai-pcard__media .famurai-actions {
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}
	.famurai-pcard__media:hover .famurai-actions,
	.famurai-pcard__media:focus-within .famurai-actions {
		opacity: 1;
		visibility: visible;
	}
}
.famurai-wl:hover,
.famurai-wl.is-on {
	color: var(--wp--preset--color--crimson);
}
.famurai-wl.is-on svg {
	fill: currentColor;
}
.famurai-cmp.is-on {
	background: var(--wp--preset--color--near-black);
	color: var(--wp--preset--color--white);
}

/* クイックビュー モーダル */
.famurai-qvm {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
}
.famurai-qvm.is-open {
	display: block;
}
body.famurai-qvm-open {
	overflow: hidden;
}
.famurai-qvm__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}
.famurai-qvm__dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(920px, calc(100vw - 32px));
	max-height: calc(100vh - 64px);
	overflow: auto;
	background: var(--wp--preset--color--white);
	border-radius: 10px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
}
.famurai-qvm__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
	border-radius: 50%;
	cursor: pointer;
	color: var(--wp--preset--color--ink-soft);
	z-index: 2;
}
.famurai-qvm__close:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}
.famurai-qvm__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	padding: 28px;
}
.famurai-qvm__media img {
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: scale-down;
}
.famurai-qvm__title {
	margin: 4px 0 10px;
	font-size: 22px;
	line-height: 1.4;
}
.famurai-qvm__price {
	font-size: 24px;
	font-weight: 700;
	margin: 10px 0;
}
.famurai-qvm__desc {
	font-size: 14px;
	line-height: 1.8;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-qvm__actions {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
}
.famurai-qvm__cart {
	background: var(--wp--preset--color--near-black);
	color: var(--wp--preset--color--white);
	border-radius: 50px;
	padding: 12px 28px;
	text-decoration: none;
	white-space: nowrap;
}
.famurai-qvm__actions .added_to_cart {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
.famurai-qvm__cart:hover {
	background: var(--wp--preset--color--accent);
}
.famurai-qvm__detail {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}
.famurai-qvm__content .famurai-wl-empty {
	grid-column: 1 / -1;
}
@media (max-width: 767.98px) {
	.famurai-qvm__content {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 20px;
	}
}

/* 比較テーブル（/compare-products/） */
.famurai-cmp-table__wrap {
	overflow-x: auto;
	margin-top: 24px;
}
.famurai-cmp-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	min-width: 640px;
}
.famurai-cmp-table th,
.famurai-cmp-table td {
	border: 1px solid var(--wp--preset--color--line);
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
}
.famurai-cmp-table th {
	width: 120px;
	background: var(--wp--preset--color--surface);
	font-weight: 600;
	white-space: nowrap;
}
.famurai-cmp-table__prod {
	display: block;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}
.famurai-cmp-table__prod img {
	display: block;
	width: 120px;
	height: auto;
	margin-bottom: 8px;
}
.famurai-cmp-table__cart {
	display: inline-block;
	font-size: 13px;
	border-radius: 50px;
	padding: 9px 18px;
	background: var(--wp--preset--color--near-black);
	color: var(--wp--preset--color--white);
	text-decoration: none;
}
.famurai-cmp-table__cart:hover {
	background: var(--wp--preset--color--accent);
}
.famurai-cmp-table__remove {
	margin-top: 10px;
	font-size: 12px;
	color: var(--wp--preset--color--ink-soft);
	text-decoration: underline;
	cursor: pointer;
}
.famurai-cmp-table__remove:hover {
	color: var(--wp--preset--color--crimson);
}
.famurai-wl-empty {
	margin: 40px 0;
	text-align: center;
	color: var(--wp--preset--color--ink-soft);
}
/* /wishlist/ ページ: REST断片には WC のコレクション用CSSが同梱されないため自前でグリッド化 */
#famurai-wishlist-page .wc-block-product-template {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px 20px;
}
#famurai-wishlist-page .wc-block-product-template > li {
	margin: 0;
}
@media (max-width: 991.98px) {
	#famurai-wishlist-page .wc-block-product-template { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
	#famurai-wishlist-page .wc-block-product-template { grid-template-columns: repeat(2, 1fr); gap: 20px 12px; }
}

/* SNSシェアボタン（[famurai_share]・丸型アイコン） */
.famurai-share {
	display: flex;
	gap: 12px;
	margin-top: 20px;
}
.famurai-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 50%;
	color: var(--wp--preset--color--ink-soft);
	background: var(--wp--preset--color--white);
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.famurai-share__btn:hover {
	color: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}
.famurai-share__copy.is-done {
	color: #2e7d32;
	border-color: #2e7d32;
}

/* =========================================================
   コア再構築版 商品カード（famurai-pcard）
   WC コアブロック（product-image/post-title/product-rating/
   product-price/product-button）で構成。QV/比較/ウィッシュリストの
   アクションクラスタ（QV/比較/WL）も自作 .famurai-actions。
   ========================================================= */
.famurai-pcard__media {
	position: relative;
}
.famurai-pcard__media .wp-block-woocommerce-product-image {
	margin: 0;
	padding: 20px;
	text-align: center;
}
.famurai-pcard__media .wp-block-woocommerce-product-image img {
	width: auto;
	max-width: 100%;
	height: 200px;
	object-fit: scale-down;
	margin-inline: auto;
}
.famurai-pcard__body {
	padding: 15px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.famurai-pcard__title {
	margin: 0;
	font-size: 18px;
	line-height: 25px;
	font-weight: 500;
	font-family: var(--wp--preset--font-family--sans);
	letter-spacing: 0;
}
.famurai-pcard__title a {
	text-decoration: none;
	color: inherit;
}
.famurai-pcard__title a:hover {
	color: var(--wp--preset--color--accent);
}
.famurai-pcard__rating {
	font-size: 18px;
	color: #e7a53a; /* 星の色（既存カードの評価色に合わせる） */
}
.famurai-pcard__buy {
	margin-top: auto;
}
.famurai-pcard__price,
.famurai-pcard__price .wc-block-components-product-price {
	font-size: 23px;
	line-height: 25px;
	font-weight: 700;
}
.famurai-pcard__price del {
	font-size: 18px;
	font-weight: 400;
	color: color-mix(in srgb, var(--wp--preset--color--ink-soft) 55%, transparent);
}
.famurai-pcard__price ins {
	text-decoration: none;
}
/* カートボタン：丸型アイコンボタン（テキストは隠しカートアイコンを描画）
   ※WCブロックの product-button コンポーネントCSS（interactive変種）に負けないよう
   主要プロパティは !important（AJAX変種/interactive変種の両マークアップに適用） */
.famurai-pcard__cart .wp-element-button {
	width: 45px !important;
	height: 45px !important;
	min-width: 45px !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	font-size: 0 !important;
	line-height: 0 !important;
	background: var(--wp--preset--color--near-black);
	color: var(--wp--preset--color--white);
	/* トップの注目商品（wc-block-grid 変種）では WCブロック側 CSS が display:block を
	   当ててアイコン(::before)が中央からずれるため、flex 中央寄せも !important にする */
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.famurai-pcard__cart .wp-element-button:hover {
	background: var(--wp--preset--color--accent);
}
.famurai-pcard__cart .wp-element-button::before,
.famurai-pcard__cart .wc-block-components-product-button__button::before {
	content: "" !important;
	display: block !important;
	opacity: 1 !important;
	position: static !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border: none !important;
	animation: none;
	background: currentColor !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1.6'/%3E%3Ccircle cx='19' cy='21' r='1.6'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57L23 6H6.16'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1.6'/%3E%3Ccircle cx='19' cy='21' r='1.6'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57L23 6H6.16'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
.famurai-pcard__cart .wp-element-button.loading::before {
	animation: famurai-cartpulse 0.8s linear infinite;
}
@keyframes famurai-cartpulse {
	50% { opacity: 0.35; }
}
/* 追加後に出る「カートを見る」リンクはカードでは非表示（レイアウト崩れ防止） */
.famurai-pcard__cart .added_to_cart {
	display: none;
}
@media (max-width: 575.98px) {
	.famurai-pcard__media .wp-block-woocommerce-product-image {
		padding: 0;
	}
	.famurai-pcard__media .wp-block-woocommerce-product-image img {
		height: 120px;
	}
	.famurai-pcard__body {
		padding: 10px 0 0;
	}
	.famurai-pcard__price,
	.famurai-pcard__price .wc-block-components-product-price {
		font-size: 20px;
		line-height: 23px;
	}
}

/* フィルタ結果が0件のときの表示（グリッド全幅） */
.famurai-news__empty {
	grid-column: 1 / -1;
	margin: 24px 0;
	text-align: center;
	color: var(--wp--preset--color--ink-soft);
}
/* フィルタ差し替え・追加読み込みのアニメーション */
.famurai-news__grid {
	transition: opacity 0.18s ease;
}
.famurai-news__grid.is-updating {
	opacity: 0.35;
}
@keyframes famurai-news-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}
.famurai-news__grid > .is-entering {
	animation: famurai-news-in 0.28s ease both;
}
@media (prefers-reduced-motion: reduce) {
	.famurai-news__grid { transition: none; }
	.famurai-news__grid > .is-entering { animation: none; }
}

/* docs(サポート)ヒーロー：has-global-padding/blockGap内に差し込むための補正 */
.famurai-page-hero--docs {
	width: auto !important;
	/* 上:親ラッパの margin-top(24px)を相殺 / 左右:has-global-padding(1.25rem)を相殺して全幅 */
	margin: -24px -1.25rem 0 !important;
}
.famurai-docs-intro {
	max-width: 760px;
	margin: 28px auto 4px;
	text-align: center;
	font-size: 15px;
	line-height: 1.9;
	color: var(--wp--preset--color--ink-soft);
}

/* === [領域D] フッター上ベネフィット帯（ショップのメリット3カラム） === */
.famurai-benefits {
	background: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--line);
}
.famurai-benefits__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 26px 24px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.famurai-benefits__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .02em;
	color: var(--wp--preset--color--ink);
}
.famurai-benefits__item svg {
	flex: none;
	color: var(--wp--preset--color--accent);
}
@media (max-width: 600px) {
	.famurai-benefits__inner {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 20px 24px;
	}
	.famurai-benefits__item {
		justify-content: flex-start;
	}
}

/* （フッタ内ニュースレターは 2026-07-18 撤去済み） */

/* === [領域D] フッターナビ：同一カラム内の連続セクション間隔（サポート＋会社・サービス二段用） === */
.famurai-fnav__col .famurai-fnav__sec + .famurai-fnav__sec {
	margin-top: 26px;
}

/* === [領域A] brands-list === */
.famurai-brands {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 8px 0;
}
.famurai-brands__card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
	overflow: hidden;
}
.famurai-brands__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px 20px;
	min-height: 120px;
	background: var(--wp--preset--color--surface);
	text-decoration: none;
}
.famurai-brands__logo {
	max-width: 72%;
	max-height: 84px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.famurai-brands__logo--text {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--wp--preset--color--ink);
	text-align: center;
}
.famurai-brands__body {
	padding: 18px 20px 22px;
}
.famurai-brands__name {
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.famurai-brands__name a { color: var(--wp--preset--color--ink); text-decoration: none; }
.famurai-brands__name a:hover { color: var(--wp--preset--color--accent); }
.famurai-brands__badge {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--wp--preset--color--accent);
	border: 1px solid currentColor;
	border-radius: 999px;
	padding: 2px 9px;
	white-space: nowrap;
}
.famurai-brands__desc {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.75;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-brands__more {
	display: inline-block;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}
.famurai-brands__more:hover { text-decoration: underline; }
@media (min-width: 600px) {
	.famurai-brands { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
	.famurai-brands { grid-template-columns: repeat(3, 1fr); }
}

/* === [領域D] ページヒーロー画像のパララックス（トップ/独自ブランドトップは別クラスのため対象外） === */
/* 画像ありのページヒーローのみ背景を固定してパララックス。--plain（画像なし）は除外。 */
.famurai-page-hero:not(.famurai-page-hero--plain) {
	background-attachment: fixed;
}
@media (max-width: 782px) {
	/* モバイルは background-attachment:fixed 非対応/ジャンクのため通常スクロールに戻す */
	.famurai-page-hero:not(.famurai-page-hero--plain) {
		background-attachment: scroll;
	}
}

/* === [領域D] トップ再構成（ブランド帯/カテゴリカルーセル/注目カード白/誘導帯） === */
/* ブランド帯：見出しなし・ロゴ主体の洗練グリッド（モノクロ→ホバーでカラー） */
.famurai-brandband .famurai-brand-grid {
	gap: 14px;
}
.famurai-brandband .famurai-brand-grid__item {
	box-shadow: none;
	border: 1px solid var(--wp--preset--color--line);
	padding: 32px 18px;
	transition: border-color .2s ease;
}
.famurai-brandband .famurai-brand-grid__item:hover {
	box-shadow: none;
	border-color: var(--wp--preset--color--ink);
}
.famurai-brandband .famurai-brand-grid__logo {
	filter: grayscale(1);
	opacity: .72;
	transition: filter .25s ease, opacity .25s ease;
}
.famurai-brandband .famurai-brand-grid__item:hover .famurai-brand-grid__logo {
	filter: none;
	opacity: 1;
}
/* ロゴ画像に社名が含まれるため、テキストは視覚的に隠す（スクリーンリーダーには残す） */
.famurai-brandband .famurai-brand-grid__name {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.famurai-brandband .famurai-brand-grid__item { position: relative; }
@media (max-width: 782px) {
	.famurai-brandband .famurai-brand-grid { grid-template-columns: repeat(2, 1fr); }
}

/* カテゴリ：6カラムのグリッド（正方形メディア＋名前のシンプルカード） */
.famurai-catgrid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 24px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.famurai-catcar__link {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
}
.famurai-catcar__media {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	overflow: hidden;
}
.famurai-catcar__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.famurai-catcar__link:hover .famurai-catcar__img { transform: scale(1.05); }
.famurai-catcar__ph { display: block; width: 100%; height: 100%; }
.famurai-catcar__name {
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
@media (max-width: 1024px) { .famurai-catgrid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 782px)  { .famurai-catgrid { grid-template-columns: repeat(3, 1fr); gap: 18px 14px; } }
@media (max-width: 480px)  { .famurai-catgrid { grid-template-columns: repeat(2, 1fr); } }

/* 注目商品（トップ）：カード背景を白に統一 */

/* 誘導帯：ショップ/サポート/取扱店舗の3カード（アイコン付き・ライト配色） */
.famurai-gateband {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.famurai-gateband__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 34px 30px 30px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.famurai-gateband__item:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 12px 28px rgba(0, 0, 0, .08);
}
.famurai-gateband__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--accent);
}
.famurai-gateband__title { font-size: 18px; font-weight: 700; color: var(--wp--preset--color--ink); }
.famurai-gateband__desc { font-size: 13px; line-height: 1.7; color: var(--wp--preset--color--ink-soft); }
.famurai-gateband__cta { margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--wp--preset--color--accent); }
@media (max-width: 782px) {
	.famurai-gateband { grid-template-columns: 1fr; }
}

/* === [領域D] wpautop 由来の空段落を無効化（ショートコード/Smart Slider 周辺で
   ヘッダ直下等に出る余白を防止。margin相殺による隙間対策・全テンプレ共通） === */
p:empty {
	display: none;
}

/* === [領域C] Certified Store（ショップ再構成） === */
/* ① 入口タイル（モノトーン・罫線のみ） */
.famurai-sentry {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 8px 0 48px;
}
.famurai-sentry__tile {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 24px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	transition: border-color .2s ease;
}
.famurai-sentry__tile:hover { border-color: var(--wp--preset--color--ink); }
.famurai-sentry__en {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-sentry__label { font-size: 18px; font-weight: 700; }
.famurai-sentry__count { margin-left: 10px; font-size: 13px; font-weight: 500; color: var(--wp--preset--color--ink-soft); }
.famurai-sentry__desc { font-size: 13px; line-height: 1.6; color: var(--wp--preset--color--ink-soft); }
@media (max-width: 767.98px) {
	.famurai-sentry { grid-template-columns: 1fr; gap: 10px; margin-bottom: 36px; }
}

/* セクション補足（信頼の一文） */
.famurai-sec-note { margin: -6px 0 22px; font-size: 13px; line-height: 1.7; color: var(--wp--preset--color--ink-soft); }

/* ②③ 横長カード（アウトレット/整備済） */
.famurai-wcards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
.famurai-wcard {
	display: flex;
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	background: var(--wp--preset--color--base);
}
.famurai-wcard__media { flex: 0 0 160px; display: flex; align-items: center; justify-content: center; }
.famurai-wcard__img { max-width: 160px; max-height: 140px; width: auto; height: auto; object-fit: contain; }
.famurai-wcard__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.famurai-wcard__state {
	align-self: flex-start;
	padding: 2px 8px;
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--wp--preset--color--ink);
}
.famurai-wcard__name { font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--wp--preset--color--ink); text-decoration: none; }
.famurai-wcard__name:hover { color: var(--wp--preset--color--accent); }
.famurai-wcard__cond { margin: 0; font-size: 13px; line-height: 1.7; color: var(--wp--preset--color--ink-soft); }
.famurai-wcard__price { font-size: 15px; }
.famurai-wcard__price del { font-size: 12px; font-weight: 400; color: var(--wp--preset--color--ink-soft); }
.famurai-wcard__price ins { text-decoration: none; font-weight: 700; }
.famurai-wcard--soldout .famurai-wcard__img { filter: grayscale(1); opacity: .55; }
@media (max-width: 767.98px) {
	.famurai-wcards { grid-template-columns: 1fr; }
	.famurai-wcard__media { flex-basis: 110px; }
	.famurai-wcard__img { max-width: 110px; max-height: 100px; }
}

/* バッジの ink 1色統一（新セクション用） */
.famurai-pcard2__badge--ink { background: var(--wp--preset--color--ink); }

/* ⑤ 人気ランキング（番号） */
.famurai-ranking .famurai-pcard2 { position: relative; }
.famurai-rank__num {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
}

/* ⑥ お客様の声 */
.famurai-shoprev {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.famurai-shoprev__card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	background: var(--wp--preset--color--base);
}
.famurai-shoprev__stars { font-size: 14px; letter-spacing: 2px; color: var(--wp--preset--color--accent); }
.famurai-shoprev__text { margin: 0; font-size: 14px; line-height: 1.8; }
.famurai-shoprev__meta { margin: auto 0 0; font-size: 12px; color: var(--wp--preset--color--ink-soft); }
.famurai-shoprev__meta a { color: inherit; }
@media (max-width: 767.98px) {
	.famurai-shoprev { grid-template-columns: 1fr; }
}

/* ⑦ 在庫切れカードは静かにグレースケール */
.famurai-pcard2--soldout .famurai-pcard2__img { filter: grayscale(1); opacity: .55; }

/* ⑧ 入荷のご案内 */
.famurai-shopnews {
	margin-top: 24px;
	padding: 40px 24px;
	border-top: 1px solid var(--wp--preset--color--line);
	text-align: center;
}
.famurai-shopnews .fmsh-header { justify-content: center; text-align: center; }
.famurai-shopnews__lead { margin: 8px auto 18px; max-width: 560px; font-size: 14px; line-height: 1.8; color: var(--wp--preset--color--ink-soft); }
.famurai-shopnews__form { max-width: 480px; margin: 0 auto; }

/* ⑨ ショップ2カラム（左:専用メニュー / 右:コンテンツ） */
.famurai-shop-layout {
	display: grid;
	grid-template-columns: 232px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.famurai-shopside {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.famurai-shopside__sec { border-top: 1px solid var(--wp--preset--color--line); padding-top: 18px; }
.famurai-shopside__sec:first-child { border-top: 0; padding-top: 0; }
.famurai-shopside__title {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--wp--preset--color--ink-soft);
}
.famurai-shopside__list,
.famurai-shopside .famurai-brand-list__items {
	list-style: none;
	margin: 0;
	padding: 0;
}
.famurai-shopside__list li,
.famurai-shopside .famurai-brand-list__items li { margin: 0; }
.famurai-shopside__list a,
.famurai-shopside .famurai-brand-list__items a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 2px;
	font-size: 14px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border-radius: 4px;
}
.famurai-shopside__list a:hover,
.famurai-shopside .famurai-brand-list__items a:hover { color: var(--wp--preset--color--accent); }
.famurai-shopside__count,
.famurai-shopside .famurai-brand-list__count {
	font-size: 12px;
	color: var(--wp--preset--color--ink-soft);
	opacity: 1;
}
/* brand-list ブロック側の体裁をサイドバー文脈に合わせる */
.famurai-shopside .famurai-brand-list__title { display: none; }
.famurai-shopside .famurai-brand-list__items { line-height: inherit; }
/* SP: サイドバーはコンテンツの下へ（入口タイルが上部ナビを担う） */
@media (max-width: 991.98px) {
	.famurai-shop-layout { grid-template-columns: 1fr; gap: 40px; }
	.famurai-shopside { position: static; order: 2; }
	.famurai-shop-main { order: 1; }
}

/* お客様の声カード：商品サムネ＋商品名ヘッダー */
.famurai-shoprev__product {
	display: flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	padding-bottom: 16px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.famurai-shoprev__thumbwrap {
	flex: 0 0 88px;
	width: 88px;
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
}
.famurai-shoprev__thumb { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.famurai-shoprev__pname { font-size: 16px; font-weight: 700; line-height: 1.5; }
.famurai-shoprev__product:hover .famurai-shoprev__pname { color: var(--wp--preset--color--accent); }

/* セクション「すべて見る」リンク */
.famurai-sec-more { margin: 22px 0 0; text-align: right; }
.famurai-sec-more a {
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}
.famurai-sec-more a:hover { text-decoration: underline; }


/* すべての商品（WC 標準：並び替え＋商品グリッド） */
.famurai-shopbar { margin: 12px 0 20px; font-size: 14px; color: var(--wp--preset--color--ink-soft); border-top: 1px solid var(--wp--preset--color--line); padding-top: 18px; }
.famurai-shopbar .woocommerce-result-count,
.famurai-shopbar .wp-block-woocommerce-product-results-count { margin: 0; }
.famurai-allproducts .wp-block-woocommerce-product-template { gap: 24px; }

/* すべての商品（Greenshift querygrid：並び替えバー＋ページネーション整形） */
/* （旧 querygrid 版すべての商品バー用CSSは 2026-07-18 撤去。コア版に置換済み） */

/* ページネーション：Greenshift は <br> 区切りで出力するため横並びに矯正 */
.famurai-allproducts-grid .pagination .nav-links br { display: none; }
.famurai-allproducts-grid .pagination { text-align: center; }
.famurai-allproducts-grid .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px;
}
.famurai-allproducts-grid .pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	margin: 0 !important;
	font-size: 15px;
	line-height: 1;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	transition: border-color .15s ease, background-color .15s ease;
}
.famurai-allproducts-grid .pagination .page-numbers.current {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--ink);
}
.famurai-allproducts-grid .pagination .page-numbers.dots { border: 0; min-width: auto; padding: 0 4px; }
.famurai-allproducts-grid .pagination .page-numbers:hover:not(.current):not(.dots) { border-color: var(--wp--preset--color--ink); }

/* === [領域D] トップ再構成（ブランド帯/カテゴリカルーセル/注目カード白/誘導帯） === */
/* ブランド帯：見出しなし・ロゴ主体の洗練グリッド（モノクロ→ホバーでカラー） */
.famurai-brandband .famurai-brand-grid {
	gap: 14px;
}
.famurai-brandband .famurai-brand-grid__item {
	box-shadow: none;
	border: 1px solid var(--wp--preset--color--line);
	padding: 32px 18px;
	transition: border-color .2s ease;
}
.famurai-brandband .famurai-brand-grid__item:hover {
	box-shadow: none;
	border-color: var(--wp--preset--color--ink);
}
.famurai-brandband .famurai-brand-grid__logo {
	filter: grayscale(1);
	opacity: .72;
	transition: filter .25s ease, opacity .25s ease;
}
.famurai-brandband .famurai-brand-grid__item:hover .famurai-brand-grid__logo {
	filter: none;
	opacity: 1;
}
/* ロゴ画像に社名が含まれるため、テキストは視覚的に隠す（スクリーンリーダーには残す） */
.famurai-brandband .famurai-brand-grid__name {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.famurai-brandband .famurai-brand-grid__item { position: relative; }
@media (max-width: 782px) {
	.famurai-brandband .famurai-brand-grid { grid-template-columns: repeat(2, 1fr); }
}

/* カテゴリ：6カラムのグリッド（正方形メディア＋名前のシンプルカード） */
.famurai-catgrid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 24px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.famurai-catcar__link {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
}
.famurai-catcar__media {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	overflow: hidden;
}
.famurai-catcar__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.famurai-catcar__link:hover .famurai-catcar__img { transform: scale(1.05); }
.famurai-catcar__ph { display: block; width: 100%; height: 100%; }
.famurai-catcar__name {
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
@media (max-width: 1024px) { .famurai-catgrid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 782px)  { .famurai-catgrid { grid-template-columns: repeat(3, 1fr); gap: 18px 14px; } }
@media (max-width: 480px)  { .famurai-catgrid { grid-template-columns: repeat(2, 1fr); } }

/* 注目商品（トップ）：カード背景を白に統一 */

/* 誘導帯：ショップ/サポート/取扱店舗の3カード */
.famurai-gateband {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.famurai-gateband__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 28px 30px;
	background: var(--wp--preset--color--near-black);
	border-radius: 12px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.famurai-gateband__item:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}
.famurai-gateband__title { font-size: 18px; font-weight: 700; color: var(--wp--preset--color--white); }
.famurai-gateband__desc { font-size: 13px; line-height: 1.7; color: var(--wp--preset--color--on-dark); }
.famurai-gateband__cta { margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--wp--preset--color--accent); }
@media (max-width: 782px) {
	.famurai-gateband { grid-template-columns: 1fr; }
}


/* === ソーシャルフィード（ダミー：Instagram / YouTube）=== */
/* patterns/social-feed.php 用。実API非接続のデモ表示。上下2セクション。 */

/* 共通：セクションヘッダー（アイコン＋名前＋フォロー） */
.famurai-igfeed__head, .famurai-ytfeed__head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.famurai-igfeed__ic, .famurai-ytfeed__ic { width: 40px; height: 40px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--wp--preset--color--white); }
.famurai-igfeed__ic { background: linear-gradient(45deg, #f09433, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888); }
.famurai-ytfeed__ic { background: #ff0000; }
.famurai-igfeed__ic svg, .famurai-ytfeed__ic svg { width: 24px; height: 24px; }
.famurai-igfeed__meta, .famurai-ytfeed__meta { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.famurai-igfeed__name, .famurai-ytfeed__name { font-weight: 700; font-size: 15px; color: var(--wp--preset--color--ink); }
.famurai-igfeed__hsub, .famurai-ytfeed__hsub { font-size: 12px; color: var(--wp--preset--color--ink-soft) }
.famurai-igfeed__follow, .famurai-ytfeed__follow { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--wp--preset--color--white); padding: 8px 18px; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: opacity .15s ease; }
.famurai-igfeed__follow { background: #bc1888; }
.famurai-ytfeed__follow { background: #ff0000; }
.famurai-igfeed__follow:hover, .famurai-ytfeed__follow:hover { opacity: .85; }

/* Instagram：左右余白を詰めた横一列（フル幅・小画面は横スクロール） */
.famurai-igfeed { padding-block: clamp(40px, 5vw, 72px); }
.famurai-igfeed__head { max-width: 1200px; margin-inline: auto; padding-inline: 16px; }
/* Instagram：横一列（フル幅・小画面は横スクロール）。投稿間の余白を詰める */
.famurai-igfeed__row { list-style: none; margin: 0; display: flex; flex-wrap: nowrap; gap: 2px; padding: 0; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.famurai-igfeed__row::-webkit-scrollbar { width: 0; height: 0; display: none; }
.famurai-igfeed__item { list-style: none; margin: 0; flex: 1 0 160px; }
.famurai-igfeed__link { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #000; }
.famurai-igfeed__link img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.famurai-igfeed__link:hover img { transform: scale(1.06); }
.famurai-igfeed__ov { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 16px; background: rgba(0, 0, 0, .45); color: var(--wp--preset--color--white); font-weight: 700; font-size: 14px; opacity: 0; transition: opacity .25s ease; }
.famurai-igfeed__link:hover .famurai-igfeed__ov, .famurai-igfeed__link:focus-visible .famurai-igfeed__ov { opacity: 1; }
.famurai-igfeed__ov span { display: inline-flex; align-items: center; gap: 5px; }
.famurai-igfeed__ov svg { width: 18px; height: 18px; fill: currentColor; }

/* YouTube：4列×2行グリッド */
.famurai-ytfeed { padding-block: clamp(40px, 5vw, 72px); background: #ffffff; }
.famurai-ytfeed__inner { max-width: 1200px; margin-inline: auto; padding-inline: 20px; }
.famurai-ytfeed__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 20px; }
@media (max-width: 1024px) { .famurai-ytfeed__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .famurai-ytfeed__grid { grid-template-columns: repeat(2, 1fr); gap: 18px 14px; } }
.famurai-ytfeed__card { list-style: none; margin: 0; }
.famurai-ytfeed__link { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: inherit; }
.famurai-ytfeed__thumb { position: relative; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: #000; }
.famurai-ytfeed__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.famurai-ytfeed__link:hover .famurai-ytfeed__thumb img { transform: scale(1.05); }
.famurai-ytfeed__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: .92; transition: opacity .2s ease, transform .2s ease; }
.famurai-ytfeed__link:hover .famurai-ytfeed__play { opacity: 1; transform: scale(1.06); }
.famurai-ytfeed__play svg { width: 44px; height: 44px; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .5)); }
.famurai-ytfeed__info { min-width: 0; }
.famurai-ytfeed__ttl { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 700; font-size: 14px; line-height: 1.45; margin: 0 0 5px; color: var(--wp--preset--color--ink); }
.famurai-ytfeed__link:hover .famurai-ytfeed__ttl { color: var(--wp--preset--color--accent); }
.famurai-ytfeed__sub { font-size: 12px; color: var(--wp--preset--color--ink-soft) }

/* === アイキャッチ未設定記事のフォールバックサムネ（サイトロゴ中央）=== */
/* functions.php famurai_fallback_thumb_img() / render_block(core/post-featured-image) 用。 */
.famurai-thumb-fallback {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 16 / 10; /* コンテナに高さが無い場合の保険 */
	background: var(--wp--preset--color--surface);
	padding: 14%;
	box-sizing: border-box;
}
/* コア post-featured-image 置換用 figure（縦横比・角丸は inline style で継承） */
.famurai-thumb-fallback-fig {
	margin: 0;
	overflow: hidden;
	line-height: 0;
	background: var(--wp--preset--color--surface);
}
.famurai-thumb-fallback-fig img.famurai-thumb-fallback {
	aspect-ratio: auto; /* figure 側で比率を持つため解除 */
	padding: 11%;
}
.famurai-thumb-fallback-fig a {
	display: block;
	width: 100%;
	height: 100%;
}
/* aspectRatio 未指定（single 等）のフォールバック figure に既定比率を付与（inline 指定時はそちらが優先）。 */
.famurai-thumb-fallback-fig { aspect-ratio: 16 / 9; }
/* フォールバックサムネのロゴ周り余白を白背景に（ロゴPNGの白背景と馴染ませる）。 */
.famurai-thumb-fallback,
.famurai-thumb-fallback-fig { background: var(--wp--preset--color--base); }
/* フォールバックはテーマの .__thumb img(object-fit:cover) より優先し、ロゴ全体を表示。 */
img.famurai-thumb-fallback {
	object-fit: contain !important;
	padding: 12% !important;
	background: var(--wp--preset--color--base);
}

/* トップ 会社概要 誘導ブロック：見出し・説明文の可読性のため列幅を制限し中央寄せ */
.famurai-about .wp-block-cover__inner-container {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: 20px;
}

/* --- X（Twitter）フィード（デモ）: IG/YT フィードと同系のヘッダ＋ポストカード4枚 --- */
.famurai-xfeed { padding-block: clamp(40px, 5vw, 72px); background: #fff; }
.famurai-xfeed__head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; max-width: 1200px; margin-inline: auto; padding-inline: 16px; }
.famurai-xfeed__ic { width: 40px; height: 40px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #000; color: #fff; }
.famurai-xfeed__ic svg { width: 20px; height: 20px; }
.famurai-xfeed__meta { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.famurai-xfeed__name { font-weight: 700; font-size: 15px; color: var(--wp--preset--color--ink); }
.famurai-xfeed__hsub { font-size: 12px; color: var(--wp--preset--color--ink-soft); }
.famurai-xfeed__follow { margin-left: auto; font-size: 13px; font-weight: 700; color: #fff; background: #000; padding: 8px 18px; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: opacity .15s ease; }
.famurai-xfeed__follow:hover { opacity: .85; }
/* カルーセル（Smash Balloon Pro のカルーセルレイアウト相当・scroll-snap＋前後矢印） */
/* X：横スクロールのカルーセル（前後矢印） */
.famurai-xfeed__carousel { max-width: 1200px; margin-inline: auto; }
.famurai-xfeed__row {
	list-style: none;
	margin: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 14px;
	padding: 0 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.famurai-xfeed__row::-webkit-scrollbar { width: 0; height: 0; display: none; }
.famurai-xfeed__item { list-style: none; margin: 0; min-width: 0; flex: 0 0 clamp(280px, 30vw, 380px); scroll-snap-align: start; }
.famurai-xfeed__card { height: 100%; display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--fam-hairline, #e3ded2); border-radius: 12px; padding: 16px; background: #fff; }
.famurai-xfeed__chead { display: flex; align-items: center; gap: 10px; }
.famurai-xfeed__avatar { width: 36px; height: 36px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #141414; color: #fff; font-weight: 700; font-family: var(--fam-latin, Georgia, serif); }
.famurai-xfeed__cname { display: flex; flex-direction: column; font-weight: 700; font-size: 13.5px; line-height: 1.3; color: var(--wp--preset--color--ink); }
.famurai-xfeed__cid { font-weight: 400; font-size: 12px; color: var(--wp--preset--color--ink-soft); }
.famurai-xfeed__text { margin: 0; font-size: 13.5px; line-height: 1.75; color: var(--wp--preset--color--ink); }
.famurai-xfeed__media { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; display: block; margin-top: auto; }
.famurai-xfeed__cfoot { display: flex; gap: 22px; margin-top: auto; padding-top: 4px; color: var(--wp--preset--color--ink-soft); font-size: 12.5px; }
.famurai-xfeed__cfoot span { display: inline-flex; align-items: center; gap: 5px; }
.famurai-xfeed__cfoot svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; }

/* --- 注目商品: 無限ループ・マーキーカルーセル ---
   JS（famurai-carousel.js）がトラックを複製し .is-marquee を付与。ホバーで一時停止。 */
.famurai-relcar--marquee { overflow: hidden; }
.famurai-relcar--marquee ul.wp-block-post-template {
	overflow: visible !important;
	scroll-snap-type: none !important;
	width: max-content;
}
.famurai-relcar--marquee ul.wp-block-post-template.is-marquee {
	animation: famurai-marquee var(--fam-marquee-dur, 40s) linear infinite;
}
.famurai-relcar--marquee:hover ul.wp-block-post-template.is-marquee { animation-play-state: paused; }
.famurai-relcar--marquee .famurai-relcar__nav { display: none !important; }
@keyframes famurai-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.famurai-relcar--marquee ul.wp-block-post-template.is-marquee { animation: none; }
}

/* =========================================================
   Design Refinement 2026-07 — 静寂のラグジュアリー
   明朝（Zen Old Mincho）×ヘアライン×抑制されたアクセント。
   赤はCTA・価格のみに限定し、他はインク/クリームの濃淡で構成。
   ========================================================= */
:root {
	--fam-serif: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
	--fam-latin: "Cormorant Garamond", "Zen Old Mincho", serif;
	--fam-hairline: #e3ded2;
	--fam-muted: #8a8578;
}

/* --- セクション見出し: 明朝タイトル＋端正なeyebrow --- */
.fmsh-title {
	font-family: var(--fam-serif);
	font-weight: 600;
	letter-spacing: 0.06em;
	font-size: clamp(26px, 3.4vw, 36px);
}
.fmsh-eyebrow {
	font-family: var(--fam-latin);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.42em;
	color: var(--fam-muted);
}
.fmsh-eyebrow::before { width: 44px; background-color: var(--fam-hairline); }
.fmsh-header { gap: 10px; margin-bottom: 44px; }

/* --- Hero (Smart Slider): タイポグラフィ精緻化 --- */
#n2-ss-1 [class*="n-uc-cta"][class*="-e"] a,
#n2-ss-1 [class*="n-uc-cta"][class*="-e"] div {
	font-family: var(--fam-latin) !important;
	letter-spacing: 0.5em !important;
	text-transform: uppercase;
	font-weight: 600 !important;
}
#n2-ss-1 h1 {
	font-family: var(--fam-serif) !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.55 !important;
	text-shadow: 0 1px 24px rgba(0,0,0,0.35);
}
#n2-ss-1 [class*="n-uc-cta"][class*="-s"] a,
#n2-ss-1 [class*="n-uc-cta"][class*="-s"] div {
	letter-spacing: 0.18em !important;
	font-weight: 400 !important;
}
#n2-ss-1 .fam-hero-btn a,
#n2-ss-1 .n2-ss-item-button a {
	letter-spacing: 0.24em !important;
	font-weight: 500 !important;
	transition: background-color .35s ease, color .35s ease, border-color .35s ease !important;
}
#n2-ss-1 .fam-hero-btn a:hover,
#n2-ss-1 .n2-ss-item-button a:hover {
	background-color: #ffffff !important;
	color: #141414 !important;
	border-color: #ffffff !important;
}
/* レイヤー間の垂直リズム（SS3のdesktopportraitmarginが効かないためCSSで指定） */
.n-uc-cta6-e, .n-uc-cta7-e, .n-uc-cta8-e, .n-uc-cta9-e { margin-bottom: 26px !important; }
.n-uc-cta6-h, .n-uc-cta7-h, .n-uc-cta8-h, .n-uc-cta9-h { margin-bottom: 22px !important; }
.n-uc-cta6-s, .n-uc-cta7-s, .n-uc-cta8-s, .n-uc-cta9-s { margin-bottom: 48px !important; }

/* --- ブランドグリッド: 正方形の隣接セル＋ホバーでロゴ→アイキャッチ/ブランド名クロスフェード
       格子はコンテナ側 top/left ＋ セル側 right/bottom で構成（ヘアライン1本を共有） --- */
.famurai-brand-grid {
	gap: 0 !important;
	border-top: 1px solid var(--fam-hairline);
	border-left: 1px solid var(--fam-hairline);
}
.famurai-brand-grid__item {
	position: relative;
	overflow: hidden;
	margin: 0;
	border: 0;
	border-right: 1px solid var(--fam-hairline);
	border-bottom: 1px solid var(--fam-hairline);
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	padding: 20px 12px;
	aspect-ratio: 1 / 1;
	transition: none;
}
.famurai-brand-grid__item:hover { transform: none; box-shadow: none; background: #fff; }
.famurai-brand-grid__logo,
.famurai-brand-grid__name { transition: opacity .4s ease; }
.famurai-brand-grid__logo { max-width: 170px; }
.famurai-brand-grid__item:hover .famurai-brand-grid__logo,
.famurai-brand-grid__item:hover .famurai-brand-grid__name { opacity: 0; }
/* ホバーレイヤー: 代表商品のアイキャッチ＋ブランド名 */
.famurai-brand-grid__peek {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.04);
	transition: opacity .45s ease, transform .6s cubic-bezier(.2,.6,.2,1);
	pointer-events: none;
}
.famurai-brand-grid__peek::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(16,16,16,.44);
}
.famurai-brand-grid__peek-name {
	position: relative;
	color: #fff;
	font-family: var(--fam-latin);
	font-weight: 600;
	font-size: 20px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.famurai-brand-grid__item:hover .famurai-brand-grid__peek { opacity: 1; transform: scale(1); }

/* --- ニュースカード: 明朝タイトル＋ゆったり行間 --- */
.famurai-news__title {
	font-family: var(--fam-serif);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.02em;
}
.famurai-news__date {
	font-family: var(--fam-latin);
	letter-spacing: 0.22em;
	font-size: 12px;
	color: var(--fam-muted);
}
.famurai-news__thumb { border-radius: 0; }

/* --- カテゴリグリッド: ラベルの品位 --- */
.famurai-catcar__link { letter-spacing: 0.16em; font-size: 13px; }
.famurai-catcar__media { border-radius: 12px; }
.famurai-catcar__media img { transition: transform .6s cubic-bezier(.2,.6,.2,1); }
.famurai-catcar__link:hover .famurai-catcar__media img { transform: scale(1.05); }

/* 注目商品の見出しは見出しブロック（色は白をブロック属性で保持）へ移行済み。CSS上書きは不要。 */

/* --- 注目商品: 価格をLatinセリフの数字で --- */
.famurai-products .wc-block-product { border-radius: 0; border: 1px solid var(--fam-hairline); box-shadow: none; }
.famurai-products .wc-block-product:hover { box-shadow: 0 18px 40px -22px rgba(20,20,20,.28); transform: translateY(-3px); }
/* 関連商品カードにも注目商品と同じ外枠を付与（他の商品カードと見た目を統一） */
.famurai-related .wc-block-product { border-radius: 0; border: 1px solid var(--fam-hairline); box-shadow: none; }
.famurai-related .wc-block-product:hover { box-shadow: 0 18px 40px -22px rgba(20,20,20,.28); transform: translateY(-3px); }

/* --- SNSフィード ヘッダ --- */
.famurai-igfeed__name { font-family: var(--fam-latin); letter-spacing: 0.14em; font-weight: 600; }
.famurai-ytfeed__name { font-family: inherit; letter-spacing: normal; font-weight: 600; }

/* --- 会社概要バンド: 見出しを明朝へ --- */
.famurai-about h2 {
	font-family: var(--fam-serif) !important;
	font-weight: 500 !important;
	letter-spacing: 0.12em !important;
	line-height: 1.6 !important;
	font-size: clamp(24px, 3.2vw, 34px) !important;
}
.famurai-about p { letter-spacing: 0.06em; }
.famurai-about .wp-block-button__link {
	border-radius: 2px !important;
	letter-spacing: 0.18em;
	transition: background-color .35s ease, color .35s ease;
}

/* --- ボタン全般: トラッキングで上質に --- */
.wp-element-button, .wp-block-button__link { letter-spacing: 0.12em; }

/* --- フッター: 小見出しの静けさ --- */
.famurai-fnav__title { letter-spacing: 0.22em; font-size: 12px; }

/* --- ゲート帯（ショップ/サポート/取扱店舗）: 明るい生成りカードへ --- */
.famurai-gateband__item {
	background: #ffffff;
	border: 1px solid var(--fam-hairline);
	border-radius: 2px;
	padding: 40px 30px 34px;
}
.famurai-gateband__item:hover {
	border-color: #1a1a1a;
	box-shadow: 0 16px 36px -24px rgba(20,20,20,.25);
}
.famurai-gateband__icon {
	background: #faf8f3;
	border-color: var(--fam-hairline);
}
.famurai-gateband__title { color: #1a1a1a; font-family: var(--fam-serif); font-weight: 600; letter-spacing: 0.1em; }
.famurai-gateband__desc { color: #6d6a60; }
.famurai-gateband__cta { color: var(--wp--preset--color--accent, #c0392b); letter-spacing: 0.1em; }

/* --- 注目商品: 「すべての商品を見る」を見出し行の右端へ --- */
.famurai-products { position: relative; }
.famurai-products .wp-block-buttons {
	position: absolute;
	top: var(--wp--preset--spacing--l, 64px);
	right: var(--wp--style--root--padding-right, 24px);
	margin: 0;
}
.famurai-products .wp-block-buttons .wp-block-button__link {
	background: transparent;
	color: #1a1a1a;
	border: 0;
	padding: 6px 0;
	border-bottom: 1px solid #1a1a1a;
	border-radius: 0;
	font-size: 13px;
	letter-spacing: 0.16em;
	transition: color .3s ease, border-color .3s ease;
}
.famurai-products .wp-block-buttons .wp-block-button__link:hover {
	color: var(--wp--preset--color--accent, #c0392b);
	border-color: var(--wp--preset--color--accent, #c0392b);
}
@media (max-width: 782px) {
	.famurai-products .wp-block-buttons { position: static; margin-top: 20px; justify-content: center; }
}

/* --- 会社概要バンド: 上下に呼吸を --- */
.famurai-about { margin-top: 0 !important; margin-bottom: clamp(64px, 8vw, 112px) !important; }
/* Instagram フィードと会社概要を隣接させる（間の余白を詰める） */
.famurai-igfeed { padding-bottom: 0; }

/* カバーのパララックス（固定背景）: サポート/会社概要/ニュースレター
   core の has-parallax に依存せず確実に固定背景を適用。inline の background-position は尊重 */
.wp-block-cover.has-parallax .wp-block-cover__image-background {
	position: absolute;
	inset: 0;
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
}
/* モバイルは background-attachment: fixed が不安定なため通常スクロールにフォールバック */
@media (max-width: 782px) {
	.wp-block-cover.has-parallax .wp-block-cover__image-background { background-attachment: scroll; }
}

/* === ブランド帯: 6列2段・全幅・ヒーロー隣接（上下左右マージン詰め） === */
/* 制約レイアウトを解除して全幅化＋セクションの余白を撤去（ヒーロー/次セクションと隣接） */
.famurai-brandband {
	padding: 0 !important;
	margin-block: 0 !important;
}
.famurai-brandband .famurai-brand-grid {
	grid-template-columns: repeat(6, 1fr) !important;
	gap: 0 !important;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fam-hairline) !important; /* 最下段の外枠を閉じる */
}
/* 罫線は各セルの top/left のみ。外周（1段目の上・左端の左）は消して画面端/ヒーローに密着 */
.famurai-brandband .famurai-brand-grid__item {
	border: 0 !important;
	border-top: 1px solid var(--fam-hairline) !important;
	border-left: 1px solid var(--fam-hairline) !important;
	padding: 16px 10px !important;
	aspect-ratio: 1 / 1;
}
.famurai-brandband .famurai-brand-grid__item:nth-child(-n+6) { border-top: 0 !important; } /* 1段目=ヒーロー隣接 */
.famurai-brandband .famurai-brand-grid__item:nth-child(6n+1) { border-left: 0 !important; } /* 左端=画面端 */
@media (max-width: 991.98px) {
	.famurai-brandband .famurai-brand-grid { grid-template-columns: repeat(4, 1fr) !important; }
	.famurai-brandband .famurai-brand-grid__item:nth-child(n) { border-top: 1px solid var(--fam-hairline) !important; border-left: 1px solid var(--fam-hairline) !important; }
	.famurai-brandband .famurai-brand-grid__item:nth-child(-n+4) { border-top: 0 !important; }
	.famurai-brandband .famurai-brand-grid__item:nth-child(4n+1) { border-left: 0 !important; }
}
@media (max-width: 575.98px) {
	.famurai-brandband .famurai-brand-grid { grid-template-columns: repeat(3, 1fr) !important; }
	.famurai-brandband .famurai-brand-grid__item:nth-child(n) { border-top: 1px solid var(--fam-hairline) !important; border-left: 1px solid var(--fam-hairline) !important; }
	.famurai-brandband .famurai-brand-grid__item:nth-child(-n+3) { border-top: 0 !important; }
	.famurai-brandband .famurai-brand-grid__item:nth-child(3n+1) { border-left: 0 !important; }
}
/* ヒーロー非隣接バリアント（archive/category/home の一覧下）：グリッド外周の上枠線を復元 */
.famurai-brandband--standalone .famurai-brand-grid {
	border-top: 1px solid var(--fam-hairline) !important;
}
/* 本文コンテンツ末尾に置いたブランド帯（company/stores 等）：
   ベースの margin-block:0 !important が効くため、本文との分離余白を !important で復元 */
.wp-block-post-content .famurai-brandband--standalone {
	margin-top: var(--wp--preset--spacing--xl) !important;
}

/* === お客様レビュー・ショーケース（商品レビュー＋商品画像） === */
.famurai-reviews { max-width: 1200px; margin: 0 auto; }
.famurai-reviews__stars { display: inline-flex; gap: 2px; color: #d8d2c6; font-size: 15px; }
.famurai-reviews__stars .is-on { color: #c9a24b; }
.famurai-reviews__carousel { position: relative; }
.famurai-reviews__row { list-style: none; margin: 0; padding: 4px; display: flex; flex-wrap: nowrap; gap: 16px;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.famurai-reviews__row::-webkit-scrollbar { display: none; }
.famurai-reviews__item { list-style: none; margin: 0; flex: 0 0 clamp(280px, 31%, 380px); scroll-snap-align: start; }
.famurai-reviews__card { background: #fff; border: 1px solid var(--fam-hairline); border-radius: 12px;
	padding: 22px 22px 20px; height: 100%; display: flex; flex-direction: column; gap: 14px; }
/* 商品ヘッダー：サムネ＋商品名を横並び（サムネ背景=白） */
.famurai-reviews__prodhead { display: flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; }
.famurai-reviews__thumb { flex: 0 0 120px; width: 120px; height: 120px; border-radius: 8px; overflow: hidden;
	background: #fff; border: 1px solid var(--fam-hairline); display: flex; align-items: center; justify-content: center; }
.famurai-reviews__thumb img { width: 100%; height: 100%; object-fit: contain; }
.famurai-reviews__prodinfo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.famurai-reviews__pname { font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--wp--preset--color--ink);
	text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.famurai-reviews__pname:hover { text-decoration: underline; }
.famurai-reviews__card .famurai-reviews__stars { font-size: 15px; }
.famurai-reviews__text { margin: 0; font-size: 14.5px; line-height: 1.9; color: #2c2c2a; flex: 1; }
.famurai-reviews__more { white-space: nowrap; font-size: 13px; font-weight: 600;
	color: var(--wp--preset--color--ink, #1e1e1e); text-decoration: none;
	border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.famurai-reviews__more:hover { color: var(--wp--preset--color--accent, #b45a2b); }
.famurai-reviews__foot { border-top: 1px solid var(--fam-hairline); padding-top: 12px; display: flex;
	align-items: center; justify-content: flex-end; gap: 7px; font-size: 12px; color: #8a857b; }
.famurai-reviews__date { white-space: nowrap; }
.famurai-reviews__sep { color: var(--fam-hairline); }
.famurai-reviews__author { font-weight: 400; color: #8a857b; }

/* === ショップ／取扱店舗 誘導帯（会社概要と同型のCover） === */
.famurai-promoband .wp-block-cover__inner-container { max-width: 640px; margin-inline: auto; padding-inline: 20px; }
.famurai-promoband__eyebrow { font-family: var(--fam-latin); text-transform: uppercase; opacity: .9; margin-bottom: 0; }

/* === デジタル製品／ダウンロード特集（黒帯） === */
.famurai-digitalband { background: #141414 !important; }
.famurai-digitalband .fmsh-header { display: none; }
.famurai-digital { max-width: 1120px; margin: 0 auto; color: #fff; }
.famurai-digital__head { text-align: center; max-width: 680px; margin: 0 auto 12px; }
.famurai-digital__eyebrow { font-family: var(--fam-latin); letter-spacing: .4em; font-size: 12px; color: rgba(255,255,255,.62); text-transform: uppercase; }
.famurai-digital__title { font-family: var(--fam-latin); font-size: clamp(28px,4vw,40px); font-weight: 400; letter-spacing: .03em; margin: 14px 0 16px; color: #fff; }
.famurai-digital__lead { color: rgba(255,255,255,.62); line-height: 1.9; font-size: 15px; margin: 0; }
.famurai-digital__steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; max-width: 840px; margin: 40px auto 4px; }
.famurai-digital__step { flex: 1 1 180px; text-align: center; }
.famurai-digital__n { font-family: var(--fam-latin); font-size: 13px; letter-spacing: .2em; color: rgba(255,255,255,.62); }
.famurai-digital__ico { width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 14px auto 12px; }
.famurai-digital__ico svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 1.5; }
.famurai-digital__step h3 { font-size: 15px; font-weight: 600; margin: 0 0 6px; color: #fff; }
.famurai-digital__step p { font-size: 13px; color: rgba(255,255,255,.62); line-height: 1.75; margin: 0; }
.famurai-digital__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 16px; margin-top: 52px; }
.famurai-digital__card { background: #fff; color: #141414; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; }
.famurai-digital__media { background: var(--cream,#f5f2ec); aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; padding: 24px; }
.famurai-digital__media img { width: 100%; height: 100%; object-fit: contain; }
.famurai-digital__body { padding: 15px 15px 17px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.famurai-digital__badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; font-size: 11px; letter-spacing: .05em; background: #f0ede6; color: #4a463f; border-radius: 999px; padding: 4px 10px; }
.famurai-digital__badge svg { width: 12px; height: 12px; stroke: #4a463f; fill: none; stroke-width: 1.8; }
.famurai-digital__pbrand { font-family: var(--fam-latin); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: #9a948a; }
.famurai-digital__pname { font-size: 14px; line-height: 1.55; font-weight: 600; margin: 0; min-height: 44px; }
.famurai-digital__meta { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 6px; }
.famurai-digital__price { font-family: var(--fam-latin); font-size: 18px; }
.famurai-digital__price .woocommerce-Price-amount { font-family: var(--fam-latin); }
.famurai-digital__dl { display: inline-flex; align-items: center; gap: 6px; background: #141414; color: #fff; border-radius: 999px; font-size: 12px; padding: 8px 15px; }
.famurai-digital__dl svg { width: 13px; height: 13px; stroke: #fff; fill: none; stroke-width: 1.8; }
.famurai-digital__foot { text-align: center; margin-top: 44px; }
.famurai-digital__cta { display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.5); color: #fff; border-radius: 999px; padding: 13px 30px; font-size: 14px; letter-spacing: .04em; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.famurai-digital__cta:hover { background: #fff; color: #141414; }
.famurai-digital__formats { margin-top: 18px; color: rgba(255,255,255,.62); font-size: 12px; letter-spacing: .1em; }

/* === ニュースレター登録バンド（Cover内の Fluent Forms を黒帯用に整形） === */
/* ニュースレター: 濃色Group＋2カラム（背景画像なし）。右カラムのフォームは横一列・四角 */
.famurai-newsletterband .fluentform { max-width: none; margin: 0; }
.famurai-newsletterband .frm-fluent-form {
	display: flex; flex-wrap: nowrap; gap: 10px; justify-content: flex-start; align-items: stretch;
}
.famurai-newsletterband .frm-fluent-form .ff-el-group { margin: 0 !important; flex: 1 1 auto; min-width: 0; }
.famurai-newsletterband .fluentform .ff-el-input--label { display: none; }
.famurai-newsletterband .fluentform input[type="email"],
.famurai-newsletterband .fluentform input[type="text"] {
	background: #fff !important; border: 0 !important; border-radius: 2px !important;
	height: 52px !important; width: 100%; padding: 0 20px !important; color: #141414 !important; font-size: 15px; box-shadow: none !important;
}
.famurai-newsletterband .fluentform input::placeholder { color: #8a857b; }
.famurai-newsletterband .frm-fluent-form .ff_submit_btn_wrapper { flex: 0 0 auto; }
.famurai-newsletterband .fluentform .ff-btn-submit {
	width: auto !important; background: var(--wp--preset--color--accent) !important; color: #fff !important; border: 0 !important;
	border-radius: 2px !important; height: 52px; padding: 0 32px !important; font-size: 14px; letter-spacing: .06em; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.famurai-newsletterband .fluentform .ff-btn-submit:hover { background: #fff !important; color: #141414 !important; }
/* メッセージ・エラーは1行占有 */
.famurai-newsletterband .frm-fluent-form .ff-message-success,
.famurai-newsletterband .frm-fluent-form .ff-errors-in-stack,
.famurai-newsletterband .frm-fluent-form .error { flex-basis: 100%; width: 100%; color: #fff; }
/* モバイルは入力とボタンを縦積み */
@media (max-width: 781px) {
	.famurai-newsletterband .frm-fluent-form { flex-wrap: wrap; }
	.famurai-newsletterband .frm-fluent-form .ff-el-group { flex: 1 1 100%; }
	.famurai-newsletterband .fluentform .ff-btn-submit { width: 100% !important; }
}

/* === ショップ／サポート／取扱店舗 誘導カード：ダウンロード製品ブロックと同じ黒基調・中央揃え（末尾＝最優先で上書き） === */
.famurai-gateband {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 1180px;
	margin-inline: auto;
}
.famurai-gateband__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 14px;
	padding: 38px 32px 32px;
	background: #ffffff;
	border: 1px solid var(--fam-hairline, #e3ded2);
	border-radius: 16px;
	text-decoration: none;
	box-shadow: 0 8px 26px rgba(0, 0, 0, .22);
	transition: transform .28s cubic-bezier(.2,.6,.2,1), box-shadow .3s ease, border-color .25s ease;
	overflow: hidden;
}
/* 上辺の細いアクセントライン（ホバーで出現） */
.famurai-gateband__item::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--wp--preset--color--accent, #b45a2b);
	transform: scaleX(0);
	transition: transform .35s cubic-bezier(.2,.6,.2,1);
}
.famurai-gateband__item:hover {
	transform: translateY(-5px);
	border-color: rgba(20, 20, 20, .18);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .34);
}
.famurai-gateband__item:hover::before { transform: scaleX(1); }
.famurai-gateband__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #141414;
	color: #ffffff;
	transition: background-color .25s ease;
}
.famurai-gateband__icon svg { width: 26px; height: 26px; }
.famurai-gateband__item:hover .famurai-gateband__icon {
	background: var(--wp--preset--color--accent, #b45a2b);
}
.famurai-gateband__title {
	font-family: var(--fam-latin, Georgia, serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: .03em;
	color: #141414;
	margin: 2px 0 0;
}
.famurai-gateband__desc {
	font-size: 13.5px;
	line-height: 1.9;
	color: #6f6a61;
	margin: 0;
}
.famurai-gateband__cta {
	margin-top: auto;
	padding-top: 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .05em;
	color: #141414;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	transition: gap .25s ease, color .25s ease;
}
.famurai-gateband__item:hover .famurai-gateband__cta {
	gap: 12px;
	color: var(--wp--preset--color--accent, #b45a2b);
}
@media (max-width: 860px) {
	.famurai-gateband { grid-template-columns: 1fr; }
}

/* === ショップ／取扱店舗 誘導：2カラム（メディア＋テキスト）バンド === */
/* SHOP/STORE: タイポ/色/余白はブロック属性へ移行済み。
   media-text の UI で表現できない構造（media 充填・content の縦中央）だけを残す */
.famurai-mediaband.wp-block-media-text { grid-template-rows: auto; align-items: stretch; }
.famurai-mediaband .wp-block-media-text__media { min-height: clamp(300px, 34vw, 460px); }
.famurai-mediaband .wp-block-media-text__content { display: flex; flex-direction: column; justify-content: center; }

/* === WooCommerce コア互換プリセットエイリアス === */
/* woocommerce-blocktheme.css は Twenty Twenty-Two 系のプリセット名
   (background / foreground / x-small) を期待して参照する。テーマの
   パレットには載せず、現行スラッグへのエイリアスとしてここで定義する */
body {
	--wp--preset--color--background: var(--wp--preset--color--base);
	--wp--preset--color--foreground: var(--wp--preset--color--ink);
	--wp--preset--font-size--x-small: var(--wp--preset--font-size--caption);
}

/* ============================================================
   ヒーロースライダー（Smart Slider 3 置き換え・famurai-heroslider.js と対）
   構造: .famurai-heroslider > __track(scroll-snap) > wp-block-cover ×N
   ============================================================ */
.famurai-heroslider { position: relative; overflow: hidden; }
.famurai-heroslider__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.famurai-heroslider__track::-webkit-scrollbar { display: none; }
.famurai-heroslider__track > .wp-block-cover {
	flex: 0 0 100%;
	min-width: 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	min-height: clamp(420px, 42vw, 640px);
	overflow: hidden;
	margin: 0;
}

/* ケンバーンズ：アクティブスライドの背景をゆっくり 1.06 倍まで。
   待機状態は等倍（拡大で待機させるとスライドイン直後に縮む動きが見えてしまう） */
.famurai-heroslider__track > .wp-block-cover .wp-block-cover__image-background {
	transform: scale(1);
	transition: transform .4s ease-out;
}
.famurai-heroslider__track > .wp-block-cover.is-active .wp-block-cover__image-background {
	animation: famurai-kenburns 7s ease-out forwards;
}
@keyframes famurai-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.06); }
}

/* テキストのフェードアップ・スタガー */
.famurai-heroslider__track > .wp-block-cover .wp-block-cover__inner-container > * {
	opacity: 0;
	transform: translateY(14px);
}
.famurai-heroslider__track > .wp-block-cover.is-active .wp-block-cover__inner-container > * {
	animation: famurai-fadeup .7s cubic-bezier(.22,.61,.36,1) forwards;
}
.famurai-heroslider__track > .wp-block-cover.is-active .wp-block-cover__inner-container > :nth-child(2) { animation-delay: .12s; }
.famurai-heroslider__track > .wp-block-cover.is-active .wp-block-cover__inner-container > :nth-child(3) { animation-delay: .24s; }
.famurai-heroslider__track > .wp-block-cover.is-active .wp-block-cover__inner-container > :nth-child(4) { animation-delay: .36s; }
@keyframes famurai-fadeup {
	to { opacity: 1; transform: translateY(0); }
}

/* 矢印 */
.famurai-heroslider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .28);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s;
}
.famurai-heroslider__arrow:hover,
.famurai-heroslider__arrow:focus-visible { background: rgba(0, 0, 0, .55); }
.famurai-heroslider__arrow--prev { left: 16px; }
.famurai-heroslider__arrow--next { right: 16px; }

/* 進行バー型ドット（自動再生 5s を可視化） */
.famurai-heroslider__nav {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	z-index: 3;
	display: flex;
	justify-content: center;
}
.famurai-heroslider__dots { display: flex; gap: 8px; }
.famurai-heroslider__dot {
	width: 34px;
	height: 4px;
	padding: 0;
	border: 0;
	border-radius: 2px;
	background: rgba(255, 255, 255, .35);
	overflow: hidden;
	cursor: pointer;
}
.famurai-heroslider__dot > span {
	display: block;
	width: 0;
	height: 100%;
	background: #fff;
}
.famurai-heroslider__dot.is-active > span { width: 100%; }
.famurai-heroslider.is-autoplaying .famurai-heroslider__dot.is-active > span {
	animation: famurai-dotfill 5s linear forwards;
}
@keyframes famurai-dotfill {
	from { width: 0; }
	to   { width: 100%; }
}

/* モバイル：縦長フルスクリーン級ヒーロー。
   スライドごとの縦画像は「モバイル用カバー（.famurai-heroslider__mobile）」を
   直後に置けば出し分け（なければ焦点ピッカー基準のトリミング表示） */
@media (max-width: 781px) {
	.famurai-heroslider__track > .wp-block-cover { min-height: 78svh; }
	.famurai-heroslider__arrow { display: none; } /* モバイルはスワイプ＋ドット */
	.famurai-heroslider__track > .wp-block-cover.famurai-heroslider__mobile { display: flex; }
	.famurai-heroslider__track > .wp-block-cover:has(+ .famurai-heroslider__mobile) { display: none; }
}
@media (min-width: 782px) {
	.famurai-heroslider__track > .wp-block-cover.famurai-heroslider__mobile { display: none; }
}

/* アクセシビリティ：動きを減らす設定では全アニメ停止・全文即時表示 */
@media (prefers-reduced-motion: reduce) {
	.famurai-heroslider__track { scroll-behavior: auto; }
	.famurai-heroslider__track > .wp-block-cover .wp-block-cover__image-background { animation: none; transform: none; }
	.famurai-heroslider__track > .wp-block-cover .wp-block-cover__inner-container > * { opacity: 1; transform: none; animation: none; }
	.famurai-heroslider__dot.is-active > span { animation: none; width: 100%; }
}

/* === Xフィード（トップ）: 一時非表示 ===
   運用判断で当面隠す（2026-07-19）。復活時はこのブロックを削除するだけでよい。
   マークアップは home 固定ページの wp:html ブロックに残っている */
.famurai-xfeed {
	display: none;
}

/* === 商品カードの外枠 ===
   SHOP・カテゴリ/ブランドの商品カードは白ページ背景と同化するため、
   トップ注目商品（.famurai-products）と同じ線色の枠＋白背景を付ける */
.famurai-shop-main .wc-block-product,
.famurai-shopcat-grid .wc-block-product {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
}

/* === 商品カードの均一化（参考: woocommerce.greenshiftwp.com） ===
   カードを flex 縦積みにして高さを揃え、タイトルは常に2行分を確保、
   購入行（価格＋カート）は margin-top:auto で下端の共通位置に固定。角丸6px */
.famurai-shop-main .wc-block-product,
.famurai-shopcat-grid .wc-block-product,
.famurai-products .wc-block-product {
	display: flex;
	flex-direction: column;
	border-radius: 6px;
	overflow: hidden;
}
.famurai-shop-main .wc-block-product .famurai-pcard__body,
.famurai-shopcat-grid .wc-block-product .famurai-pcard__body,
.famurai-products .wc-block-product .famurai-pcard__body {
	flex: 1 1 auto;
}
/* タイトル: 2行分（line-height 25px × 2）を常に確保し、3行以上は省略 */
.famurai-pcard__body .famurai-pcard__title {
	min-height: 50px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* === レビュー入力欄のトグル表示 ===
   「レビューを書く」クリックで開く（single-product-reviews.php のトグルJSと対）。
   JS無効環境向けの表示フォールバックはテンプレート内の noscript が担う */
#woo_comm_form:not(.is-open) {
	display: none;
}
