/* Lupinus EC Parts（Element Pack Pro の見た目に合わせている） */

/* ---------- 商品一覧 ---------- */
.lr-item-grid__list {
	display: flex;
	flex-wrap: wrap;
	margin: calc(var(--lr-gap, 30px) * -1) 0 0 -20px;
	padding: 0;
}
.lr-item-grid__item {
	box-sizing: border-box;
	width: calc(100% / var(--lr-cols-sp, 1));
	padding-left: 20px;
	margin-top: var(--lr-gap, 30px);
	text-align: center;
}
@media (min-width: 640px) {
	.lr-item-grid__item { width: calc(100% / var(--lr-cols-tab, 2)); }
}
@media (min-width: 960px) {
	.lr-item-grid__item { width: calc(100% / var(--lr-cols, 6)); }
}
.lr-item-grid__inner {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.lr-item-grid .lr-item-grid__img {
	display: block;
	width: 100%;
	height: var(--lr-img-h, auto);
	object-fit: cover;
}
.lr-item-grid__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
.lr-item-grid__inner:hover .lr-item-grid__overlay { opacity: 1; }
.lr-item-grid__view {
	display: inline-block;
	padding: 8px 20px;
	border: 1px solid #ddd;
	border-radius: 500px;
	color: #ddd;
	font-size: 14px;
	line-height: 14px;
	text-decoration: none;
}
.lr-item-grid__view:hover { color: #fff; border-color: #fff; }
.lr-item-grid__desc {
	padding: 12px 4px 0;
	text-align: center;
}
.lr-item-grid__title-link { text-decoration: none; }
.lr-item-grid .lr-item-grid__title {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: #444;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.lr-item-grid__price {
	margin-top: 6px;
	color: var(--e-global-color-secondary, #54595f);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}
.lr-item-grid__cprice {
	margin-right: 6px;
	color: #999;
	font-size: 12px;
	font-weight: 400;
}

/* ---------- 記事一覧 ---------- */
.lr-post-list__list {
	display: grid;
	gap: var(--lr-list-gap, 30px);
}
.lr-post-list__item {
	display: flex;
	align-items: center;
	gap: 15px;
}
.lr-post-list__image { flex: 0 0 var(--lr-img-w, 150px); }
.lr-post-list__image img {
	display: block;
	width: var(--lr-img-w, 150px);
	height: auto;
	object-fit: cover;
}
.lr-post-list .lr-post-list__title {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
}
.lr-post-list__title a {
	color: #444;
	text-decoration: none;
	transition: color 0.2s;
}
.lr-post-list__title a:hover { color: #e6a666; }
@media (max-width: 639px) {
	.lr-post-list .lr-post-list__title { font-size: 14px; }
}
.lr-post-list--divider .lr-post-list__item {
	padding-bottom: calc(var(--lr-list-gap, 30px) / 2);
	margin-bottom: calc(var(--lr-list-gap, 30px) / -2);
	border-bottom: 1px solid #ddd;
}
.lr-post-list__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	color: #999;
	font-size: 12px;
	line-height: 1.6;
}
.lr-post-list__meta span + span::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 10px;
	border-radius: 50%;
	background: #999;
	vertical-align: middle;
}
.lr-post-list__meta a { color: #999; text-decoration: none; }

/* ---------- グローバルメニュー：テーマの四角い枠（4本の線）をやめて、丸いハイライトにする ---------- */
/* トップのスライダーは上に50px詰めてあり、メニューの下半分に重なるので、メニューを手前に出す */
#site-navigation {
	position: relative;
	z-index: 1000;
}
#site-navigation .header-nav-container > li::before,
#site-navigation .header-nav-container > li::after,
#site-navigation .header-nav-container > li > a::before,
#site-navigation .header-nav-container > li > a::after {
	display: none !important;
}
#site-navigation .header-nav-container > li > a {
	padding: 8px 20px !important;
	border-radius: 999px;
	color: #5a4636 !important;
	letter-spacing: 0.08em;
	transition: background 0.2s, color 0.2s;
}
#site-navigation .header-nav-container > li.current-menu-item > a,
#site-navigation .header-nav-container > li > a:hover {
	background: #fbefe3 !important;
	color: #7a5235 !important;
}

