/**
 * Laifen Russia - Support Pages Consolidated Styles
 * 支持页面统一样式文件
 * 包含：政策页面、FAQ、联系表单、批量订单、站点地图
 *
 * @package Laifen_Russia
 * @since 1.0.0
 */

/* ==========================================================================
   Policy Page Styles (Terms, Cookie, Privacy)
   ========================================================================== */

.policy-page {
	padding: 0;
}

.policy-article {
	width: 100%;
}

/* Policy Header */
.policy-header {
	background: var(--laifen-bg-light, #f8f9fa);
	padding: 3rem 1rem;
	text-align: center;
}

.policy-header-container {
	max-width: 800px;
	margin: 0 auto;
}

.policy-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--laifen-text-primary, #151515);
}

.policy-updated-date {
	font-size: 0.9375rem;
	color: var(--laifen-text-secondary, #8a8a8a);
	margin: 0;
}

/* Policy Content Wrapper */
.policy-content-wrapper {
	padding: 3rem 1rem;
}

.policy-container {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 3rem;
	max-width: 1200px;
	margin: 0 auto;
	align-items: start;
}

/* Policy Sidebar (TOC) */
.policy-sidebar {
	position: sticky;
	top: 100px;
}

/* Table of Contents */
.policy-toc {
	background: var(--laifen-bg-light, #f8f9fa);
	border-radius: 12px;
	padding: 1.5rem;
}

.toc-title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--laifen-border-light, #e6e6e6);
	color: var(--laifen-text-primary, #151515);
}

.toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.toc-item {
	margin: 0;
}

.toc-link {
	display: block;
	padding: 0.5rem 0;
	font-size: 0.875rem;
	color: var(--laifen-text-secondary, #8a8a8a);
	text-decoration: none;
	transition: color 0.2s ease;
	line-height: 1.4;
}

.toc-link:hover,
.toc-link:active,
.toc-link:focus {
	color: #4a9eff;
	outline: none;
}

.toc-link.active {
	color: var(--laifen-primary, #54cdcd);
	font-weight: 500;
}

.toc-level-3 .toc-link {
	padding-left: 1rem;
	font-size: 0.8125rem;
}

.toc-sublist {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Policy Content */
.policy-content {
	max-width: 800px;
}

.policy-content--full {
	max-width: 900px;
	margin: 0 auto;
}

.policy-content h2 {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 2rem 0 1rem;
	padding-top: 1rem;
	color: var(--laifen-text-primary, #151515);
}

.policy-content h2:first-child {
	margin-top: 0;
	padding-top: 0;
}

.policy-content h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 1.5rem 0 0.75rem;
	color: var(--laifen-text-primary, #151515);
}

.policy-content p {
	margin: 0 0 1rem;
	line-height: 1.7;
	color: var(--laifen-text-primary, #151515);
}

.policy-content ul,
.policy-content ol {
	margin: 0 0 1rem;
	padding-left: 1.5rem;
	line-height: 1.7;
}

.policy-content li {
	margin-bottom: 0.5rem;
}

.policy-content a {
	color: var(--laifen-primary, #54cdcd);
	text-decoration: underline;
}

.policy-content a:hover,
.policy-content a:active,
.policy-content a:focus {
	color: #4a9eff;
	outline: none;
}

.policy-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
}

.policy-content th,
.policy-content td {
	padding: 0.75rem 1rem;
	text-align: left;
	border: 1px solid var(--laifen-border-light, #e6e6e6);
}

.policy-content th {
	background: var(--laifen-bg-light, #f8f9fa);
	font-weight: 600;
}

/* Policy Footer */
.policy-footer {
	padding: 2rem 1rem;
	text-align: center;
}

.policy-footer .edit-link {
	font-size: 0.875rem;
	color: var(--laifen-text-secondary, #8a8a8a);
}

/* ==========================================================================
   Sitemap Page Styles
   ========================================================================== */

.sitemap-page {
	padding: 0;
}

.sitemap-article {
	width: 100%;
}

/* Sitemap Header */
.sitemap-header {
	background: var(--laifen-bg-light, #f8f9fa);
	padding: 3rem 1rem;
	text-align: center;
}

.sitemap-header-container {
	max-width: 800px;
	margin: 0 auto;
}

.sitemap-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--laifen-text-primary, #151515);
}

.sitemap-description {
	font-size: 1.125rem;
	color: var(--laifen-text-secondary, #8a8a8a);
	margin: 0;
	line-height: 1.6;
}

/* Sitemap Content */
.sitemap-content-wrapper {
	padding: 3rem 1rem;
}

.sitemap-container {
	max-width: 1200px;
	margin: 0 auto;
}

/* Sitemap Sections */
.laifen-sitemap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
}

.sitemap-section {
	background: var(--laifen-bg-white, #fff);
	border: 1px solid var(--laifen-border-light, #e6e6e6);
	border-radius: 12px;
	padding: 1.5rem;
}

.sitemap-section h2 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--laifen-primary, #54cdcd);
	color: var(--laifen-text-primary, #151515);
}

/* Sitemap Lists */
.sitemap-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sitemap-list li {
	margin: 0;
	padding: 0;
}

.sitemap-list a {
	display: block;
	padding: 0.5rem 0;
	font-size: 0.9375rem;
	color: var(--laifen-text-primary, #151515);
	text-decoration: none;
	transition: color 0.2s ease, padding-left 0.2s ease;
	border-bottom: 1px solid var(--laifen-border-light, #e6e6e6);
}

.sitemap-list li:last-child a {
	border-bottom: none;
}

.sitemap-list a:hover,
.sitemap-list a:active,
.sitemap-list a:focus {
	color: #4a9eff;
	padding-left: 0;
	outline: none;
}

/* Nested Sitemap Lists */
.sitemap-list .sitemap-list {
	padding-left: 1rem;
	margin-top: 0.25rem;
}

.sitemap-list .sitemap-list a {
	font-size: 0.875rem;
	color: var(--laifen-text-secondary, #8a8a8a);
}

.sitemap-list .sitemap-list a:hover,
.sitemap-list .sitemap-list a:active,
.sitemap-list .sitemap-list a:focus {
	color: #4a9eff;
	outline: none;
}

/* Sitemap Footer */
.sitemap-footer {
	padding: 2rem 1rem;
	text-align: center;
}

.sitemap-footer .edit-link {
	font-size: 0.875rem;
	color: var(--laifen-text-secondary, #8a8a8a);
}

/* ==========================================================================
   About Page Styles
   ========================================================================== */

.about-page {
	padding: 0;
}

.about-article {
	width: 100%;
}

/* About Header */
.about-header {
	background: var(--laifen-bg-light, #f8f9fa);
	padding: 3rem 1rem;
	text-align: center;
}

.about-header-container {
	max-width: 800px;
	margin: 0 auto;
}

.about-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--laifen-text-primary, #151515);
}

/* About Content */
.about-content-wrapper {
	padding: 3rem 1rem;
}

.about-container {
	max-width: 1000px;
	margin: 0 auto;
}

.about-content {
	line-height: 1.7;
}

.about-content h2 {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 2rem 0 1rem;
	color: var(--laifen-text-primary, #151515);
}

.about-content p {
	margin: 0 0 1rem;
	color: var(--laifen-text-primary, #151515);
}

/* About Featured Image */
.about-featured-image {
	margin: 2rem 0;
	border-radius: 12px;
	overflow: hidden;
}

.about-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* About Values Section */
.about-values {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1.5rem;
	margin: 2rem 0;
}

.about-value-item {
	background: var(--laifen-bg-light, #f8f9fa);
	padding: 1.5rem;
	border-radius: 12px;
	text-align: center;
}

.about-value-icon {
	width: 48px;
	height: 48px;
	margin: 0 auto 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--laifen-primary, #54cdcd);
	color: #fff;
	border-radius: 50%;
}

.about-value-title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	color: var(--laifen-text-primary, #151515);
}

.about-value-description {
	font-size: 0.9375rem;
	color: var(--laifen-text-secondary, #8a8a8a);
	margin: 0;
	line-height: 1.5;
}

/* About Footer */
.about-footer {
	padding: 2rem 1rem;
	text-align: center;
}

.about-footer .edit-link {
	font-size: 0.875rem;
	color: var(--laifen-text-secondary, #8a8a8a);
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 992px) {
	.policy-container {
		grid-template-columns: 1fr;
	}

	.policy-sidebar {
		position: static;
		order: -1;
	}

	.policy-toc {
		max-width: 100%;
	}

	.toc-list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.toc-item {
		flex: 0 0 auto;
	}

	.toc-link {
		padding: 0.5rem 1rem;
		background: var(--laifen-bg-white, #fff);
		border-radius: 50px;
		font-size: 0.8125rem;
	}

	.toc-level-3 .toc-link {
		padding-left: 1rem;
	}

	.toc-sublist {
		display: contents;
	}

	.laifen-sitemap {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.policy-header,
	.sitemap-header,
	.about-header {
		padding: 2rem 1rem;
	}

	.policy-title,
	.sitemap-title,
	.about-title {
		font-size: 2rem;
	}

	.policy-content-wrapper,
	.sitemap-content-wrapper,
	.about-content-wrapper {
		padding: 2rem 1rem;
	}

	.policy-content h2 {
		font-size: 1.25rem;
	}

	.policy-content h3 {
		font-size: 1.125rem;
	}

	.sitemap-section {
		padding: 1.25rem;
	}

	.about-values {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.policy-title,
	.sitemap-title,
	.about-title {
		font-size: 1.75rem;
	}

	.policy-header-container,
	.sitemap-header-container,
	.about-header-container {
		padding: 0;
	}

	.toc-list {
		flex-direction: column;
	}

	.toc-item {
		width: 100%;
	}

	.toc-link {
		display: block;
		text-align: left;
	}
}
