/*
Theme Name: lavient 2025
Theme URI: https://lavient.life/
Author: lavient
Author URI: https://lavient.life/about/
Description: C'est la vie!(lavient.life) 전용 Twenty Twenty-Five 자식 테마. 작은 헤더, 한국어 가독성, 글 목차, 작성자 박스, 관련 글.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lavient-2025
*/

/* ---------- 기본 ---------- */

/* 한국어는 어절 단위로 줄바꿈하고, 긴 URL만 강제로 끊는다.
   제목 블록은 코어 CSS가 word-break를 따로 지정해서 한 번 더 적는다. */
.wp-site-blocks,
.wp-site-blocks :is(.wp-block-post-title, .wp-block-query-title, .wp-block-heading) {
	word-break: keep-all;
	overflow-wrap: break-word;
}

a {
	text-underline-offset: 0.22em;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.wp-block-post-content :where(h2, h3) {
	scroll-margin-top: 1.25rem;
}

/* ---------- 헤더 ---------- */

.lv-header {
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}

.lv-header__inner {
	row-gap: 0.25rem;
}

.lv-brand .wp-block-site-logo img {
	display: block;
}

.lv-brand .wp-block-site-title {
	margin: 0;
	white-space: nowrap;
}

.lv-nav .wp-block-navigation__container {
	gap: 0 1.375rem;
}

.lv-nav .wp-block-navigation-item__content {
	padding-block: 0.5rem;
}

.lv-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-1);
}

/* 검색: 아이콘을 누르면 열리는 <details>. 자바스크립트 없음. */
.lv-search {
	position: relative;
	margin: 0;
}

.lv-search > summary {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	cursor: pointer;
	font-size: 0;
	list-style: none;
}

.lv-search > summary::-webkit-details-marker {
	display: none;
}