/* プルダウン：1行ずつの枠をやめて、角丸のカードにする（PC表示のみ） */
@media (min-width: 880px) {
	#site-navigation .sub-menu {
		min-width: 190px;
		padding: 8px;
		border: none !important;
		border-radius: 14px;
		background: #fff;
		box-shadow: 0 12px 32px -8px rgba(122, 82, 53, 0.22);
	}
	#site-navigation .sub-menu li {
		border: none !important;
	}
	#site-navigation .sub-menu a {
		padding: 9px 14px !important;
		border-radius: 10px;
		background: transparent !important;
		color: #5a4636 !important;
		transition: background 0.2s, color 0.2s;
	}
	#site-navigation .sub-menu a:hover {
		background: #fbefe3 !important;
		color: #7a5235 !important;
	}
}

/* ---------- カテゴリー一覧などのページ見出し（テーマが出す h1）：トップの見出しに合わせる ---------- */
#content .page-header .page-title {
	margin-bottom: 32px;
	color: #7a5235;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 3px;
	text-align: center;
}
.page-header .page-title::after {
	content: "";
	display: block;
	width: 140px;
	height: 14px;
	margin: 12px auto 0;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23E6A666' d='M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z'/%3E%3C/svg%3E") center / 13px 13px no-repeat,
		linear-gradient(#e6a666, #e6a666) left center / 52px 1px no-repeat,
		linear-gradient(#e6a666, #e6a666) right center / 52px 1px no-repeat;
}
@media (max-width: 639px) {
	#content .page-header .page-title { font-size: 20px; }
}

/* ---------- カテゴリー一覧の記事（テーマの .post-li）：大きな画像の縦積みをやめて、横並びのリストにする ---------- */
.archive .post-li article {
	display: grid;
	grid-template-columns: 240px 1fr;
	grid-template-areas:
		"thumb meta"
		"thumb title"
		"thumb text";
	grid-template-rows: auto auto 1fr;
	column-gap: 24px;
	align-content: start;
	margin: 0 !important;
	padding: 22px 0;
	border-bottom: 1px solid #eee3d8;
}
.archive .post-li article:first-child { padding-top: 0; }
.archive .post-li .thumb-img {
	grid-area: thumb;
	margin: 0 !important;
}
.archive .post-li .thumb-img a {
	display: block;
	overflow: hidden;
	border-radius: 12px;
	aspect-ratio: 16 / 9;
	background: #f8ebdd;
}
.archive .post-li .thumb-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}
.archive .post-li article:hover .thumb-img img { transform: scale(1.04); }
.archive .post-li .entry-meta {
	grid-area: meta;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px !important;
	padding: 0 !important;
	border: none !important;
	color: #999;
	font-size: 12px;
	line-height: 1.6;
}
.archive .post-li .entry-meta span::before { display: none !important; }
.archive .post-li .entry-meta .cat {
	font-size: 0; /* テーマが付ける「:」を隠す */
}
.archive .post-li .entry-meta .cat a {
	display: inline-block;
	padding: 1px 10px;
	border-radius: 999px;
	background: #fbefe3;
	color: #7a5235;
	font-size: 11px;
	text-decoration: none;
}
.archive .post-li .entry-title {
	grid-area: title;
	margin: 0 0 6px !important;
	font-size: 17px !important;
	font-weight: 600;
	line-height: 1.6;
}
.archive .post-li .entry-title a {
	color: #444;
	text-decoration: none;
	transition: color 0.2s;
}
.archive .post-li .entry-title a:hover { color: #e6a666; }
.archive .post-li .entry-content {
	grid-area: text;
	margin: 0 !important;
	color: #777;
	font-size: 13px;
	line-height: 1.7;
}
@media (max-width: 639px) {
	.archive .post-li article {
		grid-template-columns: 120px 1fr;
		grid-template-areas:
			"thumb meta"
			"thumb title";
		grid-template-rows: auto 1fr;
		column-gap: 14px;
		padding: 16px 0;
	}
	.archive .post-li .thumb-img a { border-radius: 8px; }
	.archive .post-li .entry-title { font-size: 14px !important; }
	.archive .post-li .entry-content { display: none; }
}

/* ---------- トップの Elementor サイドバー：ほかのページ（テーマの #secondary）と同じ見出しにする ---------- */
.elementor-widget-sidebar .widget_title {
	padding: 12px 8px;
	border-top: 1px solid #dddad7;
	border-bottom: 1px solid #dddad7;
}

/* ---------- スライダー（MetaSlider）：角丸・影・ドットの色 ---------- */
/* 影は外側の枠に、切り抜きは内側の枠に付ける（同じ要素だと切り抜きで影も消えるため） */
.metaslider .flexslider.flexslider {
	border-radius: 24px !important;
	box-shadow: 0 12px 40px -8px rgba(122, 82, 53, 0.18) !important;
}
/* スライドは動かすために別レイヤーで描かれ、overflow と角丸だけでは角が切り取られないので clip-path で切り抜く */
.metaslider .flex-viewport {
	overflow: hidden;
	border-radius: 24px;
	clip-path: inset(0 round 24px);
}
.metaslider .flex-control-paging li a {
	background: #ebd9c6 !important;
	box-shadow: none !important;
}
.metaslider .flex-control-paging li a.flex-active {
	background: #e6a666 !important;
}

/* ---------- ステッチ枠（Elementor のコンテナに CSS クラス lr-stitch を付けて使う） ---------- */
.lr-stitch {
	outline: 1.5px dashed #e2b48a;
	outline-offset: -12px;
}

/* ---------- お知らせ ---------- */
.lr-news {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lr-news__item {
	display: flex;
	align-items: baseline;
	gap: 24px;
	padding: 14px 0;
	border-bottom: 1px solid #eee;
	list-style: none;
}
.lr-news__item:first-child { padding-top: 0; }
.lr-news__date {
	flex: 0 0 auto;
	color: #999;
	font-family: Archivo, sans-serif;
	font-size: 13px;
	letter-spacing: 0.04em;
}
.lr-news__title {
	color: #444;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.7;
	text-decoration: none;
	transition: color 0.2s;
}
.lr-news__title:hover { color: #e6a666; }
.lr-news__more {
	margin-top: 20px;
	text-align: right;
}
.lr-news__more a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #e6a666;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-decoration: none;
}
.lr-news__more a span { transition: transform 0.2s; }
.lr-news__more a:hover span { transform: translateX(4px); }
@media (max-width: 639px) {
	.lr-news__item { flex-direction: column; gap: 2px; }
	.lr-news__title { font-size: 14px; }
}

.lr-label {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.lr-label__en {
	color: #e6a666;
	font-family: Archivo, sans-serif;
	font-size: 22px;
	font-weight: 300;
	letter-spacing: 0.12em;
	line-height: 1;
}
.lr-label__ja {
	color: #393939;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

/* ---------- ページ送り ---------- */
.lr-item-grid.is-loading,
.lr-post-list.is-loading {
	opacity: 0.4;
	transition: opacity 0.2s;
	pointer-events: none;
}
.lr-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lr-pagination li { list-style: none; }
.lr-pagination .page-numbers {
	display: block;
	line-height: 21px;
	text-decoration: none;
}

/* 商品一覧：文字だけ */
.lr-pagination--text { margin-top: 36px; }
.lr-pagination--text .page-numbers {
	padding: 5px 10px;
	color: var(--e-global-color-d8f7169, #6d9453);
	font-size: 14px;
}
.lr-pagination--text .is-active .page-numbers { color: var(--e-global-color-48645b9, #bb2828); }

/* 記事一覧（コラム）：丸・暖色 */
.lr-pagination--box,
.lr-pagination--column { margin: 36px 0 20px; gap: 0 8px; }
.lr-pagination--box .page-numbers,
.lr-pagination--column .page-numbers {
	box-sizing: border-box;
	min-width: 36px;
	height: 36px;
	padding: 0 4px;
	border: 1px solid #f1dcc6;
	border-radius: 18px;
	background: #fff;
	color: #a77b55;
	font-size: 13px;
	line-height: 34px;
	text-align: center;
	transition: background 0.2s, color 0.2s;
}
.lr-pagination--box a.page-numbers:hover,
.lr-pagination--column a.page-numbers:hover { background: #fbefe3; }
.lr-pagination--box .dots,
.lr-pagination--column .dots { border-color: transparent; background: transparent; }
.lr-pagination--box .is-active .page-numbers,
.lr-pagination--column .is-active .page-numbers {
	border-color: #e6a666;
	background: #e6a666;
	color: #fff;
}

/* お知らせ：丸・オレンジ */
.lr-pagination--news { margin: 24px 0 0; gap: 0 6px; }
.lr-pagination--news .page-numbers {
	min-width: 32px;
	height: 32px;
	padding: 0 4px;
	border-radius: 16px;
	color: #888;
	font-size: 13px;
	line-height: 32px;
	text-align: center;
}
.lr-pagination--news a.page-numbers:hover { color: #e6a666; }
.lr-pagination--news .is-active .page-numbers { background: #e6a666; color: #fff; }

/* ---------- 見出し ---------- */
.lr-heading { text-align: center; }
.lr-heading__sub {
	display: inline-flex;
	align-items: center;
	color: #393939;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 300;
	letter-spacing: 0.12em;
	line-height: 1.4;
}
.lr-heading__line {
	display: block;
	width: 20px;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}
.lr-heading__sub-text { margin: 0 14px 0 calc(14px + 0.12em); }
.lr-heading .lr-heading__title {
	margin: 0;
	font-size: 14px;
	line-height: 21px;
}
.lr-heading__title span {
	display: inline-block;
	color: #e6a666;
}
.lr-heading--main-en .lr-heading__title span {
	padding: 8px 0 12px 0.28em;
	font-family: Archivo, sans-serif;
	font-size: 13px;
	font-weight: 300;
	letter-spacing: 0.28em;
	line-height: 1;
	text-transform: uppercase;
}
@media (max-width: 639px) {
	.lr-heading__sub { font-size: 20px; }
}
.lr-heading--main-large .lr-heading__title span {
	font-size: 25.6px;
	font-weight: 700;
	line-height: 44.8px;
}

/* 飼い方コラムのページ用 */
.lr-heading--preset-column .lr-heading__sub {
	color: var(--e-global-color-d8f7169, #6d9453);
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 14px;
}
.lr-heading--preset-column .lr-heading__sub-text { margin: 0 10px; }
.lr-heading--preset-column .lr-heading__line { opacity: 1; }
.lr-heading--preset-column .lr-heading__line { width: 11px; }
.lr-heading--preset-column .lr-heading__title span { color: var(--e-global-color-d8f7169, #6d9453); }

/* Instagram（旧 Smash Balloon） */
.lr-insta__header {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
}
.lr-insta__avatar-link { flex-shrink: 0; }
.lr-insta .lr-insta__avatar {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 50% !important;
	object-fit: cover;
}
.lr-insta__info { min-width: 0; }
.lr-insta__name {
	color: #333 !important;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none !important;
}
.lr-insta__bio {
	margin: 4px 0 0;
	color: #333;
	font-size: 14px;
	line-height: 1.6;
}
@media (max-width: 767px) {
	.lr-insta__header { gap: 12px; }
	.lr-insta .lr-insta__avatar { width: 60px; height: 60px; }
	.lr-insta__name { font-size: 16px; }
	.lr-insta__bio { font-size: 12px; }
}
.lr-insta__grid {
	display: grid;
	grid-template-columns: repeat(var(--lr-cols, 6), 1fr);
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lr-insta__grid li { margin: 0; }
.lr-insta__grid a {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 8px;
	aspect-ratio: 1 / 1;
}
.lr-insta__grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}
.lr-insta__grid a:hover img { transform: scale(1.05); }
.lr-insta__type {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 20px;
	height: 20px;
	line-height: 0;
}
.lr-insta__type svg {
	width: 100%;
	height: 100%;
	fill: #fff;
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}
@media (max-width: 1024px) {
	.lr-insta__grid { grid-template-columns: repeat(var(--lr-cols-tab, 4), 1fr); }
}
@media (max-width: 767px) {
	.lr-insta__grid { grid-template-columns: repeat(var(--lr-cols-sp, 3), 1fr); }
	.lr-insta__item--pc { display: none; }
}
.lr-insta__more {
	margin-top: 20px;
	text-align: center;
}
.lr-insta__follow {
	display: inline-block;
	padding: 10px 28px;
	border-radius: 999px;
	background: #e6a666;
	color: #fff !important;
	font-size: 14px;
	text-decoration: none;
	transition: background 0.3s;
}
.lr-insta__follow:hover { background: #d48f4c; }
