/**
 * Extra theme layer (cleared). Core rules live in style.css at theme root.
 */

.widget-blogshare-tabs .dashicons {
	font-size: 1rem;
	width: 1rem;
	height: 1rem;
	vertical-align: text-bottom;
	margin-right: 0.15em;
}

/* Smaller primary headings where no template-specific h1 rule applies */
#main-content > article > h1,
#main-content h1.entry-title,
.srch-pg__results-title {
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	line-height: 1.2;
}

/* 全站主内容区标题略小；首页 #main-content.jg-page 由 front-page.css 的 .jg-* 控制 */
#main-content:not(.jg-page) h2 {
	font-size: clamp(1.2rem, 2.1vw, 1.75rem);
	line-height: 1.12;
}
#main-content:not(.jg-page) h3 {
	font-size: clamp(1.02rem, 1.7vw, 1.25rem);
	line-height: 1.15;
}
#main-content:not(.jg-page) h4 {
	font-size: clamp(0.95rem, 1.35vw, 1.08rem);
	line-height: 1.2;
}
#main-content:not(.jg-page) h5,
#main-content:not(.jg-page) h6 {
	font-size: clamp(0.9rem, 1.1vw, 0.98rem);
	line-height: 1.25;
}

/**
 * 内容区左右安全边与最大宽度：统一为 Tailwind max-w-7xl + px-4 / sm:px-6 / lg:px-8
 * 不依赖已编译的 Tailwind 是否包含 .px-4 等，避免部分区块贴边
 */
:root {
	--lv-gutter-x: 1rem;
	--lv-content-max: 80rem; /* 1280px ≈ max-w-7xl */
	--lv-radius-lg: 1.15rem;
	--lv-shadow-card: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 20px 50px rgba(15, 23, 42, 0.08);

	/* Site-wide brand (unified accent — patrimonio / institutional red) */
	--lv-brand: #c8102e;
	--lv-brand-hover: #a50d26;
	--lv-brand-light: #e94250;
	--lv-brand-mid: #f87171;
	--lv-brand-rgb: 200, 16, 46;
	--lv-brand-soft: rgba(var(--lv-brand-rgb), 0.12);
	--lv-brand-softer: rgba(var(--lv-brand-rgb), 0.08);
	--lv-brand-muted: rgba(var(--lv-brand-rgb), 0.16);
	--lv-brand-border: rgba(var(--lv-brand-rgb), 0.22);
	--lv-brand-ring: rgba(var(--lv-brand-rgb), 0.35);
	--lv-brand-ring-strong: rgba(var(--lv-brand-rgb), 0.5);
	--lv-brand-glow: rgba(var(--lv-brand-rgb), 0.32);
	--lv-brand-glow-strong: rgba(var(--lv-brand-rgb), 0.42);
	--lv-on-brand: #ffffff;
	--lv-chip-bg: rgba(var(--lv-brand-rgb), 0.12);
	--lv-chip-fg: #881337;
	--lv-text-accent-warm: #9f1239;

	/* Alpha outlines (Tailwind arbitrary borders / rings) */
	--lv-brand-a30: rgba(var(--lv-brand-rgb), 0.3);
	--lv-brand-a35: rgba(var(--lv-brand-rgb), 0.35);
	--lv-brand-a40: rgba(var(--lv-brand-rgb), 0.4);
	--lv-brand-a50: rgba(var(--lv-brand-rgb), 0.5);

	/* Back-compat names used in older CSS */
	--lv-accent: var(--lv-brand);
	--lv-accent-soft: var(--lv-brand-soft);
}
@media (min-width: 640px) {
	:root {
		--lv-gutter-x: 1.5rem;
	}
}
@media (min-width: 1024px) {
	:root {
		--lv-gutter-x: 2rem;
	}
}
.container,
.srch-pg__wrap.container,
#colophon > .mx-auto.max-w-7xl,
#colophon.lv-site-footer .lv-site-footer__grid.mx-auto.max-w-7xl,
.lv-site-header > .mx-auto.max-w-7xl,
#main-content .lv-single-hero__inner,
#main-content .lv-blog-list-wrap,
#main-content .lv-blog-hero > .mx-auto.max-w-7xl {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--lv-content-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: max(var(--lv-gutter-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--lv-gutter-x), env(safe-area-inset-right, 0px));
}

/* 顶栏下拉的移动菜单行（与上栏分属不同子元素，需单独与 --lv-gutter-x 对齐） */
.lv-site-header .lv-mobile-nav,
#mobile-nav.lv-mobile-nav {
	padding-left: max(var(--lv-gutter-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--lv-gutter-x), env(safe-area-inset-right, 0px));
	box-sizing: border-box;
}

/* 搜索页 #content 为 main，与博客共用 srch 容器时已有 .container；内层加保险 */
main#content.srch-pg .srch-pg__wrap,
main#content[role="main"] .srch-pg__wrap {
	box-sizing: border-box;
}

/**
 * Header wordmark (text logo — works with or without luxury layout fonts)
 */
.lv-brand-wordmark {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	min-width: 0;
	max-width: min(100%, 14rem);
	gap: 0.65rem;
	transition: opacity 0.2s ease;
}

.lv-brand-wordmark:hover {
	opacity: 0.92;
}

.lv-brand-wordmark:focus-visible {
	outline: 2px solid var(--lv-brand);
	outline-offset: 4px;
	border-radius: 0.25rem;
}

.lv-brand-wordmark::before {
	content: "";
	flex-shrink: 0;
	width: 3px;
	height: 2.25rem;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--lv-brand-light) 0%, var(--lv-brand) 55%, var(--lv-brand-hover) 100%);
	box-shadow: 0 0 0 1px rgba(var(--lv-brand-rgb), 0.2);
}

.lv-brand-wordmark__stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.05rem;
	min-width: 0;
	line-height: 1;
}

.lv-brand-wordmark__lead {
	font-family: "Space Grotesk", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: clamp(0.68rem, 2.4vw, 0.78rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #64748b;
	line-height: 1.2;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lv-brand-wordmark__accent {
	font-family: "Space Grotesk", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: clamp(1.02rem, 3.6vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.05;
	color: var(--lv-brand);
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.lv-brand-wordmark__accent {
		background: linear-gradient(120deg, #0f172a 0%, #0f172a 42%, var(--lv-brand) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}
}

.lv-brand-wordmark__single {
	font-family: "Space Grotesk", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: clamp(1rem, 3.4vw, 1.3rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #0f172a;
	max-width: 100%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.lv-brand-wordmark:hover .lv-brand-wordmark__single {
	color: var(--lv-brand);
}

@media (min-width: 640px) {
	.lv-brand-wordmark {
		max-width: min(100%, 17rem);
	}
}