.lv-search > summary::before {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	background: currentColor;
	-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'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	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'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.lv-search[open] > summary::before {
	-webkit-mask-image: 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'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
	mask-image: 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'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
}

.lv-search > summary:hover,
.lv-search[open] > summary {
	background: var(--wp--preset--color--accent-5);
}

.lv-search .wp-block-search {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	z-index: 20;
	width: min(22rem, calc(100vw - 2.5rem));
	margin: 0;
	padding: 0.625rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgb(0 0 0 / 0.08);
}

@media (min-width: 600px) {
	.lv-header__inner > .lv-nav {
		margin-inline-start: auto;
	}
}

/* 모바일: 1줄째 로고·검색, 2줄째 메뉴 */
@media (max-width: 599px) {
	.lv-header__inner {
		flex-wrap: wrap !important;
	}

	.lv-header__inner > .lv-search {
		margin-inline-start: auto;
	}

	.lv-header__inner > .lv-nav {
		order: 3;
		flex: 1 0 100%;
		border-top: 1px solid var(--wp--preset--color--accent-6);
	}

	.lv-nav .wp-block-navigation__container {
		flex-wrap: nowrap;
		gap: 0 1.5rem;
		overflow-x: auto;
		scrollbar-width: none;
	}
}

/* ---------- 카테고리 자동 메뉴 ----------
   헤더 메뉴는 카테고리 목록 블록이라 글이 있는 카테고리가 생기면 자동으로 늘어난다.
   PC: 상위 카테고리에 마우스를 올리면 하위 카테고리가 드롭다운으로 열린다.
   모바일: 상위와 하위 카테고리를 한 줄에 펼쳐 가로로 넘긴다. */
.lv-catnav {
	display: flex;
	gap: 0 1.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.lv-catnav li {
	position: relative;
	margin: 0;
	list-style: none;
}
.lv-catnav a {
	display: block;
	padding-block: 0.5rem;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.lv-catnav a:hover,
.lv-catnav a:focus-visible,
.lv-catnav :is(.current-cat, .current-cat-parent, .current-cat-ancestor) > a {
	color: var(--wp--preset--color--accent-1);
}
.lv-catnav .children {
	display: none;
	position: absolute;
	top: 100%;
	left: -0.875rem;
	z-index: 30;
	min-width: 9.5rem;
	margin: 0;
	padding: 0.375rem 0;
	list-style: none;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgb(0 0 0 / 0.08);
}
.lv-catnav .children a {
	padding: 0.375rem 0.875rem;
	font-weight: 500;
}
.lv-catnav li:hover > .children,
.lv-catnav li:focus-within > .children {
	display: block;
}
@media (min-width: 600px) {
	.lv-header__inner > .lv-menu {
		margin-inline-start: auto;
	}
}
@media (max-width: 599px) {
	.lv-catnav li,
	.lv-catnav .children {
		display: contents;
	}
	.lv-catnav .children a {
		padding: 0.5rem 0;
		color: var(--wp--preset--color--accent-4);
	}
	.lv-catnav .children .current-cat > a {
		color: var(--wp--preset--color--accent-1);
	}
}
@media (max-width: 599px) {
	.lv-header__inner > .lv-menu {
		order: 3;
		flex: 1 0 100%;
		gap: 0 1.25rem;
		overflow-x: auto;
		border-top: 1px solid var(--wp--preset--color--accent-6);
		scrollbar-width: none;
	}
	.lv-catnav {
		flex-wrap: nowrap;
		gap: 0 1.25rem;
	}
}

/* ---------- 상품 카드 (제휴 링크) ----------
   그룹(is-style-lv-box lv-product-card) 안에 이미지 → 상품명 → 설명 → 버튼 → 안내 순서.
   왼쪽에 사진, 오른쪽에 글을 두고, 사진과 버튼 모두 같은 제휴 링크로 연결한다. */
.wp-block-group.lv-product-card {
	display: grid;
	grid-template-columns: 9.5rem 1fr;
	column-gap: 1.25rem;
	align-items: center;
}
.wp-block-group.lv-product-card > * {
	grid-column: 2;
	margin: 0 !important;
}
.wp-block-group.lv-product-card > .wp-block-image {
	grid-column: 1;
	grid-row: 1 / span 4;
}
.lv-product-card .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}
.lv-product-card__name {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.45;
}
.lv-product-card__desc {
	margin-top: 0.25rem !important;
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}
.lv-product-card .wp-block-buttons {
	margin-top: 0.75rem !important;
}
.lv-product-card .wp-block-button__link {
	padding: 0.5rem 1.125rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.lv-product-card__note {
	margin-top: 0.375rem !important;
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
}
@media (max-width: 479px) {
	.wp-block-group.lv-product-card {
		grid-template-columns: 5.5rem 1fr;
		column-gap: 0.875rem;
		padding: 1rem;
	}
}

/* ---------- 본문 영역 공통 ---------- */

.lv-main {
	padding-top: clamp(1.25rem, 4vw, 3rem);
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.lv-page-title {
	margin-bottom: 0.5rem;
}

.lv-term-desc {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- 글 목록 카드 ---------- */

.lv-post-list .wp-block-post-template {
	margin-top: 0.5rem;
}

.lv-post-list .wp-block-post-template > li {
	margin-block-start: 0;
}

.lv-card {
	gap: 1.5rem;
	padding-block: 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}

.lv-card__body {
	flex: 1 1 auto;
	min-width: 0;
}

.lv-card__body > * {
	margin-block: 0;
}

.lv-card__meta {
	gap: 0 0.625rem;
	line-height: 1.5;
}

.lv-card .wp-block-post-title {
	margin-top: 0.375rem;
	font-size: clamp(1.0625rem, 0.95rem + 0.6vw, 1.3125rem);
	line-height: 1.45;
}

.lv-card .wp-block-post-excerpt {
	margin-top: 0.5rem;
}

.lv-card .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.lv-card__thumb {
	flex: 0 0 12.5rem;
	margin: 0;
}

.lv-card__thumb img {
	border-radius: 8px;
	background: var(--wp--preset--color--accent-5);
}

.lv-post-list .wp-block-query-pagination {
	margin-top: 2rem;
}

@media (max-width: 599px) {
	.lv-card {
		gap: 0.875rem;
		padding-block: 1.125rem;
	}

	.lv-card__thumb {
		flex-basis: 6rem;
	}

	.lv-card__thumb img {
		aspect-ratio: 1 !important;
	}

	.lv-card .wp-block-post-excerpt__excerpt {
		-webkit-line-clamp: 2;
	}
}

/* ---------- 글 ---------- */

.lv-post-header > * {
	margin-block: 0;
}

.lv-post-header .wp-block-post-title {
	margin-top: 0.5rem;
}

.lv-post-meta {
	gap: 0 0.375rem;
	margin-top: 0.75rem !important;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}

.lv-date::before {
	content: "작성 ";
}

.lv-date-modified::before {
	content: "· 수정 ";
}

.lv-content > h2.wp-block-heading {
	margin-top: 3rem;
}

.lv-content > h3.wp-block-heading {
	margin-top: 2.25rem;
}

.lv-content > :is(h2, h3) + * {
	margin-top: 1rem;
}

.lv-content figure.wp-block-image,
.lv-content .wp-block-gallery {
	margin-block: 2rem;
}

.lv-content img {
	border-radius: 4px;
}

.lv-content .wp-block-list li + li {
	margin-top: 0.25rem;
}

/* 목차 (functions.php가 첫 소제목 앞에 넣는다) */
.lv-toc {
	margin-block: 2rem;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--accent-5);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 10px;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.lv-toc summary {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.lv-toc summary::-webkit-details-marker {
	display: none;
}

.lv-toc summary::after {
	content: "접기";
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 400;
}

.lv-toc details:not([open]) summary::after {
	content: "펼치기";
}

.lv-toc ol {
	margin: 0.75rem 0 0;
	padding-left: 1.25rem;
}

.lv-toc li + li {
	margin-top: 0.375rem;
}

.lv-toc a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.lv-toc a:hover {
	color: var(--wp--preset--color--accent-1);
	text-decoration: underline;
}

/* 작성자 박스 */
.lv-author {
	gap: 1rem;
	margin-top: 3.5rem !important;
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--accent-5);
	border-radius: 12px;
}

.lv-author .wp-block-avatar img {
	display: block;
	border-radius: 50%;
}

.lv-author__body > * {
	margin-block: 0;
}

.lv-author__label {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.5;
}

.lv-author__name {
	font-weight: 700;
	line-height: 1.5;
}

.lv-author__name a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.lv-author__bio {
	margin-top: 0.375rem !important;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.7;
}

.lv-author__link {
	margin-top: 0.5rem !important;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.lv-author__link a {
	text-decoration: none;
}

/* 관련 글 (Jetpack) */
.lv-related {
	margin-top: 3rem !important;
}

.lv-section-heading,
.lv-related .wp-block-heading {
	margin-bottom: 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.lv-related .jp-related-posts-i2__post-link {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
}

.lv-related .jp-related-posts-i2__post-link:hover {
	color: var(--wp--preset--color--accent-1);
}

.lv-related .jp-related-posts-i2__post-img {
	width: 100%;
	aspect-ratio: 7 / 4;
	object-fit: cover;
	border-radius: 8px;
	background: var(--wp--preset--color--accent-5);
}

.lv-related .jp-related-posts-i2__post-defs {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
}

/* 모바일에서는 세로로 길게 쌓이지 않도록 작은 썸네일 + 제목 한 줄 구성 */
@media (max-width: 640px) {
	.lv-related .jp-related-posts-i2__post {
		margin-bottom: 1rem;
	}

	.lv-related .jp-related-posts-i2__post-link {
		flex-direction: row;
		align-items: flex-start;
		gap: 0.875rem;
		margin-bottom: 0;
	}

	.lv-related .jp-related-posts-i2__post-img {
		flex: 0 0 6rem;
		width: 6rem;
		aspect-ratio: 4 / 3;
	}

	.lv-related .jp-related-posts-i2__post-defs {
		display: none;
	}
}

/* 이전 글 / 다음 글 */
.lv-post-nav {
	gap: 1.5rem;
	margin-top: 3rem !important;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--accent-6);
}

.lv-post-nav .post-navigation-link-previous,
.lv-post-nav .post-navigation-link-next {
	flex: 1 1 0;
	min-width: 0;
	line-height: 1.5;
}

.lv-post-nav .post-navigation-link-next {
	text-align: right;
}

.lv-post-nav a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.lv-post-nav a:hover {
	color: var(--wp--preset--color--accent-1);
}

.lv-post-nav .post-navigation-link__label {
	display: block;
	margin-bottom: 0.25rem;
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 400;
}


/* 댓글 */
.lv-comments {
	margin-top: 3rem;
}

.lv-comment {
	gap: 0.875rem;
	margin-bottom: 1.5rem;
}

.lv-comment .wp-block-avatar img {
	border-radius: 50%;
}

.lv-comments .comment-reply-title {
	font-size: var(--wp--preset--font-size--medium);
}

.lv-comments textarea,
.lv-comments input:not([type="submit"]):not([type="checkbox"]) {
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 8px;
	font-size: var(--wp--preset--font-size--small);
}

.lv-comments .comment-form-cookies-consent,
.lv-comments .comment-notes,
.lv-comments .logged-in-as {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
}

/* ---------- 애드센스 자동 광고 ---------- */

/* 자동 광고가 본문 사이에 들어와도 위아래 여백을 두고, 채워지지 않은 자리는 숨긴다. */
.google-auto-placed {
	clear: both;
	margin-block: 2rem !important;
}

ins.adsbygoogle[data-ad-status="unfilled"] {
	display: none !important;
}

/* ---------- 푸터 ---------- */

.lv-footer {
	margin-top: 0;
	padding-top: 2rem;
	padding-bottom: 2.5rem;
	border-top: 1px solid var(--wp--preset--color--accent-6);
}

.lv-footer__row {
	gap: 0.25rem 1.5rem;
}

.lv-footer__row > p {
	margin: 0;
}

.lv-footer__links a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.lv-footer__links a:hover {
	color: var(--wp--preset--color--accent-1);
}

/* ---------- 꾸미기 세트 ---------- */

/* 팁 · 주의 · 요약 상자 (그룹 블록 스타일) */
.wp-block-group.is-style-lv-tip,
.wp-block-group.is-style-lv-warn,
.wp-block-group.is-style-lv-summary {
	position: relative;
	padding: 1.125rem 1.25rem 1.125rem 3.25rem;
	border-radius: 12px;
	font-size: 1rem;
	line-height: 1.75;
}

.wp-block-group.is-style-lv-tip > *,
.wp-block-group.is-style-lv-warn > *,
.wp-block-group.is-style-lv-summary > * {
	margin-block: 0;
}

.wp-block-group.is-style-lv-tip > * + *,
.wp-block-group.is-style-lv-warn > * + *,
.wp-block-group.is-style-lv-summary > * + * {
	margin-top: 0.5rem;
}

.wp-block-group.is-style-lv-tip::before,
.wp-block-group.is-style-lv-warn::before,
.wp-block-group.is-style-lv-summary::before {
	content: "";
	position: absolute;
	top: 1.3rem;
	left: 1.125rem;
	width: 1.375rem;
	height: 1.375rem;
	-webkit-mask: var(--lv-icon) center / contain no-repeat;
	mask: var(--lv-icon) center / contain no-repeat;
}

.wp-block-group.is-style-lv-tip {
	--lv-icon: 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%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.3h6c0-1 .4-1.8 1-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");
	background: var(--wp--preset--color--soft-yellow);
}

.wp-block-group.is-style-lv-tip::before {
	background: #b07a00;
}

.wp-block-group.is-style-lv-warn {
	--lv-icon: 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%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0zM12 9v4M12 17h.01'/%3E%3C/svg%3E");
	background: var(--wp--preset--color--soft-red);
}

.wp-block-group.is-style-lv-warn::before {
	background: #b4321f;
}

.wp-block-group.is-style-lv-summary {
	--lv-icon: 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%3Cpath d='M9 11l3 3L22 4M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
	background: var(--wp--preset--color--accent-2);
}

.wp-block-group.is-style-lv-summary::before {
	background: var(--wp--preset--color--accent-1);
}

.wp-block-group.is-style-lv-tip ul,
.wp-block-group.is-style-lv-warn ul,
.wp-block-group.is-style-lv-summary ul {
	padding-left: 1.125rem;
}

/* 테두리 카드 (리뷰 총평, 맛집 정보) */
.wp-block-group.is-style-lv-box {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgb(0 0 0 / 0.04);
}

.wp-block-group.is-style-lv-box > * {
	margin-block: 0;
}

.wp-block-group.is-style-lv-box > * + * {
	margin-top: 0.75rem;
}

.lv-eyebrow {
	color: var(--wp--preset--color--accent-1);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.lv-stars {
	color: #d49a00;
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.lv-stars strong {
	margin-left: 0.375rem;
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
	letter-spacing: 0;
}

.lv-verdict .wp-block-columns {
	gap: 1rem 1.5rem;
}

.lv-verdict h4,
.lv-proscons h4 {
	margin: 0 0 0.375rem;
	font-size: var(--wp--preset--font-size--small);
}

.lv-verdict .wp-block-column > *,
.lv-proscons .wp-block-column > * {
	margin-block: 0;
}

.lv-verdict .wp-block-column > * + *,
.lv-proscons .wp-block-column > * + * {
	margin-top: 0.375rem;
}

.lv-verdict ul {
	font-size: 1rem;
}

/* 좋은 점 / 아쉬운 점 목록 */
ul.is-style-lv-pros,
ul.is-style-lv-cons {
	padding-left: 0;
	list-style: none;
}

ul.is-style-lv-pros li,
ul.is-style-lv-cons li {
	position: relative;
	padding-left: 1.75rem;
}

ul.is-style-lv-pros li + li,
ul.is-style-lv-cons li + li {
	margin-top: 0.25rem;
}

ul.is-style-lv-pros li::before,
ul.is-style-lv-cons li::before {
	content: "";
	position: absolute;
	top: 0.38em;
	left: 0;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 70%;
}

ul.is-style-lv-pros li::before {
	background-color: #1e7a45;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

ul.is-style-lv-cons li::before {
	background-color: #b4321f;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}

.lv-proscons {
	gap: 1rem !important;
}

.lv-proscons > .wp-block-column {
	padding: 1rem 1.25rem;
	border-radius: 12px;
}

.lv-proscons > .lv-pros-col {
	background: var(--wp--preset--color--soft-green);
}

.lv-proscons > .lv-cons-col {
	background: var(--wp--preset--color--soft-red);
}

.lv-proscons ul {
	margin: 0;
	font-size: 1rem;
}

/* 폴라로이드 사진 */
.wp-block-image.is-style-lv-polaroid {
	max-width: 30rem;
	margin-inline: auto;
	padding: 0.75rem 0.75rem 0;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.08), 0 10px 24px rgb(0 0 0 / 0.08);
	transform: rotate(-1.2deg);
}

.wp-block-image.is-style-lv-polaroid img {
	border-radius: 2px;
}

.wp-block-image.is-style-lv-polaroid figcaption {
	margin: 0;
	padding: 0.625rem 0 0.875rem;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}

/* 스펙 표 */
.wp-block-table.is-style-lv-spec table {
	width: 100%;
	border-collapse: collapse;
	border-top: 2px solid var(--wp--preset--color--contrast);
}

.wp-block-table.is-style-lv-spec td,
.wp-block-table.is-style-lv-spec th {
	padding: 0.625rem 0.875rem;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	text-align: left;
	vertical-align: top;
}

.wp-block-table.is-style-lv-spec td:first-child {
	width: 7.5em;
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--accent-4);
	font-weight: 600;
}

.wp-block-table.is-style-lv-spec figcaption {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--x-small);
	text-align: left;
}

/* 첫 화면 소개 카드 + 카테고리 칩 */
.lv-intro {
	gap: 0.875rem;
	margin-bottom: 0.25rem;
}

.lv-intro .wp-block-avatar img {
	display: block;
	border-radius: 50%;
}

.lv-intro__text > * {
	margin-block: 0;
	line-height: 1.55;
}

.lv-intro__hello {
	font-weight: 700;
}

.lv-intro__desc {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--small);
}

.lv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem !important;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
}

.lv-chips a {
	padding: 0.375rem 0.875rem;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: none;
}

.lv-chips a:hover {
	border-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-1);
}

.lv-home-title {
	margin-top: 1.75rem !important;
}

/* 모바일: 칩은 한 줄로 두고 옆으로 밀어서 본다 */
@media (max-width: 599px) {
	.lv-intro .wp-block-avatar img {
		width: 44px;
		height: 44px;
	}

	.lv-chips {
		flex-wrap: nowrap;
		margin-inline: calc(-1 * clamp(1.25rem, 4vw, 2.5rem)) !important;
		padding-inline: clamp(1.25rem, 4vw, 2.5rem);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.lv-chips::-webkit-scrollbar {
		display: none;
	}

	.lv-chips a {
		flex: none;
		padding: 0.3125rem 0.75rem;
	}

	.lv-home-title {
		margin-top: 1.25rem !important;
		font-size: var(--wp--preset--font-size--large) !important;
	}
}

/* 글 읽기 진행 막대: 스크롤 연동 CSS만 사용 (지원 안 하는 브라우저에선 안 보임) */
@supports (animation-timeline: scroll()) {
	body.single-post::after {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		height: 3px;
		background: var(--wp--preset--color--accent-1);
		pointer-events: none;
		transform: scaleX(0);
		transform-origin: 0 50%;
		animation: lv-read-progress linear both;
		animation-timeline: scroll(root block);
	}

	body.admin-bar.single-post::after {
		top: 32px;
	}

	@media (max-width: 782px) {
		body.admin-bar.single-post::after {
			top: 46px;
		}
	}
}

@keyframes lv-read-progress {
	to {
		transform: scaleX(1);
	}
}
