/* Okatora Shop — 補助スタイル（theme.json で表現できない装飾のみ） */

/* ---- 汎用カード ---- */
.okatora-card {
	border-radius: var(--wp--custom--radius--card, 16px);
	overflow: hidden;
	box-shadow: 0 8px 20px rgba(52, 41, 31, 0.1);
}
.okatora-card-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* ---- ヒーローのチップ（受賞バッジ） ---- */
p.okatora-chip {
	display: inline-block;
	width: fit-content;
	padding: 7px 14px;
	border-radius: 4px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* ---- ヘッダー ---- */
.okatora-header-note {
	white-space: nowrap;
}
.okatora-header-search .wp-block-search__input {
	border-radius: 8px;
	border-color: var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	font-size: 13px;
}
@media (max-width: 781px) {
	.okatora-header-note,
	.okatora-header-search {
		display: none;
	}
}

/* ---- 物語帯 ---- */
.okatora-stat-num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 25px;
	font-weight: 700;
	color: var(--wp--preset--color--gold);
	margin-right: 8px;
	vertical-align: -2px;
}
.okatora-polaroid {
	background: #fff;
	padding: 8px 8px 10px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
	width: 44%;
}
.okatora-polaroid img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	filter: sepia(0.2);
	width: 100%;
}
.okatora-polaroid figcaption {
	font-size: 11px;
	color: #5a4a38;
	text-align: center;
	margin-top: 8px;
}
.okatora-polaroid--left { transform: rotate(-3deg); }
.okatora-polaroid--right { transform: rotate(2.5deg); margin-top: 22px; }

/* ---- カテゴリタイル ---- */
.okatora-cat-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 22px;
	margin-top: var(--wp--preset--spacing--40);
}
.okatora-cat-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	border-radius: var(--wp--custom--radius--card, 16px);
	background: var(--wp--preset--color--image-bg);
}
.okatora-cat-item p a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
@media (max-width: 781px) {
	.okatora-cat-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
	}
}

/* ---- 角丸画像 ---- */
.okatora-rounded img {
	border-radius: var(--wp--custom--radius--card, 16px);
}

/* ---- WooCommerce 商品コレクションのカード化 ---- */
.okatora-products .wc-block-product {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--card, 16px);
	overflow: hidden;
	box-shadow: 0 8px 20px rgba(52, 41, 31, 0.1);
	padding-bottom: 15px;
}
.okatora-products .wc-block-product > *:not([class*="product-image"]) {
	margin-left: 15px;
	margin-right: 15px;
}
.okatora-products .wc-block-components-product-image {
	margin-bottom: 12px;
}
.okatora-products .wc-block-components-product-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--wp--preset--color--image-bg);
}
.okatora-products .okatora-product-name {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 600;
	line-height: 1.5;
}
.okatora-products .okatora-product-name a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.okatora-products .okatora-product-name a:hover {
	color: var(--wp--preset--color--primary);
}
.okatora-products .okatora-product-price {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

/* ---- 商品一覧サイドバー（カテゴリフィルタ） ---- */
.okatora-filter .wc-block-product-categories-list {
	list-style: none;
	padding-left: 0;
	font-size: 13px;
}
.okatora-filter .wc-block-product-categories-list li {
	padding: 8px 10px;
	border-radius: 8px;
}
.okatora-filter .wc-block-product-categories-list li:hover {
	background: var(--wp--preset--color--image-bg);
}
.okatora-filter .wc-block-product-categories-list a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-weight: 500;
}
.okatora-filter .wc-block-product-categories-list-item-count {
	opacity: 0.55;
	margin-left: 6px;
}
@media (max-width: 781px) {
	/* スマホではサイドバーを横並びチップに */
	.okatora-shop-layout {
		flex-wrap: wrap !important;
	}
	.okatora-filter .wc-block-product-categories-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	.okatora-filter .wc-block-product-categories-list li {
		border: 1px solid var(--wp--preset--color--line);
		border-radius: 20px;
		padding: 6px 14px;
		white-space: nowrap;
	}
}

/* ---- アンテナショップ帯 ---- */
.okatora-antenna {
	border-radius: 18px;
	overflow: hidden;
}
.okatora-antenna .wp-block-media-text__media img {
	height: 100%;
	object-fit: cover;
}

/* ---- フッター ---- */
.okatora-footer-links {
	list-style: none;
	padding-left: 0;
}
.okatora-footer-links li {
	margin-bottom: 10px;
}
.okatora-footer-links a {
	color: var(--wp--preset--color--band-muted);
	text-decoration: none;
}
.okatora-footer-links a:hover {
	color: var(--wp--preset--color--gold);
}

/* ---- 会社概要テーブル ---- */
.okatora-company-table th {
	width: 8em;
	text-align: left;
	color: var(--wp--preset--color--body);
	font-weight: 700;
	border-color: var(--wp--preset--color--line);
}
.okatora-company-table td {
	border-color: var(--wp--preset--color--line);
}

/* ---- ミニカートのバッジ色 ---- */
.wc-block-mini-cart__badge {
	background: var(--wp--preset--color--primary);
	color: #fff;
}
:root :where(.is-layout-flow) > :first-child {
    margin-block-start: 24px;
}