/**
 * Custom Styles for ART TREK FUTURE Theme
 * 
 * @package ART TREK FUTURE
 * @since 1.0
 */

/* ========================================================================
   General Styles
   ======================================================================== */

:root {
	--primary-color: #000;
	--secondary-color: #666;
	--accent-color: #FF6B6B;
	--text-color: #333;
	--bg-color: #f6f6f6;
	--border-color: #e0e0e0;
	--light-border: #f0f0f0;
	--light-bg: #f6f6f6;
	--spacing-sm: 10px;
	--spacing-md: 20px;
	--spacing-lg: 40px;
	--spacing-xl: 60px;
	--card-shadow: 0 5px 20px rgba(0,0,0,0.1);
	--card-hover-shadow: 0 10px 30px rgba(0,0,0,0.15);
	/* templates/page.html 标题左右留白：手机 / 电脑分轨，只改变量即可 */
	--arttrek-generic-page-title-pad-inline-mobile: clamp(39px, 3.5vw, 32px);
	--arttrek-generic-page-title-pad-inline-desktop: 0px;
}

/* templates/page.html：通用页面主标题左右留白（≤768 用手机变量，≥769 用桌面变量） */
.arttrekfuture-generic-page .wp-block-post-title.arttrekfuture-generic-page-title {
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.arttrekfuture-generic-page .wp-block-post-title.arttrekfuture-generic-page-title {
		padding-left: var(--arttrek-generic-page-title-pad-inline-mobile);
		padding-right: var(--arttrek-generic-page-title-pad-inline-mobile);
	}
}

@media screen and (min-width: 769px) {
	.arttrekfuture-generic-page .wp-block-post-title.arttrekfuture-generic-page-title {
		padding-left: var(--arttrek-generic-page-title-pad-inline-desktop);
		padding-right: var(--arttrek-generic-page-title-pad-inline-desktop);
	}
}

@font-face {
	font-family: 'MangoGrotesque';
	src: url('../fonts/MangoGrotesque-Medium/MangoGrotesque-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'MangoGrotesque';
	src: url('../fonts/MangoGrotesque-SemiBold/MangoGrotesque-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'PoppinsLight';
	src: url('../fonts/Poppins-Light/Poppins-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'AlimamaFangYuan';
	src: url('../fonts/Alimama FangYuanTi VF-SemiBold/Alimama FangYuanTi VF-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SourceHanSansCN';
	src: url('../fonts/SourceHanSansCN-Normal/SourceHanSansCN-Normal.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+3000-30FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF;
}

@font-face {
	font-family: 'PoppinsRegular';
	src: url('../fonts/Poppins-Regular/Poppins-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0100-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF;
}

@font-face {
	font-family: 'DINMedium';
	src: url('../fonts/DIN Medium Regular/DIN Medium Regular.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

body {
	font-family: 'PoppinsRegular', 'SourceHanSansCN', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
	color: var(--text-color);
	line-height: 1.6;
	background-color: #f6f6f6;
}

.hero-main-title,
.trend-horizontal-title,
.gallery-main-title,
.color-section-title,
.ai-section-title,
.color-name-vertical {
	font-family: 'MangoGrotesque', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.trend-main-title,
.trend-title,
.gallery-subtitle-right,
.card-title,
.card-text-overlay h3,
.ai-label span,
.platform-title,
.accordion-title {
	font-family: 'AlimamaFangYuan', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

/* Remove default focus outline (black border) */
*:focus,
*:focus-visible,
button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus,
.wp-block-button__link:focus,
.wp-element-button:focus {
	outline: none !important;
	box-shadow: none !important;
}

.wp-block-image img{
	width: 100%;
	height: auto;
	border-radius: 40px;
}

/* Optional: Add custom focus styles for accessibility */
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
}

.wp-block-group{
	margin-block-start: 0;
	padding: 0;
	margin: 0 auto;
	max-width: 100%;
}

.wp-block-template-part {
	margin-block-start: 0;
}

.wp-block-cover, .wp-block-cover-image{
    align-items: center;
    background-position: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    min-height: 509px;
    overflow: hidden;
    overflow: clip;
    padding: 1em;
	margin: 0 !important;
    position: relative;
}

/* ========================================================================
   Header Styles
   ======================================================================== */

/* Site Header Wrapper */
.site-header-wrapper {
	position: sticky;
	top: 0;
	border: 0;
	z-index: 1000;
	padding-top: 0;
	padding-bottom: 0;
}

/* Top Marquee Banner */
.top-marquee-banner {
	background: #fcff81;
	padding: 13px 0;
	overflow: hidden;
	position: relative;
}

.marquee-content {
	display: flex;
	gap: 80px;
	animation: marquee 30s linear infinite;
	white-space: nowrap;
	padding: 0;
}

.marquee-text {
	display: flex;
	align-items: center;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 3px;
	color: var(--primary-color);
	line-height: 35px;
	text-transform: uppercase;
}

.marquee-text img {
	height: 7px;
	width: auto;
	display: block;
}

@keyframes marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* Search Toolbar */
.search-toolbar {
	background: var(--light-bg);
	padding: 16px 28px 16px 28px;
	margin: 0;
}

/* Search Controls Container */
.search-controls {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 1;
}

/* Search Tabs Capsule - Capsule Toggle Container */
.search-tabs-capsule {
	display: inline-flex;
	align-items: center;
	gap: 0;
	position: relative;
	background: #e0e0e0;
	border-radius: 50px;
}

/* Search Tab Buttons */
.search-tab {
	padding: 13px 21px;
    font-size: 13px;
    font-weight: 500;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: transparent;
    color: #666;
    position: relative;
    z-index: 1;
    white-space: nowrap;
}

/* Active Tab - White Background */
.search-tab.active {
	background: #fff;
	color: #000;
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Hover Effect for Inactive Tabs */
.search-tab:hover:not(.active) {
	color: #333;
}

.search-input-wrapper {
	display: flex;
	flex: 1;
}

.search-input {
    width: 100%;
    padding: 7px 0;
    border: 0;
    font-size: 11px;
    background: #ffffff00;
    outline: none;
    transition: all 0.3s;
}

.search-input:focus {
	border-color: #4facfe;
	box-shadow: 0 0 0 3px rgba(79, 172, 254, 0.1);
}

.search-input::placeholder {
	color: #999;
}

.search-icon-btn button {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s;
	border-radius: 50%;
}

.search-icon-btn button:hover {
	background: rgba(0,0,0,0.05);
}

/* Main Header */
.main-header {
	background: var(--bg-color);
	padding: 3px 30px 14px 30px;
	margin-block-start: 0;
}

/* Logo Styles */
.header-logo {
	display: flex;
	align-items: center;
}

.logo-link {
	display: inline-block;
	text-decoration: none;
	transition: opacity 0.3s ease;
	line-height: 0;
}

.logo-link:hover {
	opacity: 0.85;
}

.site-logo {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Center Navigation */
.center-navigation {
	flex: 1;
	display: flex;
	justify-content: center;
}

.primary-navigation {
	display: block;
}

.primary-navigation .nav-menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 36px;
	align-items: center;
}

/* Navigation Menu Items */
.primary-navigation .nav-menu .menu-item {
	position: relative;
	list-style: none;
	font-size: 15px;
    font-weight: 500;
}

.primary-navigation .nav-menu .menu-item a {
	color: var(--secondary-color);
	text-decoration: none;
	transition: all 0.3s;
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: 'PoppinsRegular', 'SourceHanSansCN', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

/* Diamond Marker - Hollow by default */
.primary-navigation .nav-menu .menu-item a::before {
	content: '';
	width: 2px;
	height: 2px;
	border: 1.5px solid transparent;
	transform: rotate(45deg);
	display: inline-block;
	transition: all 0.3s;
	opacity: 0;
}

/* Diamond Marker - Filled for current/hover */
.primary-navigation .nav-menu .menu-item.current-menu-item a::before,
.primary-navigation .nav-menu .menu-item.current_page_item a::before,
.primary-navigation .nav-menu .menu-item.current-menu-ancestor a::before {
	background: var(--primary-color);
	border-color: var(--primary-color);
	opacity: 1;
}

/* Hover state */
.primary-navigation .nav-menu .menu-item a:hover {
	color: var(--primary-color);
}

.primary-navigation .nav-menu .menu-item a:hover::before {
	border-color: var(--secondary-color);
	transform: rotate(45deg) scale(1.1);
	opacity: 1;
}

/* Current menu item text color */
.primary-navigation .nav-menu .menu-item.current-menu-item a,
.primary-navigation .nav-menu .menu-item.current_page_item a {
	color: var(--primary-color);
}

/* Header Right Space */
.header-right-space {
	width: 120px;
}

.header-right-space {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.atf-auth-buttons {
	display: flex;
	align-items: center;
	gap: 10px;
}

.atf-auth-open,
.atf-auth-submit,
.atf-auth-code-btn {
	border: 1px solid #1d1d1f;
	background: #1d1d1f;
	color: #fff;
	border-radius: 999px;
	white-space: nowrap;
	padding: 10px 18px;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.atf-auth-register {
	background: transparent;
	color: #1d1d1f;
}

.atf-auth-open:hover,
.atf-auth-submit:hover,
.atf-auth-code-btn:hover {
	transform: translateY(-1px);
}

.atf-auth-open:disabled,
.atf-auth-submit:disabled,
.atf-auth-code-btn:disabled {
	opacity: 0.72;
	cursor: not-allowed;
	transform: none;
}

.atf-auth-open.is-loading,
.atf-auth-submit.is-loading,
.atf-auth-code-btn.is-loading {
	position: relative;
	padding-right: 44px;
}

.atf-auth-open.is-loading::after,
.atf-auth-submit.is-loading::after,
.atf-auth-code-btn.is-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 16px;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: atfButtonSpin 0.7s linear infinite;
}

.atf-member-dropdown {
	position: relative;
}

/* 顶栏已登录：浅灰底 + 圆形头像 + 昵称 + 下箭头（与登录/注册胶囊区分） */
.atf-member-trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 11px 7px 9px;
	border: 0;
	border-radius: 10px;
	background: #f4f4f5;
	color: #3f3f46;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	transition: background 0.18s ease, color 0.18s ease;
	-webkit-tap-highlight-color: transparent;
}

.atf-member-trigger:hover,
.atf-member-dropdown:focus-within .atf-member-trigger {
	background: #e4e4e7;
	color: #27272a;
}

.atf-member-trigger:focus-visible {
	outline: 2px solid #6366f1;
	outline-offset: 2px;
}

/* 触发器为 <a>：短语用 span；圆形容器不用 div */
.atf-member-trigger__avatar {
	display: inline-block;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	background-color: #e4e4e7;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
	vertical-align: middle;
}

.atf-member-trigger .atf-member-name {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.atf-member-trigger__caret {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-left: 2px;
	color: #71717a;
	transition: transform 0.2s ease, color 0.18s ease;
}

.atf-member-trigger__caret svg {
	display: block;
}

.atf-member-dropdown:focus-within .atf-member-trigger__caret,
.atf-member-dropdown:hover .atf-member-trigger__caret {
	color: #52525b;
}

.atf-member-dropdown:focus-within .atf-member-trigger__caret {
	transform: rotate(180deg);
}

.atf-member-menu {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	min-width: 248px;
	max-width: min(280px, calc(100vw - 24px));
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 10px 38px rgba(15, 23, 42, 0.12), 0 2px 10px rgba(15, 23, 42, 0.06);
	border-radius: 16px;
	padding: 12px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
	z-index: 1100;
}

@media (min-width: 769px) {
	.atf-member-dropdown:hover .atf-member-menu,
	.atf-member-dropdown:focus-within .atf-member-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

@media (max-width: 768px) {
	.atf-member-dropdown:hover .atf-member-menu,
	.atf-member-dropdown:focus-within .atf-member-menu {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.atf-member-dropdown.is-open .atf-member-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.atf-member-dropdown:focus-within .atf-member-trigger__caret {
		transform: rotate(0deg);
	}

	.atf-member-dropdown.is-open .atf-member-trigger__caret {
		transform: rotate(180deg);
	}
}

.atf-member-menu__user {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 6px 12px;
}

.atf-member-menu__avatar {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	background-color: #e4e4e7;
	box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.atf-member-menu__text {
	min-width: 0;
	flex: 1;
}

.atf-member-menu-name {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #0f172a;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.atf-member-menu-level {
	display: inline-block;
	margin-top: 5px;
	max-width: 100%;
	padding: 3px 9px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #4338ca;
	background: rgba(99, 102, 241, 0.1);
	border-radius: 999px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.atf-member-menu__divider {
	height: 1px;
	margin: 0 4px 6px;
	background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.08) 12%, rgba(15, 23, 42, 0.08) 88%, transparent);
}

.atf-member-menu__nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 2px;
}

.atf-member-menu-link {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #1e293b;
	text-align: left;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	padding: 10px 10px;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.atf-member-menu-link:hover {
	background: #f4f4f5;
	color: #0f172a;
}

.atf-member-menu-link:focus {
	outline: none;
}

.atf-member-menu-link:focus-visible {
	outline: 2px solid #6366f1;
	outline-offset: 1px;
}

.atf-member-menu-link__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	color: #64748b;
	transition: color 0.15s ease;
}

.atf-member-menu-link__icon svg {
	display: block;
}

.atf-member-menu-link:hover .atf-member-menu-link__icon {
	color: #4f46e5;
}

.atf-member-menu-link__label {
	flex: 1;
	min-width: 0;
}

.atf-member-menu-link--danger:hover {
	background: rgba(239, 68, 68, 0.08);
	color: #b91c1c;
}

.atf-member-menu-link--danger:hover .atf-member-menu-link__icon {
	color: #dc2626;
}

.atf-auth-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: none;
}

.atf-auth-modal.is-active {
	display: block;
}

.atf-auth-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 14, 18, 0.72);
	backdrop-filter: blur(8px);
}

.atf-auth-modal__dialog {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 12px 16px;
	box-sizing: border-box;
}

.atf-auth-modal__close {
	position: absolute;
	top: 32px;
	right: 32px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 26px;
	cursor: pointer;
	z-index: 2;
}

.atf-auth-modal__card {
	position: relative;
	width: min(1100px, 100%);
	min-height: 680px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: minmax(0, 1fr);
	align-items: stretch;
	background: #fff;
	border-radius: 28px;
	overflow: hidden;
	transform-style: preserve-3d;
}

.atf-auth-modal__visual {
	position: relative;
	background: #101010;
	color: #fff;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.atf-auth-modal__visual .atf-auth-visual-slider {
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
	height: 100%;
	position: relative;
}

.atf-auth-modal__visual .swiper-pagination {
	bottom: 16px !important;
	top: auto !important;
	left: 0;
	right: 0;
	z-index: 4;
}

.atf-auth-modal__visual .swiper-pagination-bullet {
	background: rgba(255, 255, 255, 0.55);
	opacity: 1;
}

.atf-auth-modal__visual .swiper-pagination-bullet-active {
	background: #fff;
}

.atf-auth-visual-slider,
.atf-auth-visual-slider .swiper-wrapper {
	height: 100%;
	min-height: 280px;
}

.atf-auth-visual-slider .swiper-slide {
	height: auto;
	min-height: 280px;
	display: flex;
	flex-direction: column;
}

.atf-auth-visual-slide {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 280px;
	width: 100%;
	background: #101010;
}

.atf-auth-visual-image-wrap {
	position: relative;
	flex: 1 1 auto;
	min-height: 200px;
	overflow: hidden;
}

.atf-auth-visual-image-hit {
	display: block;
	position: absolute;
	inset: 0;
	text-decoration: none;
	color: inherit;
	outline: none;
	overflow: hidden;
}

.atf-auth-visual-image-inner {
	width: 100%;
	height: 100%;
	min-height: 200px;
	background-size: cover;
	background-position: center;
	transform: scale(1);
	transition: transform 0.5s ease;
	will-change: transform;
}

.atf-auth-visual-image-inner--placeholder {
	background: linear-gradient(135deg, #2a2a2a, #111);
}

.atf-auth-visual-image-wrap:hover .atf-auth-visual-image-inner {
	transform: scale(1.08);
}

.atf-auth-visual-slide-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	box-sizing: border-box;
	padding: 28px 46px 65px;
	text-align: left;
	color: #fff;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.35) 35%,
		rgba(0, 0, 0, 0.78) 100%
	);
}

.atf-auth-visual-slide-title {
	margin: 0 0 17px;
	font-size: clamp(1.25rem, 3.2vw, 1.65rem);
	font-weight: 500;
	line-height: 2.5;
	color: #fff;
	text-align: left;
	letter-spacing: -0.02em;
}

.atf-auth-visual-slide-desc {
	margin: 0;
	font-size: 13px;
	line-height: 1.65;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.92);
	text-align: left;
	white-space: pre-line;
}

/* 注册视图：右下角圆角半透明文案卡片（登录/找回密码仍为通栏底渐变） */
.atf-auth-visual-slide-caption.atf-auth-visual-slide-caption--register {
	left: auto;
	right: 16px;
	bottom: 44px;
	max-width: min(360px, calc(100% - 32px));
	padding: 18px 20px 20px;
	background: rgba(17, 24, 39, 0.58);
	border-radius: 16px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.atf-auth-visual-slide-caption--register .atf-auth-visual-slide-title {
	margin-bottom: 12px;
	font-size: clamp(1.1rem, 2.8vw, 1.4rem);
}

.atf-auth-visual-slide-caption--register .atf-auth-visual-slide-desc {
	font-size: 12.5px;
	line-height: 1.7;
}

@media screen and (max-width: 480px) {
	.atf-auth-visual-slide-caption.atf-auth-visual-slide-caption--register {
		right: 12px;
		bottom: 40px;
		max-width: calc(100% - 24px);
		padding: 16px 18px 18px;
		border-radius: 14px;
	}
}

.atf-auth-panel-head {
	margin-bottom: 1px;
}

.atf-auth-panel-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
	flex-wrap: nowrap;
	border-bottom: 1px solid #e5e7eb00;
}

.atf-auth-panel-copy .atf-auth-visual-brand {
	letter-spacing: 3px;
	font-size: 11px;
	font-weight: 600;
	color: #6b7280;
	text-transform: uppercase;
	margin: 0;
	flex: 0 0 auto;
	max-width: none;
	line-height: 1.5;
}

.atf-auth-panel-copy-main {
	flex: 0 1 auto;
	width: 100%;
	min-width: 0;
}

.atf-auth-panel-copy-main h2 {
	color: #111827;
	font-size: clamp(26px, 3.2vw, 32px);
	margin: 0 0 10px;
	line-height: 1.2;
	font-weight: 700;
}

.atf-auth-panel-copy-main .atf-auth-visual-description {
	color: #4b5563;
	font-size: 15px;
	line-height: 1.65;
	margin: 0 0 15px 0;
	white-space: pre-line;
	max-width: 520px;
}

.atf-auth-modal__panel {
	padding: 36px 188px 36px 56px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	background: #fff;
	min-width: 0;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

/* 注册向导第 2 步（选择会员套餐）：独立留白，与套餐区视觉对齐 */
.atf-auth-modal__panel.atf-auth-modal__panel--register-plan-step {
	padding: 36px 56px;
}

/* 登录页底：注册 | 忘记密码？ */
.atf-auth-footer-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin-top: 18px;
	font-size: 14px;
	color: #9ca3af;
}

.atf-auth-footer-links__link {
	margin-top: 0 !important;
	color: #9ca3af !important;
	font-weight: 400;
	text-align: left;
	/* 全局 theme.json elements.button 会给所有 button 字号，覆盖父级 .atf-auth-footer-links；显式继承才能与「注册 | 忘记」一致 */
	font-size: inherit;
}

.atf-auth-footer-links__link:hover {
	color: #6b7280 !important;
}

/* 弹层内：压过 theme.json `elements.button` 的字号，与父级 .atf-auth-footer-links 同步 */
.atf-auth-modal .atf-auth-footer-links > .atf-auth-text-link.atf-auth-footer-links__link {
	font-size: inherit;
}

.atf-auth-footer-links__sep {
	color: #d1d5db;
	user-select: none;
	font-weight: 300;
}

/* 注册 / 找回密码底：灰字 + 粗体主操作 */
.atf-auth-switch-hint {
	margin: 18px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
}

.atf-auth-switch-hint__muted {
	color: #9ca3af;
	font-weight: 400;
}

.atf-auth-switch-hint__action {
	margin-top: 0 !important;
	padding: 0;
	border: 0;
	background: none;
	color: #111827 !important;
	font-weight: 700;
	font-size: inherit;
	cursor: pointer;
	text-align: left;
	-webkit-tap-highlight-color: transparent;
}

.atf-auth-switch-hint__action:hover {
	color: #000 !important;
}

.atf-auth-modal .atf-auth-switch-hint > .atf-auth-text-link.atf-auth-switch-hint__action {
	font-size: inherit;
}

/* 登录表单底部：分隔线 +「还没有账号？加入站点」（随右栏高度贴底） */
.atf-auth-register-cta-footer {
	margin-top: auto;
	padding-top: 28px;
	width: 100%;
	box-sizing: border-box;
}

.atf-auth-register-cta-footer__rule {
	height: 0;
	margin: 0 0 18px;
	border: 0;
	border-top: 1px solid #e5e7eb;
}

.atf-auth-register-cta-footer__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: baseline;
	gap: 6px 10px;
	font-size: 14px;
	line-height: 1.5;
	font-family: inherit;
}

.atf-auth-register-cta-footer__muted {
	color: #9ca3af;
	font-weight: 400;
}

.atf-auth-register-cta-footer__join {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #111827;
	font-weight: 700;
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	cursor: pointer;
	text-align: right;
	-webkit-tap-highlight-color: transparent;
}

.atf-auth-register-cta-footer__join:hover {
	color: #000;
}

.atf-auth-forgot-contact-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 16px;
}

.atf-auth-forgot-contact-row__hint {
	margin-top: 0 !important;
	color: #9ca3af !important;
	font-weight: 400;
	font-size: 14px;
	text-align: left;
}

.atf-auth-forgot-contact-row__hint:hover {
	color: #6b7280 !important;
}

.atf-auth-forgot-contact-row__cta {
	margin-top: 0 !important;
	color: #111827 !important;
	font-weight: 700;
	font-size: 14px;
	text-align: left;
}

.atf-auth-forgot-contact-row__cta:hover {
	color: #000 !important;
}

.atf-auth-message {
	padding: 12px 14px;
	border-radius: 14px;
	margin-bottom: 18px;
	font-size: 14px;
}

.atf-auth-message.is-error {
	background: #fef2f2;
	color: #b91c1c;
}

.atf-auth-message.is-success {
	background: #ecfdf5;
	color: #047857;
}

/* 登录/注册：协议勾选与拦截提示层（与 .atf-auth-inline 行内勾选视觉一致，不共用 class） */
.atf-auth-agreement {
	font-size: 14px;
	line-height: 1.35;
	color: inherit;
}

.atf-auth-agreement__row {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin: 0;
}

.atf-auth-agreement__checkbox {
	width: 1.15em;
	height: 1.15em;
	min-width: 1.15em;
	min-height: 1.15em;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
	align-self: center;
	border-radius: 4px;
	cursor: pointer;
	accent-color: #2563eb;
}

.atf-auth-agreement__text {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
}

.atf-auth-agreement__prefix {
	color: inherit;
}

/* 协议行在 .atf-auth-panel 内：覆盖通用 label/input，并与 label.atf-auth-inline 一致 */
.atf-auth-panel label.atf-auth-agreement__row {
	display: flex !important;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.atf-auth-panel label.atf-auth-agreement__row > .atf-auth-agreement__text {
	display: block;
	margin: 0;
	font-weight: 500;
	font-size: inherit;
	line-height: 1.35;
	cursor: pointer;
}

.atf-auth-panel label.atf-auth-agreement__row input.atf-auth-agreement__checkbox {
	width: 1.15em;
	height: 1.15em;
	min-width: 1.15em;
	min-height: 1.15em;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
	align-self: center;
	border-radius: 4px;
	cursor: pointer;
	accent-color: #2563eb;
	border: 0;
	background: transparent;
	box-shadow: none;
	max-width: none;
}

.atf-auth-panel label.atf-auth-agreement__row span:not(.atf-auth-agreement__text) {
	display: inline;
	margin: 0;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	cursor: pointer;
}

.atf-auth-agreement-mount {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.atf-auth-agreement__link {
	color: #2563eb;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.atf-auth-agreement__link:hover {
	color: #1d4ed8;
}

.atf-agreement-gate {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	box-sizing: border-box;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.atf-agreement-gate.is-active {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
}

.atf-agreement-gate__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(4px);
}

.atf-agreement-gate__panel {
	position: relative;
	z-index: 1;
	width: min(420px, 100%);
	max-height: min(80vh, 520px);
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 22px 45px rgba(15, 23, 42, 0.18);
	padding: 24px 22px 20px;
	box-sizing: border-box;
	transform: translateY(8px) scale(0.98);
	transition: transform 0.22s ease;
}

.atf-agreement-gate.is-active .atf-agreement-gate__panel {
	transform: translateY(0) scale(1);
}

.atf-agreement-gate__title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: #111827;
	letter-spacing: -0.01em;
}

.atf-agreement-gate__intro {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.55;
	color: #4b5563;
}

.atf-agreement-gate__intro p {
	margin: 0 0 8px;
}

.atf-agreement-gate__intro p:last-child {
	margin-bottom: 0;
}

.atf-agreement-gate__intro-spacer {
	min-height: 0.35em;
	margin: 0 0 4px;
}

.atf-agreement-gate__intro-inline {
	vertical-align: baseline;
}

.atf-agreement-gate__links {
	margin: 0 0 18px;
	padding: 0 0 0 18px;
	font-size: 14px;
	line-height: 1.6;
	color: #374151;
}

.atf-agreement-gate__links a {
	color: #2563eb;
}

.atf-agreement-gate__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.atf-agreement-gate__btn {
	border-radius: 999px;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.atf-agreement-gate__btn--secondary {
	background: #fff;
	border-color: #e5e7eb;
	color: #374151;
}

.atf-agreement-gate__btn--secondary:hover {
	background: #f9fafb;
	transform: translateY(-1px);
}

.atf-agreement-gate__btn--primary {
	background: #111827;
	color: #fff;
	border-color: #111827;
}

.atf-agreement-gate__btn--primary:hover {
	background: #000;
	transform: translateY(-1px);
}

.atf-auth-agreement__doc-trigger,
.atf-agreement-gate__doc-trigger {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: inherit;
	line-height: inherit;
	color: #2563eb;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
	vertical-align: baseline;
}

.atf-auth-agreement__doc-trigger:hover,
.atf-auth-agreement__doc-trigger:focus,
.atf-agreement-gate__doc-trigger:hover,
.atf-agreement-gate__doc-trigger:focus {
	color: #1d4ed8;
}

.atf-agreement-gate__links .atf-agreement-gate__link-a {
	color: #2563eb;
}

.atf-agreement-doc__title.is-loading {
	position: relative;
	min-height: 1.15em;
	max-width: 72%;
	border-radius: 8px;
	background: linear-gradient(90deg, #e5e7eb 0%, #f3f4f6 45%, #e5e7eb 90%);
	background-size: 200% 100%;
	animation: atfAgreementDocShimmer 1.1s ease-in-out infinite;
	color: transparent;
}

@keyframes atfAgreementDocShimmer {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: -100% 0;
	}
}

@keyframes atfAgreementDocSpin {
	to {
		transform: rotate(360deg);
	}
}

.atf-agreement-doc__loading-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-height: 180px;
	padding: 24px 12px;
	box-sizing: border-box;
}

.atf-agreement-doc__spinner {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 3px solid #e5e7eb;
	border-top-color: #111827;
	animation: atfAgreementDocSpin 0.75s linear infinite;
	flex-shrink: 0;
}

.atf-agreement-doc__loading-text {
	font-size: 14px;
	color: #6b7280;
	text-align: center;
	line-height: 1.5;
	max-width: 280px;
}

.atf-agreement-doc__loading,
.atf-agreement-doc__error {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

.atf-agreement-doc__error {
	color: #b91c1c;
}

.atf-agreement-doc {
	position: fixed;
	inset: 0;
	z-index: 100002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	box-sizing: border-box;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.atf-agreement-doc.is-active {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
}

.atf-agreement-doc__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	backdrop-filter: blur(4px);
}

.atf-agreement-doc__panel {
	position: relative;
	z-index: 1;
	width: min(640px, 100%);
	max-height: min(85vh, 720px);
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 24px 48px rgba(15, 23, 42, 0.22);
	padding: 22px 22px 18px;
	box-sizing: border-box;
	transform: translateY(8px) scale(0.98);
	transition: transform 0.22s ease;
}

.atf-agreement-doc.is-active .atf-agreement-doc__panel {
	transform: translateY(0) scale(1);
}

.atf-agreement-doc__header-actions {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	margin: 0;
}

.atf-agreement-doc__newwin {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 8px 10px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 500;
	color: #334155;
	text-decoration: none;
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease;
}

.atf-agreement-doc__newwin:hover {
	color: #1e293b;
	background: #f1f5f9;
}

.atf-agreement-doc__newwin:focus-visible {
	outline: 2px solid #3b82f6;
	outline-offset: 2px;
}

.atf-agreement-doc__newwin-icon {
	flex-shrink: 0;
	color: #475569;
}

.atf-agreement-doc__close {
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f3f4f6;
	color: #111827;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
}

.atf-agreement-doc__close:hover {
	background: #e5e7eb;
}

.atf-agreement-doc__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.atf-agreement-doc__title {
	margin: 0 44px 12px 0;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	color: #111827;
	letter-spacing: -0.01em;
}

/* 为「新窗口打开」预留宽度，避免标题与右上角控件重叠（关闭单独时约 44px 已够用） */
.atf-agreement-doc__panel:has(.atf-agreement-doc__newwin:not([hidden])) .atf-agreement-doc__title {
	margin-right: 0;
	padding-right: min(200px, 46%);
}

.atf-agreement-doc__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: visible;
	font-size: 15px;
	line-height: 1.65;
	color: #374151;
}

.atf-agreement-doc__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 14px;
	margin-top: 12px;
	padding-top: 14px;
	border-top: 1px solid #e5e7eb;
	flex-shrink: 0;
}

.atf-agreement-doc__footer-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	flex: 1 1 0;
	min-width: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #64748b;
}

.atf-agreement-doc__footer-note-icon {
	flex-shrink: 0;
	margin-top: 1px;
	color: #94a3b8;
}

.atf-agreement-doc__footer-note-text {
	min-width: 0;
}

.atf-agreement-doc__contact-link {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: inherit;
	line-height: inherit;
	color: #2563eb;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.atf-agreement-doc__contact-link:hover {
	color: #1d4ed8;
}

.atf-agreement-doc__footer-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex-shrink: 0;
}

.atf-agreement-doc__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 10px 16px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
	white-space: nowrap;
}

.atf-agreement-doc__btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.atf-agreement-doc__btn--secondary {
	background: #fff;
	border-color: #e2e8f0;
	color: #1e293b;
}

.atf-agreement-doc__btn--secondary:hover:not(:disabled) {
	background: #f8fafc;
	border-color: #cbd5e1;
}

.atf-agreement-doc__btn--primary {
	background: #0f172a;
	border-color: #0f172a;
	color: #fff;
}

.atf-agreement-doc__btn--primary:hover:not(:disabled) {
	background: #1e293b;
	border-color: #1e293b;
}

.atf-agreement-doc__btn-icon {
	flex-shrink: 0;
}

@media (max-width: 640px) {
	.atf-agreement-doc__panel {
		max-height: 88vh;
		max-height: 88dvh;
		padding: 12px 14px 10px;
		border-radius: 16px;
	}

	.atf-agreement-doc__header-actions {
		top: 8px;
		right: 8px;
	}

	.atf-agreement-doc__title {
		margin-bottom: 8px;
		font-size: 17px;
	}

	.atf-agreement-doc__footer {
		flex-direction: column;
		align-items: stretch;
		margin-top: 8px;
		padding-top: 10px;
		gap: 8px;
	}

	/* 竖排时主轴为纵向，勿用 flex: 1 1 200px（会把 200px 作用在高度上，底部被撑得过高） */
	.atf-agreement-doc__footer-note {
		flex: 0 1 auto;
		min-width: 0;
		width: 100%;
	}

	.atf-agreement-doc__footer-actions {
		justify-content: stretch;
	}

	.atf-agreement-doc__btn {
		flex: 1 1 auto;
		justify-content: center;
		min-height: 44px;
	}

	.atf-agreement-doc__btn-print {
		display: none !important;
	}
}

.atf-agreement-doc__body--prose > *:first-child {
	margin-top: 0;
}

.atf-agreement-doc__body--prose img,
.atf-agreement-doc__body--prose video,
.atf-agreement-doc__body--prose iframe {
	max-width: 100%;
	height: auto;
}

.atf-auth-panels {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.atf-auth-panel {
	display: none;
	animation: atfAuthPanelFlip 0.45s ease;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-auth-panel.is-active {
	display: block;
}

/* 登录页：表单拉高，底部 CTA 区贴右栏底 */
#atfAuthLoginForm.atf-auth-panel.is-active {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

.atf-auth-register-plans {
	margin: 6px 0 18px;
	padding-right: 4px;
}

.atf-auth-register-step__eyebrow {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 600;
	color: green;
	letter-spacing: 0.02em;
}

.atf-auth-register-wizard-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin-top: 10px;
}

.atf-auth-register-wizard-actions .atf-auth-register-wizard-back {
	flex: 0 0 auto;
	align-self: center;
	margin: 0;
	padding: 14px 18px;
	border: 1px solid #1d1d1f;
	border-radius: 999px;
	background: #fff;
	color: #1d1d1f;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	-webkit-tap-highlight-color: transparent;
}

.atf-auth-register-wizard-actions .atf-auth-register-wizard-back:hover {
	transform: translateY(-1px);
	background: #fafafa;
}

.atf-auth-register-wizard-actions .atf-auth-submit {
	flex: 1 1 160px;
	min-width: 0;
	margin-top: 0;
}

.atf-auth-register-step--plan .artt-em-plans-checkout__register-caption {
	display: none;
}

.atf-auth-register-plans .artt-em-plans-checkout {
	max-width: none;
	margin: 0;
}

/* 桌面端：弹层固定视口高度（上下仅小边距），左右分栏；左侧 Banner 不滚动，右侧表单区整体滚动 */
@media screen and (min-width: 961px) {
	.atf-auth-modal__dialog {
		align-items: center;
		justify-content: center;
		padding: 12px 16px;
		min-height: 100vh;
		min-height: 100svh;
		box-sizing: border-box;
	}

	.atf-auth-modal__card {
		height: calc(100vh - 24px);
		height: calc(100svh - 24px);
		max-height: min(900px, calc(100vh - 24px));
		max-height: min(900px, calc(100svh - 24px));
		min-height: 520px;
	}

	.atf-auth-modal__visual {
		min-height: 0;
		height: 100%;
		max-height: 100%;
	}

	.atf-auth-modal__visual .atf-auth-visual-slider {
		min-height: 280px;
	}

	.atf-auth-modal__panel {
		max-height: 100%;
	}
}

.atf-auth-panel label {
	display: block;
	margin-bottom: 20px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-auth-panel label span {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	font-size: 16.9px;
}

.atf-auth-panel input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 14px 48px 14px 16px;
	border-radius: 14px;
	border: 1px solid #d1d5db;
	background: #fff;
}

.atf-auth-panel input.is-invalid {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

/* 登录/注册/找回密码/会员中心：密码框右侧显示明文切换 */
.atf-password-label {
	display: block;
	margin-bottom: 16px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-password-field {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
}

.atf-auth-panel .atf-password-field .atf-password-input,
.atf-member-password-form .atf-password-field .atf-password-input {
	width: 100%;
	max-width: 100%;
	font-size: 15px;
	box-sizing: border-box;
	padding: 14px 48px 14px 16px;
	border-radius: 14px;
	border: 1px solid #d1d5db;
	background: #fff;
}

.atf-member-password-form .atf-password-field .atf-password-input {
	min-width: 0;
}

.atf-password-field .atf-password-input.is-invalid {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

/*
 * 隐藏 Edge / IE 内核在密码框右侧自带的「眼睛」显示密码按钮（::-ms-reveal），
 * 否则会与本站自定义 .atf-password-toggle 重叠，看起来像两个眼睛。
 */
.atf-password-field input.atf-password-input::-ms-reveal,
.atf-password-field input.atf-password-input::-ms-clear {
	display: none;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.atf-password-toggle {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #64748b;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.atf-password-toggle:hover {
	color: #0f172a;
}

.atf-password-toggle:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.atf-password-toggle__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	margin: 0 !important;
}

.atf-password-toggle__icon[hidden] {
	display: none !important;
}

.atf-auth-inline {
	display: flex !important;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.atf-auth-inline input {
	width: auto;
}

/* Native checkbox: panel inputs use large padding/border-radius; reset so size matches label text. */
.atf-auth-panel label.atf-auth-inline input[type="checkbox"] {
	width: 1.15em;
	height: 1.15em;
	min-width: 1.15em;
	min-height: 1.15em;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
	align-self: center;
	border-radius: 4px;
	cursor: pointer;
	accent-color: #2563eb;
}

.atf-auth-panel label.atf-auth-inline > span {
	display: inline;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
}

.atf-auth-code-row {
	display: block;
	margin-bottom: 16px;
}

.atf-auth-code-label {
	display: block;
	margin-bottom: 8px;
}

.atf-auth-code-label span {
	display: block;
	font-weight: 600;
	color: #1d1d1f;
}

.atf-auth-code-combo {
	position: relative;
	width: 100%;
}

.atf-auth-code-input {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 150px 14px 16px;
	border-radius: 14px;
	border: 1px solid #d1d5db;
	background: #fff;
	font-size: 15px;
	line-height: 1.35;
}

.atf-auth-code-combo .atf-auth-code-btn {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	padding: 8px 14px;
	font-size: 13px;
	white-space: nowrap;
	max-width: calc(100% - 12px);
	overflow: hidden;
	text-overflow: ellipsis;
}

.atf-auth-code-combo .atf-auth-code-btn:hover {
	transform: translateY(-50%) translateY(-1px);
}

.atf-auth-submit {
	width: 100%;
	justify-content: center;
	padding: 15.67px 20px;
	margin-top: 10px;
}

.atf-auth-text-link {
	border: 0;
	background: none;
	padding: 0;
	margin-top: 16px;
	color: #4b5563;
	cursor: pointer;
	text-align: left;
}

.atf-contact-admin-modal {
	position: fixed;
	inset: 0;
	z-index: 100003;
	background: rgba(16, 24, 40, 0.65);
	display: none !important;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.atf-contact-admin-modal.is-active {
	display: flex !important;
}

.atf-contact-admin-modal__content {
	width: min(480px, 100%);
	background: #fff;
	border-radius: 22px;
	padding: 28px;
	max-height: min(82vh, 640px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	box-sizing: border-box;
}

.atf-contact-admin-modal__content--with-banners {
	width: min(520px, 100%);
}

.atf-contact-admin-banners {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.atf-contact-admin-banner {
	margin: 0;
}

.atf-contact-admin-banner__row {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 14px 16px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 16px;
	background: #f9fafb;
	box-sizing: border-box;
}

.atf-contact-admin-banner__media {
	flex: 0 0 auto;
	width: 120px;
	max-width: 36%;
}

.atf-contact-admin-banner__figure {
	display: block;
	line-height: 0;
}

.atf-contact-admin-banner__link {
	display: block;
	line-height: 0;
	border-radius: 12px;
	overflow: hidden;
	outline: none;
}

.atf-contact-admin-banner__link:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #3b82f6;
}

.atf-contact-admin-banner__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	object-fit: cover;
	aspect-ratio: 1;
	background: #e5e7eb;
}

.atf-contact-admin-banner__text {
	flex: 1 1 180px;
	min-width: 0;
	padding-top: 2px;
}

.atf-contact-admin-banner__title {
	margin: 0 0 6px;
	font-size: 0.95rem;
	font-weight: 600;
	color: #111827;
	line-height: 1.4;
}

.atf-contact-admin-banner__desc {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #4b5563;
	word-break: break-word;
}

@media (max-width: 480px) {
	.atf-contact-admin-banner__row {
		flex-direction: column;
		align-items: stretch;
	}

	.atf-contact-admin-banner__media {
		width: 100%;
		max-width: 100%;
	}
}

.atf-member-center-shell {
	min-height: 100vh;
	padding: 32px 16px;
	background: #f6f7f9;
}

.atf-member-center-layout {
	width: min(1180px, 100%);
	margin: 0 auto;
	display: grid;
	gap: 24px;
}

.atf-member-center-card {
	background: #fff;
	border-radius: 28px;
	padding: 36px;
	box-shadow: 0 18px 56px rgba(0, 0, 0, 0.08);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.atf-member-center-tabs-wrap {
	background: #fff;
	border-radius: 24px;
	padding: 18px 28px;
	box-shadow: 0 14px 42px rgba(0, 0, 0, 0.06);
}

.atf-member-center-tabs-wrap .atf-member-center-kicker {
	margin-bottom: 12px;
	text-align: left;
}

.atf-member-center-tabs-wrap .atf-member-center-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: flex-start;
}

.atf-member-center-card__body {
	display: flex;
	align-items: center;
	gap: 28px;
}

/* 顶部资料卡：昵称 + 标签化的邮箱 / 会员等级（与下方 Tab 内容不重复） */
.atf-member-center-card--hero {
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 55%, #f1f5f9 100%);
	border: 1px solid rgba(17, 24, 39, 0.06);
}

.atf-member-hero__body {
	align-items: flex-start;
}

.atf-member-hero__main {
	flex: 1;
	min-width: 0;
}

.atf-member-hero__kicker {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #64748b;
}

.atf-member-hero__name {
	margin: 0 0 18px;
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #0f172a;
	line-height: 1.2;
}

/* 首列邮箱可收缩+单行；右侧固定 3 等分列。仅 2 项时第二块只占右侧 1/3，不会铺满余宽 */
.atf-member-hero__meta {
	display: grid;
	grid-template-columns: minmax(0, max-content) repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 14px 28px;
	margin: 0;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.atf-member-hero__meta-block {
	margin: 0;
	padding: 14px 18px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(17, 24, 39, 0.07);
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
	min-width: 0;
}

.atf-member-hero__meta-block dt {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
}

.atf-member-hero__meta-block dd {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	color: #0f172a;
	line-height: 1.45;
	word-break: break-word;
}

.atf-member-hero__meta-block:first-child dd {
	word-break: normal;
	overflow: hidden;
	text-overflow: ellipsis;
}

.atf-member-hero__meta-block:first-child .atf-member-hero__mailto {
	display: inline-block;
	max-width: 100%;
	white-space: nowrap;
	vertical-align: bottom;
}

.atf-member-hero__mailto {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(79, 70, 229, 0.35);
	transition: color 0.15s ease, border-color 0.15s ease;
}

.atf-member-hero__mailto:hover {
	color: #4f46e5;
	border-bottom-color: rgba(79, 70, 229, 0.6);
}

.atf-member-level-pill--hero {
	padding: 6px 16px;
	font-size: 14px;
}

.atf-member-center-avatar {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
}

.atf-member-center-avatar.atf-member-hero__avatar {
	width: 112px;
	height: 112px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
	border: 3px solid #fff;
}

.atf-member-center-copy h1 {
	margin-bottom: 12px;
}

.atf-member-center-kicker {
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #6b7280;
	margin-bottom: 10px;
}

.atf-member-center-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.atf-member-subpanel__lead {
	margin: 0 0 16px;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #6b7280;
	max-width: 42rem;
}

.atf-member-subpanel__lead--wide {
	max-width: none;
}

.atf-member-level-pill {
	display: inline-flex;
	align-items: center;
	padding: 5px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: #1e3a5f;
	background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
	border: 1px solid rgba(99, 102, 241, 0.28);
}

.atf-member-center-subpanel--categories-only {
	background: #fff;
}

.atf-member-category-tree {
	flex: 1;
	min-height: 0;
}

.atf-member-category-tree--wide {
	margin-top: 4px;
}

.atf-member-category-tree__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 根级：宽屏下多列卡片，充分利用整行；窄屏单列 */
.atf-member-category-tree--wide .atf-member-category-tree__list--root {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 720px) {
	.atf-member-category-tree--wide .atf-member-category-tree__list--root {
		grid-template-columns: repeat(auto-fill, minmax(272px, 1fr));
		gap: 16px;
	}
}

.atf-member-category-tree__list--root > .atf-member-category-tree__item {
	margin: 0;
	border-radius: 16px;
	padding: 14px 16px 16px;
	background: #fafbfc;
	border: 1px solid rgba(17, 24, 39, 0.08);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.atf-member-category-tree__list--root > .atf-member-category-tree__item > .atf-member-category-tree__row {
	padding-top: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(17, 24, 39, 0.06);
	margin-bottom: 4px;
}

.atf-member-category-tree__list--root > .atf-member-category-tree__item:not(.atf-member-category-tree__item--branch) > .atf-member-category-tree__row {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.atf-member-category-tree__row {
	display: block;
	padding: 9px 2px 9px 0;
}

.atf-member-category-tree__link {
	display: inline-block;
	color: #111827;
	text-decoration: none;
	font-weight: 500;
	border-radius: 8px;
	padding: 2px 6px;
	margin: -2px -6px;
	transition: color 0.15s ease, background 0.15s ease;
}

.atf-member-category-tree__link:hover {
	color: #4f46e5;
	background: rgba(79, 70, 229, 0.08);
}

.atf-member-category-tree__text {
	font-weight: 500;
	color: #374151;
}

/* 子级：卡片内缩进 + 左侧导轨，避免与整页混成一片 */
.atf-member-category-tree__list .atf-member-category-tree__list {
	margin: 0;
	padding: 4px 0 2px 12px;
	border-left: none;
	border-top: 0;
	position: relative;
}

.atf-member-category-tree__list .atf-member-category-tree__list::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(99, 102, 241, 0.45) 0%, rgba(129, 140, 248, 0.2) 100%);
}

.atf-member-category-tree__list .atf-member-category-tree__list .atf-member-category-tree__row {
	padding: 6px 0 6px 4px;
	font-size: 0.9375rem;
}

.atf-member-category-tree__list .atf-member-category-tree__list .atf-member-category-tree__list {
	padding-left: 14px;
}

.atf-member-category-tree__list .atf-member-category-tree__list .atf-member-category-tree__list::before {
	opacity: 0.65;
}

.atf-member-category-tree__item--branch > .atf-member-category-tree__row .atf-member-category-tree__link,
.atf-member-category-tree__item--branch > .atf-member-category-tree__row .atf-member-category-tree__text {
	font-weight: 700;
	font-size: 1.02rem;
	color: #0f172a;
}

.atf-member-category-tree__empty {
	margin: 0;
	padding: 16px 18px;
	border-radius: 14px;
	background: rgba(249, 250, 251, 0.95);
	border: 1px dashed rgba(17, 24, 39, 0.12);
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #6b7280;
}

.atf-member-center-subpanel {
	border-radius: 20px;
	padding: 24px 28px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	background: #fafbfc;
}

/* 会员中心「会员与购买」：分节标题 + 导语（避免像系统说明文档） */
.atf-member-center-subpanel.atf-member-em-wrap.atf-member-em-membership-stack,
.atf-member-center-subpanel.atf-member-em-wrap.atf-member-em-orders-panel {
	background: #fff;
}

.atf-member-em-membership-stack {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.atf-member-em-section {
	margin: 0;
	padding: 0;
}

.atf-member-em-section__title {
	margin: 0 0 10px;
	font-size: 1.25rem;
	font-weight: 700;
	color: #111827;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.atf-member-em-section__lead {
	margin: 0 0 16px;
	max-width: 40rem;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #6b7280;
}

.atf-member-em-section--plans .atf-member-em-section__lead {
	margin-bottom: 18px;
}

.atf-member-center-panel {
	background: #fff;
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 14px 42px rgba(0, 0, 0, 0.06);
}

.atf-member-center-panel--full {
	grid-column: 1 / -1;
}

.atf-member-center-tab {
	border: 0;
	background: #f3f4f6;
	color: #1d1d1f;
	border-radius: 999px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.atf-member-center-tab:hover {
	background: #e5e7eb;
}

.atf-member-center-tab.is-active {
	background: #111827;
	color: #fff;
}

.atf-member-center-tab:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.atf-member-center-tab-panels {
	min-height: 0;
}

.atf-member-center-tab-panel[hidden],
.atf-member-center-card[hidden] {
	display: none !important;
}

.atf-member-center-panel h2,
.atf-member-center-subpanel h2 {
	margin: 0 0 18px;
	font-size: 24px;
}

.atf-member-center-subpanel .atf-member-em-section__title {
	margin: 0 0 10px;
	font-size: 1.25rem;
	line-height: 1.3;
}

.atf-member-center-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.atf-member-center-list li {
	padding: 10px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.atf-member-center-list li:last-child {
	border-bottom: 0;
}

.atf-member-center-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	margin-top: 0;
	width: 100%;
	flex-wrap: wrap;
}

.atf-member-center-actions a {
	text-decoration: none;
}

.atf-member-center-actions a:hover,
.atf-member-center-actions a:focus-visible {
	text-decoration: none;
}

/* 覆盖表单内 .atf-auth-submit { width:100% }，否则两个链接各占满一行 */
.atf-member-center-actions .atf-auth-submit {
	width: auto;
	max-width: none;
	margin-top: 0;
	flex: 0 0 auto;
}

.atf-member-profile-grid {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.atf-member-profile-avatar-block {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: center;
}

.atf-member-center-avatar--editable {
	width: 160px;
	height: 160px;
	position: relative;
	overflow: hidden;
}

.atf-member-avatar-full-hit {
	position: relative;
	display: inline-block;
	margin: 0;
	cursor: pointer;
	vertical-align: top;
}

.atf-member-avatar-file-input {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
	font-size: 0;
}

.atf-member-avatar-change-bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 10px 8px 12px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	line-height: 1.2;
	pointer-events: none;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.72));
}

.atf-member-profile-note {
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
	color: #6b7280;
	text-align: center;
}

.atf-member-profile-fields {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-member-profile-form,
.atf-member-password-form {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.atf-member-profile-form label,
.atf-member-password-form label {
	display: block;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-member-form-row,
.atf-member-form-row--two {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-member-profile-form label span,
.atf-member-password-form label span {
	display: block;
	font-weight: 600;
	font-size: 21px;
}

/* 会员中心「修改密码」面板：字段标签单独小一号（资料编辑等其它面板仍为 21px） */
body.atf-member-center-page #atfMemberTabPanelPassword .atf-member-password-form label span {
	font-size: 20px;
}

.atf-member-profile-form input:not(.atf-password-input),
.atf-member-password-form input:not(.atf-password-input) {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid #d1d5db;
	background: #fff;
	box-sizing: border-box;
}

.atf-member-password-form .atf-password-field .atf-password-input {
	padding-right: 48px;
}

/* 会员中心面板内任意表单控件（含插件短代码内的 input），避免撑破栅格 */
.atf-member-center-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.atf-member-center-panel textarea,
.atf-member-center-panel select {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.atf-member-form-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 20px;
	flex-wrap: wrap;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-member-password-message {
	padding: 12px 14px;
	border-radius: 14px;
	font-size: 14px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.atf-member-password-message.is-error {
	background: #fef2f2;
	color: #b91c1c;
}

.atf-member-password-message.is-success {
	background: #ecfdf5;
	color: #047857;
}

/* 会员中心（?atf_member_center=1）桌面：资料编辑「右侧字段区」宽度 50%；修改密码表单主体 50% 宽；≤960px 仍走下方单列规则 */
@media screen and (min-width: 961px) {
	body.atf-member-center-page .atf-member-profile-grid {
		grid-template-columns: minmax(220px, 1fr) minmax(0, 50%);
	}

	body.atf-member-center-page #atfMemberTabPanelPassword .atf-member-password-form {
		width: 50%;
		max-width: 50%;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}
}

.atf-restricted-shell {
	min-height: 100vh;
	display: flex;
	align-items: stretch;
	background: #0f1115;
}

.atf-restricted-shell__visual {
	width: 100%;
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: flex-end;
}

.atf-restricted-shell__image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.atf-restricted-shell__image--placeholder {
	background: linear-gradient(135deg, #151821, #0b0d11);
}

.atf-restricted-shell__visual::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 17, 21, 0.22), rgba(15, 17, 21, 0.82));
}

.atf-restricted-shell__copy {
	position: relative;
	z-index: 1;
	max-width: 760px;
	padding: 72px 32px;
	color: #fff;
}

.atf-restricted-shell__copy h1 {
	font-size: clamp(36px, 6vw, 68px);
	line-height: 1.05;
	margin: 0 0 20px;
	color: #fff;
}

.atf-restricted-shell__copy p {
	font-size: 18px;
	line-height: 1.8;
	max-width: 560px;
	color: rgba(255, 255, 255, 0.86);
}

.atf-guest-gate-page {
	background: #f4f5f7;
}

.atf-guest-gate-page__shell {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.atf-guest-gate-page__header,
.atf-guest-gate-page__footer {
	flex-shrink: 0;
	width: 100%;
}

.atf-guest-gate-page__main {
	flex: 1;
	min-height: min(60vh, 720px);
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at top left, rgba(17, 24, 39, 0.06), transparent 38%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 245, 247, 0.98));
}

/* Member center: full-width main, no forced vertical centering of the whole dashboard. */
.atf-guest-gate-page__main.atf-member-center-page__main {
	align-items: flex-start;
	width: 100%;
}

.atf-guest-gate-page .atf-member-center-shell {
	min-height: 0;
	width: 100%;
	box-sizing: border-box;
}

.atf-guest-gate-page__intro {
	width: min(760px, 100%);
	text-align: center;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 30px;
	padding: 40px 28px;
	box-shadow: 0 20px 60px rgba(17, 24, 39, 0.08);
}

.atf-guest-gate-page__eyebrow {
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #6b7280;
	margin-bottom: 18px;
}

.atf-guest-gate-page__intro h1 {
	margin: 0 0 16px;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1.1;
}

.atf-guest-gate-page__intro p {
	margin: 0 auto;
	max-width: 560px;
	font-size: 17px;
	line-height: 1.8;
	color: #4b5563;
}

/* 已登录但等级/权益不足：锁 + 主副文案 + 双按钮（不展示套餐列表） */
.atf-level-gate-page__card {
	padding-top: 48px;
	padding-bottom: 44px;
}

.atf-level-gate-page__lock {
	display: flex;
	justify-content: center;
	margin: 0 0 24px;
	color: #1d2327;
}

.atf-level-gate-page__lock svg {
	display: block;
}

.atf-level-gate-page .atf-guest-gate-page__intro h1.atf-level-gate-page__title,
.atf-level-gate-page__title {
	margin: 0 0 20px;
	font-size: clamp(1.5rem, 4.2vw, 1.85rem);
	font-weight: 700;
	line-height: 1.25;
	color: #111827;
	letter-spacing: -0.02em;
}

.atf-level-gate-page__line {
	margin: 0 auto;
	max-width: 520px;
	font-size: 15px;
	line-height: 1.75;
	color: #6b7280;
}

.atf-level-gate-page__line--primary {
	margin-bottom: 10px;
}

.atf-level-gate-page__line--secondary {
	margin-bottom: 0;
	color: #6b7280;
}

.atf-level-gate-page__actions {
	justify-content: center;
	flex-direction: row;
	flex-wrap: wrap;
	margin-top: 32px;
	gap: 14px;
}

.atf-level-gate-page__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border: 1px solid #1d1d1f;
	border-radius: 999px;
	padding: 10px 18px;
	font-size: 14px;
	line-height: 1;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.atf-level-gate-page__btn:hover {
	transform: translateY(-1px);
}

.atf-level-gate-page__btn--primary {
	background: #1d1d1f;
	color: #fff;
}

.atf-level-gate-page__btn--outline {
	background: transparent;
	color: #1d1d1f;
}

body.atf-auth-modal-open {
	overflow: hidden;
}

/* body-scroll-lock.js：fixed 锁定时 html/body 双端 overflow 兜底（inline 样式仍为主） */
html.arttrek-scroll-locked,
body.arttrek-scroll-locked {
	overflow: hidden;
}

@keyframes atfAuthPanelFlip {
	from {
		opacity: 0;
		transform: rotateY(-12deg) translateY(8px);
	}
	to {
		opacity: 1;
		transform: rotateY(0deg) translateY(0);
	}
}

@keyframes atfButtonSpin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/* Mega Menu - 防止定位计算前显示 */
.primary-navigation .nav-menu > li.has-mega-menu > .submenu-dropdown.mega-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	display: none;
	z-index: 1001;
}

/* Hover 时显示但保持透明，等待 JS 计算位置 */
.primary-navigation .nav-menu > li.has-mega-menu:hover > .submenu-dropdown.mega-menu {
	display: block;
}

/* JS 计算完位置后添加此类，使 mega-menu 可见 */
.primary-navigation .nav-menu > li.has-mega-menu > .submenu-dropdown.mega-menu.is-positioned {
	opacity: 1;
	visibility: visible;
}

/* 移动端：通过 submenu-open 类控制显示（JS 会在移动端点击时添加此类和 is-positioned） */
@media (max-width: 960px) {
	.primary-navigation .nav-menu > li.has-mega-menu.submenu-open > .submenu-dropdown.mega-menu {
		display: block;
	}
	
	.primary-navigation .nav-menu > li.has-mega-menu.submenu-open > .submenu-dropdown.mega-menu.is-positioned {
		opacity: 1;
		visibility: visible;
	}
}

/* Primary Menu - Submenu Styles */
.primary-navigation .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background: var(--bg-color);
	box-shadow: 0 6px 25px rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	min-width: 220px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	z-index: 1000;
	padding: 12px 0;
	margin-top: 12px;
	list-style: none;
	border: 1px solid var(--light-border);
}

/* Show submenu on hover */
.primary-navigation .menu-item:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Submenu items */
.primary-navigation .sub-menu .menu-item {
	display: block;
	width: 100%;
	list-style: none;
}

.primary-navigation .sub-menu .menu-item a {
	padding: 10px 20px;
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	color: var(--secondary-color);
	font-size: 13px;
	transition: all 0.3s;
}

/* Submenu diamond marker - smaller */
.primary-navigation .sub-menu .menu-item a::before {
	width: 6px;
	height: 6px;
	border-width: 1.5px;
}

.primary-navigation .sub-menu .menu-item a:hover {
	background: #f8f8f8;
	color: var(--primary-color);
	padding-left: 25px;
}

.primary-navigation .sub-menu .menu-item a:hover::before {
	border-color: var(--primary-color);
}

.primary-navigation .sub-menu .menu-item.current-menu-item a::before {
	background: var(--primary-color);
	border-color: var(--primary-color);
}

/* Second level submenu */
.primary-navigation .sub-menu .sub-menu {
	left: 100%;
	top: 0;
	margin-top: 0;
	margin-left: 12px;
}

.header-search {
	cursor: pointer;
	font-size: 20px;
}

/* ========================================================================
   Top Category Menu
   ======================================================================== */

.top-category-section {
	background: transparent;
	position: relative;
	z-index: 100;
	padding: 0 36px;
}

.top-category-menu {
	display: flex;
	justify-content: flex-start;
	gap: 17px;
	margin: 0 auto;
	padding: 27px 26px 0 26px;
	position: relative;
	z-index: 101;
}

/* 当有菜单项hover时，显示背景和阴影 */
.top-category-menu:has(.category-item:hover) {
	background: #FFFFFF;
	border-radius: 20px 20px 0 0;
	filter: url(#menu-shadow);
	z-index: 1000;
}

/* 为了让SVG阴影生效，需要创建一个包裹容器 */
.top-category-menu:has(.category-item:hover),
.top-category-menu:has(.category-item:hover) + * {
	position: relative;
}

.category-item {
	position: static;
	cursor: pointer;
}

.category-name {
	font-size: 16px;
	font-weight: 500;
	color: var(--secondary-color);
	border: 1px solid #e6e6e6;
	display: block;
	padding: 8px 29px;
	border-radius: 20px;
}

.category-item:hover .category-name,
.category-item.active .category-name {
	background: var(--primary-color);
	color: var(--bg-color);
	font-weight: 600;
}

/* Submenu Dropdown - 作为一级菜单的延伸 */
.submenu-dropdown {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 56px);
	background: #FFFFFF;
	padding: 12px 28px;
	display: none;
	z-index: 1001;
	border-radius: 0 0 20px 20px;
}

.category-item:hover .submenu-dropdown {
	display: block;
}

/* 下拉菜单内容 */
.submenu-dropdown-inner {
	position: relative;
}

.submenu-grid {
	display: flex;
	gap: 43px;
	justify-content: flex-start;
	border-bottom: 1px solid #e8e8e8;
}

.submenu-item {
	color: var(--secondary-color);
	text-decoration: none;
	font-size: 16px;
	font-weight: 400;
	padding: 10px 14px;
	white-space: nowrap;
	position: relative;
	border-bottom: 2px solid transparent;
}

.submenu-item:hover,
.submenu-item.active {
	color: var(--primary-color);
	font-weight: 500;
	border-bottom: 2px solid var(--primary-color);
}

.third-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 66px;
	padding: 11px 13px 11px;
	justify-content: flex-start;
}

.third-item {
	color: #888;
	text-decoration: none;
	font-size: 16px;
	font-weight: 400;
	padding: 5px 0;
	position: relative;
}

.third-item:hover,
.third-item.active {
	color: var(--primary-color);
	font-weight: 500;
}

/* ========================================================================
   Hero Banner Section
   ======================================================================== */

.hero-banner-section {
	background: var(--bg-color);
	padding: 40px 0 60px;
	padding-top:40px;
	padding-bottom:109px;
}

.hero-banner-container {
    margin: 0 auto;
    padding: 0 30px;
}

.hero-banner-inner {
	background-size: cover;
	background-position: center;
	border-radius: 27px;
	overflow: hidden;
	position: relative;
	min-height: 500px;
	display: flex;
	align-items: flex-end;
}

/* 视频背景样式 */
.hero-banner-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

/* 图片背景样式（后备方案） */
.hero-banner-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.hero-content-wrapper {
	width: 100%;
	padding: 78px 30px 133px 64px;
	position: relative;
	height: 497px;
	z-index: 1; /* 确保内容在视频/图片上方 */
}

.hero-content-wrapper::after {
	content: '';
	display: table;
	clear: both;
}

/* Left Column: Title */
.hero-left-column {
	float: left;
}

.hero-title-area {
	margin-bottom: 20px;
}

.hero-main-title {
	font-size: 117px;
	font-weight: 700;
	line-height: 1.04;
	color: var(--bg-color);
	margin: 0;
	text-shadow: 2px 2px 20px rgba(0,0,0,0.3);
}

.hero-main-title-wrapper {
	position: relative;
	display: inline-block;
	padding-right: 120px;
}

.hero-main-title-icon {
    position: absolute;
	top: -8px;
    right: 63px;
    width: 46px;
    height: auto;
    filter: brightness(0) invert(1);
    animation: rotate 20s linear infinite;
    opacity: 0.9;
    pointer-events: none;
}

.hero-cta-area {
	float: left;
	margin-top: 24px;
	clear: left;
}

.hero-cta-btn {
	display: flex;
	align-items: center;
	gap: 156px;
	justify-content: space-between;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 25px;
	padding: 12px 25px;
	text-decoration: none;
	transition: all 0.3s;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-cta-btn:hover {
	background: rgba(255, 255, 255, 0.25);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.cta-text, .cta-arrow {
	color: var(--bg-color);
}

.cta-text {
	font-size: 14px;
	font-weight: 500;
}

.cta-arrow {
	font-size: 16px;
	font-weight: 600;
	transition: transform 0.3s;
}

.hero-cta-btn:hover .cta-arrow {
	transform: translateX(3px);
}

/* Right Column: Description */
.hero-right-column {
	position: absolute;
    right: 33px;
    bottom: 50px;
    width: calc(50% - 272px);
}

.hero-desc-area {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	width: 100%;
}

.hero-description {
	color: var(--bg-color);
	font-size: 17px;
	line-height: 1.7;
	margin: 0;
	text-shadow: 1px 1px 10px rgba(0,0,0,0.3);
	opacity: 0.95;
}

/* ========================================================================
   PRO INSIGHTS Section
   ======================================================================== */

.trend-forecast-section {
	padding: 0;
	margin: 0;
	background: #ededed;
}

.trend-forecast-container {
	margin: 0 auto;
	box-sizing: border-box;
}

/* 横向标题包裹器 */
.trend-title-wrapper {
	padding: 0 39px 12px 39px;
	background-color: #f6f6f6;
}

/* 标题和图标包裹器 */
.trend-title-icon-wrapper {
    position: relative;
    display: inline-block;
}

/* 横向标题 */
.trend-horizontal-title {
    font-size: 266px;
	font-weight: 900;
    letter-spacing: -3px;
	margin: 0;
	color: var(--primary-color);
    line-height: 0.85;
	text-transform: uppercase;
}

/* 右上角SVG图标 */
.trend-icon {
	position: absolute;
    top: -76px;
    right: -114px;
}

.trend-icon svg,
.trend-icon img {
	animation: rotate 20s linear infinite;
}

@keyframes rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* 中心标题区域 */
.trend-center-title {
	position: relative;
	text-align: center;
	margin: 0;
	padding: 82px 0;
	background-color: #f6f6f6;
}

/* SVG黄色涂画背景 */
.title-bg-svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 247px;
    height: auto;
    z-index: -1;
}

/* 主标题 */
.trend-main-title {
	position: relative;
	z-index: 2;
	font-size: 40px;
	font-weight: 700;
	color: var(--primary-color);
	margin: 0;
}

/* 趋势分类 - 横向列表 */
.trend-categories {
    display: flex;
    flex-direction: column;
	gap: 38px;
	padding: 26px 45px 66px 45px;
    background-color: #f6f6f6;
}

/* 单个趋势项 - 横向布局 */
.trend-item {
    display: grid;
    grid-template-columns: 69px 565px 1fr;
    align-items: center;
    padding: 0 33px 56px;
    border-bottom: 1px solid #bebebe;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
    cursor: pointer;
}

.trend-item:hover {
    color: #1a1a1a;
}

.trend-item:hover .trend-title,
.trend-item:hover .trend-subtitle,
.trend-item:hover .trend-text {
    color: #1a1a1a;
}

/* 最后一个不需要下边框 */
.trend-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* 序号 */
.trend-number {
	font-size: 36px;
	font-weight: 300;
	color: #ddd;
	line-height: 1;
}

/* 趋势图片 */
.trend-image {
	width: 100%;
    height: 266px;
    border-radius: 25px;
    overflow: hidden;
}

/* 趋势图片内部div - 设置为相对定位以容纳伪元素 */
.trend-image > div {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 20px;
}

/* 使用伪元素来承载背景图，这样可以单独放大背景 */
.trend-image > div::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit; /* 继承父元素的background */
    border-radius: 20px;
    transition: transform 0.5s ease;
    transform-origin: center center;
    z-index: 0;
}

/* Hover时只放大背景伪元素 */
.trend-item:hover .trend-image > div::before {
    transform: scale(1.1);
}

/* 图片上的标签 - 毛玻璃效果 */
.trend-image span {
    display: inline-block;
    padding: 15px 42px;
    position: absolute;
    left: 14px;
    bottom: 14px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 50px;
    color: #fff;
    font-size: 23px;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.2);
    z-index: 1; /* 确保span在背景之上 */
}

/* 趋势信息 - 右对齐 */
.trend-info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}

/* 标题 */
.trend-title {
	font-size: 32px;
	font-weight: 700;
	color: var(--primary-color);
	margin: 0 0 15px 0;
}

/* 英文副标题 */
.trend-subtitle {
    font-size: 24px;
    font-weight: 400;
    color: #999;
    margin: 0 0 14px 0;
    line-height: 1;
}

/* 标签列表 - 两列布局 */
.trend-tags {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 31px;
	margin: 0 0 10px 0;
}

.trend-tags span {
    position: relative;
    font-size: 20px;
    color: var(--secondary-color);
    padding-left: 15px;
    text-align: left;
}

/* 每个标签前面都有点 */
.trend-tags span::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--secondary-color);
}

/* 演示文字 */
.trend-text {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.trend-text p {
	font-size: 17px;
    color: var(--secondary-color);
    margin: 0;
}

/* 旧样式隐藏 */
.trend-category-item,
.trend-category-image,
.trend-category-content,
.trend-category-title,
.trend-category-desc,
.trend-category-btn {
	display: none;
}

/* 旧样式（删除或注释） */
.trend-title-column,
.vertical-title,
.trend-articles-column,
.trend-article,
.trend-article-image,
.trend-article-content,
.trend-badge,
.trend-article-title,
.trend-article-desc,
.trend-view-btn {
	display: none;
}

.trend-articles-column {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.trend-article {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 30px;
	align-items: start;
}

.trend-article-image {
	width: 200px;
}

.trend-article-content {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.trend-badge {
	display: inline-block;
	padding: 4px 12px;
	background: var(--primary-color);
	color: var(--bg-color);
	font-size: 11px;
	border-radius: 15px;
	width: fit-content;
	font-weight: 500;
}

.trend-article-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0;
	color: var(--primary-color);
	line-height: 1.3;
}

.trend-article-desc {
	font-size: 14px;
	color: var(--secondary-color);
	line-height: 1.7;
	margin: 0;
}

.trend-view-btn {
	display: inline-block;
	padding: 8px 25px;
	border: 1px solid var(--primary-color);
	border-radius: 20px;
	text-decoration: none;
	color: var(--primary-color);
	font-size: 13px;
	font-weight: 500;
	width: fit-content;
	transition: all 0.3s;
}

.trend-view-btn:hover {
	background: var(--primary-color);
	color: var(--bg-color);
}

/* ========================================================================
   INNOVATION HUB Section
   ======================================================================== */

.style-gallery-section {
	position: relative;
	padding: 0;
	overflow: hidden;
}

.style-gallery-container {
}

/* 顶部标题区域 - 两列布局 */
.gallery-header {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}

/* 左上角文字 */
.gallery-left-text {
    position: relative;
    padding: 0 29px;
    display: flex;
    flex-direction: column;
    gap: 33px;
}

.gallery-subtitle {
	font-size: 35px;
	font-weight: 300;
	line-height: 1.27;
	color: var(--primary-color);
	margin: 0;
	font-family: 'PoppinsLight', 'Poppins', 'Helvetica Neue', Arial, sans-serif;
}

.gallery-left-icon {
	width: 78px;
	height: 78px;
	animation: rotate 20s linear infinite;
}

/* 主标题（独占一行） */
.gallery-main-title {
    font-size: 315px; /* 使用视口宽度单位，自动占满页面宽度 */
    font-weight: 900;
    letter-spacing: -2px; /* letter-spacing也使用vw单位 */
    margin: 0;
    color: var(--primary-color);
    text-align: center;
    line-height: 1.47;
    white-space: nowrap; /* 强制不换行 */
    overflow: hidden; /* 隐藏超出部分 */
    width: 100%; /* 占满宽度 */
}

/* 右上角文字 */
.gallery-right-text {
	position: absolute;
    right: 33px;
    bottom: 5px;
    text-align: center;
    padding: 0;
}

.gallery-subtitle-bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 278px;
	height: auto;
	z-index: 1;
	opacity: 0.7;
}

.gallery-subtitle-right {
	font-size: 37px;
	font-weight: 600;
	color: var(--primary-color);
	margin: 0;
	position: relative;
	z-index: 2;
}

/* 跑马灯图片行 */
.gallery-marquee {
	overflow: hidden;
	margin: 90px 0;
	position: relative;
}

.marquee-track {
	display: flex;
	gap: 30px;
	will-change: transform;
	/* 移除动画，改用JS控制 */
}

.marquee-track.paused {
	/* JS控制暂停 */
}

.marquee-item {
	flex-shrink: 0;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* 图片容器 */
.marquee-image {
	width: 180px;
	height: 140px;
	border-radius: 10px;
	transition: box-shadow 0.3s ease;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* 横向图片（宽度大于高度）- 宽一点 */
.marquee-image-landscape {
	width: 240px;
}

/* 序号显示在图片下方 */
.marquee-number {
	font-size: 18px;
	font-weight: 700;
	color: #000;
	line-height: 1;
}

.marquee-item:hover .marquee-image {
	box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

/* ---------------------------------------------------------------------------
   Lightbox 设计令牌（企业站常见：fluid spacing + 动态视口 + 安全区，少依赖 JS）
   应用于 .marquee-lightbox（首页轮播大图弹层）与 .image-lightbox-overlay（单页 Swiper 灯箱）
   --------------------------------------------------------------------------- */
.marquee-lightbox,
.image-lightbox-overlay {
	--lb-vh: 100vh;
	--lb-inline-pad: clamp(12px, 3.2vw, 28px);
	--lb-block-pad: clamp(12px, 2.8vw, 40px);
	/* 为分页、导航、关闭钮等预留的纵向空间（fluid，避免图片把 UI 挤出视口） */
	--lb-chrome-y: clamp(110px, 16vmin, 190px);
}

@supports (height: 100dvh) {
	.marquee-lightbox,
	.image-lightbox-overlay {
		--lb-vh: 100dvh;
	}
}

/* Lightbox 弹层样式 */
.marquee-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* #wpadminbar 一般为 99999；须更高以免登录态下横条压在弹层之上（与 .image-lightbox-overlay 同级） */
	z-index: 100100;
	display: none; /* 默认隐藏 */
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	/* 横向裁切；纵向滚动：桌面在 .lightbox-content，手机在 .marquee-lightbox-scroll */
	overflow-x: hidden;
	box-sizing: border-box;
	padding-left: env(safe-area-inset-left, 0px);
	padding-right: env(safe-area-inset-right, 0px);
}

/* 激活状态：交叉轴拉伸，保证 .lightbox-content 沾满视口高度（否则子项 100% 高度参照塌陷 → 主图为 0） */
.marquee-lightbox.active {
	display: flex;
	align-items: stretch;
	animation: marqueeFadeIn 0.3s ease;
	opacity: 1;
}

@keyframes marqueeFadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.lightbox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(22, 22, 23, .8);
	backdrop-filter: saturate(180%) blur(20px);;
	-webkit-backdrop-filter: saturate(180%) blur(20px);;
}

/* 遮罩与面板之间：手机纵向滚动在此层；桌面仅占位传递 flex，滚动仍在 .lightbox-content */
.marquee-lightbox-scroll {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	overflow: visible;
	box-sizing: border-box;
}

.marquee-lightbox .lightbox-content {
	position: relative;
	z-index: 2;
	max-width: 100%;
	width: 100%;
	max-height: min(calc(var(--lb-vh) - 24px), calc(100dvh - 24px));
	/* 至少一屏高：wrapper flex:1 与 .lightbox-image 的 max-height:…100% 才有明确百分比参照 */
	min-height: min(var(--lb-vh), 100dvh, 100vh);
	display: flex;
	flex-direction: column;
	align-items: center;
	/* 纵向 flex：上图区 flex:1 吃掉剩余高度（占位）；超高时由本容器滚动，底栏 sticky 贴在可视底部 */
	justify-content: flex-start;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	padding-top: calc(var(--lb-block-pad) + env(safe-area-inset-top, 0px));
	padding-bottom: calc(var(--lb-block-pad) + env(safe-area-inset-bottom, 0px));
	padding-left: calc(var(--lb-inline-pad) + env(safe-area-inset-left, 0px));
	padding-right: calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px));
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
	box-sizing: border-box;
	overscroll-behavior: contain;
}

.marquee-lightbox .lightbox-content::-webkit-scrollbar {
	width: 6px;
}

.marquee-lightbox .lightbox-content::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.4);
	border-radius: 10px;
}

.marquee-lightbox .lightbox-content::-webkit-scrollbar-track {
	background: transparent;
}

.marquee-lightbox .lightbox-close {
	position: absolute;
	top: calc(22px + env(safe-area-inset-top, 0px));
	right: calc(22px + env(safe-area-inset-right, 0px));
	z-index: 10001;
	width: 50px;
	height: 50px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.marquee-lightbox .lightbox-close:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.6);
	transform: rotate(90deg);
}

.marquee-lightbox .lightbox-image-wrapper {
	/* 与左侧主图共用高度上限，右侧 .lightbox-info max-height 可对齐（变量挂在 wrapper 上便于兄弟节点读取） */
	--lb-cap-h: min(667px, calc(var(--lb-vh) - var(--lb-chrome-y)));
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(16px, 4vw, 40px);
	animation: zoomIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	margin-bottom: 0;
	width: 100%;
	min-width: 0;
	min-height: 0;
	flex: 1 1 auto;
	overflow: visible;
	box-sizing: border-box;
}

@keyframes zoomIn {
	from {
		transform: scale(0.8);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

.marquee-lightbox .lightbox-image {
	/*
	 * 高度优先：无子内容 / 仅背景的 div 用 height:auto 往往算不出块高；给明确 height（cap 与父级高度的较小值），
	 * 再由 aspect-ratio + width:auto 推宽度。plain 100% 在竖排 wrapper 含文案时会误占满整段 wrapper，故用 min(cap,100%)。
	 * --lb-cap-h 见 .lightbox-image-wrapper。
	 */
	box-sizing: border-box;
	height: min(var(--lb-cap-h), 100%);
	max-height: min(var(--lb-cap-h), 100%);
	width: auto;
	max-width: min(500px, 100%);
	aspect-ratio: 3 / 4;
	min-width: 0;
	min-height: 0;
	border-radius: clamp(14px, 2vw, 20px);
	box-shadow: 0 30px 60px rgba(0,0,0,0.5);
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* 矮屏可滚动：JS 写入 --marquee-shade-top/bottom（px）；长羽化 + 多档透明避免硬边 */
.marquee-lightbox .lightbox-image.marquee-image--chrome-overlap::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	z-index: 1;
	/* 使用略暖中性色，相同透明度下比纯黑更自然 */
	background: linear-gradient(
		to bottom,
		rgba(14, 12, 18, 0) 0,
		rgba(14, 12, 18, 0) max(0px, calc(var(--marquee-shade-top) - 56px)),
		rgba(14, 12, 18, 0.035) max(0px, calc(var(--marquee-shade-top) - 38px)),
		rgba(14, 12, 18, 0.085) max(0px, calc(var(--marquee-shade-top) - 22px)),
		rgba(14, 12, 18, 0.16) max(0px, calc(var(--marquee-shade-top) - 10px)),
		rgba(14, 12, 18, 0.26) var(--marquee-shade-top),
		rgba(14, 12, 18, 0.4) calc(var(--marquee-shade-top) + (var(--marquee-shade-bottom) - var(--marquee-shade-top)) * 0.32),
		rgba(14, 12, 18, 0.54) calc(var(--marquee-shade-top) + (var(--marquee-shade-bottom) - var(--marquee-shade-top)) * 0.58),
		rgba(14, 12, 18, 0.52) var(--marquee-shade-bottom),
		rgba(14, 12, 18, 0.34) calc(var(--marquee-shade-bottom) + 14px),
		rgba(14, 12, 18, 0.2) calc(var(--marquee-shade-bottom) + 28px),
		rgba(14, 12, 18, 0.11) calc(var(--marquee-shade-bottom) + 42px),
		rgba(14, 12, 18, 0.045) calc(var(--marquee-shade-bottom) + 58px),
		rgba(14, 12, 18, 0) calc(var(--marquee-shade-bottom) + 80px)
	);
}

/*
 * 桌面：与基础规则共用同一 aspect-ratio（不在 PC 宽度内再切另一套比例）。
 */
@media (min-width: 769px) {
	.marquee-lightbox .lightbox-image {
		flex-shrink: 1;
	}
}

@media (min-width: 769px) and (max-width: 1180px) {
	.marquee-lightbox .lightbox-image-wrapper {
		flex-wrap: wrap;
		justify-content: center;
		align-content: center;
	}
}

/*
 * 桌面：769px 起即可出现「左图右文」单行（视内容宽度而定）；文案列需 flex 伸展才能占满可用宽度。
 * max-height 与主图对齐仅在高宽幅 min-width:1181px 启用，避免 769–1180 折行成上下栈叠时被误限制高度。
 */
@media (min-width: 769px) {
	.marquee-lightbox .lightbox-info {
		flex: 1 1 clamp(220px, 36vmin, 400px);
		min-width: 0;
		min-height: 0;
	}
}

@media (min-width: 1181px) {
	.marquee-lightbox .lightbox-info {
		max-height: min(var(--lb-cap-h), 100%);
		overflow-y: auto;
		justify-content: safe center;
	}
}

.lightbox-meta {
	margin: 20px auto;
	text-align: center;
	color: #ffffff;
}

.lightbox-meta-title {
	margin: 0 0 6px 0;
	font-size: 20px;
	font-weight: 600;
}

.lightbox-meta-author {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.8);
}

/* ------------------------------------------------------------------------
   Lightbox - Mobile Responsive Adjustments
   面板高度随内容；纵向滚动在 .marquee-lightbox-scroll（不在 .lightbox-content）；底栏 sticky 相对外层滚动容器
   ------------------------------------------------------------------------ */
@media (max-width: 768px) {
	/*
	 * 手机关闭钮占位：absolute 的 top 相对 content 上边，若 padding-top 小于钮高度会与主图重叠；
	 * 非矮屏下加大 padding-top，把钮留在图上方的「外侧」条带。矮屏见下方 max-height 媒体查询收回占位。
	 */
	.marquee-lightbox {
		--lb-mobile-close-slot: calc(36px + 10px);
		align-items: stretch !important;
		justify-content: center !important;
		overflow: hidden !important;
		-webkit-overflow-scrolling: touch;
	}

	.marquee-lightbox-scroll {
		flex: 1 1 auto !important;
		align-self: stretch !important;
		min-height: 0 !important;
		max-height: min(var(--lb-vh), 100dvh, 100vh) !important;
		width: 100% !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		justify-content: safe center !important;
		align-items: center !important;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
		box-sizing: border-box !important;
	}

	.marquee-lightbox-scroll::-webkit-scrollbar {
		width: 6px;
	}

	.marquee-lightbox-scroll::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.4);
		border-radius: 10px;
	}

	.marquee-lightbox-scroll::-webkit-scrollbar-track {
		background: transparent;
	}

	.marquee-lightbox .lightbox-content {
		justify-content: flex-start !important;
		align-items: stretch !important;
		overflow: visible !important;
		overflow-y: visible !important;
		flex: 0 1 auto !important;
		align-self: center !important;
		min-height: 0 !important;
		max-height: none !important;
		width: 100%;
		padding-top: calc(
			var(--lb-block-pad) + env(safe-area-inset-top, 0px) + var(--lb-mobile-close-slot)
		) !important;
		padding-bottom: calc(var(--lb-block-pad) + env(safe-area-inset-bottom, 0px)) !important;
		padding-left: calc(var(--lb-inline-pad) + env(safe-area-inset-left, 0px)) !important;
		padding-right: calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px)) !important;
		box-sizing: border-box !important;
	}

	.marquee-lightbox .lightbox-close {
		top: calc(var(--lb-block-pad) + env(safe-area-inset-top, 0px)) !important;
		right: calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px)) !important;
		width: 36px !important;
		height: 36px !important;
		border-width: 1.5px !important;
	}
	
	.marquee-lightbox .lightbox-close svg {
		width: 18px !important;
		height: 18px !important;
	}

	.marquee-lightbox .lightbox-image-wrapper {
		flex-direction: column !important;
		gap: 15px !important;
		padding: 0 !important;
		margin-bottom: 0 !important;
		/* 不参与纵向压缩，避免矮屏下整块被压扁导致图片违反 aspect-ratio */
		flex: 0 0 auto !important;
		min-height: auto !important;
		overflow: visible !important;
		justify-content: safe center !important;
		width: 100%;
		max-width: 100%;
	}

	.marquee-lightbox .lightbox-image {
		/*
		 * 手机：以宽度为主，高度由 aspect-ratio 推导。
		 * 勿 flex-shrink:1 + min-height:0：在 content max-height 下纵向 flex 会压缩图片，aspect-ratio 形同虚设。
		 */
		box-sizing: border-box !important;
		width: min(100%, 92vw) !important;
		max-width: min(92vw, 100%) !important;
		height: auto !important;
		max-height: none !important;
		aspect-ratio: 3 / 4 !important;
		flex-shrink: 0 !important;
		min-width: 0 !important;
		min-height: auto !important;
		border-radius: 16px !important;
		box-shadow: 0 15px 35px rgba(0,0,0,0.4) !important;
	}

	.marquee-lightbox .lightbox-info {
		flex: none !important;
		max-width: min(92vw, 100%) !important;
		padding: 0 12px !important;
		overflow: visible !important;
		max-height: none !important;
		flex-shrink: 0;
		min-height: 0;
		width: 100%;
		box-sizing: border-box;
	}

	.lightbox-meta {
		margin: 15px auto 50px !important;
		padding: 0 12px !important;
	}

	.lightbox-meta-title {
		font-size: 15px !important;
		margin: 0 0 5px 0 !important;
		line-height: 1.4 !important;
	}

	.lightbox-meta-author {
		font-size: 11px !important;
	}

	.marquee-lightbox .lightbox-title {
		font-size: clamp(16px, 4.5vw, 18px) !important;
		line-height: 1.4 !important;
		margin-bottom: 10px !important;
	}

	.marquee-lightbox .lightbox-excerpt {
		font-size: 12px !important;
		line-height: 1.6 !important;
	}

	.marquee-lightbox .lightbox-nav {
		margin-top: 0 !important;
		flex-shrink: 0;
		padding-block: clamp(14px, 4vw, 26px) !important;
		padding-inline: clamp(14px, 4vw, 22px) !important;
	}

	/* marquee 内加载层：全局 padding-inline 最小 90px 在窄图里会把 flex 内容挤出圆角框，仅限本弹层收紧 */
	.marquee-lightbox .lightbox-image .lightbox-loading {
		padding-block: clamp(12px, 3vw, 20px) !important;
		padding-inline: clamp(14px, 5vw, 28px) !important;
	}

	/*
	 * iOS WebKit（Safari / iOS Chrome 等）：大号字 + 极低不透明度 fill + 大模糊 text-shadow，
	 * Core Text 合成下阴影更易「糊进字形」，整体观感比 Android/Chromium 更闷、更深。
	 * -webkit-touch-callout 在 Blink 桌面/安卓上通常不满足 @supports，可缩小作用面。
	 */
	@supports (-webkit-touch-callout: none) {
		.marquee-lightbox .lightbox-number {
			text-shadow: 2px 2px 20px rgba(0, 0, 0, 0) !important;
			-webkit-font-smoothing: antialiased;
		}
	}
}

@media (max-width: 768px) and (max-height: 720px) {
	.marquee-lightbox .lightbox-content {
		padding-top: calc(var(--lb-block-pad) + env(safe-area-inset-top, 0px)) !important;
	}

	.marquee-lightbox .lightbox-close {
		position: fixed !important;
		top: calc(12px + env(safe-area-inset-top, 0px)) !important;
		right: calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px)) !important;
		z-index: 10001 !important;
	}

	.marquee-lightbox .lightbox-info {
		position: sticky !important;
		bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(76px, 20vmin, 118px)) !important;
		z-index: 3 !important;
	}

	/* 矮屏滚动更频繁：加宽滚动条 + 略提高对比，便于弱视 / 精细动作困难用户 */
	.marquee-lightbox-scroll {
		scrollbar-width: auto;
		scrollbar-color: rgba(255, 255, 255, 0.72) rgba(255, 255, 255, 0.12);
	}

	.marquee-lightbox-scroll::-webkit-scrollbar {
		width: 16px;
	}

	.marquee-lightbox-scroll::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.62);
		border-radius: 8px;
		border: 3px solid transparent;
		background-clip: padding-box;
	}

	.marquee-lightbox-scroll::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.08);
	}
}

/* 手机/平板竖屏：与桌面同一套逻辑——弹层固定视口高度（上下小边距），上 Banner 不滚动，下方面板超出出现滚动条 */
@media screen and (max-width: 960px) {
	.atf-auth-modal__dialog {
		align-items: center;
		justify-content: center;
		padding: 12px 16px;
		min-height: 100vh;
		min-height: 100svh;
		box-sizing: border-box;
	}

	.atf-auth-modal__card {
		grid-template-columns: 1fr;
		grid-template-rows: auto minmax(0, 1fr);
		min-height: 0;
		width: 100%;
		height: calc(100vh - 24px);
		height: calc(100svh - 24px);
		max-height: calc(100vh - 24px);
		max-height: calc(100svh - 24px);
		overflow: hidden;
		border-radius: 22px;
	}

	.atf-auth-modal__visual {
		flex-shrink: 0;
		height: clamp(200px, 34vh, 280px);
		min-height: 200px;
		max-height: min(280px, 40vh);
		overflow: hidden;
	}

	.atf-auth-modal__visual .atf-auth-visual-slider {
		height: 100%;
		min-height: 0;
	}

	.atf-auth-visual-slider,
	.atf-auth-visual-slider .swiper-wrapper {
		min-height: 0;
		height: 100%;
	}

	.atf-auth-visual-slider .swiper-slide {
		min-height: 0;
		height: 100%;
	}

	.atf-auth-visual-slide {
		min-height: 0;
		height: 100%;
	}

	.atf-auth-visual-image-wrap {
		min-height: 160px;
	}

	.atf-auth-visual-image-inner {
		min-height: 0;
	}

	/* 登录/注册弹层（≤960）：字号与桌面分轨，仅作用于 .atf-auth-modal 内，≥961 仍用上方全局规则 */
	.atf-auth-modal .atf-auth-panel-copy-main h2 {
		font-size: clamp(26px, 3.2vw, 32px);
		line-height: 1.2;
	}

	.atf-auth-modal .atf-auth-panel-copy .atf-auth-visual-brand {
		font-size: 11px;
		letter-spacing: 2px;
	}

	.atf-auth-modal .atf-auth-panel-copy-main .atf-auth-visual-description {
		font-size: 13px;
		line-height: 1.55;
	}

	.atf-auth-modal .atf-auth-panel label span,
	.atf-auth-modal .atf-auth-panel .atf-password-label > span {
		font-size: 16.9px;
		font-weight: 600;
		/*margin-bottom: 6px;*/
	}

	.atf-auth-modal .atf-auth-code-label span {
		font-size: 15px;
	}

	.atf-auth-modal .atf-auth-footer-links,
	.atf-auth-modal .atf-auth-switch-hint {
		font-size: 16px;
	}

	/* 「还没有账号？加入…」与底部注册/忘记链接分轨，不共用同一条 font-size */
	.atf-auth-modal .atf-auth-register-cta-footer__row {
		font-size: 13px;
	}

	.atf-auth-modal .atf-auth-forgot-contact-row__hint,
	.atf-auth-modal .atf-auth-forgot-contact-row__cta {
		font-size: 13px;
	}

	.atf-auth-modal .atf-auth-message {
		font-size: 13px;
	}

	.atf-auth-modal .atf-auth-agreement {
		font-size: 14px;
	}

	.atf-auth-modal .atf-auth-panel label.atf-auth-inline > span {
		font-size: 13px;
	}

	.atf-auth-modal .atf-auth-submit,
	.atf-auth-modal .atf-auth-code-combo .atf-auth-code-btn,
	.atf-auth-modal .atf-auth-open {
		font-size: 15px;
	}

	/* 底部 CTA「加入站点」带 .atf-auth-open，勿与主按钮同字号；继承本行 14px */
	.atf-auth-modal .atf-auth-register-cta-footer__join.atf-auth-open {
		font-size: inherit;
	}

	.atf-auth-modal .atf-auth-register-wizard-actions .atf-auth-register-wizard-back {
		font-size: 14px;
	}

	.atf-auth-modal .atf-auth-register-step__eyebrow {
		font-size: 13px;
	}

	.atf-auth-modal .atf-auth-visual-slide-title {
		font-size: clamp(1.05rem, 4.2vw, 1.35rem);
		line-height: 1.35;
		margin-bottom: 10px;
	}

	.atf-auth-modal .atf-auth-visual-slide-desc {
		font-size: 12px;
		line-height: 1.55;
	}

	.atf-auth-modal .atf-auth-visual-slide-caption--register .atf-auth-visual-slide-title {
		font-size: clamp(1rem, 3.8vw, 1.2rem);
	}

	.atf-auth-modal .atf-auth-visual-slide-caption--register .atf-auth-visual-slide-desc {
		font-size: 12px;
	}

	.atf-auth-modal__close {
		font-size: 22px;
	}

	/* 窄视口弹层内输入统一 ≥16px，避免 iOS 聚焦缩放（与下方 max-width:768 规则一致，桌面 ≥961 不受影响） */
	.atf-auth-modal .atf-auth-panel input:not([type="checkbox"]):not([type="radio"]),
	.atf-auth-modal .atf-auth-code-input,
	.atf-auth-modal .atf-auth-panel .atf-password-field .atf-password-input {
		font-size: 16px;
	}

	.atf-auth-modal__panel {
		padding: 32px 24px;
		min-height: 0;
		max-height: none;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.atf-auth-modal__panel.atf-auth-modal__panel--register-plan-step {
		padding: 36px 56px;
	}

	/* 会员中心：账号/资料面板在窄屏下单列、收紧留白，避免撑破视口 */
	.atf-member-center-shell {
		padding: 24px 14px;
		box-sizing: border-box;
	}

	.atf-member-center-layout {
		gap: 18px;
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.atf-member-center-card {
		padding: 24px 18px;
		border-radius: 22px;
		min-width: 0;
		max-width: 100%;
	}

	.atf-member-hero__body {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.atf-member-hero__main {
		width: 100%;
	}

	.atf-member-hero__meta {
		text-align: left;
		grid-template-columns: 1fr;
	}

	.atf-member-hero__meta-block:first-child {
		max-width: 100%;
	}

	.atf-member-center-tabs-wrap {
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.atf-member-center-panel,
	.atf-member-center-panel.atf-member-center-account {
		padding: 20px 16px;
		border-radius: 20px;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.atf-member-center-tab-panels,
	.atf-member-center-tab-panel {
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.atf-member-center-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.atf-member-center-subpanel {
		padding: 18px 16px;
		min-width: 0;
		box-sizing: border-box;
	}

	.atf-member-center-panel h2,
	.atf-member-center-subpanel h2 {
		font-size: clamp(1.125rem, 4vw, 1.35rem);
	}

	.atf-member-em-wrap {
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.atf-member-profile-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

@media screen and (max-width: 640px) {
	.header-right-space {
		justify-content: center;
	}

	.atf-auth-modal__dialog {
		padding: 12px;
	}

	.atf-auth-modal__close {
		top: 18px;
		right: 18px;
	}

	.atf-auth-code-input {
		padding-right: 16px;
		padding-bottom: 52px;
	}

	.atf-auth-code-combo .atf-auth-code-btn {
		left: auto;
		right: 6px;
		top: auto;
		bottom: 10px;
		transform: none;
		width: max-content;
		max-width: calc(100% - 24px);
		text-align: center;
		justify-content: center;
	}

	.atf-auth-code-combo .atf-auth-code-btn:hover {
		transform: translateY(-1px);
	}

	.atf-member-menu {
		left: 50%;
		right: auto;
		transform: translateX(-50%) translateY(8px);
	}

	.atf-member-dropdown.is-open .atf-member-menu {
		transform: translateX(-50%) translateY(0);
	}

	.atf-member-center-card__body {
		flex-direction: column;
		text-align: center;
	}

	.atf-member-center-card {
		text-align: center;
	}

	.atf-member-center-tabs-wrap {
		padding: 14px 18px;
	}

	.atf-member-center-tabs-wrap .atf-member-center-kicker {
		text-align: center;
	}

	.atf-member-center-tabs-wrap .atf-member-center-tabs {
		justify-content: center;
	}

	.atf-member-center-shell {
		padding: 20px 12px;
	}

	.atf-member-center-panel,
	.atf-member-center-panel.atf-member-center-account {
		padding: 18px 14px;
		border-radius: 18px;
	}

	.atf-member-center-subpanel {
		padding: 16px 14px;
	}

	.atf-member-center-list li {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.atf-member-form-footer {
		justify-content: center;
	}

	.atf-restricted-shell__copy {
		padding: 48px 20px;
	}

	.atf-guest-gate-page__main {
	}

	.atf-guest-gate-page__intro {
		padding: 28px 20px;
	}
}

/* 弹层信息区域（首页 marquee 大图查看器） */
.marquee-lightbox .lightbox-info {
	max-width: min(400px, 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: clamp(14px, 2.5vw, 20px);
	justify-content: flex-start;
}

.marquee-lightbox .lightbox-title {
	font-size: clamp(1.25rem, 3.5vw, 2rem);
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	color: #fff;
	font-family: 'AlimamaFangYuan', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.marquee-lightbox .lightbox-excerpt {
	font-size: clamp(0.875rem, 2vw, 1rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

.marquee-lightbox .lightbox-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: clamp(12px, 2vw, 15px) clamp(22px, 4vw, 30px);
	background: #fff;
	color: #1a1a1a;
	border-radius: 50px;
	text-decoration: none;
	font-size: clamp(0.9rem, 2vw, 1rem);
	font-weight: 600;
	transition: all 0.3s ease;
	align-self: flex-start;
}

.marquee-lightbox .lightbox-btn:hover {
	background: #f0f0f0;
	transform: translateX(5px);
}

.marquee-lightbox .lightbox-btn svg {
	transition: transform 0.3s ease;
}

.marquee-lightbox .lightbox-btn:hover svg {
	transform: translateX(3px);
}

.marquee-lightbox .lightbox-number {
	position: absolute;
	bottom: clamp(16px, 4vw, 30px);
	left: clamp(16px, 4vw, 30px);
	z-index: 2;
	font-size: clamp(2.5rem, 14vw, 4.5rem);
	font-weight: 900;
	color: rgb(255 255 255 / 0.25);
	text-shadow: 2px 2px 20px rgba(0,0,0,0.5);
	pointer-events: none;
}

.marquee-lightbox .lightbox-nav {
	display: flex;
	gap: clamp(12px, 3vw, 20px);
	margin-top: 0;
	position: sticky;
	bottom: 0;
	z-index: 4;
	width: 100%;
	max-width: 100%;
	align-self: stretch;
	padding: 12px 18px;
	box-sizing: border-box;
	justify-content: center;
	border-radius: 30px;
	flex-shrink: 0;
}

.marquee-lightbox .lightbox-prev,
.marquee-lightbox .lightbox-next {
	width: clamp(48px, 12vmin, 60px);
	height: clamp(48px, 12vmin, 60px);
	border: 2px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.marquee-lightbox .lightbox-prev:hover,
.marquee-lightbox .lightbox-next:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.6);
	transform: scale(1.1);
}

/* 桌面端视口明显偏矮：保留「面板沾满可用高度」等逻辑；手机已在 max-width:768px 单独处理，避免短屏又被本条拉回满屏高 */
@media (max-height: 640px) and (min-width: 769px) {
	.marquee-lightbox.active {
		align-items: stretch;
		justify-content: center;
	}

	.marquee-lightbox .lightbox-content {
		padding-top: calc(28px + env(safe-area-inset-top, 0px));
		padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
		max-height: min(calc(var(--lb-vh) - 8px), calc(100dvh - 8px));
		justify-content: flex-start;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		min-height: min(var(--lb-vh), 100dvh, 100vh);
		scrollbar-width: auto;
		scrollbar-color: rgba(255, 255, 255, 0.72) rgba(255, 255, 255, 0.12);
	}

	.marquee-lightbox .lightbox-content::-webkit-scrollbar {
		width: 16px;
	}

	.marquee-lightbox .lightbox-content::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.62);
		border-radius: 8px;
		border: 3px solid transparent;
		background-clip: padding-box;
	}

	.marquee-lightbox .lightbox-content::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.08);
	}

	.marquee-lightbox .lightbox-image-wrapper {
		gap: 20px;
		margin-bottom: 0;
	}

	.marquee-lightbox .lightbox-title {
		font-size: clamp(1.15rem, 2.6vw, 1.75rem);
	}

	.marquee-lightbox .lightbox-excerpt {
		font-size: 14px;
	}

	.marquee-lightbox .lightbox-number {
		font-size: clamp(1.75rem, 12vw, 4.5rem);
		bottom: 16px;
		left: 20px;
	}

	.marquee-lightbox .lightbox-nav {
		padding: 8px 12px;
	}

	.marquee-lightbox .lightbox-prev,
	.marquee-lightbox .lightbox-next {
		width: 50px;
		height: 50px;
	}
}

/* 桌面并排且视口明显偏矮：右栏可单独滚动；窄屏纵向 stacking 用上图压缩 + .lightbox-content 滚动（见 max-width:768px） */
@media (max-height: 640px) and (min-width: 769px) {
	.marquee-lightbox .lightbox-info {
		min-height: 0;
		max-height: min(var(--lb-cap-h), 100%);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: safe center;
		scrollbar-width: auto;
		scrollbar-color: rgba(255, 255, 255, 0.72) rgba(255, 255, 255, 0.12);
	}

	.marquee-lightbox .lightbox-info::-webkit-scrollbar {
		width: 16px;
	}

	.marquee-lightbox .lightbox-info::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.62);
		border-radius: 8px;
		border: 3px solid transparent;
		background-clip: padding-box;
	}

	.marquee-lightbox .lightbox-info::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.08);
	}
}

/* ========================================================================
   Single Fashion Trends Page Sections (时尚趋势单页样式)
   ======================================================================== */

.has-global-padding > .alignfull{
	margin: 0;
}

/* Article Content Section */
.fashion-trends-single-page .article-content-section.has-background {
	background-color: #f8f8f8;
	padding: 29px 30px;
}

/* Design Details Swiper Section */
.fashion-trends-single-page .design-details-swiper-section.has-background {
	/*background-color: #e8e8e8;*/
	padding-top: 26px;
	padding-bottom: 80px;
}

/* Highlights Summary Section */
.fashion-trends-single-page .highlights-summary-section.has-background {
	background-color: #f6f6f6;
	padding-top: 40px;
	padding-bottom: 60px;
}

/* Related Posts Section */
.fashion-trends-single-page .related-posts-section.has-background {
	background-color: #f6f6f6;
	padding-top: 83px;
	padding-bottom: 60px;
}

/* Recently Viewed Section */
.fashion-trends-single-page .recently-viewed-section.has-background {
    background-color: #f6f6f6;
    padding-top: 31px;
    padding-bottom: 66px;
}

/* Post Tags Section */
.fashion-trends-single-page .post-tags-section.has-background {
	background-color: #f6f6f6;
	padding-top: 40px;
	padding-bottom: 40px;
}

/* Post Navigation Section */
.fashion-trends-single-page .post-navigation-section.has-background {
	background-color: #f6f6f6;
	padding-top: 40px;
	padding-bottom: 40px;
}

/* Comments Section */
.fashion-trends-single-page .comments-section.has-background {
	background-color: #f6f6f6;
	padding-top: 40px;
	padding-bottom: 60px;
}

.marquee-lightbox .lightbox-prev:active,
.marquee-lightbox .lightbox-next:active {
	transform: scale(0.95);
}

/* 主内容区域：左侧三张卡片 + 右侧轮播 */
.gallery-main-content {
    display: grid;
    grid-template-columns: 0.92fr 1.69fr;
    gap: 19px;
    padding: 0 36px 62px 36px;
    margin: -83px 0 0;
}

/* 左侧三张卡片 */
.gallery-left-cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gallery-card {
    border-radius: 35px;
    overflow: hidden;
    min-height: 261px;
    position: relative;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.gallery-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}

.card-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 23px 13px;
    box-sizing: border-box;
}

/* 卡片头部（左上角） */
.card-header {
	align-self: flex-start;
	text-align: left;
	max-width: 60%;
}

.card-title {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 5px 0;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.card-subtitle {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
    margin: 0;
	font-weight: 400;
}

/* 标签（两列布局） */
.card-tags {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}

.card-tags span {
	font-size: 12px;
	color: #fff;
	position: relative;
	padding-left: 12px;
	text-align: left;
}

.card-tags span::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #fff;
	font-weight: 700;
}

/* 底部按钮（模糊半透明背景） */
.card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 14px 16px 25px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 60px;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.card-footer:hover {
	background: rgba(255, 255, 255, 0.25);
}

.card-footer svg {
	flex-shrink: 0;
}

/* 右侧轮播区域 */
.gallery-right-banner {
	position: relative;
	border-radius: 30px;
	overflow: hidden;
	min-height: 700px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: background-image 0.5s ease-in-out;
}

/* 加载中 shimmer（与 .atf-agreement-doc__title.is-loading 同款）；用 ::before 避免与 background-image 冲突 */
.gallery-right-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.gallery-right-banner.is-banner-loading::before {
	opacity: 1;
	background: linear-gradient(90deg, #e5e7eb 0%, #f3f4f6 45%, #e5e7eb 90%);
	background-size: 200% 100%;
	animation: atfAgreementDocShimmer 1.1s ease-in-out infinite;
}

.gallery-right-banner.is-banner-ready::before {
	opacity: 0;
	animation: none;
}

/* Banner白色容器 */
.gallery-banner-container {
    position: relative;
    z-index: 2;
    background: #fff;
    border-radius: 17px;
    margin: 165px 62px 165px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

/* 固定标签文字 */
.gallery-label {
    position: absolute;
    top: 12px;
    left: 12px;
    font-size: 7px;
    font-weight: 500;
    color: #999;
    letter-spacing: 1px;
    z-index: 10;
}

/* 页码指示器 */
.gallery-swiper-pagination {
	position: absolute;
	top: -23px;
	left: 0;
	font-size: 10px;
	font-weight: 600;
	color: var(--secondary-color);
}

/* Swiper 轮播 */
.gallery-swiper {
	width: 100%;
	height: 359px;
}

.carousel-content {
	display: grid;
	grid-template-columns: 1.36fr 1fr;
	gap: 40px;
	align-items: flex-end;
	text-decoration: none;
	padding: 10px 12px;
}

.carousel-left {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
}

.carousel-title {
	font-size: 62px;
	font-weight: 900;
	line-height: 0.85;
	color: var(--primary-color);
	margin: 0;
	font-family: 'MangoGrotesque', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.carousel-right {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.carousel-image {
	width: 100%;
	height: 340px;
	border-radius: 20px;
}

/* 缩略图导航（可滚动容器） */
.carousel-thumbnails-wrapper {
	overflow: hidden;
	position: relative;
}

.carousel-thumbnails {
	display: flex;
	gap: 15px;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding: 25px 12px 13px;
}

.carousel-thumbnails::-webkit-scrollbar {
	display: none;
}

.thumb {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.3s, transform 0.3s;
}

.thumb:hover {
	opacity: 0.8;
}

.thumb.active {
	opacity: 1;
}

.thumb > div {
	width: 100px;
    height: 70px;
	border-radius: 10px;
    border: 1px solid transparent;
	transition: border-color 0.3s;
}

/* 横向图片的缩略图（宽度更宽） */
.thumb > div.thumb-landscape {
	width: 135px;
}

.thumb.active > div {
	border-color: var(--primary-color);
}

.thumb span {
	font-size: 9px;
	font-weight: 600;
	color: var(--secondary-color);
	line-height: 1;
}

/* ========================================================================
   COLOR Section
   ======================================================================== */

.color-section {
	background: var(--bg-color);
	padding: 49px 37px 0 37px;
	position: relative;
}

.color-section-container {
	margin: 0 auto;
}

/* 标题区域（带SVG背景） */
.color-title-wrapper {
	position: relative;
	text-align: center;
	margin-bottom: 88px;
	padding: 40px 0;
}

.color-title-bg {
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75%;
    height: auto;
    z-index: 1;
    opacity: 0.7;
}

.color-section-title {
    font-size: 280px;
	font-weight: 900;
    letter-spacing: 26px;
	margin: 0;
	color: var(--primary-color);
	position: relative;
	z-index: 2;
	line-height: 1;
}

/* 卡片容器（向上移动） */
.color-cards-swiper-wrapper {
	position: relative;
}

.color-cards-container {
	margin-top: -206px;
	position: relative;
	z-index: 10;
}

/* 卡片页面 */
.color-cards-page {
	display: none;
	animation: colorCardsFadeIn 0.5s ease-in-out;
}

.color-cards-page.active {
	display: block;
}

@keyframes colorCardsFadeIn {
	from {
		opacity: 0;
		transform: translateX(20px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* 占位卡片 */
.color-card-placeholder {
	background: transparent !important;
	border: none !important;
	pointer-events: none;
}

/* 卡片行 */
.color-row {
	display: grid;
	gap: 20px;
	margin-bottom: 20px;
}

.color-row-1 {
	grid-template-columns: repeat(4, 1fr);
}

.color-row-2 {
	grid-template-columns: 2fr 1fr 1fr;
}

/* 卡片基础样式 */
.color-card {
	border-radius: 20px;
	overflow: hidden;
	min-height: 234px;
	position: relative;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 可点击卡片样式 */
.color-card-clickable {
	cursor: pointer;
}

/* 隐藏普通卡片的p标签 */
.color-card:not(.color-card-text) p {
	display: none;
}

/* 仅针对 color-cards-container 内的卡片添加 hover 效果 */
.color-cards-container .color-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* 卡片内部元素的 hover 效果 */
.color-cards-container .color-card:not(.color-card-text):hover > div {
	transform: scale(1.02);
	transition: transform 0.3s ease;
}

.color-cards-container .color-card:not(.color-card-text) > div {
	transition: transform 0.3s ease;
}

/* 文字卡片（半透明模糊背景） */
.color-card-text {
	background: rgba(255, 255, 255, 0.2) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 40px;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

/* 文字卡片hover效果 */
.color-card-text:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	text-decoration: none;
}

.card-text-overlay {
	text-align: center;
	max-width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.card-text-overlay h3 {
	font-size: 33px;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 30px 0;
	line-height: 1.2;
	position: relative;
	display: inline-block;
}

/* SVG背景装饰 */
.card-text-overlay h3::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 120%;
	min-width: 200px;
	height: 120%;
	background-image: url('/wp-content/themes/arttrekfuture/assets/images/index/title-bg-svg.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.3;
	z-index: -1;
}

.card-text-overlay p {
	font-size: 14px;
	color: #555;
	margin: 0;
	line-height: 1.8;
	display: block !important;
}

/* ========================================================================
   AI CREATION Section
   ======================================================================== */

.ai-creation-section {
	position: relative;
	padding: 168px 29px 55px 29px;
	overflow: hidden;
}

.ai-creation-container {
	margin: 0 auto;
}

/* 标题区域（带SVG背景） */
.ai-title-wrapper {
	position: relative;
	text-align: center;
	margin-bottom: 186px;
}

.ai-title-bg {
	position: absolute;
    top: 50%;
    right: -614px;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 1298px;
    height: auto;
    z-index: 1;
    opacity: 0.7;
}

.ai-section-title {
	font-size: 301px;
	font-weight: 900;
	letter-spacing: 12px;
	margin: 0;
	color: var(--primary-color);
	position: relative;
	z-index: 2;
	line-height: 1;
}

/* 内容区域（向上移动遮住标题） */
.ai-content-wrapper {
	position: relative;
    margin-top: -285px;
	z-index: 10;
	min-height: 700px;
    min-height: 1018px;
}

/* AI Creation可点击元素 */
.ai-clickable {
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ai-clickable:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.ai-clickable:hover > div {
    filter: brightness(1.15) saturate(1.2);
}

/* 排除左上角和右上角的hover效果 */
.ai-corner.ai-top-left.ai-clickable:hover,
.ai-corner.ai-top-right.ai-clickable:hover {
	transform: none;
	box-shadow: none;
}

/* 中间主图区域 - 保持原有的居中定位，禁用hover移位效果 */
.ai-main-content.ai-clickable:hover {
	transform: translate(-50%, -50%);  /* 保持居中定位 */
	box-shadow: none;
}

/* 四角图片 */
.ai-corner {
	position: absolute;
	z-index: 5;
}

.ai-top-left {
	top: 0;
	left: 0;
	width: 208px;
}

.ai-top-right {
	top: 0;
	right: 0;
	width: 207px;
}

.ai-bottom-left {
    bottom: 60px;
	left: 0;
    width: 210px;
    height: 275px;
	border-radius: 15px;
	overflow: hidden;
}

.ai-bottom-right {
    bottom: 60px;
	right: 0;
    width: 210px;
    height: 275px;
	border-radius: 15px;
	overflow: hidden;
}

.ai-corner-image {
	width: 100%;
	height: 340px;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.ai-corner-image:hover {
	transform: translateY(-8px) scale(1.05);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.ai-corner-image:hover > div {
	filter: brightness(1.12) saturate(1.15);
}

.ai-top-left .ai-corner-image {
	width: 100%;
	height: 310px;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.ai-top-right .ai-corner-image {
	width: 100%;
	height: 310px;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

/* 角落文字 */
.ai-corner-text {
	position: absolute;
	top: 350px;
	width: 255px;
	max-width: 100%;
	font-size: 15px;
	line-height: 1.5;
	color: var(--secondary-color);
	font-weight: 300;
	font-family: 'PoppinsLight', 'Poppins', 'Helvetica Neue', Arial, sans-serif;
	pointer-events: none;
}

.ai-top-left-text {
	left: 0;
    text-align: right;
	padding-left: 0px;
}

.ai-top-right-text {
	right: 0;
	text-align: left;
	padding-right: 0px;
}

/* 圆拱形图片 - 散开布局，直接定位到 ai-content-wrapper */
.arch-img {
    position: absolute;
	width: 109px;
    height: 155px;
    border-radius: 31px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    z-index: 15;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.arch-img:hover {
	transform: translateY(-10px) scale(1.08);
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
	z-index: 20;
}

.arch-img:hover > div {
	filter: brightness(1.15) saturate(1.2);
}

/* 圆拱形定位 - 相对于整个 ai-content-wrapper，可以覆盖主图 */
.arch-1 {
	left: calc(50% - 308px);
    top: 225px;
}

.arch-2 {
    left: calc(50% - 473px);
    top: 449px;
}

.arch-3 {
	left: calc(50% - 60px);
    top: 96px;
}

.arch-4 {
    left: calc(50% + 156px);
    top: 225px;
}

.arch-5 {
	left: calc(50% + 372px);
    top: 449px;
}

.arch-img-1 {
    width: 159px;
    height: 159px;
}

.arch-img-3 {
    width: 156px;
    height: 212px;
}

/* 主图区域 - 调整z-index，让圆拱图片可以覆盖 */
.ai-main-content {
    position: absolute;
    top: 65%;
    left: 50.5%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10;
    width: 445px;
}

/* AI创作标签（带SVG背景） */
.ai-label {
	position: relative;
	display: inline-block;
    margin-bottom: -11px;
	padding: 35px 40px;
}

.ai-label-bg {
	position: absolute;
	top: 50%;
    left: 53%;
	transform: translate(-50%, -50%);
    width: 93%;
	height: auto;
	z-index: 1;
	opacity: 0.7;
}

.ai-label span {
	position: relative;
	z-index: 2;
	font-size: 46px;
	font-weight: 700;
	color: var(--primary-color);
}

/* 主图 */
.ai-main-image {
    width: 100%;
    height: 360px;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 25px;
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.15);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.ai-main-image:hover {
	transform: translateY(-12px) scale(1.03);
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3);
}

.ai-main-image:hover > div {
	filter: brightness(1.1) saturate(1.18);
}

/* 主图底部文字 */
.ai-main-text {
	font-size: 15px;
	font-weight: 300;
	color: var(--primary-color);
	margin: 0;
	line-height: 1.5;
	font-family: 'PoppinsLight', 'Poppins', 'Helvetica Neue', Arial, sans-serif;
}

/* ========================================================================
   Brand Section
   ======================================================================== */

.brand-section {
	position: relative;
}

.brand-title {
    margin: 0;
    max-width: 100%;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0;
}

.brand-title img {
    max-width: 1045px;
    width: 65%;
    height: auto;
    display: block;
}

/* ========================================================================
   Info Platform Section
   ======================================================================== */

.info-platform-section {
	position: relative;
}

/* 顶部介绍区域 - 左右布局 */
.platform-intro-container {
    display: grid;
    grid-template-columns: 0.76fr 1.06fr;
    gap: 120px;
    padding: 80px 88px 42px 88px;
    align-items: center;
}

/* 左侧：标题（带SVG背景） */
.platform-intro-left {
	position: relative;
	padding: 40px 0;
}

.platform-title-bg {
	position: absolute;
    top: 64%;
    left: 25%;
    transform: translate(-50%, -50%);
    width: 120%;
    max-width: 336px;
    height: auto;
    z-index: 1;
    opacity: 0.7;
}

.platform-title {
    position: relative;
    z-index: 2;
    font-size: 50px;
    font-weight: 900;
    line-height: 1.3;
    color: var(--primary-color);
    margin: 0;
}

/* 右侧：介绍文字 + 按钮 */
.platform-intro-right {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.platform-description {
    font-size: 19px;
    line-height: 1.5;
    color: var(--secondary-color);
    margin: 0;
}

/* 了解更多按钮 */
.platform-cta-btn {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 38px;
    padding: 10px 13px 10px 42px;
    background: #1a1a1a;
    color: #ffffff;
    border-radius: 50px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start;
    position: relative;
    overflow: hidden;
}

.platform-cta-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 0;
}

.platform-cta-btn:hover::before {
	opacity: 1;
}

.platform-cta-btn span,
.platform-cta-btn .btn-icon {
	position: relative;
	z-index: 1;
}

.btn-icon {
	display: flex;
	align-items: center;
	justify-content: center;
    width: 40px;
    height: 40px;
	background: #ffffff;
	border-radius: 50%;
	color: #1a1a1a;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.platform-cta-btn:hover .btn-icon {
	transform: rotate(45deg) scale(1.1);
	background: #ffffff;
}

.platform-cta-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* ========================================================================
   百叶窗效果的横向数据列表
   ======================================================================== */

.accordion-gallery {
    display: flex;
    gap: 20px;
    margin: 0 auto;
    padding: 0 40px 50px 40px;
    height: 556px;
}

@media (max-width: 768px) {
	/* 百叶窗效果横向列表 - 手机端改为竖向，默认全部展开显示 */
	.accordion-gallery {
		flex-direction: column;
		height: auto;
		padding: 0 12px 30px 12px;
		gap: 12px;
	}

	.accordion-item {
		flex: 1 1 auto;
		width: 100%;
		min-height: 240px;
		border-radius: 20px;
	}

	/* 手机端不再需要 active 状态的特殊处理 */
	.accordion-item.active {
		flex: 1 1 auto;
	}

	.accordion-content {
		padding: 18px 15px;
		position: relative;
		bottom: auto;
	}

	.accordion-title {
		font-size: 16px;
		margin: 0 0 8px 0;
	}

	.accordion-item.active .accordion-title {
		font-size: 16px;
	}

	.accordion-description {
		font-size: 12px;
		line-height: 1.5;
		opacity: 1 !important;
		max-height: none !important;
	}
	
	/* 手机端始终显示渐变阴影 */
	.accordion-item::after {
		height: 50%;
	}
	
	.accordion-item.active::after {
		height: 50%;
	}
}

.accordion-item {
	position: relative;
    flex: 1;
    border-radius: 37px;
    overflow: hidden;
    cursor: pointer;
    transition: flex 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-item.active {
	flex: 1.8;
}

.accordion-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-item:hover .accordion-bg {
	transform: scale(1.05);
}

/* 渐变阴影效果 */
.accordion-item::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
	z-index: 1;
	transition: height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-item.active::after {
	height: 50%;
}

.accordion-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 40px;
	z-index: 2;
	color: #ffffff;
}

.accordion-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 15px 0;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 展开状态下的标题样式 */
.accordion-item.active .accordion-title {
	font-size: 28px;
}

.accordion-description {
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-item.active .accordion-description {
	opacity: 1;
	max-height: 200px;
}

.brand-section h1 {
	color: var(--bg-color);
	text-shadow: 2px 2px 15px rgba(0,0,0,0.3);
}

/* ========================================================================
   Info Platform Section
   ======================================================================== */

.info-platform-section {
	background: var(--bg-color);
}

.info-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Card base styles */
.info-card, .product-card, .color-card, .article-card {
	background: var(--bg-color);
	overflow: initial;
	transition: transform 0.3s, box-shadow 0.3s;
}

.info-card:hover, .article-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--card-hover-shadow);
}

/* Info Card specific styles */
.info-card {
	box-shadow: var(--card-shadow);
}

.info-card-content {
	padding: 25px;
}

.info-card-content h3 {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px 0;
	color: var(--primary-color);
}

.info-card-content p {
	font-size: 14px;
	color: var(--secondary-color);
	line-height: 1.7;
	margin: 0;
}


/* ========================================================================
   Latest Products Hero Banner
   ======================================================================== */

.latest-products-hero {
	background: #f6f6f6;
	padding: 0 0 59px 0;
	max-width: 100%;
}

.hero-banner-wrapper {
	width: 100%;
	height: 400px;
	position: relative;
}

.hero-banner-swiper {
	width: 100%;
	height: 100%;
	border-radius: 0;
	overflow: hidden;
}

.hero-banner-slide {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-banner-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.75);
	z-index: 1;
}

.hero-banner-overlay {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 40px;
	box-sizing: border-box;
	z-index: 2;
}

.hero-banner-title {
	font-size: 60px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 4px;
	margin: 0 0 40px 0;
	text-align: center;
	text-transform: uppercase;
}

/* Hero 页码指示器（底部左侧）*/
.hero-banner-pagination-wrapper {
	position: absolute;
	bottom: 40px;
	left: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
}

.hero-pagination-current,
.hero-pagination-total {
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	min-width: 24px;
	text-align: center;
}

.hero-pagination-progress {
    width: 126px;
	height: 2px;
	background: rgba(255, 255, 255, 0.3);
	position: relative;
	overflow: hidden;
}

.hero-progress-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	background: #fff;
	width: 0;
	/* 宽度由 JS 按 autoplay 时长 requestAnimationFrame 更新，避免 transition 与实时百分比冲突 */
	transition: none;
}

/* Hero 分类按钮组（中间）*/
.hero-banner-buttons {
	display: flex;
	align-items: center;
	gap: 20px;
}

.hero-banner-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
    min-width: 96px;
    padding: 8px 20px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 50px;
	color: #fff;
	text-decoration: none;
    font-size: 15px;
	font-weight: 500;
	border: 1px solid rgba(255, 255, 255, 0.3);
	transition: all 0.3s ease;
	cursor: pointer;
}

.hero-banner-btn:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.hero-btn-text {
	font-size: 13px;
	font-weight: 500;
	flex: 1;
}

.hero-btn-arrow {
	font-size: 18px;
	font-weight: 300;
	transition: transform 0.3s ease;
}

.hero-banner-btn:hover .hero-btn-arrow {
	transform: translateX(4px);
}

/* 响应式 */
@media (max-width: 768px) {
	.hero-banner-wrapper {
		height: 280px !important;
		padding: 0 0 20px !important;
	}
	
	.hero-banner-overlay {
		padding: 20px 15px !important;
	}
	
	.hero-banner-title {
		font-size: 22px !important;
		letter-spacing: 1px !important;
		margin-bottom: 20px !important;
		line-height: 1.3 !important;
	}
	
	.hero-banner-buttons {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 10px !important;
	}
	
	.hero-banner-btn {
        width: auto !important;
        max-width: 200px !important;
        min-width: auto !important;
        padding: 6px 16px !important;
		font-size: 11px !important;
		gap: 12px !important;
		border-radius: 30px !important;
	}
	
	.hero-btn-text {
		font-size: 11px !important;
	}
	
	.hero-btn-arrow {
		font-size: 14px !important;
	}
	
	.hero-banner-pagination-wrapper {
		bottom: 12px !important;
		left: 15px !important;
		gap: 6px !important;
		font-size: 10px !important;
	}
	
	.hero-pagination-current,
	.hero-pagination-total {
		font-size: 10px !important;
		min-width: 18px !important;
	}
	
	.hero-pagination-progress {
		width: 60px !important;
		height: 1.5px !important;
	}
	
	/* Latest Products Hero */
	.latest-products-hero {
		padding: 0 !important;
	}
}

/* ========================================================================
   Category Tabs / Filter
   ======================================================================== */

.category-tabs-wrapper {
	margin-bottom: 30px;
	max-width: 100%;
}

.category-tabs {
	display: flex;
	gap: 15px;
	margin-bottom: var(--spacing-lg);
	flex-wrap: wrap;
	border-bottom: 1px solid var(--border-color);
	padding-bottom: 10px;
}

.category-tabs-wrapper .category-tabs {
	margin-top: 15px;
}

.category-tabs-wrapper .category-tabs:first-child {
	margin-top: 0;
}

.category-tab {
	padding: 8px 20px;
	background: transparent;
	border: 1px solid var(--border-color);
	border-radius: 20px;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s;
	color: var(--text-color);
}

.category-tab:hover,
.category-tab.active {
	background: var(--primary-color);
	color: var(--bg-color);
	border-color: var(--primary-color);
}

/* ========================================================================
   Product Grid
   ======================================================================== */

.product-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-left: auto;
    margin-right: auto;
	margin-bottom: var(--spacing-xl);
	max-width: 99%;
}

.product-card {
	cursor: pointer;
	position: relative;
}

.product-image-wrapper {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-image {
    width: 100%;
    height: 492px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

/* Product Image Inner Layer for Zoom Effect */
.product-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

/* 日期渐变遮罩（从下到上：黑色到透明）*/
.product-date-badge {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 40px 20px 20px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
	color: #fff;
	font-size: 14px;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	gap: 8px;
}

.product-card:hover .product-date-badge {
	opacity: 1;
}

.date-icon {
	font-size: 16px;
}

.date-text {
	font-size: 14px;
	font-weight: 400;
}

.product-info {
	padding: 20px 0 0 0;
}

.latest-products-main-content .product-title {
	font-size: 30px;
	font-weight: 600;
	margin: 0;
	color: #333;
}

.product-category {
	font-size: 13px;
	color: var(--secondary-color);
	margin: 5px 0 0 0;
}

/* Pagination */
.pagination-wrapper {
	margin-top: 60px;
	margin-bottom: 40px;
}

.pagination-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.pagination-btn {
	min-width: 40px;
	height: 40px;
	padding: 8px 12px;
	border: 1px solid #e0e0e0;
	background: #fff;
	color: #666;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s ease;
}

.pagination-btn:hover:not(:disabled) {
	border-color: #333;
	color: #333;
}

.pagination-btn.active {
	background: #333;
	color: #fff;
	border-color: #333;
}

.pagination-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.pagination-ellipsis {
	padding: 0 8px;
	color: #999;
}

.jump-input {
	width: 60px;
	height: 40px;
	padding: 8px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	text-align: center;
	font-size: 14px;
}

.jump-btn {
	height: 40px;
	padding: 8px 20px;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s ease;
}

.jump-btn:hover {
	background: #000;
}

/* Color Inspiration Hero Banner CTA Button - Synced with Latest Products style */
.hero-banner-cta-btn {
	position: absolute;
    bottom: 30%;
	left: 50%;
	transform: translate(-50%, 0);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
    min-width: 181px;
    padding: 11px 19px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50px;
	color: #fff;
	text-decoration: none;
    font-size: 13px;
	font-weight: 500;
	transition: all 0.3s ease;
	cursor: pointer;
	z-index: 10;
}

.hero-banner-cta-btn:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: translate(-50%, 0) translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.hero-cta-text {
	font-size: 14px;
	font-weight: 500;
	flex: 1;
}

.hero-cta-arrow {
	font-size: 18px;
	font-weight: 300;
	transition: transform 0.3s ease;
}

.hero-banner-cta-btn:hover .hero-cta-arrow {
	transform: translateX(4px);
}

/* ========================================================================
   Color Card Grid
   ======================================================================== */

.color-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
    gap: 50px 53px;
	max-width: 100%;
    margin: 0;
}

.color-card {
	display: flex;
	align-items: stretch;
	gap: 20px;
	cursor: pointer;
}

/* Anchor wrapper to make whole card clickable without altering layout */
.color-card > a.color-card-link {
	display: flex;
	align-items: stretch;
	gap: 20px;
	text-decoration: none;
	color: inherit;
	width: 100%;
}

/* 左侧文字区域 */
.color-text-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-shrink: 0;
}

/* 竖状英文标题 */
.color-name-vertical {
	writing-mode: vertical-rl;
	text-orientation: mixed;
    font-size: 65px;
	font-weight: 900;
	color: #000;
	letter-spacing: 2px;
	line-height: 1;
	text-transform: uppercase;
	flex: 1;
	display: flex;
	align-items: flex-start;
}

/* 底部中文标签 */
.color-label {
    font-size: 24px;
	font-weight: 400;
	color: #666;
	text-align: right;
	white-space: nowrap;
}

/* 右侧图片区域 */
.color-image-wrapper {
	flex: 1;
	border-radius: 20px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.color-image-wrapper:hover,
.color-card:hover .color-image-wrapper {
	transform: translateY(-8px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.color-image {
	width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

.color-image-wrapper:hover .color-image,
.color-card:hover .color-image {
	transform: scale(1.05);
}

/* Load More for Color Grid */
.color-grid-more {
	margin-top: 30px;
	display: flex;
	justify-content: center;
}

.category-load-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 22px;
	border-radius: 28px;
	border: 1px solid #111;
	background: #fff;
	color: #111;
	cursor: pointer;
	transition: all .25s ease;
}

.category-load-more-btn .btn-text {
	font-size: 16px;
	font-weight: 500;
}

.category-load-more-btn .load-more-icon {
	position: relative;
	width: 22px;
	height: 22px;
}

.category-load-more-btn .load-more-icon .corner {
	position: absolute;
	width: 10px;
	height: 10px;
	border: 2px solid #111;
	border-top: 0;
	border-left: 0;
	border-radius: 0 4px 4px 0;
	transform-origin: center;
	transition: transform .25s ease;
}

.category-load-more-btn .load-more-icon .corner-left {
	left: 2px;
	top: 5px;
	transform: rotate(45deg);
}

.category-load-more-btn .load-more-icon .corner-right {
	right: 2px;
	top: 5px;
	transform: rotate(-135deg);
}

.category-load-more-btn:hover {
	background: #111;
	color: #fff;
	border-color: #111;
	transform: translateY(-1px);
}

.category-load-more-btn:hover .load-more-icon .corner {
	border-color: #fff;
	transform: translateY(1px) rotate(0deg);
}

/* 响应式调整 */
@media (max-width: 1024px) {
	.color-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.color-grid {
		grid-template-columns: 1fr;
	}
	
	.color-image {
		min-height: 250px;
	}
}

/* ========================================================================
   Section Titles
   ======================================================================== */

.section-title {
	font-size: 48px;
	font-weight: 700;
	text-align: center;
	margin-bottom: var(--spacing-lg);
	text-transform: uppercase;
	letter-spacing: 5px;
	padding-top: 60px;
}

.section-subtitle {
	font-size: 18px;
	text-align: center;
	color: var(--secondary-color);
	margin-bottom: var(--spacing-xl);
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

/* ========================================================================
   Article Cards
   ======================================================================== */

.article-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: 30px;
	margin-bottom: var(--spacing-xl);
}

.article-card {
	box-shadow: var(--card-shadow);
}

.article-image {
	width: 100%;
	height: 250px;
	background-size: cover;
	background-position: center;
}

.article-content {
	padding: 25px;
}

.article-date {
	color: var(--secondary-color);
}

.article-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 15px;
	color: var(--primary-color);
	line-height: 1.4;
}

.article-excerpt {
	font-size: 14px;
	color: var(--secondary-color);
	line-height: 1.6;
	margin-bottom: 15px;
}

/* ========================================================================
   Footer Styles
   ======================================================================== */

   .is-layout-constrained > .alignwide{
	max-width:100%;
   }

/* Search Toolbar Alignwide - Background and Rounded Rectangle */
.search-toolbar .alignwide {
	background: #f1f1f1;
	border-radius: 50px;
	padding: 6px 21px 6px 8px;
	border: 1px solid #e6e6e6;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Header Search Form */
.header-search-form {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}

.site-footer {
	background: #e8e8e8;
	margin-top: 0;
	position: relative;
	overflow: hidden;
	/* 与 body 一致；避免 body 挂 category-* 类时整页继承标题字体而冲掉页脚 */
	font-family: 'PoppinsRegular', 'SourceHanSansCN', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.footer-video-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.45s ease;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

.footer-video-background video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.footer-video-background::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	transition: background 0.45s ease;
}

.footer-video-background.has-media {
	opacity: 1;
}

.footer-content-layer {
	position: relative;
	z-index: 1;
}

/* 高度由 JS 按 footer-half-circle.svg 的 stroke-width 与渲染尺寸同步（--footer-divider-height） */
.footer-divider {
	height: var(--footer-divider-height, 1px);
	width: 100%;
	max-width: 100%;
	background: #000;
	margin: 0;
}

/* 上侧分隔线：与下方主内容区衔接（与 .footer-divider--compact 的 margin-top 对称） */
.footer-top-wrapper > .footer-divider:not(.footer-divider--compact) {
	margin-bottom: calc(-1 * var(--footer-divider-height, 1px));
}

/* 与上、下两侧半圆弧笔画衔接：上下各抵消分割线自身高度，避免与 section padding 叠出缝隙 */
.footer-divider--compact {
	margin-top: calc(-1 * var(--footer-divider-height, 1px));
	margin-bottom: calc(-1 * var(--footer-divider-height, 1px));
}

/* 与块编辑器内联 spacing 并存时保证带状区无缝（pattern 已改为 0，此处兜底） */
.footer-main-section.is-footer-stripe-end {
	padding-bottom: 0 !important;
}

.footer-bottom-section.is-footer-stripe-start {
	padding-top: 0 !important;
}

/* 底部半圆与紧凑分割线下沿对齐的微调（由 initFooterDividerStrokeSync 写入 --footer-bottom-arc-dy） */
.footer-half-circle-wrap.left img[src*='footer-half-circle'] {
	transform: translateY(var(--footer-bottom-arc-dy, 0px));
	shape-rendering: geometricPrecision;
}

body.footer-hero-mode .site-footer {
	background: transparent;
	color: #fff;
}

body.footer-hero-mode .footer-video-background::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgb(0 0 0 / 0%) 100%);
}

body.footer-hero-mode .footer-video-background.has-media {
	opacity: 1;
}

body.footer-hero-mode .site-footer,
body.footer-hero-mode .site-footer p,
body.footer-hero-mode .site-footer span,
body.footer-hero-mode .site-footer a,
body.footer-hero-mode .site-footer li,
body.footer-hero-mode .site-footer h1,
body.footer-hero-mode .site-footer h2,
body.footer-hero-mode .site-footer h3,
body.footer-hero-mode .site-footer h4,
body.footer-hero-mode .site-footer h5,
body.footer-hero-mode .site-footer h6 {
	color: #fff;
}

body.footer-hero-mode .site-footer a {
	color: #fff;
}

body.footer-hero-mode .site-footer a:hover {
	color: rgba(255, 255, 255, 0.85);
}

body.footer-hero-mode .site-footer .footer-divider {
	background: rgba(255, 255, 255, 0.35);
}

body.footer-hero-mode .site-footer .footer-nav .footer-menu-list a {
	color: #fff;
}

body.footer-hero-mode .site-footer .footer-nav .footer-menu-list a:hover {
	color: rgba(255, 255, 255, 0.85);
}

body.footer-hero-mode .site-footer img[src$=".svg"] {
	filter: brightness(0) invert(1);
}

body.footer-hero-mode .site-footer .newsletter-email-input {
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

body.footer-hero-mode .site-footer .newsletter-email-input::placeholder {
	color: rgba(255, 255, 255, 0.65);
}

body.footer-hero-mode .site-footer .newsletter-email-input:focus {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

body.footer-hero-mode .site-footer .newsletter-submit-btn {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.8);
	background: transparent;
}

body.footer-hero-mode .site-footer .newsletter-submit-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

body.footer-hero-mode .site-footer .footer-newsletter-form .wpcf7-submit {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.8);
	background: transparent;
}

body.footer-hero-mode .site-footer .footer-newsletter-form .wpcf7-submit:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

body.footer-hero-mode .site-footer .icp-beian-link,
body.footer-hero-mode .site-footer .gongan-beian-link {
	color: #fff;
}

body.footer-hero-mode .site-footer .icp-beian-link:hover,
body.footer-hero-mode .site-footer .gongan-beian-link:hover {
	color: rgba(255, 255, 255, 0.85);
}

body.footer-hero-mode .site-footer .gongan-badge {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.8);
	color: #fff;
}

/*
 * 列表/归档/搜索及品类列表：<main> 在模板里通常只有 margin-top；Query 最后一帖虽有卡片 padding，
 * 分页区无额外下边距，品类页 .section-spacing 工具类未定义垂直节奏时，末段易与 patterns/footer 顶带贴死。
 * 使用 theme.json 已有 --wp--preset--spacing--60（与 Query Loop 分组一致），不改 footer.php。
 * 排除：静态首页 front-page（main.home-page 末段已有大留白）。
 */
body.archive main.wp-block-group,
body.search main.wp-block-group,
body.home main.wp-block-group:not(.home-page),
main.latest-products-category-page,
main.fashion-trends-page,
main.color-subcategory-page {
	padding-bottom: var(--wp--preset--spacing--60);
	box-sizing: border-box;
}

/* Footer Main Section - Top Part */
.footer-main-section {
	position: relative;
	padding: 92px 35px 0;
	max-width: 100%;
}

/*
 * 页脚右侧「轨道」：顶栏菜单与底部栅格共用同一列定义（550px 右栏 + 间距 + 内边距），
 * 桌面端顶栏用 CSS Grid 落在同一列，避免与 .footer-bottom-item 错位。
 */
.site-footer {
	--footer-rail-gap: 80px;
	--footer-rail-right: minmax(0, 550px);
	--footer-rail-pad-inline: 68px;
}

.footer-top-wrapper {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

/* Top Menu Links - Horizontal Right Aligned */
.footer-top-menu {
	display: flex;
	justify-content: flex-end;
	padding: 0 var(--footer-rail-pad-inline) 38px;
}

.footer-nav .footer-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 38px;
	align-items: center;
}

.footer-nav .footer-menu-list .menu-item {
	list-style: none;
}

.footer-nav .footer-menu-list a {
	color: var(--secondary-color);
	text-decoration: none;
	font-size: 13px;
	font-weight: 400;
	transition: all 0.3s;
	display: block;
	white-space: nowrap;
}

.footer-nav .footer-menu-list a:hover {
	color: var(--primary-color);
}

/* Main Content: Newsletter + Star */
/* Main Content: Newsletter + Star with Half Circle Background */
.footer-main-content {
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-newsletter-star-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 138px;
}

/* Center Column: Newsletter */
.footer-newsletter-column {
	position: relative;
	z-index: 1;
}

/* Newsletter Header with Logo */
.newsletter-header-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
    margin-top: 23px;
    margin-bottom: 0px;
}

.newsletter-text-group {
	flex: 1;
	margin: auto;
	margin-left: 8px;
}

.newsletter-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--primary-color);
    margin: 0 0 5px 0;
}

.newsletter-subtitle {
	font-size: 11px;
	color: var(--secondary-color);
	margin: 0;
	line-height: 1.5;
}

/* Newsletter Logo */
.newsletter-logo-wrapper {
	flex-shrink: 0;
	display: flex;
	align-items: center;
}

.newsletter-logo-link {
	display: block;
	line-height: 0;
}

.newsletter-logo-img {
	width: auto;
	height: 67px;
	object-fit: contain;
}

.footer-newsletter-form {
	display: flex;
	gap: 42px;
	align-items: center;
	justify-content: center;
	padding: 0 0 28px;
}

.newsletter-email-input {
    flex: 1;
    padding: 24px 25px;
    border: 1px solid #d0d0d0;
    border-radius: 30px;
    font-size: 17px;
    outline: none;
    transition: all 0.3s;
    background: var(--bg-color);
	width: 476px;
}

.newsletter-email-input:focus {
	border-color: #999;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

.newsletter-email-input::placeholder {
	color: #999;
}

.newsletter-submit-btn {
    padding: 21px 74px;
    color: var(--primary-color);
    border: 1.5px solid var(--primary-color);
    border-radius: 56px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
}

.newsletter-submit-btn:hover {
	background: var(--primary-color);
	color: var(--bg-color);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Contact Form 7 集成样式 */
.footer-newsletter-form .wpcf7 {
	width: 100%;
}

.footer-newsletter-form .wpcf7-form {
	display: flex;
	gap: 38px;
	align-items: center;
	justify-content: center;
}

.footer-newsletter-form .wpcf7-form p {
	margin: 0;
	flex: 1;
	display: flex;
	align-items: center;
}

.footer-newsletter-form .wpcf7-form-control-wrap {
	width: 100%;
	display: block;
}

/* CF7 邮箱输入框样式 */
.footer-newsletter-form .wpcf7-email {
    flex: 1;
    padding: 19px 25px;
    border: 1px solid #d0d0d0;
    border-radius: 30px;
    font-size: 15px;
    outline: none;
    transition: all 0.3s;
    background: var(--bg-color);
    width: 374px;
}

.footer-newsletter-form .wpcf7-email:focus {
	border-color: #999;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

/* CF7 提交按钮样式 */
.footer-newsletter-form .wpcf7-submit {
    padding: 15px 55px;
    color: var(--primary-color);
    border: 1.5px solid var(--primary-color);
    border-radius: 56px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
	background: transparent;
}

.footer-newsletter-form .wpcf7-submit:hover {
	background: var(--primary-color);
	color: var(--bg-color);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* 隐藏 CF7 默认的内联验证提示 */
.footer-newsletter-form .wpcf7-not-valid-tip {
	display: none;
}

/* CF7 响应消息样式 */
.footer-newsletter-form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 15px 25px;
	border-radius: 30px;
	text-align: center;
	font-size: 15px;
	border: none !important;
}

.footer-newsletter-form .wpcf7-mail-sent-ok {
	background: #d4edda;
	color: #155724;
}

.footer-newsletter-form .wpcf7-validation-errors,
.footer-newsletter-form .wpcf7-acceptance-missing {
	background: #f8d7da;
	color: #721c24;
}

.footer-newsletter-form .wpcf7-spam-blocked {
	background: #fff3cd;
	color: #856404;
}

/* CF7 加载动画位置调整 */
.footer-newsletter-form .wpcf7-spinner {
	position: absolute;
	right: -40px;
	top: 50%;
	transform: translateY(-50%);
}

/* 隐藏 CF7 验证错误边框 */
.footer-newsletter-form .wpcf7-form.invalid .wpcf7-response-output,
.footer-newsletter-form .wpcf7-form.unaccepted .wpcf7-response-output,
.footer-newsletter-form .wpcf7-form.sent .wpcf7-response-output {
	border-color: transparent !important;
}

/* CF7 label 隐藏（使用 placeholder） */
.footer-newsletter-form .wpcf7-form label {
	display: none;
}

/* Newsletter 自定义验证样式 */
.footer-newsletter-form .wpcf7-email.wpcf7-not-valid {
	border-color: #e74c3c;
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
	animation: shake 0.3s ease-in-out;
}

/* 错误提示样式 */
.newsletter-error-tip {
	position: absolute;
	bottom: -30px;
	left: 0;
	color: #e74c3c;
	font-size: 13px;
	font-weight: 500;
	animation: newsletterFadeInUp 0.3s ease-out;
	pointer-events: none;
}

/* 成功提示样式 */
.newsletter-success-tip {
	margin: 20px 0 0;
	padding: 15px 25px;
	background: #d4edda;
	color: #155724;
	border-radius: 30px;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	animation: fadeInScale 0.4s ease-out;
	transition: opacity 0.3s ease;
}

.newsletter-success-tip .success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: #28a745;
	color: #fff;
	border-radius: 50%;
	font-size: 14px;
	font-weight: bold;
}

/* 成功提示淡入放大动画 */
@keyframes fadeInScale {
	from {
		opacity: 0;
		transform: scale(0.9) translateY(-10px);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

/* 错误抖动动画 */
@keyframes shake {
	0%, 100% { transform: translateX(0); }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
	20%, 40%, 60%, 80% { transform: translateX(5px); }
}

/* 错误提示淡入动画 */
@keyframes newsletterFadeInUp {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 表单包裹容器相对定位（用于错误提示绝对定位） */
.footer-newsletter-form .wpcf7-form p {
	position: relative;
}

/* Right Column: Star Decoration */
/* Right Column: Star Circle with Half Circle Background */
.footer-star-column {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	isolation: isolate;
}

.newsletter-half-circle-bg {
    position: absolute;
    left: -109px;
    top: 50%;
    transform: translateY(calc(-50% + var(--footer-half-circle-dy, 0px)));
    height: 100%;
    width: auto;
    max-height: 100%;
    z-index: 0;
    pointer-events: none;
    shape-rendering: geometricPrecision;
}

.star-circle-deco {
	position: relative;
    width: 220px;
    height: 220px;
	z-index: 2;
	border-radius: 50%;
	background-color: #e8e8e8;
	box-sizing: border-box;
}

body.footer-hero-mode .star-circle-deco {
	background-color: rgba(0, 0, 0, 0.28);
}

.star-circle-deco img {
	animation: rotate 20s linear infinite;
	position: relative;
	z-index: 1;
	shape-rendering: geometricPrecision;
}

/* Footer Bottom Section */
.footer-bottom-section {
	position: relative;
	max-width: 100%;
}

/* Footer Bottom Grid Layout */
.footer-bottom-grid {
	display: grid;
	grid-template-columns: 1fr var(--footer-rail-right);
	gap: var(--footer-rail-gap);
	margin: 0 auto;
	padding: 0 var(--footer-rail-pad-inline);
	align-items: center;
}

/* 桌面：底部区块与 .footer-main-section 同步水平缩进，两处 alignwide 同宽，右栏与顶栏菜单才可对齐 */
@media (min-width: 1201px) {
	.footer-bottom-section {
		padding-left: 35px;
		padding-right: 35px;
		box-sizing: border-box;
	}

	.footer-top-menu {
		display: grid;
		grid-template-columns: 1fr var(--footer-rail-right);
		gap: var(--footer-rail-gap);
		padding: 0 var(--footer-rail-pad-inline) 38px;
		box-sizing: border-box;
	}

	.footer-top-menu > .footer-nav {
		grid-column: 2;
		min-width: 0;
	}

	.footer-nav .footer-menu-list {
		justify-content: flex-end;
	}
}

/* Left Group: Half Circle + Copyright Circle */
.footer-bottom-left-group {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

.footer-bottom-item {
	align-items: flex-start;
	position: relative;
	margin: 0 0 0 auto;
}

.footer-bottom-item.center {
	justify-self: center;
}

/* Half Circle Wrap Styles */
.footer-half-circle-wrap {
    position: relative;
    width: 318px;
    height: 235px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-half-circle-wrap.left {
	justify-content: flex-start;
}

/* Text inside half circle */
.half-circle-text-inside {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px 0 30px;
}

.half-circle-text-inside p {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
	color: var(--text-color);
	line-height: 1.6;
	text-align: center;
}

/* Dots Horizontal Layout (No SVG) */
.footer-dots-horizontal {
	display: flex;
	align-items: center;
	gap: 60px;
	margin: 40px 0 0 auto;
}

/* ICP Beian (备案号) */
.footer-icp-beian {
	width: 100%;
	margin-top: 10px;
	text-align: left;
	align-self: flex-start;
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.icp-beian-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: #666;
	font-size: 12px;
	transition: color 0.3s ease;
}

.icp-beian-link:hover {
	color: #1a1a1a;
}

.beian-icon {
	width: 20px;
	height: 20px;
	vertical-align: middle;
}

.beian-text {
	line-height: 1;
}

.gongan-beian-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: #666;
	font-size: 12px;
	transition: color 0.3s ease;
}

.gongan-beian-link:hover {
	color: #1a1a1a;
}

.gongan-badge {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1a1a1a;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	line-height: 1;
	font-weight: 600;
}

.gongan-text {
	line-height: 1;
}

/* Footer Address (地址) */
.footer-address {
	width: 100%;
	margin-top: 15px;
	text-align: left;
	align-self: flex-start;
}

.footer-address__name,
.footer-address__street {
	margin: 0;
	color: #666;
	font-size: 12px;
	line-height: 1.6;
}

.footer-address__street {
	margin-top: 6px;
}

/* Circle Copyright：相对半圆略「靠下」，与衔接线错开；圆底填色避免透明区被分割线横穿 */
.footer-circle-copyright {
	position: relative;
    width: 236px;
    height: 236px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: var(--footer-copyright-stagger, 0px);
	box-sizing: border-box;
	border-radius: 50%;
	background-color: #e8e8e8;
	isolation: isolate;
}

body.footer-hero-mode .footer-circle-copyright {
	background-color: rgba(0, 0, 0, 0.28);
}

.footer-circle-copyright img[src*='footer-copyright-circle'] {
	position: relative;
	z-index: 1;
	shape-rendering: geometricPrecision;
}

.circle-text-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
	z-index: 2;
}

.circle-text-overlay p {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--text-color);
	line-height: 1.6;
}

.circle-text-overlay p + p {
	margin-top: 6px;
	font-size: 14px;
	font-weight: 500;
}

/* Dot Pattern */
.dot-pattern-grid {
	width: 170px;
}

.dot {
	width: 6px;
	height: 6px;
	background: var(--text-color);
	border-radius: 50%;
}

.dot.big {
	width: 10px;
	height: 10px;
	background: var(--primary-color);
}

.dots-text {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dots-text p {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--text-color);
	line-height: 1.6;
}

/* ========================================================================
   Fashion Trends Category Page
   ======================================================================== */

/* Dual Swiper Section */
.dual-swiper-section {
	background: #fff;
}

.top-swipers-container {
	display: grid;
	grid-template-columns: 41% 57%;
	gap: 14px;
	margin: 0 auto;
	padding: 47px 30px 0;
}

/* 左侧 3D 堆叠轮播 */
.left-stack-carousel-wrapper {
	width: 100%;
	min-height: 333px; /* 添加最小高度，防止在手机端坍塌 */
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.stack-carousel {
	width: 100%;
	height: 100%;
	min-height: 333px; /* 添加最小高度，防止在手机端坍塌 */
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
}

/* 隐藏Swiper逻辑容器 */
.stack-swiper-logic,
.stack-swiper-logic .swiper-wrapper,
.stack-swiper-logic .swiper-pagination,
.stack-swiper-logic .swiper-button-prev,
.stack-swiper-logic .swiper-button-next {
	display: none !important;
}

.stack-slide {
	position: absolute;
    width: 172px;
    height: 293px;
	border-radius: 26px;
	overflow: hidden;
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
	background: #fff;
	cursor: pointer;
	will-change: transform, opacity, z-index;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
	text-decoration: none;
	color: inherit;
}


.stack-slide-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
    padding: 0 13px 8px;
	pointer-events: none;
}

.stack-slide-title {
	font-size: 11px;
	font-weight: bold;
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: white;
    padding: 7px 27px;
	border-radius: 20px;
	display: inline-block;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

/* 右侧 Banner 轮播 */
.right-swiper-wrapper {
	height: 333px;
	position: relative;
}

.right-banner-swiper {
	width: 100%;
	height: 100%;
	border-radius: 22px;
	overflow: hidden;
}

.banner-slide-item {
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.banner-bg-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.9);
	z-index: 1;
}

.banner-content-overlay {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 40px;
	box-sizing: border-box;
	z-index: 2;
}

.banner-title-text {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 4px;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
	/* 文本省略 */
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-height: 1.2;
	max-height: calc(1.2em * 2);
	word-break: break-word;
}

/* Banner 页码指示器（左下角）*/
.banner-pagination-wrapper {
	position: absolute;
    bottom: 27px;
    left: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
}

.pagination-current,
.pagination-total {
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	min-width: 24px;
	text-align: center;
}

/* 进度条容器 */
.pagination-progress-bar {
	width: 120px;
	height: 2px;
	background: rgba(255, 255, 255, 0.3);
	position: relative;
	overflow: hidden;
}

/* 进度条填充（白色条）；宽度由 JS 按 autoplay 整轮总进度更新（与 .hero-progress-fill 同逻辑） */
.progress-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	background: #fff;
	width: 0;
	transition: none;
}

/* ========== Mobile Compatibility for Dual Swiper Section ========== */
@media (max-width: 1024px) {
	.top-swipers-container {
		display: flex; /* 改用 flex 替代 grid */
		flex-direction: column;
		gap: 32px;
		padding: 40px 24px 0;
	}

	.left-stack-carousel-wrapper {
		min-height: 380px;
	}
	
	.stack-carousel {
		min-height: 380px;
	}

	.right-swiper-wrapper {
		height: 380px;
	}

	.banner-title-text {
		font-size: 48px;
		letter-spacing: 3px;
	}

	.banner-pagination-wrapper {
		bottom: 28px;
		left: 18px;
	}
}

@media (max-width: 768px) {
	.top-swipers-container {
		display: flex; /* 改用 flex 替代 grid */
		flex-direction: column;
		gap: 24px;
		padding: 30px 16px 0;
	}

	.left-stack-carousel-wrapper {
		min-height: 340px;
	}
	
	.stack-carousel {
		min-height: 340px;
	}

	.stack-slide {
		width: 180px;
		height: 306px;
		border-radius: 20px;
	}

	.stack-slide-content {
		padding: 0 20px 10px;
	}

	.stack-slide-title {
		font-size: 12px;
		padding: 6px 12px;
		border-radius: 16px;
	}

	.right-swiper-wrapper {
		height: 320px;
	}

	.banner-content-overlay {
		padding: 24px;
	}

	.banner-title-text {
		font-size: 32px;
		letter-spacing: 2px;
		-webkit-line-clamp: 3;
		max-height: calc(1.2em * 3);
	}

	.banner-pagination-wrapper {
		bottom: 20px;
		left: 16px;
		gap: 8px;
	}

	.pagination-current,
	.pagination-total {
		font-size: 14px;
		min-width: 20px;
	}

	.pagination-progress-bar {
		width: 100px;
	}
}
/* CTA 按钮（右下角圆角矩形）*/
.banner-cta-button {
    position: absolute;
    bottom: 18px;
    right: 21px;
    display: flex;
    align-items: center;
    gap: 124px;
    padding: 7px 17px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 25px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
}

.banner-cta-button:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.cta-button-text {
	font-size: 12px;
	font-weight: 500;
}

.cta-button-icon {
	font-size: 18px;
	font-weight: 300;
	transition: transform 0.3s ease;
}

.banner-cta-button:hover .cta-button-icon {
	transform: translateX(4px);
}

/* Fashion Trends Category Page Sections */
.fashion-trends-page .dual-swiper-section.has-background {
	background-color: #f6f6f6;
}

.fashion-trends-page .category-tabs-section.has-background {
    background-color: #f6f6f6;
    padding: 34px 0 0 0;
}

.fashion-trends-page .filter-section.has-background {
	background-color: #f6f6f6;
	padding: 10px 0 0 0;
}

.fashion-trends-page .articles-grid-section.has-background {
    background-color: #f6f6f6;
}

/* 防止 Fashion Trends 分类页在移动端出现 alignwide 宽度溢出 */
@media (max-width: 1024px) {
	.fashion-trends-page {
		overflow-x: hidden;
	}

	.fashion-trends-page .wp-block-group.alignwide,
	.fashion-trends-page .wp-block-group.alignfull,
	.fashion-trends-page .alignwide,
	.fashion-trends-page .alignfull {
		width: 100% !important;
		max-width: 100vw !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 768px) {
	.fashion-trends-page .wp-block-group.alignwide,
	.fashion-trends-page .wp-block-group.alignfull,
	.fashion-trends-page .alignwide,
	.fashion-trends-page .alignfull {
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}
}

/* AI Creation Category Page Sections */
.ai-creation-hero {
    background: #f6f6f6;
    padding: 0 0 59px 0;
}

.category-ai-creation .category-tabs-section.has-background,
.atf-archive-template-category-ai-creation .category-tabs-section.has-background {
	background-color: #f8f8f8;
	padding-top: 30px;
	padding-bottom: 20px;
}

.category-ai-creation .filter-section.has-background,
.atf-archive-template-category-ai-creation .filter-section.has-background {
	background-color: #ffffff;
	padding-top: 30px;
	padding-bottom: 30px;
}

.category-ai-creation .articles-grid-section.has-background,
.atf-archive-template-category-ai-creation .articles-grid-section.has-background {
	background-color: #f8f8f8;
	padding-top: 40px;
	padding-bottom: 40px;
}

/* Latest Products Category Page Sections */
.category-latest-products .category-tabs-section.has-background,
.atf-archive-template-category-latest-products .category-tabs-section.has-background {
	background-color: #f8f8f8;
	padding-top: 30px;
	padding-bottom: 20px;
}

.category-latest-products .filter-section.has-background,
.atf-archive-template-category-latest-products .filter-section.has-background {
	background-color: #ffffff;
	padding-top: 30px;
	padding-bottom: 30px;
}

/* Color Inspiration Category Page Sections */
.color-inspiration-hero {
	padding-top: 0;
	padding-bottom: 0;
}

/* 仅 Cover 内 H1 使用 MangoGrotesque；勿使用 .category-* 单独选择器（易匹配到 body 导致含页脚整站继承） */
.category-color-inspiration .wp-block-cover h1,
.category-chromatic-colors .wp-block-cover h1,
.category-achromatic-colors .wp-block-cover h1,
.category-metallic-colors .wp-block-cover h1,
.atf-archive-template-category-color-inspiration .wp-block-cover h1 {
	font-family: 'MangoGrotesque', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.category-color-inspiration .wp-block-cover.alignfull,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull {
	min-height: 509px;
	background-size: cover;
	background-position: center;
}

.category-color-inspiration .wp-block-cover.alignfull-1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1 {
	min-height: 415px;
    border-radius: 28px;
    max-width: 100%;
    background-size: cover;
    background-position: center;
    margin: 0 30px 70px 30px !important;
}

.category-color-inspiration .wp-block-cover h1,
.atf-archive-template-category-color-inspiration .wp-block-cover h1 {
	font-size: 109px;
	font-weight: 700;
	letter-spacing: 10.1px;
}

.category-color-inspiration .container.section-spacing,
.atf-archive-template-category-color-inspiration .container.section-spacing {
	margin: 0;
    padding: 33px 30px 41px 30px;
}

.category-color-inspiration .wp-block-cover.alignfull:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull:last-of-type h1 {
	font-size: 48px;
	letter-spacing: 5px;
}

.category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1 {
	font-size: 133px;
	letter-spacing: 5px;
}

/* Color available in color Category Page Sections */
.chromatic-colors-hero {
	padding-top: 0;
	padding-bottom: 0;
}

.category-chromatic-colors .wp-block-cover.alignfull,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull {
	min-height: 509px;
	background-size: cover;
	background-position: center;
}

.category-chromatic-colors .wp-block-cover.alignfull-1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1 {
	min-height: 415px;
    border-radius: 28px;
    max-width: 100%;
    background-size: cover;
    background-position: center;
    margin: 0 30px 70px 30px !important;
}

.category-chromatic-colors .wp-block-cover h1,
.atf-archive-template-category-color-inspiration .wp-block-cover h1 {
	font-size: 109px;
	font-weight: 700;
	letter-spacing: 10.1px;
}

.category-chromatic-colors .container.section-spacing,
.atf-archive-template-category-color-inspiration .container.section-spacing {
	margin: 0;
    padding: 33px 30px 41px 30px;
}

.category-chromatic-colors .wp-block-cover.alignfull:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull:last-of-type h1 {
	font-size: 48px;
	letter-spacing: 5px;
}

.category-chromatic-colors .wp-block-cover.alignfull-1:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1 {
	font-size: 133px;
	letter-spacing: 5px;
}

/* Color metallic color Category Page Sections */
.metallic-colors-hero {
	padding-top: 0;
	padding-bottom: 0;
}

.category-metallic-colors .wp-block-cover.alignfull,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull {
	min-height: 509px;
	background-size: cover;
	background-position: center;
}

.category-metallic-colors .wp-block-cover.alignfull-1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1 {
	min-height: 415px;
    border-radius: 28px;
    max-width: 100%;
    background-size: cover;
    background-position: center;
    margin: 0 30px 70px 30px !important;
}

.category-metallic-colors .wp-block-cover h1,
.atf-archive-template-category-color-inspiration .wp-block-cover h1 {
	font-size: 109px;
	font-weight: 700;
	letter-spacing: 10.1px;
}

.category-metallic-colors .container.section-spacing,
.atf-archive-template-category-color-inspiration .container.section-spacing {
	margin: 0;
    padding: 33px 30px 41px 30px;
}

.category-metallic-colors .wp-block-cover.alignfull:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull:last-of-type h1 {
	font-size: 48px;
	letter-spacing: 5px;
}

.category-metallic-colors .wp-block-cover.alignfull-1:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1 {
	font-size: 133px;
	letter-spacing: 5px;
}

/* Color achromatic-colors Category Page Sections */
.achromatic-colors-hero {
	padding-top: 0;
	padding-bottom: 0;
}

.category-achromatic-colors .wp-block-cover.alignfull,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull {
	min-height: 509px;
	background-size: cover;
	background-position: center;
}

.category-achromatic-colors .wp-block-cover.alignfull-1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1 {
	min-height: 415px;
    border-radius: 28px;
    max-width: 100%;
    background-size: cover;
    background-position: center;
    margin: 0 30px 70px 30px !important;
}

.category-achromatic-colors .wp-block-cover h1,
.atf-archive-template-category-color-inspiration .wp-block-cover h1 {
	font-size: 109px;
	font-weight: 700;
	letter-spacing: 10.1px;
}

.category-achromatic-colors .container.section-spacing,
.atf-archive-template-category-color-inspiration .container.section-spacing {
	margin: 0;
    padding: 33px 30px 41px 30px;
}

.category-achromatic-colors .wp-block-cover.alignfull:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull:last-of-type h1 {
	font-size: 48px;
	letter-spacing: 5px;
}

.category-achromatic-colors .wp-block-cover.alignfull-1:last-of-type h1,
.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1 {
	font-size: 133px;
	letter-spacing: 5px;
}

/* Bottom CTA（alignfull-1）：桌面使用大字号与大外边距；手机端缩放字号、留白与最小高度以免溢出裁切困难 */
@media (max-width: 782px) {
	.category-color-inspiration .wp-block-cover.alignfull-1,
	.category-chromatic-colors .wp-block-cover.alignfull-1,
	.category-metallic-colors .wp-block-cover.alignfull-1,
	.category-achromatic-colors .wp-block-cover.alignfull-1,
	.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1 {
		min-height: clamp(210px, 48vw, 300px);
		margin: 0 12px 40px !important;
		border-radius: 18px;
	}

	.category-color-inspiration .wp-block-cover.alignfull-1 .wp-block-cover__inner-container,
	.category-chromatic-colors .wp-block-cover.alignfull-1 .wp-block-cover__inner-container,
	.category-metallic-colors .wp-block-cover.alignfull-1 .wp-block-cover__inner-container,
	.category-achromatic-colors .wp-block-cover.alignfull-1 .wp-block-cover__inner-container,
	.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1 .wp-block-cover__inner-container {
		padding-left: max(14px, env(safe-area-inset-left));
		padding-right: max(14px, env(safe-area-inset-right));
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1,
	.category-chromatic-colors .wp-block-cover.alignfull-1:last-of-type h1,
	.category-metallic-colors .wp-block-cover.alignfull-1:last-of-type h1,
	.category-achromatic-colors .wp-block-cover.alignfull-1:last-of-type h1,
	.atf-archive-template-category-color-inspiration .wp-block-cover.alignfull-1:last-of-type h1 {
		font-size: clamp(26px, 9.5vw, 52px);
		letter-spacing: 0.04em;
		line-height: 1.12;
		padding-inline: 4px;
		word-break: break-word;
		overflow-wrap: anywhere;
	}
}

/* Category Tabs Section */
.category-tabs-section {
	background: #f6f6f6;
}

.main-category-tabs {
	display: flex;
	gap: 7px;
	margin: 0 auto;
    padding: 0 30px 0 30px;
}

.category-tab-btn {
    padding: 11px 51px;
    border-radius: 30px;
    background: #ffffff00;
	border: 1px solid;
    cursor: pointer;
    font-size: 16px;
    color: #666;
    transition: all 0.3s ease;
}

.category-tab-btn.active {
	background: #000;
	color: #fff;
}

.category-tab-btn:hover:not(.active) {
	background: #ddd;
}

/* Filter Section */
.filter-section {
	background: #f6f6f6;
	padding: 30px 0 0 0;
}

.multi-level-filter {
	margin: 0 auto;
    padding: 0 30px;
	display: flex;
	flex-direction: column;
    gap: 5px;
}

.filter-row {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	font-size: 14px;
	padding-bottom: 2px;
	border-bottom: 1px solid #dfdfdf;
}

.filter-label {
	min-width: 50px;
	color: #999;
	padding-top: 6px;
	flex-shrink: 0;
    font-size: 17px;
	font-weight: 400;
}

.filter-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex: 1;
}

.filter-option-btn {
    padding: 7px 18px;
	background: transparent;
	border: none;
	border-radius: 0;
    font-size: 16px;
	color: #7f7f7f;
	cursor: pointer;
	transition: all 0.3s ease;
	white-space: nowrap;
	position: relative;
	font-weight: 400;
}

.filter-option-btn::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	height: 2px;
	background: #000;
	transform: scaleX(0);
	transition: transform 0.3s ease;
}

.filter-option-btn.active {
	background: transparent;
	color: #000;
	border: none;
	font-weight: 600;
}

.filter-option-btn.active::after {
	transform: scaleX(1);
}

.filter-option-btn:hover:not(.active) {
	background: transparent;
	color: #000;
}

/* 行业 / 四级分类链接样式（与按钮保持一致）*/
.filter-row-industry .filter-option-btn,
.filter-row-fourth .filter-option-btn,
.filter-row-child .filter-option-btn {
	text-decoration: none;
	display: inline-block;
}

.filter-row-industry .filter-option-btn:hover,
.filter-row-fourth .filter-option-btn:hover,
.filter-row-child .filter-option-btn:hover {
	text-decoration: none;
}

/* 品牌行：首行 + 展开（.filter-options  class 不改动，以下为新增类名） */
.filter-row-brand {
	position: relative;
	overflow: visible;
}

.filter-row-brand .filter-options {
	overflow: visible;
}

.filter-row-brand .filter-brand-hidden-wrap {
	display: none;
}

/* 首行与【展开】同一行：左侧为品牌，展开固定在行右侧 */
.filter-row-brand .filter-options.has-brand-expand {
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	column-gap: 10px;
}

/*
 * 内层 flex 会参与行高计算的原因：
 * 1) gap 的 row-gap 在折成「两行」时会在行间加 10px 垂直间距；外侧 .filter-options 已有一行+展开 的结构时，
 *    若此处再因窄屏/时机出现第二行，整行会明显变高。JS 会尽量只保留一行，这里用 row-gap:0 避免多出一档垂直缝。
 * 2) 多行时默认 align-content: stretch 可能在交叉轴上分配空档；改为 flex-start 只按内容高。
 * 3) 单行时 align-items:center 让各钮垂直居中一致，行高=最高按钮，不额外加缝。
 */
.filter-brand-line-wrap {
	display: flex;
	flex-wrap: wrap;
	flex: 1 1 0;
	min-width: 0;
	align-items: center;
	align-content: flex-start;
	column-gap: 10px;
	row-gap: 0;
	position: relative;
}

/* 行末淡出：提示右侧仍有被折叠的内容 */
.filter-row-brand .filter-options.has-brand-expand .filter-brand-line-wrap::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 40px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(246, 246, 246, 0) 0%, rgba(246, 246, 246, 0.88) 45%, #f6f6f6 100%);
}

.filter-brand-expand-btn {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: #1a1a1a;
	cursor: pointer;
	font: inherit;
	line-height: 1.2;
	align-self: center;
	position: relative;
	z-index: 1;
	overflow: visible;
	transition: transform 0.2s ease;
	/* 仅主药丸参与高度，.filter-brand-expand-sub 为 absolute 不占行高、不换行 */
}

.filter-brand-expand-btn:hover .filter-brand-expand-main,
.filter-brand-expand-btn:focus-visible .filter-brand-expand-main {
	background: linear-gradient(180deg, #fff 0%, #e9e9e9 100%);
	color: #000;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.filter-brand-expand-btn:hover,
.filter-brand-expand-btn:focus-visible {
	outline: none;
	transform: translateY(-1px);
}

.filter-brand-expand-btn:active {
	transform: translateY(0);
}

.filter-brand-expand-btn:active .filter-brand-expand-main {
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}

.filter-brand-expand-main {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px 8px 12px;
	background: linear-gradient(180deg, #ffffff 0%, #f3f3f3 100%);
	border-radius: 100px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 0 0 1px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: background 0.2s ease, box-shadow 0.22s ease, color 0.2s ease;
	position: relative;
	z-index: 0;
	overflow: visible;
}

.filter-brand-expand-ellipsis {
	display: inline-flex;
	gap: 1px;
	margin-right: 1px;
	opacity: 0.45;
	font-size: 16px;
	line-height: 0;
	letter-spacing: 0.02em;
}

.filter-brand-expand-ellipsis span {
	text-shadow: 0 0 0 currentColor;
}

.filter-brand-expand-prompt {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.filter-brand-expand-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4em;
	padding: 1px 6px 2px 6px;
	margin-left: 1px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(140deg, #2b2b2b 0%, #0d0d0d 100%);
	border-radius: 9px;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.filter-brand-expand-chevron-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	margin-left: 1px;
	opacity: 0.85;
}

.filter-brand-expand-chev {
	display: block;
}

.filter-brand-expand-chev--2 {
	margin-top: -3px;
	opacity: 0.55;
	animation: filter-brand-chev-breathe 1.6s ease-in-out infinite;
}

.filter-brand-expand-chev--1 {
	opacity: 0.75;
}

@keyframes filter-brand-chev-breathe {
	0%,
	100% {
		transform: translateY(0);
		opacity: 0.5;
	}
	50% {
		transform: translateY(1px);
		opacity: 0.8;
	}
}

/* 在药丸正上方靠右，与「…更多」分两侧，不压主文案；绝对定位不占行高 */
.filter-brand-expand-sub {
	position: absolute;
	left: auto;
	right: 4px;
	top: auto;
	bottom: 100%;
	margin: 0 0 2px 0;
	padding: 2px 7px 2px 8px;
	font-size: 9.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #fff;
	background: linear-gradient(160deg, #232323, #0a0a0a);
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	transform: none;
	z-index: 2;
	pointer-events: none;
	/* 向左生长，避免顶到视口；过长从左侧省略 */
	max-width: min(9.5em, calc(100% - 2.5rem));
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: right;
}

.filter-brand-expand-btn--current-hidden .filter-brand-expand-main {
	box-shadow: 0 0 0 1px #0d0d0d, 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* 品牌选择模态框 */
.filter-brand-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 0;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}

.filter-brand-modal[hidden] {
	display: none !important;
}

body.filter-brand-modal-open {
	overflow: hidden;
}

.filter-brand-modal-backdrop {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100%);
	backdrop-filter: blur(3px) saturate(1.05);
	-webkit-backdrop-filter: blur(3px) saturate(1.05);
}

.filter-brand-modal-panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 540px;
	max-height: min(80vh, 640px);
	margin: 0;
	background: linear-gradient(180deg, #fcfcfc 0%, #fff 8%, #fff 100%);
	border-radius: 16px 16px 0 0;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-bottom: 0;
	box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.14);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	animation: filter-brand-modal-up 0.3s cubic-bezier(0.22, 0.8, 0.32, 1);
}

.filter-brand-modal-grab {
	width: 36px;
	height: 4px;
	border-radius: 2px;
	background: rgba(0, 0, 0, 0.1);
	margin: 10px auto 0 auto;
	flex-shrink: 0;
}

@keyframes filter-brand-modal-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.filter-brand-modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 16px 14px 18px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
	flex-shrink: 0;
}

.filter-brand-modal-heading {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}

.filter-brand-modal-ico {
	flex-shrink: 0;
	margin-top: 2px;
	color: #333;
	opacity: 0.85;
}

.filter-brand-modal-titles {
	min-width: 0;
}

.filter-brand-modal-title {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: #0f0f0f;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.filter-brand-modal-subtitle {
	margin: 6px 0 0 0;
	font-size: 13px;
	font-weight: 400;
	color: #666;
	line-height: 1.45;
}

.filter-brand-modal-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.05);
	color: #444;
	cursor: pointer;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	padding: 0;
	transition: color 0.2s, background 0.2s, transform 0.2s;
}

.filter-brand-modal-close:hover,
.filter-brand-modal-close:focus-visible {
	color: #000;
	background: rgba(0, 0, 0, 0.09);
	outline: none;
}

.filter-brand-modal-close:active {
	transform: scale(0.95);
}

/* 勿用 flex:1 + min-height:0 撑满未定义高度的父级，否则在仅 max-height 的面板里列表区会被算成 0 高 */
.filter-brand-modal-list-wrap {
	flex: 0 1 auto;
	min-width: 0;
}

.filter-brand-modal-list {
	padding: 16px 16px 22px 16px;
	max-height: min(60vh, 480px);
	overflow-x: hidden;
	overflow-y: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-content: flex-start;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.filter-brand-modal-item {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #e0e0e0;
	background: #f7f7f7;
	color: #222;
	font-size: 15px;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
	font-weight: 400;
}

.filter-brand-modal-item:hover,
.filter-brand-modal-item:focus-visible {
	background: #fff;
	border-color: #0d0d0d;
	color: #000;
	outline: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
}

.filter-brand-modal-item.is-active {
	background: #111;
	color: #fff;
	border-color: #111;
	font-weight: 600;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

/* 桌面：模态框居中浮层 */
@media (min-width: 640px) {
	.filter-brand-modal {
		align-items: center;
		padding: 24px;
	}

	.filter-brand-modal-grab {
		display: none;
	}

	.filter-brand-modal-panel {
		border-radius: 16px;
		border: 1px solid rgba(0, 0, 0, 0.1);
		max-height: min(80vh, 600px);
		box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
	}

	.filter-brand-modal-header {
		padding: 20px 22px 16px 22px;
	}

	.filter-brand-modal-list {
		padding: 8px 20px 28px 20px;
	}
}

/* Loading overlay for product grid */
.product-grid-loading {
	position: relative;
}

.product-grid-loading::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.8);
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-grid-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 40px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #333;
	border-radius: 50%;
	animation: gridSpinnerSpin 1s linear infinite;
	z-index: 11;
}

@keyframes gridSpinnerSpin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* No results message */
.no-results {
	text-align: center;
	padding: 60px 20px;
	grid-column: 1 / -1;
}

.no-results p {
	font-size: 18px;
	color: #999;
	margin: 0;
}

/* Filter count badge */
.filter-active-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: #000;
	color: #fff;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 600;
	margin-left: 8px;
}

/* Filter clear button */
.filter-clear-all {
	margin-top: 15px;
	padding: 10px 24px;
	background: #f5f5f5;
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	color: #666;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s ease;
	align-self: flex-start;
}

.filter-clear-all:hover {
	background: #000;
	color: #fff;
	border-color: #000;
}

/* Product card animation enhancements */
.product-card {
	opacity: 0;
	transform: translateY(20px);
	animation: productCardFadeInUp 0.5s ease forwards;
}

.product-card:nth-child(1) { animation-delay: 0.05s; }
.product-card:nth-child(2) { animation-delay: 0.1s; }
.product-card:nth-child(3) { animation-delay: 0.15s; }
.product-card:nth-child(4) { animation-delay: 0.2s; }
.product-card:nth-child(5) { animation-delay: 0.25s; }
.product-card:nth-child(6) { animation-delay: 0.3s; }
.product-card:nth-child(7) { animation-delay: 0.35s; }
.product-card:nth-child(8) { animation-delay: 0.4s; }
.product-card:nth-child(9) { animation-delay: 0.45s; }
.product-card:nth-child(10) { animation-delay: 0.5s; }
.product-card:nth-child(11) { animation-delay: 0.55s; }
.product-card:nth-child(12) { animation-delay: 0.6s; }

@keyframes productCardFadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Articles Grid Section */
.articles-grid-section {
	background: #f6f6f6;
}

.articles-grid-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 28px;
	margin: 0 auto;
	max-width: 100%;
	padding: 57px 30px 60px 30px;
}

.articles-grid-container .article-card-item p{
	display: none;
}

.article-card-item {
	background: #fff;
	border-radius: 16px;
	transition: all 0.3s ease;
}

.article-card-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.article-card-item:first-child p{
	display: none;
}

/* 文章卡片摘要：默认隐藏，避免在所有列表页都展示过长内容 */
.article-card-item .article-card-link .article-card-info .article-card-excerpt {
	display: none;
}

.article-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.article-card-image {
	width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.article-card-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.3s ease;
}

.article-card-item:hover .article-card-image::before {
	transform: scale(1.05);
}

.article-card-item .article-card-link p{
	display: none;
}

.article-card-info {
	padding: 21px 16px;
}

.article-card-title {
    font-weight: 600;
    font-size: 23px;
    color: #333;
    margin: 0 0 6px 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-card-date {
    font-size: 21px;
    font-weight: 500;
    color: #888;
    margin: 0;
    display: block !important;
}

/* Pagination Section */
.pagination-section {
	background: #f8f8f8;
}

.custom-pagination-container {
	display: flex;
	justify-content: center;
	align-items: center;
    gap: 30px;
    max-width: 100%;
    padding: 20px 30px 70px 30px;
}

/* 数字分页区域：1 2 3 … 55 */
.pagination-pages {
	display: flex;
	align-items: center;
	gap: 18px;
}

/* WordPress 默认分页链接统一重置样式 */
.custom-pagination-container .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 19px;
	color: #555;
	text-decoration: none;
	min-width: 20px;
	height: 32px;
	padding: 0 2px;
	border-radius: 0;
	background: transparent;
	border: none;
}

/* 当前页：黑色圆角矩形，白字（截图中的“1”） */
.custom-pagination-container .page-numbers.current {
	min-width: 26px;
    height: 44px;
	padding: 0 10px;
	border-radius: 12px;
	background: #000;
	color: #fff;
	font-size: 16px;
}

/* 非当前页数字：仅文字，无边框，保持间距 */
.custom-pagination-container .page-numbers:not(.current):not(.dots):hover {
	color: #000;
}

/* 省略号 ... */
.custom-pagination-container .page-numbers.dots {
	color: #888;
	font-size: 18px;
}

.pagination-jump {
	display: flex;
	gap: 10px;
	font-size: 14px;
	color: #666;
	align-items: center;
}

.jump-input {
	width: 55px;
	padding: 0 12px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid #dfdfdf;
	font-size: 14px;
	text-align: center;
	background: #fff;
}

.jump-input:focus {
	outline: none;
	border-color: #c0c0c0;
}

/* “跳转”文本 */
.pagination-jump .jump-text {
	font-size: 19px;
	color: #555;
	cursor: pointer;
}

/* Responsive Design */
@media (max-width: 1024px) {
	.top-swipers-container {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.articles-grid-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.top-swipers-container,
	.main-category-tabs,
	.multi-level-filter,
	.articles-grid-container,
	.custom-pagination-container {
		padding: 0 20px;
	}
	
	/* 左侧堆叠轮播 - 移动端优化 */
	.left-stack-carousel-wrapper {
		height: 240px !important;
		min-height: 240px !important;
	}
	
	.stack-carousel {
		min-height: 240px !important;
	}
	
	.stack-slide {
		width: 140px !important;
		height: 230px !important;
		border-radius: 18px !important;
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
	}
	
	.stack-slide-content {
		padding: 0 10px 8px !important;
	}
	
	.stack-slide-title {
		font-size: 9px !important;
		padding: 5px 12px !important;
		border-radius: 12px !important;
	}
	
	/* 右侧 Banner 轮播 - 移动端优化 */
	.right-swiper-wrapper {
		height: 200px !important;
	}
	
	.right-banner-swiper {
		border-radius: 16px !important;
	}
	
	.banner-slide-item {
		border-radius: 16px !important;
	}
	
	.banner-title-text {
		font-size: 18px !important;
		letter-spacing: 1px !important;
		-webkit-line-clamp: 2 !important;
		max-height: calc(1.2em * 2) !important;
		line-height: 1.2 !important;
	}
	
	.banner-content-overlay {
		padding: 15px !important;
	}
	
	.banner-pagination-wrapper {
		bottom: 12px !important;
		left: 15px !important;
		gap: 6px !important;
		font-size: 10px !important;
	}
	
	.pagination-current,
	.pagination-total {
		font-size: 10px !important;
		min-width: 18px !important;
	}
	
	.pagination-progress-bar {
		width: 80px !important;
		height: 1.5px !important;
	}
	
	.pagination-progress-bar {
		width: 50px;
	}
	
	.banner-cta-button {
		bottom: 20px;
		right: 25px;
		padding: 5px 12px;
		font-size: 9px;
		gap: 10px;
	}
	
	.cta-button-text {
		font-size: 9px;
	}
	
	.cta-button-icon {
		font-size: 11px;
	}
	
	.slide-category-tag {
		bottom: 12px;
		left: 12px;
		padding: 6px 16px;
		font-size: 13px;
	}
	
	.main-category-tabs {
		gap: 6px !important;
		overflow-x: auto !important;
		padding: 0 12px 10px 12px !important;
		-webkit-overflow-scrolling: touch !important;
	}
	
	.category-tab-btn {
		flex-shrink: 0 !important;
		padding: 6px 25px !important;
		border-radius: 20px !important;
		font-size: 15px !important;
	}
	
	/* Filter Section Mobile */
	.filter-section {
		padding: 20px 0 0 0 !important;
	}
	
	.multi-level-filter {
		padding: 0 12px !important;
		gap: 8px !important;
	}
	
	.filter-row {
		flex-direction: column !important;
		margin-bottom: 9px !important;
		gap: 8px !important;
	}
	
	.filter-label {
		width: auto !important;
		padding-top: 0 !important;
		font-size: 15px !important;
		min-width: auto !important;
	}
	
	.filter-options {
		gap: 6px !important;
	}
	
	.filter-option-btn {
		padding: 5px 12px !important;
		font-size: 15px !important;
	}
	
	.filter-option-btn::after {
		bottom: -2px !important;
		height: 1.5px !important;
	}
	
	.filter-row-brand .filter-options.has-brand-expand {
		column-gap: 6px !important;
	}
	
	.filter-brand-line-wrap {
		column-gap: 6px !important;
		row-gap: 0 !important;
	}
	
	.filter-brand-expand-main {
		padding: 6px 10px 6px 8px !important;
	}
	
	.filter-brand-expand-prompt {
		font-size: 13px !important;
	}
	
	.filter-brand-expand-sub {
		font-size: 9.5px !important;
		max-width: min(8.5em, calc(100% - 2.25rem)) !important;
		padding: 1px 6px 2px 7px !important;
		left: auto !important;
		right: 3px !important;
		top: auto !important;
		bottom: 100% !important;
		margin: 0 0 1px 0 !important;
		transform: none !important;
		text-align: right !important;
	}
	
	.filter-brand-modal-title {
		font-size: 17px !important;
	}
	
	.filter-brand-modal-subtitle {
		font-size: 12.5px !important;
	}
	
	.filter-brand-modal-list {
		gap: 8px !important;
		padding: 12px 12px 20px 12px !important;
	}
	
	.filter-brand-modal-item {
		font-size: 15px !important;
		padding: 8px 12px !important;
	}
	
	.articles-grid-container {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.article-card-image {
		height: 200px;
	}
	
	.custom-pagination-container {
		gap: 4px;
		flex-wrap: wrap;
	}
	
	.pagination-btn {
		min-width: 35px;
		height: 35px;
		padding: 6px 10px;
		font-size: 13px;
	}
	
	.jump-input {
		width: 50px;
		height: 35px;
		font-size: 13px;
	}
	
	.jump-btn {
		height: 35px;
		padding: 6px 16px;
		font-size: 13px;
	}

	/* Front-page INNOVATION HUB */
	.gallery-main-title {
		font-size: 18vw;
		letter-spacing: 1vw;
		white-space: normal;
	}

	.gallery-left-text {
		gap: 24px;
		padding: 0 10px;
	}

	.gallery-subtitle {
		font-size: 32px;
	}

	.gallery-subtitle-right {
		font-size: 34px;
	}

	.gallery-main-content {
		padding: 24px 16px 40px;
		gap: 20px;
	}

	.gallery-banner-container {
		margin: 40px 12px 40px;
	}
	
	.gallery-label {
		left: auto;
		right: 16px;
		text-align: right;
	}
	
	.gallery-swiper {
		height: auto;
	}
	
	.carousel-content {
		display: flex;
		flex-direction: column;
		gap: 24px;
		align-items: flex-start;
		padding: 20px 16px;
	}
	
	.carousel-left,
	.carousel-right {
		width: 100%;
	}
	
	.carousel-title {
		font-size: 32px;
		line-height: 1.25;
		text-align: left;
	}
	
	.carousel-image {
		height: 320px;
	}
	
	.gallery-right-banner {
		min-height: 420px;
	}

	/* AI Creation collage */
	.ai-content-wrapper {
		grid-template-columns: 1fr;
	}

	.ai-corner-image {
		min-height: 220px;
	}

	.ai-main-content .ai-main-text {
		font-size: 20px;
		display: none;
	}

	.ai-corner-text {
		font-size: 18px;
		text-align: center;
		display: none;
	}

	.ai-corner-text p {
		margin-top: 10px;
	}

	/* Category sections generic padding */
	.category-tabs-section .alignwide,
	.filter-section .alignwide,
	.articles-grid-section .alignwide,
	.container.section-spacing {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* ========================================================================
   Pagination
   ======================================================================== */

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: var(--spacing-xl);
}

.pagination a,
.pagination span {
	padding: 8px 15px;
	border: 1px solid var(--border-color);
	border-radius: 5px;
	text-decoration: none;
	color: var(--text-color);
	transition: all 0.3s;
}

.pagination a:hover,
.pagination .current {
	background: var(--primary-color);
	color: var(--bg-color);
	border-color: var(--primary-color);
}

/* ========================================================================
   Color Subcategory Page Styles
   ======================================================================== */

/* Featured Posts Grid (Special Layout) */
.featured-posts-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr 1fr;
    grid-template-rows: 281px 297px;
	gap: 20px;
	max-width: 100%;
    padding: 0 30px 37px 30px;
}

.featured-post-item {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	display: block;
	text-decoration: none;
	color: inherit;
}

/* Post 1: Left side, spans 2 rows (tall) */
.featured-post-1 {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

/* Post 2: Right top left */
.featured-post-2 {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

/* Post 3: Right top right */
.featured-post-3 {
	grid-column: 3 / 4;
	grid-row: 1 / 2;
}

/* Post 4: Right bottom, spans 2 columns */
.featured-post-4 {
	grid-column: 2 / 4;
	grid-row: 2 / 3;
}

/* Background Image */
.featured-post-bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

/* Overlay (hidden by default, shown on hover) */
.featured-post-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
	opacity: 0;
	/* opacity:0 时不要抢命中区；不设内部纵向滚动——避免手机上与整页滑动争抢 */
	pointer-events: none;
	transition: opacity 0.4s ease;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	padding: 30px;
	overflow: hidden;
}

/* Post Info */
.featured-post-info {
	color: #fff;
	width: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	transform: translateY(20px);
	transition: transform 0.4s ease;
	min-width: 0;
}

.featured-post-title {
    font-size: 19px;
    font-weight: 600;
    margin: 0 0 15px 0;
    line-height: 1.4;
	word-break: break-word;
	/* 与内部滚动互斥时用行数封顶，hover 文案在固定高度格子内不致被 overflow:hidden 裁成半截 */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

@media (min-width: 769px) {
	.featured-post-1 .featured-post-title {
		-webkit-line-clamp: 5;
	}
}

.featured-post-meta {
	font-size: 14px;
	margin: 0;
	opacity: 0.9;
	/*display: flex;*/
	display: none;
	flex-wrap: wrap;
	gap: 15px;
	align-items: center;
}

.featured-post-author {
	display: inline-block;
}

.featured-post-date {
	display: inline-block;
	opacity: 0.8;
}

/* Hover Effects */
.featured-post-item:hover .featured-post-bg {
	transform: scale(1.05);
}

.featured-post-item:hover .featured-post-overlay {
	opacity: 1;
	pointer-events: auto;
}

.featured-post-item:focus-within .featured-post-overlay {
	opacity: 1;
	pointer-events: auto;
}

.featured-post-item:hover .featured-post-info {
	transform: translateY(0);
}

.featured-post-item:focus-within .featured-post-info {
	transform: translateY(0);
}

/* Placeholder State */
.featured-post-item.is-placeholder {
	background: #f5f5f5;
	cursor: default;
	pointer-events: none;
}

.featured-post-item.is-placeholder .featured-post-overlay {
	background: rgba(0, 0, 0, 0.3);
	opacity: 1;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.featured-post-item.is-placeholder .featured-post-info {
	transform: translateY(0);
	text-align: center;
	width: 100%;
}

.featured-post-item.is-placeholder .featured-post-title {
	opacity: 0.5;
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.featured-post-item.is-placeholder .featured-post-meta {
	display: none;
}

/* Parent Category Navigation */
.parent-category-nav {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 39px 30px 0 30px;
	margin-bottom: 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	cursor: grab;
}

.parent-category-nav::-webkit-scrollbar {
	display: none;
}

.parent-category-nav.is-dragging {
	cursor: grabbing;
}

.parent-nav-tab {
	flex-shrink: 0;
    padding: 8px 29px;
    border-radius: 50px;
    border: 1px solid #ddd;
    background: #fff;
    color: #666;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    cursor: pointer;
}

.parent-nav-tab:hover {
	border-color: #999;
	color: #333;
	background: #f5f5f5;
}

.parent-nav-tab.active {
	background: #333;
	color: #fff;
	border-color: #333;
	font-weight: 500;
}

/* Category Filter Wrapper */
.category-filter-wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
}

.category-filter-label {
    min-width: 50px;
    color: #999;
    padding-top: 6px;
    flex-shrink: 0;
    font-size: 17px;
    font-weight: 400;
	padding-left: 30px;
}

/* Category Filter Tabs */
.category-filter-tabs {
	display: flex;
	gap: 17px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 39px 30px 37px 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	cursor: grab;
	flex: 1;
}

.category-filter-tabs::-webkit-scrollbar {
	display: none;
}

/* 鼠标拖动时的样式反馈（仅影响桌面端体验） */
.category-filter-tabs.is-dragging {
	cursor: grabbing;
}

.filter-tab {
	flex-shrink: 0;
    padding: 6px 20px;
    border-radius: 50px;
    border: 1px solid #e0e0e0;
    background: #fafafa;
    color: #888;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.filter-tab:hover {
	border-color: #111;
	color: #111;
	background: #f8f8f8;
}

.filter-tab.active {
	background: #111;
	color: #fff;
	border-color: #111;
}

/* Products Grid Container - Masonry Layout */
.products-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 37px 41px;
    margin-top: 30px;
    max-width: 100%;
    padding: 0 30px 35px 30px;
}

.products-grid-container .product-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

/* Product Card Hover Effect - Sync with Color Grid */
.products-grid-container .product-card .product-image {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
}

/* Hover effect on wrapper (like .color-image-wrapper) */
.products-grid-container .product-card:hover .product-image-wrapper {
	transform: translateY(-8px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* Zoom effect on inner image (like .color-image) */
.products-grid-container .product-card:hover .product-image::before {
	transform: scale(1.05);
}

.products-grid-container .product-author {
    font-size: 16px;
    color: #999;
    margin: 10px 0 0 0;
}

/* Color Subcategory Products Grid：卡片标题保留横向内边距 */
.products-grid-container .product-title {
	padding: 0 12px;
}

/* Latest Products Category - Product Grid 样式复用 Color Subcategory Products Grid（不影响其他页面） */
.latest-products-category-page .articles-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 39px 42px;
    max-width: 100%;
    padding: 58px 30px 35px 30px;
}

.latest-products-category-page .article-card-item {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.latest-products-category-page .article-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

/* 图片区域：div + background + 圆角矩形，hover 时整体上浮并放大，与 Products Grid 一致 */
.latest-products-category-page .article-card-image {
    position: relative;
    height: auto;
    aspect-ratio: 3 / 4;
    border-radius: 30px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.latest-products-category-page .article-card-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

.latest-products-category-page .article-card-item:hover .article-card-image {
	transform: translateY(-8px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.latest-products-category-page .article-card-item:hover .article-card-image::before {
	transform: scale(1.05);
}

/* 图片内部底部日期显示层 - 带渐变背景和时钟图标 */
.latest-products-category-page .article-card-image-date {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 24px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
	z-index: 2;
	color: #fff;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Hover 状态下显示日期层 */
.latest-products-category-page .article-card-item:hover .article-card-image-date {
	opacity: 1;
	transform: translateY(0);
}

.latest-products-category-page .article-card-image-date .date-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: #fff;
}

.latest-products-category-page .article-card-image-date .date-text {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.5px;
}

/* 在其他页面隐藏图片内部日期显示 */
.article-card-image-date {
	display: none;
}

.latest-products-category-page .article-card-image-date {
	display: flex;
}

/* 文本信息区域：对齐 Products Grid 的标题与副标题风格 */
.latest-products-category-page .article-card-info {
	padding: 16px 0 0 0;
}

.latest-products-category-page .article-card-title {
    font-size: 19px;
    font-weight: 600;
	padding: 0 12px;
    color: #333333;
    margin: 0;
}

/* 摘要默认隐藏（仅在特定页面显示） */
.latest-products-category-page .article-card-excerpt {
	display: none;
}

/* 指定页面（交通科技产品 & AI 创作）默认显示摘要，不影响其他页面 */
.transportation-products-page .article-card-item .article-card-link .article-card-info .article-card-excerpt,
.ai-creation-page .article-card-item .article-card-link .article-card-info .article-card-excerpt {
	display: block;
}

.latest-products-category-page .article-card-date {
    margin: 12px 0 0 0;
	font-size: 21px;
	color: #999999;
	display: none !important;
}

/* Transportation Products Page - 三列布局 + 显示摘要 */
.transportation-products-page .articles-grid-container {
	grid-template-columns: repeat(3, 1fr);
	gap: 32px 28px;
}

.transportation-products-page .article-card-image {
    position: relative;
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 30px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.transportation-products-page .article-card-excerpt {
	display: block;
	font-size: 16px;
	line-height: 1;
	color: #666;
	margin: 12px 0 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* AI Creation Page - 四列布局 + 显示摘要（复刻 Transportation Products Page 样式） */
.ai-creation-page .article-card-image {
	position: relative;
    height: auto;
    aspect-ratio: 3 / 4;
    border-radius: 30px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ai-creation-page .article-card-excerpt {
	display: block;
	font-size: 16px;
	line-height: 1;
	color: #666;
	margin: 12px 0 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* AI Creation Page - 底部三篇置顶文章（三列布局） */
.ai-creation-page .ai-featured-wrapper {
	padding: 0 0 48px 0;
}

.ai-creation-page .ai-featured-section {
	background: #f6f6f6;
	border-radius: 40px;
	padding: 40px 30px 46px 30px;
}

.ai-creation-page .ai-featured-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 17px;
	margin: 0 auto;
}

.ai-featured-card {
	display: flex;
	flex-direction: column;
}

.ai-featured-card-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

/* 图片：div + background + 圆角矩形，使用 ::before 放大背景 */
.ai-featured-card-image {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 110.5%;
	border-radius: 20px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.ai-featured-card-image::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

/* Hover 时只放大背景，不放大外层 div */
.ai-featured-card:hover .ai-featured-card-image::before {
	transform: scale(1.05);
}

/* 图片内信息层：默认隐藏，悬停时显示在图片底部 */
.ai-featured-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 18px 18px 20px 18px;
	color: #fff;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: 2;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.15), transparent 55%);
}

.ai-featured-card:hover .ai-featured-overlay {
	opacity: 1;
	transform: translateY(0);
}

/* 左右卡片：仅显示日期 */
.ai-featured-overlay-side {
	align-items: flex-start;
}

/* 日期行：图标 + 文本 */
.ai-featured-overlay-date-row {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ai-featured-overlay .date-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: #fff;
}

.ai-featured-overlay-date-text {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1px;
}

/* 中间卡片：标题 + 日期 + 摘要（类似列表样式） */
.ai-featured-overlay-center {
	align-items: flex-start;
}

.ai-featured-overlay-title {
	margin: 0 0 8px 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
}

.ai-featured-overlay-center .ai-featured-overlay-date-text {
	font-size: 13px;
	opacity: 0.9;
}

.ai-featured-overlay-excerpt {
	font-size: 13px;
	line-height: 1.7;
	max-width: 90%;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.95;
}

/* 中间卡片：跨行大图，高度更高，不显示文字 */
.ai-featured-card-center .ai-featured-card-image {
	padding-bottom: 139%;
}

.ai-featured-card-center .ai-featured-card-info {
	display: none;
}

.ai-featured-card-center p{
	display: none;
}

.ai-featured-card-side p{
	display: none;
}

/* 左右两侧卡片：图片 + 标题 + 摘要 */
.ai-featured-card-info {
	padding: 18px 6px 0 6px;
}

.ai-featured-card-title {
	margin: 0 0 9px 0;
	font-size: 18px;
	font-weight: 600;
	color: #333;
	line-height: 1.6;
}

.ai-featured-card-excerpt {
	font-size: 14px;
	line-height: 1.5;
	color: #666;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ========================================================================
   Responsive Design
   ======================================================================== */

@media (max-width: 1200px) {
	/* Color Subcategory Tablet */
	.products-grid-container {
		grid-template-columns: repeat(3, 1fr);
		gap: 18px;
	}

	/* Latest Products Category - Tablet 布局与 Color Subcategory 保持一致 */
	.latest-products-category-page .articles-grid-container {
		grid-template-columns: repeat(3, 1fr);
		gap: 18px;
	}
	
	/* Transportation Products Page - Tablet 保持三列，但调整间距 */
	.transportation-products-page .articles-grid-container {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px 30px;
	}
	
	.transportation-products-page .article-card-excerpt {
		font-size: 15px;
		-webkit-line-clamp: 2;
	}
	
	/* AI Creation Page - Tablet 改为两列 */
	.ai-creation-page .articles-grid-container {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 30px;
	}
	
	.ai-creation-page .article-card-excerpt {
		font-size: 15px;
		-webkit-line-clamp: 2;
	}

	/* AI Creation Featured Section - Tablet 布局：三列保持，但间距缩小 */
	.ai-creation-page .ai-featured-section {
		padding: 22px 30px 22px 30px;
	}

	.ai-creation-page .ai-featured-grid {
		gap: 20px;
	}
	
	/* Featured Posts Grid Tablet */
	.featured-posts-grid {
		grid-template-rows: 250px 250px;
		gap: 15px;
	}
	
	.featured-post-title {
		font-size: 18px;
		-webkit-line-clamp: 3;
	}

	.featured-post-1 .featured-post-title {
		-webkit-line-clamp: 4;
	}
	
	.featured-post-overlay {
		padding: 25px;
	}
}

@media (max-width: 768px) {
	/* Color Subcategory Products - Mobile */
	#products-section {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.products-grid-container {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 0;
		margin-top: 20px;
	}

	/* Latest Products Category - Mobile 布局与 Color Subcategory 保持一致 */
	.latest-products-category-page .articles-grid-container {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 0 16px;
		margin-top: 20px;
	}

	.latest-products-category-page .article-card-title {
		font-size: 14px;
	}
	
	/* Transportation Products Page - Mobile 单列布局 */
	.transportation-products-page .articles-grid-container {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 0 16px;
	}
	
	.transportation-products-page .article-card-excerpt {
		font-size: 14px;
		-webkit-line-clamp: 2;
	}
	
	/* AI Creation Page - Mobile 单列布局 */
	.ai-creation-page .articles-grid-container {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 0 16px;
	}
	
	.ai-creation-page .article-card-excerpt {
		font-size: 14px;
		-webkit-line-clamp: 2;
	}

	/* AI Creation Featured Section - Mobile：改为单列堆叠 */
	.ai-creation-page .ai-featured-wrapper {
		padding: 40px 16px 60px 16px;
	}

	.ai-creation-page .ai-featured-section {
		padding: 28px 18px 32px 18px;
		border-radius: 30px;
	}

	.ai-creation-page .ai-featured-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ai-featured-card-center .ai-featured-card-image {
		padding-bottom: 150%;
	}

	.products-grid-container .product-card .product-image {
		min-height: 220px;
	}

	.products-grid-container .product-author {
		font-size: 14px;
		margin-top: 6px;
	}

	.latest-products-category-page .article-card-image {
		min-height: 220px;
	}

	/* 移动端日期显示层样式调整 */
	.latest-products-category-page .article-card-image-date {
		padding: 12px 16px;
		gap: 8px;
	}

	.latest-products-category-page .article-card-image-date .date-icon {
		width: 16px;
		height: 16px;
	}

	.latest-products-category-page .article-card-image-date .date-text {
		font-size: 14px;
	}

	.latest-products-category-page .article-card-date {
		font-size: 14px;
		margin-top: 6px;
	}
}

@media (max-width: 1024px) {
	.hero-main-title-wrapper {
		padding-right: 80px;
	}

	.hero-main-title-icon {
		top: -30px;
		right: -20px;
		width: 90px;
	}

	/* PRO INSIGHTS - 缩小标题，收紧左右留白 */
	.trend-title-wrapper {
		padding: 0 24px 50px 24px;
	}

	.trend-horizontal-title {
		font-size: 80px;
		letter-spacing: 6px;
	}

	.trend-icon {
		top: -40px;
		right: -80px;
	}

	.trend-center-title {
		padding: 60px 20px;
	}

	/* Trend categories - 平板收紧左右留白 */
	.trend-categories {
		padding: 40px 32px 50px;
		gap: 40px;
	}

	.trend-item {
		grid-template-columns: 80px minmax(0, 1.6fr) minmax(0, 1fr);
		column-gap: 30px;
	}

	.trend-image {
		height: 260px;
	}

	.trend-number {
		font-size: 28px;
	}
	
	.style-gallery-grid {
		grid-template-columns: 1fr;
	}
	
	.gallery-small-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	/* Color Section - 平板缩小标题 */
	.color-section {
		padding: 80px 24px 0 24px;
	}
	
	.color-section-title {
		font-size: 96px;
		letter-spacing: 10px;
	}

	/* Platform Intro - 平板减小间距 */
	.platform-intro-container {
		grid-template-columns: 0.9fr 1fr;
		gap: 60px;
		padding: 60px 50px;
	}
	
	.ai-creation-grid {
		grid-template-columns: 1fr;
	}
	
	.info-cards-grid {
		grid-template-columns: 1fr;
	}
	
	.footer-top-wrapper {
		padding: 0 30px;
	}
	
	.footer-newsletter-star-wrap {
		flex-direction: column;
		gap: 40px;
		padding: 30px;
	}
	
	.footer-newsletter-column {
		max-width: 100%;
	}
	
	.newsletter-half-circle-bg {
		max-height: 180px;
	}
	
	.footer-star-column {
		display: none; /* 隐藏右侧星星装饰 */
	}
	
	.newsletter-half-circle-bg {
		display: none; /* 隐藏 newsletter 区域的半圆背景 */
	}
	
	.footer-half-circle-wrap.left img {
		display: none; /* 隐藏左侧半圆 SVG */
	}
	
	.footer-circle-copyright img {
		display: none; /* 隐藏版权圆圈 SVG */
	}
	
	.footer-circle-copyright {
		width: auto;
		height: auto;
		background: none;
	}
	
	.circle-text-overlay {
		position: static;
		transform: none;
	}
	
	.circle-text-overlay p {
		font-size: 14px;
		color: var(--text-color);
	}

	.circle-text-overlay p + p {
		font-size: 14px;
		margin-top: 6px;
	}

	.dot-pattern-grid {
		display: none; /* 隐藏点状图案 */
	}
	
	.footer-bottom-grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 0 30px;
	}
	
	.footer-bottom-left-group {
		flex-direction: column;
		gap: 30px;
	}

	.footer-circle-copyright {
		margin-top: 0;
	}
	
	.footer-half-circle-wrap {
		width: 100%;
		height: auto;
	}
	
	.half-circle-text-inside {
		padding: 20px 0;
	}
	
	.half-circle-text-inside p {
		font-size: 18px;
		text-align: left;
	}
	
	.footer-dots-horizontal {
		gap: 20px;
	}
	
	.dots-text {
		width: 100%;
	}
	
	.dots-text p {
		text-align: left;
	}

	/* INNOVATION HUB (front-page) */
	.gallery-header {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.gallery-main-content {
		grid-template-columns: 1fr;
		padding: 40px 24px;
	}

	.gallery-right-banner {
		min-height: 520px;
	}

	.gallery-banner-container {
		margin: 80px 24px 80px;
	}

	/* AI Creation collage */
	.ai-content-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		min-height: auto;
		margin-top: 20px;
	}

	.ai-corner,
	.ai-main-content,
	.arch-img {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		transform: none;
		width: 100%;
	}

	.ai-main-content {
		order: -1;
		width: 100%;
	}

	.ai-main-content .ai-main-image div,
	.ai-corner-image div,
	.arch-img div {
		border-radius: 24px !important;
	}

	.ai-corner-image {
		height: auto;
		min-height: 260px;
	}

	.arch-img {
		height: auto;
		min-height: 220px;
	}

	.ai-corner-text {
		position: relative;
		top: auto;
		width: 100%;
		padding: 0;
		text-align: left;
	}

	.ai-top-left-text,
	.ai-top-right-text {
		left: auto;
		right: auto;
		padding: 0;
	}
}

@media (max-width: 768px) {
	/* Top Marquee */
	.top-marquee-banner {
		padding: 4px 0;
	}
	
	.marquee-content {
		gap: 40px;
	}
	
	.marquee-text {
		font-size: 7px;
		letter-spacing: 1px;
	}
	
	.marquee-text img {
		height: 5px;
	}
	
	/* Search Toolbar */
	.search-toolbar {
		padding: 13px 28px 13px 28px;
	}
	
	.search-toolbar .alignwide {
		border-radius: 30px;
		padding: 0;
		border: 1px solid #e6e6e6;
		box-shadow: 0 1px 4px rgba(0,0,0,0.05);
	}

	.header-search-form{
		gap: 0px !important;
	}
	
	.search-controls {
		flex-wrap: wrap;
		gap: 5px;
		padding: 0 0 0 10px;
	}
	
	.search-tab {
		font-size: 10px;
		padding: 4px 10px;
	}
	
	.search-input-wrapper {
		width: 100%;
		max-width: 100%;
		order: 3;
	}
	
	.search-input {
		font-size: 12px;
	}
	
	.search-icon-btn {
		order: 2;
	}
	
	/* Main Header */
	.main-header {
		padding: 8px 0 !important;
	}
	
	.main-header .alignwide {
		flex-direction: column;
		gap: 10px;
		padding: 0 10px;
	}
	
	.header-logo {
		width: 100%;
		justify-content: center;
	}
	
	.site-logo {
		max-width: 120px;
		height: auto;
	}
	
	.center-navigation {
		width: 100%;
	}
	
	.primary-navigation .nav-menu {
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
	}
	
	.nav-menu > li > a {
		font-size: 16px;
		padding: 5px 8px;
	}
	
	.header-right-space {
		display: flex;
		min-width: auto;
		width: auto;
	}

	.atf-auth-buttons {
		gap: 8px;
	}

	.atf-auth-open {
		padding: 9px 14px;
		font-size: 13px;
	}

	/* 顶栏会员区需显示昵称；勿再全局隐藏 .atf-member-name */

	.atf-member-trigger .atf-member-name {
		max-width: 42vw;
	}

	.atf-member-trigger__avatar {
		width: 28px;
		height: 28px;
	}
	
	/* Top Category Menu */
	.top-category-menu {
		flex-direction: column;
		gap: 12px;
		align-items: center;
	}

	/* PRO INSIGHTS - 横向标题与图标在手机端缩放居中，避免溢出 */
	.trend-title-wrapper {
		padding: 0 12px 20px 12px;
	}

	.trend-horizontal-title {
		font-size: 16vw;
		letter-spacing: 3px;
	}

	.trend-title-icon-wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}

	.trend-icon {
		position: static;
	}

	.trend-icon img,
	.trend-icon svg {
		width: 42px;
		height: 42px;
	}
	
	.submenu-dropdown {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		padding: 10px 0;
		margin-top: 8px;
		min-width: auto;
		width: 100%;
	}
	
	.submenu-grid {
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.third-menu {
		justify-content: center;
	}
	
	/* Hero Banner */
	.hero-banner-section {
		padding: 15px 0 25px;
	}
	
	.hero-banner-container {
		padding: 0 12px;
	}
	
	.hero-banner-inner {
		min-height: auto;
		height: auto;
		border-radius: 18px;
	}
	
	.hero-content-wrapper {
		padding: 20px 18px;
		height: auto;
	}
	
	.hero-left-column {
		float: none;
		width: 100%;
		margin-bottom: 15px;
	}
	
	.hero-cta-area {
		float: none;
		width: 100%;
		margin-top: 12px;
		clear: none;
		display: flex;
		justify-content: flex-start;
	}
	
	.hero-title-area {
		margin-bottom: 12px;
	}
	
	.hero-main-title-wrapper {
		padding-right: 50px;
	}
	
	.hero-main-title {
		font-size: 39px;
		line-height: 1.3;
	}

	.hero-main-title-icon {
		top: -14px;
		right: -10px;
		width: 48px;
	}
	
	/* 首页 Hero CTA：与分类 hero-banner-cta-btn 手机端量级接近，收窄 gap 勿再拉满全宽比例 */
	.hero-cta-btn {
		display: inline-flex;
		width: auto;
		max-width: 100%;
		box-sizing: border-box;
		align-items: center;
		justify-content: space-between;
		gap: 7px;
		padding: 8px 20px;
		border-radius: 30px;
	}

	.hero-cta-btn .cta-text {
		font-size: 12px;
		font-weight: 500;
	}

	.hero-cta-btn .cta-arrow {
		font-size: 14px;
		flex-shrink: 0;
	}
	
	.hero-right-column {
		align-items: flex-start;
		position: static;
		width: 100%;
		padding: 23px 0 0;
	}
	
	.hero-desc-area {
		align-items: flex-start;
	}
	
	.hero-description {
		font-size: 12px;
		line-height: 1.6;
	}
	
	.trend-forecast-container {
		max-width: 100%;
	}
	
	/* Trend categories - 手机端单列卡片布局 */
	.trend-categories {
        padding: 0 12px 30px;
		gap: 18px;
	}
	
	.trend-item {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding-bottom: 18px;
	}
	
	.trend-number {
		align-self: flex-start;
		font-size: 24px;
		text-align: left;
		color: #ccc;
	}

	.trend-image {
		height: 180px;
		border-radius: 12px;
	}
	
	.trend-image span {
		padding: 8px 20px;
		left: 10px;
		bottom: 10px;
		font-size: 12px;
		border-radius: 30px;
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
	}

	.trend-info {
		display: flex;
		flex-direction: column;
		gap: 8px;
		align-items: flex-start;
		text-align: left;
	}

	.trend-title {
		font-size: 22px;
		line-height: 1.4;
		margin: 0 0 4px 0;
	}

	.trend-subtitle {
		font-size: 18px;
		line-height: 1.4;
		margin: 0;
	}
	
	.trend-tags {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	
	.trend-tags span {
		font-size: 15px;
		padding-left: 10px;
	}
	
	.trend-tags span::before {
		font-size: 15px;
	}
	
	.trend-text p {
		font-size: 12px;
		line-height: 1.5;
	}
	
	.section-title-large {
		font-size: 32px;
		letter-spacing: 4px;
	}
	
	.color-title-area {
		flex-direction: column;
		gap: 20px;
	}
	
	.color-section-title {
		font-size: 16vw;
		letter-spacing: 4px;
	}
	
	.color-cards-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.gallery-small-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	.product-grid,
	.color-grid,
	.article-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	/* Front Page - INNOVATION HUB */
	.style-gallery-section {
		padding: 20px 0;
	}
	
	.gallery-header {
		grid-template-columns: 1fr;
		gap: 15px;
		padding: 0 12px;
	}
	
	.gallery-main-title {
		font-size: 16vw;
		letter-spacing: 0.8vw;
		white-space: normal;
		line-height: 1.2;
	}

	.gallery-left-text {
		gap: 12px;
		padding: 0 8px;
	}
	
	.gallery-left-icon {
		width: 48px;
		height: 48px;
	}

	.gallery-subtitle {
		font-size: 22px;
		line-height: 1.3;
	}
	
	.gallery-right-text {
		position: static;
		text-align: center;
		margin-top: 15px;
	}
	
	.gallery-subtitle-bg {
		width: 180px;
		top: 88%;
	}
	
	/* Trend Center Title */
	.trend-center-title {
		padding: 40px 12px;
	}
	
	.trend-main-title {
		font-size: 24px;
		line-height: 1.3;
	}
	
	.trend-center-icon {
		width: 48px;
		height: 48px;
	}
	
	/* Gallery Right Text */
	.gallery-right-text {
		position: static;
		text-align: center;
		margin-top: 12px;
		padding: 0 10px;
	}
	
	.gallery-subtitle-bg {
		width: 150px;
		opacity: 0.5;
		top: 88%;
	}
	
	.gallery-subtitle-right {
		font-size: 24px;
		line-height: 1.3;
	}
	
	/* AI Label */
	.ai-label {
		padding: 20px 25px;
		margin-bottom: -8px;
	}
	
	.ai-label-bg {
		width: 85%;
		opacity: 0.6;
	}
	
	.ai-label span {
		font-size: 28px;
		line-height: 1.2;
	}
	
	/* Platform Intro */
	.platform-intro-left {
		text-align: center;
		padding: 25px 0;
	}
	
	.platform-title-bg {
		left: 50%;
		width: 100%;
		max-width: 280px;
	}
	
	.platform-title {
		font-size: 24px;
		line-height: 1.3;
	}
	
	.gallery-marquee {
		margin: 9px 0 25px;
	}
	
	.marquee-track {
		gap: 15px;
	}
	
	.marquee-item {
		border-radius: 16px;
	}

	.gallery-main-content {
		grid-template-columns: 1fr;
		padding: 20px 12px 30px;
		gap: 16px;
		margin-top: -15px;
	}
	
	.gallery-left-cards {
		gap: 12px;
	}
	
	.gallery-card {
		border-radius: 20px;
		min-height: 220px;
	}
	
	.card-content {
		min-height: 220px;
		padding: 15px 12px;
	}
	
	.card-title {
		font-size: 18px;
		margin: 0 0 4px 0;
	}
	
	.card-subtitle {
		font-size: 15px;
	}
	
	.card-tags {
		gap: 4px;
	}
	
	.card-tags span {
		font-size: 14px;
		padding-left: 10px;
	}
	
	.card-footer {
		padding: 12px 12px 12px 18px;
		font-size: 12px;
		border-radius: 40px;
	}
	
	.card-footer svg {
		width: 18px;
		height: 18px;
	}

	.gallery-banner-container {
		margin: 30px 10px 30px;
		border-radius: 12px;
	}
	
	.gallery-label {
		font-size: 6px;
		top: 10px;
		left: 10px;
	}
	
	.gallery-swiper-pagination {
		font-size: 8px;
		top: -17px;
	}
	
	.gallery-swiper {
		height: auto;
		min-height: 280px;
	}
	
	.carousel-content {
		display: flex;
		flex-direction: column;
		gap: 15px;
		align-items: flex-start;
		padding: 26px 12px;
	}
	
	.carousel-title {
		font-size: 32px;
		line-height: 0.9;
	}
	
	.carousel-image {
		height: 220px;
		border-radius: 12px;
	}
	
	.carousel-thumbnails {
		gap: 10px;
		padding: 0 10px 10px;
	}
	
	.thumb > div {
		width: 70px;
		height: 50px;
		border-radius: 8px;
	}
	
	.thumb-label {
		font-size: 9px;
	}

	.gallery-right-banner {
		min-height: 350px;
		border-radius: 16px;
	}

	/* Front Page - AI Creation */
	.ai-creation-section {
		padding: 60px 12px 30px;
	}

	.ai-title-wrapper {
		margin-bottom: 40px;
	}

	.ai-section-title {
		font-size: 52px;
		letter-spacing: 6px;
	}

	.ai-content-wrapper {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ai-corner-image {
		min-height: 180px;
		border-radius: 12px;
	}

	.ai-main-content .ai-main-text {
		font-size: 16px;
		line-height: 1.6;
	}

	.ai-corner-text {
		font-size: 15px;
		text-align: center;
		line-height: 1.5;
	}

	.ai-corner-text p {
		margin-top: 8px;
	}

	/* Front Page - Brand Section */
	.brand-section {
		min-height: 280px !important;
		padding: 40px 12px !important;
	}

	.brand-title {
		font-size: 36px !important;
		letter-spacing: 3px !important;
	}

	/* Front Page - Platform Intro */
	.platform-intro-container {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 30px 12px;
	}

	.platform-title {
		font-size: 32px;
		line-height: 1.3;
	}

	.platform-description {
		font-size: 13px;
		line-height: 1.6;
	}

	.platform-cta-btn {
		width: 100%;
		padding: 11px 24px;
		font-size: 13px;
	}

	/* Category Hero Banners */
	.hero-banner-title {
		font-size: 26px;
		letter-spacing: 1.5px;
	}

	.hero-pagination-wrapper {
		bottom: 15px;
		left: 15px;
	}

	.hero-banner-cta-btn {
		bottom: 80px;
		right: 15px;
		padding: 8px 18px;
		font-size: 12px;
	}

	/* Category sections generic padding */
	.category-tabs-section .alignwide,
	.filter-section .alignwide,
	.articles-grid-section .alignwide,
	.container.section-spacing {
		padding-left: 12px;
		padding-right: 12px;
	}
	
	/* Article Cards */
	.article-card-title {
		font-size: 16px;
		line-height: 1.4;
	}
	
	.article-card-excerpt {
		font-size: 12px;
		line-height: 1.5;
	}
	
	.article-card-date {
		font-size: 16px;
	}
	
	/* Right Column - Single Page */
	.content-right {
		gap: 10px !important;
	}
	
	.product-title {
		font-size: 14px !important;
		letter-spacing: 0.5px !important;
		line-height: 1.4 !important;
	}
	
	.product-author,
	.product-date {
		font-size: 11px !important;
	}
	
	.product-meta {
		gap: 8px !important;
		padding: 0 0 12px 0 !important;
	}
	
	.meta-separator {
		font-size: 11px !important;
	}
	
	.design-points-title {
		font-size: 15px !important;
		letter-spacing: -0.5px !important;
		margin: 0 0 12px 0 !important;
	}
	
	.design-points-section .design-point-item {
		padding: 8px 20px !important;
		border: 1.5px solid #1a1a1a !important;
		border-radius: 30px !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}
	
	.design-points-section .design-points-list {
		gap: 8px !important;
		align-items: flex-start !important;
	}
	
	.product-content {
		font-size: 13px !important;
		line-height: 1.8 !important;
	}
	
	.product-content p {
		padding: 6px 0 0 0 !important;
	}
	
	/* Recently Viewed Section */
	.recently-viewed-title {
		font-size: 22px !important;
		padding: 0 0 15px 12px !important;
	}
	
	.fashion-recently-viewed {
		margin: 0 12px !important;
	}
	
	.recently-swiper {
		padding: 10px 0 0 0 !important;
	}
	
	.recently-swiper-next,
	.recently-swiper-prev {
		width: 32px !important;
		height: 32px !important;
		top: 185px !important;
	}
	
	.recently-swiper-next::after,
	.recently-swiper-prev::after {
		font-size: 13px !important;
	}
	
	.recently-swiper-next {
		right: -16px !important;
	}
	
	.recently-swiper-prev {
		left: -16px !important;
	}
	
	.latest-products-single-page .recently-viewed-section .recently-card-title {
		font-size: 13px !important;
		line-height: 1.5 !important;
	}
	
	.latest-products-single-page .recently-viewed-section .recently-card-date {
		font-size: 14px !important;
		margin: 8px 0 0 0 !important;
	}
	
	.latest-products-single-page .recently-viewed-section .recently-card-image {
		border-radius: 20px !important;
	}
	
	/* Latest Products Single Page - Main Content */
	.latest-products-single-page .main-content-section.has-background {
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}
	
	.latest-products-main-content {
		padding: 0 23px !important;
	}
	
	.content-two-columns {
		grid-template-columns: 1fr !important;
		gap: 25px !important;
	}
	
	.content-left,
	.content-right {
		gap: 12px !important;
	}
	
	/* Image Grid：单图缩放系数（覆盖桌面 1.35） */
	.image-grid-container--single {
		--single-cell-scale: 1.06;
	}

	.image-grid-3x2 {
		grid-template-columns: 1fr !important;
		grid-auto-rows: 280px !important; /* ✅ 自动根据内容数量生成行数 */
		gap: 12px !important;
	}
	
	.grid-image-item {
		border-radius: 20px !important;
	}

	.image-grid-container--single .image-grid-3x2 {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		min-height: calc(280px * var(--single-cell-scale)) !important;
		height: calc(280px * var(--single-cell-scale)) !important;
		gap: 0 !important;
	}

	.image-grid-container--single .grid-image-item {
		box-sizing: border-box !important;
		flex: 0 1 auto !important;
		min-width: 0 !important;
		/* 移动端单列格子 = 全宽 × 280px，同比略放大（宽高同乘 scale） */
		width: min(100%, calc(100% * var(--single-cell-scale))) !important;
		max-width: 100% !important;
		height: calc(280px * var(--single-cell-scale)) !important;
		min-height: calc(280px * var(--single-cell-scale)) !important;
	}
	
	/* More Details Section */
	.more-details-section {
		gap: 15px !important;
	}
	
	.details-title {
		font-size: 15px !important;
		letter-spacing: 0.3px !important;
	}
	
	.detail-nav-btn {
		width: 32px !important;
		height: 32px !important;
		margin-top: 6px !important;
	}
	
	.detail-nav-btn svg {
		width: 16px !important;
		height: 16px !important;
	}
	
	.thumbnail-item {
		min-width: 90px !important;
		height: 90px !important;
		border-radius: 12px !important;
	}
	
	.thumbnail-track {
		gap: 10px !important;
	}
	
	/* Video Section */
	.latest-products-single-page .video-section.has-background {
		padding-top: 10px !important;
	}
	
	.video-container {
		padding: 0 12px !important;
	}
	
	.video-wrapper {
		border-radius: 16px !important;
	}
	
	/* Related Posts Section */
	.latest-products-single-page .related-posts-section.has-background {
		padding-top: 35px !important;
		padding-bottom: 40px !important;
	}
	
	.latest-products-single-page .fashion-related-posts {
		padding: 0 12px !important;
	}
	
	/* Recently Viewed Section */
	.latest-products-single-page .recently-viewed-section.has-background {
		padding-top: 25px !important;
		padding-bottom: 50px !important;
	}
	
	.latest-products-single-page .fashion-recently-viewed {
		padding: 0 12px !important;
	}
	
	/* Fashion Trends Single Page */
	.fashion-article-header {
		padding: 15px 12px 0 12px !important;
	}
	
	.fashion-article-header .article-title {
		font-size: 18px !important;
		line-height: 1.3 !important;
		letter-spacing: -0.1px !important;
		margin: 6px 0 !important;
	}
	
	.fashion-article-header .article-meta {
		font-size: 11px !important;
		gap: 8px !important;
		line-height: 1.4 !important;
	}
	
	.fashion-article-content {
		font-size: 13px !important;
		line-height: 1.8 !important;
	}
	
	.fashion-article-content p {
		margin-bottom: 15px !important;
	}
	
	.fashion-trends-single-page .article-content-section.has-background {
		padding: 18px 12px !important;
	}
	
	/* Overview Section */
	.fashion-overview-container {
		grid-template-columns: 1fr !important;
		gap: 25px !important;
		padding: 20px 12px 35px 12px !important;
	}
	
	.overview-left .overview-title {
		font-size: 42px !important;
		line-height: 1.1 !important;
	}
	
	.overview-left .overview-subtitle {
		font-size: 14px !important;
		padding: 0 0 8px 0 !important;
	}
	
	.overview-left .overview-content {
		font-size: 13px !important;
		line-height: 1.6 !important;
	}
	
	.overview-right .overview-images {
		flex-direction: column !important;
		gap: 20px !important;
	}
	
	.overview-image-card {
		width: 100% !important;
		height: 280px !important;
		border-radius: 16px !important;
	}
	
	.overview-image-card.overview-image-1,
	.overview-image-card.overview-image-2 {
		margin-top: 0 !important;
	}
	
	.image-card-overlay {
		padding: 12px !important;
	}
	
	.image-card-title {
		font-size: 11px !important;
		line-height: 1.4 !important;
	}
	
	.image-card-link-icon {
		top: 12px !important;
		right: 12px !important;
		width: 30px !important;
		height: 30px !important;
	}
	
	.image-card-link-icon svg {
		width: 18px !important;
		height: 18px !important;
	}
	
	/* Design Details Section */
	.fashion-trends-single-page .design-details-swiper-section.has-background {
		padding-top: 18px !important;
		padding-bottom: 40px !important;
	}
	
	.design-details-container {
		padding: 0 12px !important;
	}
	
	.design-details-title {
		font-size: 22px !important;
		margin-bottom: 20px !important;
		padding: 0 0 0 12px !important;
	}
	
	.design-section {
		padding: 0 0 25px 0 !important;
	}

	.design-section-content {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		padding: 0 12px !important;
	}
	
	.design-left {
		gap: 12px !important;
	}
	
	.design-meta .design-part {
		font-size: 32px !important;
		letter-spacing: 0.5px !important;
		margin-bottom: 5px !important;
	}
	
	.design-meta .design-title {
		font-size: 42px !important;
		line-height: 1.1 !important;
	}
	
	.design-meta .design-subtitle {
		font-size: 14px !important;
		margin: -5px 0 10px !important;
	}
	
	.image-brand-label {
		bottom: 8px !important;
		left: 8px !important;
		padding: 4px 10px !important;
		font-size: 10px !important;
		border-radius: 4px !important;
	}
	
	.design-main-image {
		height: 240px !important;
		border-radius: 16px !important;
	}
	
	.design-small-images {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 8px !important;
	}
	
	.design-small-image {
		height: 120px !important;
		border-radius: 12px !important;
	}
	
	.design-points-wrapper {
		padding: 12px 12px 18px 12px !important;
	}
	
	.design-points-title {
		font-size: 16px !important;
		margin-bottom: 12px !important;
	}
	
	.design-points-section .design-points-list {
		gap: 10px !important;
		align-items: flex-start !important;
	}
	
	.design-points-list li {
		padding-left: 14px !important;
		font-size: 12px !important;
		letter-spacing: 0.3px !important;
		line-height: 1.4 !important;
	}
	
	.design-points-list li::before {
		top: 5px !important;
		width: 6px !important;
		height: 6px !important;
	}
	
	.design-right {
		gap: 12px !important;
	}
	
	.design-excerpt {
		font-size: 13px !important;
		line-height: 1.6 !important;
		padding: 0 12px;
	}
	
	.design-image-grid {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
	
	.grid-image-tall,
	.grid-image-wide {
		height: 200px !important;
		border-radius: 14px !important;
	}
	
	/* Highlights Summary Section */
	.fashion-trends-single-page .highlights-summary-section.has-background {
		padding-top: 40px !important;
		padding-bottom: 35px !important;
	}
	
	.fashion-highlights-summary {
		margin: 0 12px !important;
	}
	
	.highlights-title {
		font-size: 22px !important;
		margin-bottom: 35px !important;
	}

	.title-bg-svg {
		width: 130px !important;
	}
	
	.highlights-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
	
	.highlight-item {
		padding: 18px !important;
		border-radius: 16px !important;
	}
	
	.highlight-number {
		font-size: 32px !important;
		width: 50px !important;
		height: 50px !important;
		line-height: 50px !important;
	}
	
	.highlight-title {
		font-size: 15px !important;
		margin-bottom: 8px !important;
	}
	
	.highlight-description {
		font-size: 12px !important;
		line-height: 1.6 !important;
	}
	
	/* Related Posts Section */
	.fashion-trends-single-page .related-posts-section.has-background {
		padding-top: 35px !important;
		padding-bottom: 35px !important;
	}
	
	.related-posts-title {
		font-size: 22px !important;
		letter-spacing: 0.5px !important;
		padding: 0 0 0 20px !important;
	}
	
	.related-posts-container {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		padding: 0 12px !important;
	}
	
	.related-col-1 .related-post-image,
	.related-col-2 .related-post-image,
	.related-col-3 .related-post-image {
		min-height: 200px !important;
		border-radius: 16px !important;
	}
	
	.related-post-title {
		font-size: 14px !important;
		line-height: 1.4 !important;
		margin-top: 10px !important;
	}
	
	/* Recently Viewed Section (Fashion Trends) */
	.fashion-trends-single-page .recently-viewed-section.has-background {
		padding-top: 25px !important;
		padding-bottom: 40px !important;
	}
	
	/* Post Tags Section */
	.fashion-trends-single-page .post-tags-section.has-background {
		padding-top: 25px !important;
		padding-bottom: 25px !important;
	}
	
	.post-tags-wrapper {
		padding: 0 12px !important;
	}
	
	.post-tags-title {
		font-size: 15px !important;
		margin-bottom: 12px !important;
	}
	
	.tag-list {
		gap: 8px !important;
	}
	
	.tag-item {
		padding: 6px 14px !important;
		font-size: 11px !important;
		border-radius: 20px !important;
	}
	
	/* Image Lightbox */
	.image-lightbox-overlay .lightbox-button-prev,
	.image-lightbox-overlay .lightbox-button-next {
		width: 40px !important;
		height: 40px !important;
	}
	
	.image-lightbox-overlay .lightbox-button-prev {
		left: max(10px, calc(env(safe-area-inset-left, 0px) + 8px)) !important;
	}
	
	.image-lightbox-overlay .lightbox-button-next {
		right: max(10px, calc(env(safe-area-inset-right, 0px) + 8px)) !important;
	}
	
	.image-lightbox-overlay .lightbox-button-prev svg,
	.image-lightbox-overlay .lightbox-button-next svg {
		width: 22px !important;
		height: 22px !important;
	}
	
	.image-lightbox-overlay .lightbox-pagination {
		bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 10px)) !important;
		padding: 6px 14px !important;
		border-radius: 18px !important;
		gap: 6px !important;
	}
	
	.image-lightbox-overlay .lightbox-pagination span {
		font-size: 12px !important;
	}
	
	.loading-spinner {
		width: 35px !important;
		height: 35px !important;
		border-width: 3px !important;
	}
	
	.loading-text {
		font-size: 13px !important;
	}
	
	.loading-progress-bar {
		height: 4px !important;
	}
	
	/* Footer */
	.footer-top-wrapper {
		padding: 0 12px;
	}
	
	.footer-top-menu {
		justify-content: center;
		padding: 0 12px 15px;
	}
	
	.footer-nav .footer-menu-list {
		flex-direction: column;
		gap: 10px;
		align-items: center;
	}
	
	.footer-menu-list li a {
		font-size: 12px;
	}
	
	.footer-newsletter-star-wrap {
		flex-direction: column;
		gap: 20px;
		padding: 15px;
	}
	
	.footer-newsletter-column {
		order: -1;
		max-width: 100%;
		width: 100%;
		box-sizing: border-box;
		padding: 0 10px;
	}
	
	.newsletter-header-wrapper {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		margin-top: 10px;
		margin-bottom: 12px;
	}
	
	.newsletter-title {
		font-size: 16px;
		line-height: 1.3;
	}
	
	.newsletter-subtitle {
		font-size: 11px;
		line-height: 1.4;
	}
	
	.newsletter-logo-img {
		height: 28px;
	}
	
	.newsletter-half-circle-bg {
		display: none;
	}
	
	.footer-star-column {
		display: none;
	}
	
	.footer-newsletter-form {
		flex-direction: column;
		width: 100%;
	}
	
	.footer-newsletter-form .wpcf7-form {
		flex-direction: column;
		width: 100%;
		gap: 10px;
	}
	
	.footer-newsletter-form .wpcf7-form-control-wrap {
		width: 100%;
		max-width: 100%;
	}
	
	.newsletter-email-input,
	.footer-newsletter-form .wpcf7-email {
		max-width: 100%;
		width: 100%;
		box-sizing: border-box;
		padding: 10px 12px;
		font-size: 13px;
	}
	
	.newsletter-submit-btn,
	.footer-newsletter-form .wpcf7-submit {
		width: 100%;
		box-sizing: border-box;
		padding: 11px 20px;
		font-size: 13px;
	}
	
	/* Footer Hero Mode - 手机端样式 */
	body.footer-hero-mode .site-footer .footer-newsletter-form .wpcf7-submit {
		color: #fff;
		border-color: rgba(255, 255, 255, 0.8);
		background: transparent;
		padding: 11px 20px;
		font-size: 13px;
	}
	
	body.footer-hero-mode .site-footer .footer-newsletter-form .wpcf7-submit:hover {
		background: rgba(255, 255, 255, 0.2);
		color: #fff;
	}
	
	body.footer-hero-mode .site-footer .footer-newsletter-form .wpcf7-email {
		color: #fff;
		border-color: rgba(255, 255, 255, 0.6);
		background: rgba(255, 255, 255, 0.1);
	}
	
	body.footer-hero-mode .site-footer .footer-newsletter-form .wpcf7-email::placeholder {
		color: rgba(255, 255, 255, 0.7);
	}
	
	.footer-bottom-left-group {
		display: none;
	}
	
	.footer-dots-horizontal {
		display: none;
	}
	
	.dot-pattern-grid {
		display: none;
	}
	
	.footer-icp-beian {
		width: 100%;
		margin-top: 12px;
		text-align: left;
		font-size: 10px;
	}
	
	.footer-icp-beian a {
		font-size: 10px;
	}
	
	.beian-icon {
		width: 14px;
		height: 14px;
	}
	
	.footer-address {
		width: 100%;
		margin-top: 10px;
		text-align: left;
	}
	
	.footer-address__name,
	.footer-address__street {
		font-size: 10px;
		line-height: 1.5;
	}
	
	/* Footer Main Section Mobile */
	.footer-main-section {
		padding: 25px 12px 0;
	}
	
	/* Footer：底部区块与主区同一「外边 + 内边」节奏，避免备案/地址栏比上方黑色分隔线更宽 */
	.footer-bottom-section {
		padding: 30px 12px;
		box-sizing: border-box;
	}
	
	.footer-bottom-grid {
		grid-template-columns: 1fr;
		gap: 25px;
		padding: 0 12px;
		box-sizing: border-box;
	}

	.footer-bottom-item {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	.footer-icp-beian,
	.footer-address {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	
	/* Footer Star Column Mobile */
	.star-circle-deco {
		display: none; /* 隐藏星星装饰 */
	}
	
	.newsletter-half-circle-bg {
		display: none; /* 隐藏半圆背景 */
	}
	
	/* Footer Half Circle Mobile */
	.footer-half-circle-wrap {
		display: none; /* 手机端完全隐藏半圆包装器 */
	}
	
	/* Footer Circle Copyright Mobile */
	.footer-circle-copyright {
		display: none; /* 手机端完全隐藏版权圆圈 */
	}
	
	/* Footer Bottom Left Group Mobile */
	.footer-bottom-left-group {
		display: none !important; /* 手机端完全隐藏整个左侧组 */
	}
	
	/* Dot Pattern Mobile */
	.dot-pattern-grid {
		display: none !important; /* 隐藏点状图案 */
	}
	
	.footer-dots-horizontal {
		display: none !important; /* 手机端隐藏点状横向布局 */
	}
	
	/* Newsletter Form Mobile - 修复宽度溢出 */
	.footer-newsletter-column {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0 10px;
	}
	
	.footer-newsletter-form {
		width: 100%;
		box-sizing: border-box;
	}
	
	.footer-newsletter-form .wpcf7-form {
		width: 100%;
		box-sizing: border-box;
	}
	
	.footer-newsletter-form .wpcf7-form-control-wrap {
		width: 100%;
		max-width: 100%;
		display: block;
	}
	
	.newsletter-email-input,
	.footer-newsletter-form .wpcf7-email {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.newsletter-submit-btn,
	.footer-newsletter-form .wpcf7-submit {
		width: 100% !important;
		box-sizing: border-box;
	}
	
	/* Color Section - 手机端单列布局 */
	.color-section {
		padding: 40px 12px 0 12px;
	}

	.color-title-wrapper {
		margin-bottom: 24px;
		padding: 15px 0;
	}

	.color-section-title {
		font-size: 16vw;
		letter-spacing: 5px;
	}

	.color-cards-container {
		padding: 0;
	}

	.color-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.color-card,
	.color-card > a.color-card-link {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.color-text-wrapper {
		width: 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.color-name-vertical {
		writing-mode: horizontal-tb;
		font-size: 32px;
	}

	.color-label {
		font-size: 16px;
		text-align: left;
	}

	.color-image-wrapper {
		width: 100%;
	}

	.color-image {
		height: 240px;
		border-radius: 12px;
	}

	/* 首页 COLOR Section 设计卡片行（.color-row-*）在手机端改为单列 */
	.color-cards-container {
		margin-top: -20px;
	}

	.color-row {
		grid-template-columns: 1fr !important;
		gap: 12px;
		margin-bottom: 12px;
	}

	.color-card {
		min-height: 260px;
	}

	.color-card-text {
		padding: 20px 15px;
	}

	.card-text-overlay h3 {
		font-size: 26px;
		line-height: 1.3;
	}

	.card-text-overlay p {
		font-size: 12px;
		line-height: 1.5;
	}

	/* Platform Intro - 手机端纵向排布 */
	.platform-intro-container {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 30px 12px;
	}

	.platform-intro-left {
		text-align: center;
	}

	.platform-title-bg {
		left: 50%;
	}

	.platform-title {
		font-size: 28px;
		line-height: 1.3;
	}

	.platform-description {
		font-size: 13px;
		line-height: 1.6;
	}

	.platform-cta-btn {
		width: 100%;
		box-sizing: border-box;
		padding: 11px 18px;
		font-size: 13px;
		align-self: stretch;
	}
	
	/* Parent Category Navigation Mobile */
	.parent-category-nav {
		gap: 8px;
		padding: 12px 12px 8px 12px;
	}
	
	.parent-nav-tab {
		padding: 4px 12px;
		font-size: 11px;
	}
	
	.category-filter-wrapper {
		gap: 8px;
	}
	
	.category-filter-label {
		font-size: 12px;
		padding-left: 12px;
	}
	
	.category-filter-tabs {
		gap: 6px;
		padding: 20px 12px 20px 0;
	}
	
	.filter-tab {
		padding: 5px 14px;
		font-size: 11px;
	}
	
	/* Featured Posts Grid Mobile */
	.featured-posts-grid {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(4, 200px);
		gap: 12px;
	}
	
	.featured-post-1,
	.featured-post-2,
	.featured-post-3,
	.featured-post-4 {
		grid-column: 1 / 2;
		border-radius: 12px;
	}
	
	.featured-post-1 {
		grid-row: 1 / 2;
	}
	
	.featured-post-2 {
		grid-row: 2 / 3;
	}
	
	.featured-post-3 {
		grid-row: 3 / 4;
	}
	
	.featured-post-4 {
		grid-row: 4 / 5;
	}
	
	.featured-post-title {
		font-size: 14px;
		line-height: 1.4;
		-webkit-line-clamp: 3;
	}
	
	.featured-post-overlay {
		padding: 15px;
	}
	
	/* Articles Grid Mobile */
	.articles-grid-container {
		gap: 18px;
	}
	
	.article-card-image {
		border-radius: 12px;
	}
	
	/* Custom Pagination Mobile（仅尺寸量级与列表标题 14px 协调；特异度对齐 .custom-pagination-container .page-numbers 基础样式） */
	.custom-pagination-container {
		margin-top: 20px;
		padding: 0 12px;
		gap: 10px;
		flex-direction: column;
		align-items: stretch;
	}
	
	.pagination-pages {
		gap: 8px;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.custom-pagination-container .page-numbers {
		font-size: 14px;
		min-width: 18px;
		height: 28px;
		padding: 0 4px;
	}

	.custom-pagination-container .page-numbers.current {
		font-size: 13px;
		min-width: 28px;
		height: 32px;
		padding: 0 8px;
		border-radius: 10px;
	}

	.custom-pagination-container .page-numbers.dots {
		font-size: 13px;
	}

	.pagination-jump {
		margin-left: 0;
		justify-content: center;
	}

	.custom-pagination-container .pagination-jump {
		font-size: 14px;
		gap: 8px;
	}

	.custom-pagination-container .jump-input {
		width: 52px;
		height: 30px;
		font-size: 13px;
		padding: 0 8px;
	}

	.custom-pagination-container .pagination-jump .jump-text {
		font-size: 14px;
	}
}

/* ========================================================================
   Utility Classes
   ======================================================================== */

.container {
	margin: 0 auto;
}

.section-spacing {

}

.text-center {
	text-align: center;
}

.mb-xl {
	margin-bottom: var(--spacing-xl);
}

.mb-lg {
	margin-bottom: var(--spacing-lg);
}

.mb-md {
	margin-bottom: var(--spacing-md);
}

.mb-sm {
	margin-bottom: var(--spacing-sm);
}

/* ========================================
   Fashion Trends Single Post Styles
   ======================================== */

/* Article Header */
.fashion-article-header {
	padding: 25px 30px 0 30px;
}

.fashion-article-header .article-title {
    font-size: 28px;
	line-height: 1.2;
    letter-spacing: -0.25px;
    font-weight: 100;
    margin: 10px 0;
	color: #1a1a1a;
	text-align: left;
}

.fashion-article-header .article-meta {
    font-size: 18px;
    line-height: 1.3;
	color: #666;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
}

.fashion-article-header .meta-separator {
	color: #ddd;
}

/* Article Content */
.fashion-article-content {
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}

.fashion-article-content p {
	margin-bottom: 20px;
}

/* Overview Section */
.fashion-overview-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
    gap: 117px;
    padding: 34px 30px 93px 30px;
}

.overview-left .overview-title {
	font-family: 'MangoGrotesque', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
    font-size: 85px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.overview-left .overview-subtitle {
    font-size: 22px;
    color: #999;
    font-weight: 400;
    margin: 0;
    padding: 0 0 5px 0;
}

.overview-left .overview-content {
    font-size: 19px;
    line-height: 1.55;
	color: #555;
}

.overview-right .overview-images {
	display: flex;
	gap: 55px;
	align-items: center;
}

.overview-image-card {
	position: relative;
	width: 50%;
    height: 424px;
	border-radius: 20px;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.3s ease;
}

.overview-image-card.overview-image-1 {
	margin-top: 92px;
}

.overview-image-card.overview-image-2 {
	margin-top: -94px;
}

.overview-image-card:hover {
	transform: scale(1.02);
}

.image-card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 16px;
	display: none;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
}

.image-card-title {
	color: white;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	display: block;
}

.image-card-link-icon {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	display: none !important; /* Hide link icon */
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.overview-image-card:hover .image-card-link-icon {
	transform: scale(1.1);
}

/* Image Brand Label */
.image-brand-label {
	position: absolute;
	bottom: 15px;
	left: 15px;
	padding: 6px 14px;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	font-size: 13px;
	border-radius: 6px;
	backdrop-filter: blur(5px);
	z-index: 5;
	font-weight: 500;
}

/* Image Lightbox（Swiper 灯箱：选择器挂在 .image-lightbox-overlay 下，避免与首页 .marquee-lightbox 冲突）
 * top:0「无效」多为：(1) 祖先 transform 导致 fixed 参照错位——JS 已将 #imageLightbox 移到 body；(2) iOS 高度链——补全 vh/dvh/-webkit-fill-available；(3) 层叠被盖住——提高 z-index */
.image-lightbox-overlay {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	min-height: -webkit-fill-available;
	max-height: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	isolation: isolate;
	z-index: 100100;
	background: rgba(0, 0, 0, 0.95);
	display: none;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	-webkit-overflow-scrolling: touch;
}

.image-lightbox-overlay.active {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 1;
}

.image-lightbox-overlay .lightbox-close-btn {
	position: absolute;
	top: calc(var(--lb-block-pad) + env(safe-area-inset-top, 0px));
	right: calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px));
	width: clamp(40px, 10vmin, 50px);
	height: clamp(40px, 10vmin, 50px);
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.3s ease;
	z-index: 10001;
}

.image-lightbox-overlay .lightbox-close-btn:hover {
	background: rgba(255, 255, 255, 0.2);
}

.image-lightbox-overlay .lightbox-content {
	box-sizing: border-box;
	position: relative;
	align-self: center;
	width: 100%;
	max-width: 100%;
	flex: 0 1 auto;
	height: auto;
	min-height: 0;
	/* 整块（图 + 文案 + 绝对定位控件所占垂直空间）在视口内居中；超高则仅此区域滚动 */
	max-height: min(
		calc(var(--lb-vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)),
		100dvh
	);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding-top: calc(var(--lb-block-pad) + env(safe-area-inset-top, 0px));
	padding-bottom: calc(var(--lb-block-pad) + env(safe-area-inset-bottom, 0px) + clamp(48px, 12vmin, 72px));
	padding-left: calc(var(--lb-inline-pad) + env(safe-area-inset-left, 0px));
	padding-right: calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px));
	gap: clamp(8px, 2vmin, 14px);
}

.image-lightbox-overlay .lightbox-meta {
	flex: 0 0 auto;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.image-lightbox-overlay .lightbox-swiper {
	flex: 0 1 auto;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	box-sizing: border-box;
	position: relative;
}

.image-lightbox-overlay .lightbox-swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: 0;
	box-sizing: border-box;
}

.image-lightbox-overlay .lightbox-swiper .swiper-slide img {
	max-width: 100%;
	width: auto;
	height: auto;
	max-height: min(85vh, 85dvh, calc(var(--lb-vh) - var(--lb-chrome-y)));
	object-fit: contain;
	object-position: center;
	border-radius: clamp(6px, 1.2vw, 10px);
}

.image-lightbox-overlay .lightbox-button-prev,
.image-lightbox-overlay .lightbox-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(44px, 11vmin, 60px);
	height: clamp(44px, 11vmin, 60px);
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10001;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.image-lightbox-overlay .lightbox-button-prev:hover,
.image-lightbox-overlay .lightbox-button-next:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: translateY(-50%) scale(1.1);
}

.image-lightbox-overlay .lightbox-button-prev {
	left: max(8px, calc(var(--lb-inline-pad) + env(safe-area-inset-left, 0px)));
}

.image-lightbox-overlay .lightbox-button-next {
	right: max(8px, calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px)));
}

.image-lightbox-overlay .lightbox-button-prev svg,
.image-lightbox-overlay .lightbox-button-next svg {
	width: clamp(22px, 6vmin, 32px);
	height: clamp(22px, 6vmin, 32px);
}

.image-lightbox-overlay .lightbox-pagination {
	position: absolute;
	bottom: max(12px, calc(var(--lb-block-pad) + env(safe-area-inset-bottom, 0px)));
	left: 50%;
	transform: translateX(-50%);
	max-width: calc(100% - 32px);
	background: rgba(0, 0, 0, 0.7);
	padding: clamp(8px, 2vmin, 10px) clamp(14px, 4vmin, 20px);
	border-radius: 25px;
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: 10001;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-sizing: border-box;
}

.image-lightbox-overlay .lightbox-pagination span {
	color: white;
	font-size: clamp(14px, 3.5vmin, 16px);
	font-weight: 600;
}

.lightbox-separator {
	color: rgba(255, 255, 255, 0.5);
	margin: 0 5px;
}

.lightbox-current {
	color: #FFD700;
}

/* Lightbox Loading Progress（marquee 与 Swiper 灯箱共用 id/class） */
.lightbox-loading {
	position: absolute;
	inset: 0;
	transform: none;
	z-index: 10000;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	/* 手机：左右触控安全区；桌面分别见 .image-lightbox-overlay / .marquee-lightbox .lightbox-image */
	padding: clamp(16px, 4vw, 24px) clamp(90px, 8vw, 28%);
	border-radius: clamp(14px, 3vw, 20px);
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(12px, 3vw, 20px);
	min-width: unset;
	box-shadow: none;
	box-sizing: border-box;
}

/*
 * 桌面端加载层 padding 不能写在「全局 .lightbox-loading」上用大块 vw：
 * 首页 Marquee 里加载层在 .lightbox-image（约 min(500px,100%)）内，vw 会远大于容器宽，把内容区挤没。
 * 全屏 Swiper 灯箱用 .image-lightbox-overlay 单挂一套 vw。
 */
@media (min-width: 769px) {
	.image-lightbox-overlay .lightbox-loading {
		padding-block: clamp(16px, 4vw, 24px);
		padding-inline: clamp(48px, min(18vw, 24%), 420px);
	}

	.marquee-lightbox .lightbox-image .lightbox-loading {
		padding-block: clamp(12px, 3vmin, 24px);
		padding-inline: clamp(14px, 7%, 40px);
	}

	/*
	 * 进度条 width:100% 会撑满加载层内容区；桌面全屏灯箱内容区很宽，条会显得过长。
	 * 手机端外层窄，100% 刚好，故只在桌面限制 max-width。
	 */
	.lightbox-loading .loading-progress-bar {
		max-width: min(300px, 100%);
	}
}

.lightbox-loading.active {
	display: flex;
	animation: lightboxLoadingFadeIn 0.3s ease;
}

@keyframes lightboxLoadingFadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.loading-spinner {
	width: 50px;
	height: 50px;
	border: 4px solid rgba(255, 255, 255, 0.1);
	border-top-color: #FFD700;
	border-radius: 50%;
	animation: lightboxSpinnerSpin 1s linear infinite;
}

@keyframes lightboxSpinnerSpin {
	to { transform: rotate(360deg); }
}

.loading-text {
	color: white;
	font-size: clamp(14px, 3.5vw, 16px);
	font-weight: 500;
	text-align: center;
}

.loading-progress-bar {
	width: 100%;
	height: 6px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 3px;
	overflow: hidden;
	position: relative;
}

.loading-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, #FFD700, #FFA500);
	border-radius: 3px;
	width: 0%;
	transition: width 0.3s ease;
	box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.loading-percentage {
	color: #FFD700;
	font-size: clamp(1.1rem, 4vw, 1.5rem);
	font-weight: 700;
	font-family: 'Arial', sans-serif;
}

.image-lightbox-overlay .lightbox-download-btn {
	position: absolute;
	bottom: max(18px, calc(var(--lb-block-pad) + env(safe-area-inset-bottom, 0px)));
	right: max(12px, calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px)));
	display: flex;
	align-items: center;
	gap: clamp(6px, 2vw, 10px);
	padding: clamp(10px, 2.5vw, 12px) clamp(16px, 4vw, 24px);
	background: rgba(255, 215, 0, 0.9);
	color: #1a1a1a;
	border: none;
	border-radius: 50px;
	font-size: clamp(13px, 3.2vw, 15px);
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10001;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 4px 20px rgba(255, 215, 0, 0.3);
	max-width: calc(100% - 24px);
	box-sizing: border-box;
}

.image-lightbox-overlay .lightbox-download-btn:hover {
	background: rgba(255, 215, 0, 1);
	transform: translateY(-2px);
	box-shadow: 0 6px 25px rgba(255, 215, 0, 0.5);
}

.image-lightbox-overlay .lightbox-download-btn svg {
	width: clamp(18px, 4vw, 20px);
	height: clamp(18px, 4vw, 20px);
	flex-shrink: 0;
}

.image-lightbox-overlay .lightbox-download-btn:active {
	transform: translateY(0);
}

@media (max-width: 768px) {
	.image-lightbox-overlay .lightbox-download-btn {
		bottom: max(56px, calc(var(--lb-block-pad) + env(safe-area-inset-bottom, 0px) + 44px));
		right: max(12px, calc(var(--lb-inline-pad) + env(safe-area-inset-right, 0px)));
		padding: 10px 18px;
		font-size: 13px;
		gap: 6px;
	}
}

/* WeChat Download Hint Overlay（须高于 .image-lightbox-overlay / mega 全屏层 100100） */
.wechat-download-overlay {
	position: fixed;
	inset: 0;
	z-index: 100200;
	display: none;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.wechat-download-overlay.active {
	opacity: 1;
	pointer-events: auto;
}

.wechat-download-mask {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
}

.wechat-download-panel {
	position: absolute;
	right: 18px;
	top: 18px;
	max-width: 320px;
	background: rgba(255, 255, 255, 0.98);
	border-radius: 18px;
	padding: 18px 18px 16px 18px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wechat-download-icon {
	align-self: flex-end;
}

.wechat-download-icon svg {
	width: 56px;
	height: 56px;
}

.wechat-download-text h3 {
	margin: 0 0 6px 0;
	font-size: 16px;
	font-weight: 700;
	color: #111;
	line-height: 1.6;
}

.wechat-download-text p {
	margin: 0;
	font-size: 13px;
	color: #555;
	line-height: 1.8;
}

.wechat-download-text .wechat-download-tip {
	margin-top: 6px;
	font-size: 12px;
	color: #999;
}

.wechat-download-close {
	align-self: flex-end;
	margin-top: 4px;
	padding: 6px 14px;
	border-radius: 999px;
	border: none;
	background: #111;
	color: #fff;
	font-size: 12px;
	cursor: pointer;
}

.wechat-download-close:hover {
	background: #000;
}

@media (max-width: 768px) {
	.wechat-download-panel {
		left: 16px;
		right: 16px;
		top: 24px;
		max-width: none;
	}

	.wechat-download-icon svg {
		width: 48px;
		height: 48px;
	}
}

/* Lightbox Image with Blur Effect */
.image-lightbox-overlay .lightbox-swiper .swiper-slide img.loading {
	filter: blur(10px);
	opacity: 0.5;
}

.image-lightbox-overlay .lightbox-swiper .swiper-slide img.loaded {
	filter: none;
	opacity: 1;
	transition: filter 0.5s ease, opacity 0.5s ease;
}

/* Design Details Sections (垂直排列) */
.fashion-design-sections {
	width: 100%;
}

.design-section {
	width: 100%;
	padding: 0 0 97px 0;
}

.design-section:last-child {
	padding: 0 0 40px 0;
}

.design-section:not(:last-child) {
	/*border-bottom: 1px solid #e0e0e0;*/
}

.design-section-content {
    display: grid;
    grid-template-columns: 0.84fr 1fr;
    gap: 23px;
    padding: 0 38px;
    margin: 0 auto;
}

/* Design Left */
.design-left {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.design-meta .design-part {
    font-size: 56px;
    color: #999;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 0;
    font-weight: 500;
    line-height: 1;
	font-family: 'MangoGrotesque', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.design-meta .design-title {
    font-size: 78px;
    font-weight: 700;
    margin: 0;
    color: #1a1a1a;
	font-family: 'MangoGrotesque', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.design-meta .design-subtitle {
    font-size: 23px;
    color: #666;
    margin: -7px 0 8px;
    padding: 0;
	font-family: 'DINMedium', 'PoppinsRegular', 'Helvetica Neue', Arial, sans-serif;
}

.design-main-image {
	position: relative;
	width: 100%;
	height: 606px;
	border-radius: 20px;
	background-size: cover;
	background-position: center;
}

.design-clickable-image {
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.design-clickable-image:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.design-placeholder {
	background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
	position: relative;
}

.design-placeholder::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
}

.design-points-wrapper {
	padding: 16px 0 0 0;
}

.design-points-title {
	font-size: 27px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #1a1a1a;
	position: relative;
	display: inline-block;
	padding-left: 0;
	position: relative;
    z-index: 1;
}

.title-bg-decoration {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	width: 120%;
	min-width: 150px;
	height: auto;
	opacity: 0.3;
}

.title-bg-decoration img {
	width: 100%;
	height: auto;
	display: block;
}

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

.design-points-list li {
    padding-left: 16px;
    position: relative;
    font-size: 19px;
    letter-spacing: 1px;
    line-height: 1.5;
    color: #555;
}

.design-points-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 8px;
	height: 8px;
	background: #555;
	border-radius: 50%;
}

/* Design Right */
.design-right {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.design-excerpt {
    font-size: 19px;
    line-height: 1.6;
    color: #000000;
}

.design-excerpt p {
	margin: 0;
	padding: 0;
}

.design-image-grid {
	display: grid;
	grid-template-columns: 1fr 0.86fr;
	gap: 15px;
}

.grid-column {
	display: flex;
	flex-direction: column;
	gap: 19px;
}

.grid-image {
	position: relative;
	width: 100%;
    height: 285px;
	border-radius: 15px;
	background-size: cover;
	background-position: center;
}

.grid-image-tall {
    height: 437px;
    border-radius: 30px;
}

.grid-placeholder {
	background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
}

/* Highlights Summary */
.fashion-highlights-summary {
	margin: 0 30px;
}

.highlights-title {
	font-size: 39px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 78px;
	color: #1a1a1a;
	position: relative;
	display: inline-block;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 40px;
	font-family: 'AlimamaFangYuan', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.title-bg-svg img {
	width: 100%;
	height: auto;
	display: block;
}

.highlights-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 70px;
}

.highlight-card {
	background: white;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.highlight-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.highlight-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    border-radius: 22px;
}

.highlight-title {
    font-size: 21px;
    font-weight: 600;
	letter-spacing: 0.9px;
    margin: 27px 20px 20px 20px;
    color: #1a1a1a;
}

.highlight-description {
    font-size: 14px;
    line-height: 1.55;
	color: #666;
    margin: 0 19px 38px 19px;
}

/* Related Posts */
.fashion-related-posts {
	margin: 0 30px;
}

.related-posts-grid {
	display: grid;
	grid-template-columns: 1.63fr 1fr 1fr;
	grid-template-rows: auto auto auto;
	gap: 20px;
}

/* First column: title + image (spans 3 rows) */
.related-col-1 {
	grid-column: 1;
	grid-row: 1 / 4;
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.related-posts-title {
	font-size: 38px;
    font-weight: 700;
    margin: 0;
    color: #1a1a1a;
    letter-spacing: 1.9px;
    padding: 3px 0 0 49px;
    font-family: 'AlimamaFangYuan', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.related-col-1 .related-post-item {
	flex: 1;
	display: block;
}

.related-col-1 .related-post-image {
	height: 100%;
	min-height: 441px;
}

/* Second column: 2 images (each spans different rows) */
.related-col-2 {
	grid-column: 2;
	grid-row: 1 / 4;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.related-col-2 .related-post-item {
	flex: 1;
	display: block;
}

.related-col-2 .related-post-image {
	height: 100%;
	min-height: 200px;
}

/* Third column: 1 image (spans 3 rows) */
.related-col-3 {
	grid-column: 3;
	grid-row: 1 / 4;
}

.related-col-3 .related-post-item {
	display: block;
	height: 100%;
}

.related-col-3 .related-post-image {
	height: 100%;
	min-height: 300px;
}

/* Common styles for all related items */
.related-post-item {
	position: relative;
	border-radius: 26px;
	overflow: hidden;
	display: block;
	text-decoration: none;
}

.related-post-image {
	width: 100%;
	height: 100%;
	min-height: 300px;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	transition: transform 0.3s ease;
}

.related-post-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s ease;
}

.related-post-item:hover .related-post-image::before {
	transform: scale(1.1);
}

.related-post-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 30px 20px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

.related-post-title {
	color: white;
	font-size: 18px;
	font-weight: 600;
	margin: 0;
}

.related-post-icon {
    position: absolute;
    top: 26px;
    right: 26px;
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.related-post-item:hover .related-post-icon {
	background-color: rgba(0, 0, 0, 0.8);
}

/* Recently Viewed */
.fashion-recently-viewed {
	margin: 0 30px;
}

.recently-viewed-title {
    font-size: 39px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    padding: 0 0 25px 29px;
	font-family: 'AlimamaFangYuan', 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.recently-viewed-swiper {
	position: relative;
}

.recently-swiper {
	padding: 15px 0 0 0;
}

.recently-viewed-card {
	display: block;
	background-color: #ffffff;
	border-radius: 15px;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.recently-viewed-card:hover {
	transform: translateY(-5px);
}

.recently-card-image {
	width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
	background-size: cover;
	background-position: center;
	border-radius: 15px;
    margin-bottom: 14px;
}

.recently-card-title {
    font-size: 22px;
    font-weight: 500;
    color: #1a1a1a;
    letter-spacing: 0.6px;
    line-height: 1.42;
    margin: 0;
    padding: 7px 16px 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.recently-card-date {
    font-size: 19px;
    color: #999;
    margin: 0;
    padding: 12px 16px 45px 16px;
    font-weight: 500;
}

.recently-swiper-next,
.recently-swiper-prev {
	width: 45px;
	height: 45px;
	top: 188px;
	right: -21px;
	background: white;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.recently-swiper-next::after,
.recently-swiper-prev::after {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
}

.recently-swiper-next {
	top: 188px;
	right: -21px;
}

.recently-swiper-prev {
	top: 188px;
	left: -21px;
}

/* ========================================
   Post Tags Section
   ======================================== */

.post-tags-section {
	background: #f8f8f8;
}

.fashion-post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.fashion-post-tags a {
	display: inline-block;
	padding: 8px 20px;
	background: #fff;
	color: #666;
	text-decoration: none;
	border-radius: 25px;
	font-size: 14px;
	transition: all 0.3s ease;
	border: 1px solid #e0e0e0;
}

.fashion-post-tags a:hover {
	background: #1a1a1a;
	color: #fff;
	border-color: #1a1a1a;
	transform: translateY(-2px);
}

/* ========================================
   Post Navigation Section
   ======================================== */

.post-navigation-section {
	background: #fff;
}

/* Hide post navigation section if it's completely empty */
.post-navigation-section:has(.wp-block-post-navigation:empty) {
	display: none;
}

.post-navigation-section .wp-block-group {
	max-width: 1200px;
	margin: 0 auto;
}

.post-navigation-section .wp-block-post-navigation {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	padding: 0;
}

/* Hide empty navigation links but keep grid structure */
.post-navigation-section .wp-block-post-navigation-link:empty {
	visibility: hidden;
}

/* Previous post (left side) */
.post-navigation-section .wp-block-post-navigation-link--previous {
	text-align: left;
}

/* Next post (right side) */
.post-navigation-section .wp-block-post-navigation-link--next {
	text-align: right;
}

.post-navigation-section .wp-block-post-navigation-link a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: #1a1a1a;
	transition: color 0.3s ease;
}

.post-navigation-section .wp-block-post-navigation-link a:hover {
	color: #666;
}

/* Arrow styling - simple text */
.post-navigation-section .wp-block-post-navigation-link__arrow-previous,
.post-navigation-section .wp-block-post-navigation-link__arrow-next {
	font-size: 20px;
	font-weight: 400;
	transition: transform 0.3s ease;
}

.post-navigation-section .wp-block-post-navigation-link--previous a:hover .wp-block-post-navigation-link__arrow-previous {
	transform: translateX(-3px);
}

.post-navigation-section .wp-block-post-navigation-link--next a:hover .wp-block-post-navigation-link__arrow-next {
	transform: translateX(3px);
}

/* Hide label */
.post-navigation-section .post-navigation-link__label {
	display: none;
}

/* Title styling */
.post-navigation-section .post-navigation-link__title {
	font-size: 16px;
	font-weight: 400;
	color: inherit;
	line-height: 1.4;
}

/* ========================================
   Comments Section
   ======================================== */

.comments-section {
	background: #f8f8f8;
}

.comments-section .wp-block-comments {
	background: #fff;
	padding: 40px;
	border-radius: 15px;
}

.comments-section .wp-block-comments-title {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 30px;
	color: #1a1a1a;
	padding-bottom: 15px;
	border-bottom: 2px solid #e0e0e0;
}

.comments-section .wp-block-comment {
	padding: 20px 0;
	border-bottom: 1px solid #f0f0f0;
}

.comments-section .wp-block-comment:last-child {
	border-bottom: none;
}

.comments-section .wp-block-comment-author-name {
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 5px;
}

.comments-section .wp-block-comment-date {
	font-size: 13px;
	color: #999;
	margin-bottom: 10px;
}

.comments-section .wp-block-comment-content {
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}

.comments-section .wp-block-comment-reply-link {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 15px;
	background: #f8f8f8;
	color: #666;
	text-decoration: none;
	border-radius: 5px;
	font-size: 13px;
	transition: all 0.3s ease;
}

.comments-section .wp-block-comment-reply-link:hover {
	background: #1a1a1a;
	color: #fff;
}

.comments-section .wp-block-post-comments-form {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 2px solid #e0e0e0;
}

.comments-section .wp-block-post-comments-form h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #1a1a1a;
}

.comments-section .comment-form input[type="text"],
.comments-section .comment-form input[type="email"],
.comments-section .comment-form input[type="url"],
.comments-section .comment-form textarea {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	font-size: 14px;
	transition: border-color 0.3s ease;
	margin-bottom: 15px;
}

.comments-section .comment-form input[type="text"]:focus,
.comments-section .comment-form input[type="email"]:focus,
.comments-section .comment-form input[type="url"]:focus,
.comments-section .comment-form textarea:focus {
	outline: none;
	border-color: #1a1a1a;
}

.comments-section .comment-form textarea {
	min-height: 120px;
	resize: vertical;
}

.comments-section .comment-form input[type="submit"] {
	padding: 12px 30px;
	background: #1a1a1a;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
}

.comments-section .comment-form input[type="submit"]:hover {
	background: #333;
	transform: translateY(-2px);
}

/* Responsive Styles for Fashion Single */
@media (max-width: 1200px) {
	.fashion-overview-container,
	.design-section-content {
		gap: 40px;
		padding: 0 30px;
	}
	
	.highlights-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.image-lightbox-overlay .lightbox-button-prev {
		left: max(16px, calc(env(safe-area-inset-left, 0px) + 12px));
	}
	
	.image-lightbox-overlay .lightbox-button-next {
		right: max(16px, calc(env(safe-area-inset-right, 0px) + 12px));
	}
}

@media (max-width: 768px) {
	.fashion-article-header .article-title {
		font-size: 32px;
	}
	
	.fashion-overview-container {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	/* 手机端：overview 左栏独立 padding（默认 0；与 `.fashion-overview-container` 的 padding 叠加时请按需调整） */
	.overview-left {
		padding: 0 12px;
	}
	
	.overview-image-card {
		height: 300px;
	}
	
	.overview-image-card.overview-image-1,
	.overview-image-card.overview-image-2 {
		margin-top: 0;
	}
	
	.design-section-content {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 0 20px;
	}
	
	.design-image-grid {
		grid-template-columns: 1fr;
	}
	
	.grid-image-tall {
		height: 180px;
	}
	
	.highlights-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.related-posts-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}
	
	.related-col-1,
	.related-col-2,
	.related-col-3 {
		grid-column: 1;
		grid-row: auto;
	}
	
	.related-posts-title {
		font-size: 32px;
		margin-bottom: 20px;
	}
	
	.related-col-1 .related-post-image,
	.related-col-2 .related-post-image,
	.related-col-3 .related-post-image {
		min-height: 250px;
	}
	
	.recently-swiper {
		padding: 0 50px;
	}
	
	/* Post Tags responsive */
	.fashion-post-tags a {
		padding: 6px 15px;
		font-size: 13px;
	}
	
	/* Post Navigation responsive */
	.post-navigation-section .wp-block-post-navigation {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.post-navigation-section .wp-block-post-navigation-link--previous,
	.post-navigation-section .wp-block-post-navigation-link--next {
		text-align: left;
	}
	
	.post-navigation-section .post-navigation-link__title {
		font-size: 15px;
	}
	
	/* Comments responsive */
	.comments-section .wp-block-comments {
		padding: 25px 20px;
	}
	
	.comments-section .wp-block-comments-title {
		font-size: 24px;
	}
	
	.comments-section .wp-block-post-comments-form h3 {
		font-size: 20px;
	}
	
	/* Lightbox mobile adjustments（Swiper 灯箱） */
	.image-lightbox-overlay .lightbox-close-btn {
		top: max(12px, calc(env(safe-area-inset-top, 0px) + 8px));
		right: max(12px, calc(env(safe-area-inset-right, 0px) + 8px));
		width: 40px;
		height: 40px;
	}
	
	.image-lightbox-overlay .lightbox-button-prev,
	.image-lightbox-overlay .lightbox-button-next {
		width: 45px;
		height: 45px;
	}
	
	.image-lightbox-overlay .lightbox-button-prev {
		left: max(8px, calc(env(safe-area-inset-left, 0px) + 4px));
	}
	
	.image-lightbox-overlay .lightbox-button-next {
		right: max(8px, calc(env(safe-area-inset-right, 0px) + 4px));
	}
	
	.image-lightbox-overlay .lightbox-button-prev svg,
	.image-lightbox-overlay .lightbox-button-next svg {
		width: 24px;
		height: 24px;
	}
	
	.image-lightbox-overlay .lightbox-pagination {
		bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) + 8px));
		padding: 8px 16px;
	}
	
	.image-lightbox-overlay .lightbox-pagination span {
		font-size: 14px;
	}
}


/* ========================================
   Latest Products Single Post Styles
   ======================================== */

/* Latest Products Single Page Sections */
.latest-products-single-page .dual-swiper-section.has-background {
	background-color: #f6f6f6;
}

.latest-products-single-page .main-content-section.has-background {
	background-color: #f6f6f6;
	padding-top: 48px;
	padding-bottom: 45px;
	overflow: visible;
}

.latest-products-single-page .video-section.has-background {
	background-color: #f6f6f6;
	padding-top: 15px;
}

.latest-products-single-page .related-posts-section.has-background {
	background-color: #f6f6f6;
	padding-top: 52px;
	padding-bottom: 60px;
}

.latest-products-single-page .recently-viewed-section.has-background {
	background-color: #f6f6f6;
	padding-top: 30px;
	padding-bottom: 80px;
}

/* Latest Products - Recently Viewed 使用类似 Color Subcategory Products 的卡片样式与 hover 动画（保留 Swiper 功能） */
.latest-products-single-page .recently-viewed-section .fashion-recently-viewed {
	margin: 0 auto;
}

.latest-products-single-page .recently-viewed-section .recently-viewed-swiper {
	margin-top: 15px;
}

.latest-products-single-page .recently-viewed-section .recently-swiper {
	overflow: hidden; /* 隐藏超出当前轮播范围的卡片，只显示当前视窗内的数据 */
}

.latest-products-single-page .recently-viewed-section .swiper-slide {
	height: auto;
}

.latest-products-single-page .recently-viewed-section .recently-viewed-card {
	display: block;
	text-decoration: none;
	background-color: #ffffff00;
	color: inherit;
	cursor: pointer;
}

/* 图片区域：div + background，实现与 Products Grid 相同的圆角、放大和上浮效果 */
.latest-products-single-page .recently-viewed-section .recently-card-image {
	position: relative;
	height: 0;
	padding-bottom: 124%; /* 接近 Products Grid 中的视觉比例 */
	background-size: cover;
	background-position: center;
	border-radius: 30px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.latest-products-single-page .recently-viewed-section .recently-card-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

/* Hover：整体上浮 + 阴影，与 .products-grid-container .product-card hover 一致 */
.latest-products-single-page .recently-viewed-section .recently-viewed-card:hover .recently-card-image {
	transform: translateY(-8px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.latest-products-single-page .recently-viewed-section .recently-viewed-card:hover .recently-card-image::before {
	transform: scale(1.05);
}

/* 文本信息区域：对齐 Products Grid 的标题与副标题风格 */
.latest-products-single-page .recently-viewed-section .recently-card-title {
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 1.6;
    color: #333333;
}

.latest-products-single-page .recently-viewed-section .recently-card-date {
	margin: 12px 0 0 0;
	font-size: 21px;
	color: #999999;
	display: none;
}

/* Top Hero Banner (复用 Fashion Trends Banner) */
.latest-products-single-page .top-hero-banner-section {
	background: #1a1a1a;
}

/* Main Content Section */
.latest-products-main-content {
	margin: 0 auto;
	padding: 0 30px;
	overflow: hidden;
}

/* 网格图 hover 使用 scale，父级 overflow:hidden 会裁切上下；仅在本页放宽为可见 */
.latest-products-single-page .latest-products-main-content,
.latest-products-single-page .latest-products-main-content .content-left,
.latest-products-single-page .latest-products-main-content .image-grid-container {
	overflow: visible;
}

.content-two-columns {
	display: grid;
    grid-template-columns: 1.3fr 1.01fr;
    gap: 37px;
}

/* Left Column */
.content-left {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	overflow: hidden;
}

/* 3x2 Image Grid Container (支持翻页) */
.image-grid-container {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.image-grid-pages {
	position: relative;
	width: 100%;
}

.image-grid-page {
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.image-grid-page.active {
	display: block;
	opacity: 1;
}

.image-grid-3x2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: 424px; /* ✅ 自动根据内容数量生成行数，不再固定3行 */
	gap: 23px;
	width: 100%;
}

/* 单图模式（仅桌面）：必须用 min-width 媒体查询隔离。若在全局对 .grid-image-item 写 height:!important，
 * 会因出现在移动端规则之后而覆盖 280px，出现「子块 424×scale、外壳仅 280×scale」纵向撑破 .image-grid-3x2 */
@media (min-width: 769px) {
	.image-grid-container--single {
		--single-cell-scale: 1.35;
	}

	.image-grid-container--single .image-grid-3x2 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		min-height: calc(424px * var(--single-cell-scale));
		height: calc(424px * var(--single-cell-scale));
		gap: 0;
	}

	.image-grid-container--single .grid-image-item {
		flex: 0 0 auto;
		box-sizing: border-box;
		min-width: 0;
		width: calc((100% - 23px) / 2 * var(--single-cell-scale));
		max-width: min(100%, calc((100% - 23px) / 2 * var(--single-cell-scale)));
		height: calc(424px * var(--single-cell-scale)) !important;
		min-height: calc(424px * var(--single-cell-scale)) !important;
	}
}

.grid-image-item {
	position: relative;
	z-index: 0;
	background-size: cover;
	background-position: center;
	border-radius: 30px;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.3s ease;
}

/* 多图网格：行高由 grid-auto-rows 限定，子项填满单元格（勿作用于单图容器，否则会覆盖单图宽高计算） */
.image-grid-container:not(.image-grid-container--single) .image-grid-3x2 > .grid-image-item {
	width: 100%;
	height: 100%;
}

/* 仅精确指针设备启用 hover 放大，避免触控端粘连 hover 令 transform 画出布局边界 */
@media (hover: hover) and (pointer: fine) {
	.grid-image-item:hover {
		transform: scale(1.05);
		z-index: 2;
	}

	.grid-image-placeholder:hover {
		transform: none;
	}
}

.grid-image-placeholder {
	background: #f0f0f0;
	cursor: default;
}

/* More Details Section */
.more-details-section {
	display: flex;
	flex-direction: column;
	gap: 21px;
}

.details-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.details-title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	margin: 0;
	color: #1a1a1a;
}

.details-navigation {
	display: flex;
	gap: 5px;
}

.detail-nav-btn {
    width: 40px;
    height: 40px;
    margin-top: 10px;
	border: 1px solid #ddd;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
}

.detail-nav-btn:hover:not(:disabled) {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #fff;
}

.detail-nav-btn:hover:not(:disabled) svg path {
	stroke: #fff;
}

.detail-nav-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* Thumbnail Carousel */
.details-thumbnail-carousel {
	overflow: hidden;
	position: relative;
}

.thumbnail-track {
	display: flex;
	gap: 15px;
}

/* 当有超过5张小图时启动跑马灯效果 */
.thumbnail-track.marquee {
	animation: marquee 20s linear infinite;
}

.thumbnail-track.marquee:hover {
	animation-play-state: paused;
}

.thumbnail-item {
    min-width: 124px;
    height: 124px;
	background-size: cover;
	background-position: center;
	border-radius: 15px;
	cursor: pointer;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}

.thumbnail-item:hover {
	transform: scale(1.05);
}

/* Right Column */
.content-right {
	display: flex;
	flex-direction: column;
	gap: 15px;
	min-width: 0;
	overflow: hidden;
}

.product-title {
    font-size: 19px;
	font-weight: 700;
    line-height: 1.15;
	letter-spacing:1.5px;
	margin: 0;
	color: #1a1a1a;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* Latest Products Single Post：右栏标题无 padding（不影响 Products Grid） */
.latest-products-main-content .content-right .product-title {
	padding: 0;
}

/* Product Meta (作者和发布时间) */
.product-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #CCCCCC;
}

.product-author,
.product-date {
	font-size: 21px;
    color: #666666;
    font-weight: 500;
}

.meta-separator {
	color: #ddd;
	font-size: 14px;
}

/* Design Points Section */
.design-points-section {
	margin-top: 5px;
}

.design-points-title {
	font-size: 23px;
	font-weight: 700;
	letter-spacing: -1.5px;
	margin: 30px 0 30px 0;
	color: #1a1a1a;
}

/* 文章页「设计要点」胶囊列表；勿与 design-points-wrapper 内 ul 共用不加 section 的样式 */
.design-points-section .design-points-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.design-points-section .design-point-item {
    padding: 12.5px 35px;
    border: 1px solid #1a1a1a;
    border-radius: 50px;
    font-size: 18px;
	font-weight: 500;
    line-height: 1.6;
    color: #1a1a1a;
    transition: all 0.3s ease;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.design-points-section .design-point-item:hover {
	background: #1a1a1a;
	color: #fff;
}

/* Product Content */
.product-content {
    font-size: 19px;
    line-height: 2.27;
    color: #555;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.product-content p {
	margin: 0;
    padding: 8px 0 0 0;
	font-weight: 500;
}

.product-content img {
	max-width: 100%;
	height: auto;
}

/* Video Section */
.latest-products-video-container {
	margin: 0 30px;
}

.video-wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: 39px;
	background: #000;
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* ========================================================================
   Color Cards Navigation & Pagination (色彩卡片导航)
   ======================================================================== */

/* 导航按钮容器 */
.color-cards-navigation {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	z-index: 20;
	padding: 0 20px;
}

/* 导航按钮 */
.color-cards-prev,
.color-cards-next {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	pointer-events: auto;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.color-cards-prev:hover,
.color-cards-next:hover {
	background: rgba(255, 255, 255, 1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transform: scale(1.1);
}

.color-cards-prev:active,
.color-cards-next:active {
	transform: scale(0.95);
}

.color-cards-prev svg,
.color-cards-next svg {
	color: #1a1a1a;
}

/* 禁用状态 */
.color-cards-prev.disabled,
.color-cards-next.disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

/* 分页指示器 */
.color-cards-pagination {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 30px;
	position: relative;
	z-index: 15;
}

.pagination-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.2);
	cursor: pointer;
	transition: all 0.3s ease;
}

.pagination-dot:hover {
	background: rgba(0, 0, 0, 0.4);
	transform: scale(1.2);
}

.pagination-dot.active {
	background: #1a1a1a;
	width: 30px;
	border-radius: 5px;
}

/* Responsive Styles */
@media (max-width: 768px) {
	.color-cards-navigation {
		padding: 0 10px;
	}
	
	.color-cards-prev,
	.color-cards-next {
		width: 40px;
		height: 40px;
	}
	
	.pagination-dot {
		width: 8px;
		height: 8px;
	}
	
	.pagination-dot.active {
		width: 24px;
	}
}

/* Responsive Styles */
@media (max-width: 1200px) {
	.content-two-columns {
		gap: 40px;
	}
	
	.product-title {
		font-size: 32px;
	}
}

@media (max-width: 768px) {
	.content-two-columns {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	/* 手机端：右栏独立 padding（默认 0；与 `.latest-products-main-content` 等外层留白叠加时请按需改其一） */
	.content-right {
		padding: 0 7px;
	}
	
	.product-title {
		font-size: 28px;
	}
	
	.details-title {
		font-size: 20px;
	}
	
	.image-grid-3x2 {
		grid-auto-rows: 180px; /* ✅ 自动根据内容数量生成行数 */
		gap: 25px;
	}
	
	.thumbnail-item {
		min-width: 120px;
		height: 120px;
	}
	
	.design-points-title {
		font-size: 20px;
	}
}

/* Latest Products - Related Posts & Recently Viewed 复用样式 */
.latest-products-single-page .fashion-recently-viewed,
.latest-products-single-page .fashion-related-posts {
	margin: 0 auto;
	padding: 0 30px;
}

.latest-products-single-page .recently-viewed-swiper,
.latest-products-single-page .related-posts-container {
	position: relative;
}

/* ========================================
   Single AI Creation - Dual Hero Section
   ======================================== */

.ai-creation-single-page .ai-single-hero-section {
	background: #f8f8f8;
	padding: 0 30px;
}

.ai-creation-single-page .ai-single-hero {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 22px 0 0 0;
}

.ai-creation-single-page .ai-single-hero-left,
.ai-creation-single-page .ai-single-hero-right {
	display: flex;
	flex-direction: column;
}

/* 通用图片卡片：div + background，圆角矩形，使用 ::before 放大背景 */
.ai-creation-single-page .ai-single-hero-image {
	position: relative;
	width: 100%;
	height: 0;
	border-radius: 32px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.ai-creation-single-page .ai-single-hero-image::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

/* Hover：仅放大内部背景 */
.ai-creation-single-page .ai-single-hero-image:hover::before {
	transform: scale(1.05);
}

/* 左侧大图：跨行高度更大 */
.ai-creation-single-page .ai-single-hero-image-main {
	padding-bottom: 67.8%;
}

/* 右侧上方图片 */
.ai-creation-single-page .ai-single-hero-image-side {
	padding-bottom: 48.5%;
    margin-bottom: 19px;
}

/* 左侧大图中间白色副标题 */
.ai-creation-single-page .ai-single-hero-subtitle {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 80px;
	font-weight: 600;
	color: #ffffff;
	text-align: center;
	letter-spacing: 4px;
	text-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
	z-index: 2;
}

.ai-creation-single-page .ai-single-hero-text {
	padding: 0;
}

.ai-creation-single-page .ai-single-hero-title {
    margin: 0 0 8px 0;
    letter-spacing: -0.3px;
    font-size: 19px;
    font-weight: 700;
    color: #222;
    line-height: 1.7;
}

.ai-creation-single-page .ai-single-hero-desc {
	margin: 0;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 1px;
    color: #555;
}

@media (max-width: 1024px) {
	.ai-creation-single-page .ai-single-hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ai-creation-single-page .ai-single-hero-image-main {
		padding-bottom: 80%;
	}

	.ai-creation-single-page .ai-single-hero-subtitle {
		font-size: 40px;
	}
}

@media (max-width: 768px) {
	/* 手机端：`.ai-single-hero-section` 本体左右留白（桌面仍用上方全局 `padding: 0 30px`；此处可单独改小屏） */
	.ai-creation-single-page .ai-single-hero-section {
		padding-left: 7px;
		padding-right: 7px;
	}

	.ai-creation-single-page .ai-single-hero {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ai-creation-single-page .ai-single-hero-section .alignwide {
		padding: 0 16px;
	}

	.ai-creation-single-page .ai-single-hero-image-main {
		padding-bottom: 100%;
	}

	.ai-creation-single-page .ai-single-hero-image-side {
		padding-bottom: 60%;
		margin-bottom: 18px;
	}

	.ai-creation-single-page .ai-single-hero-subtitle {
		font-size: 32px;
		letter-spacing: 2px;
	}

	.ai-creation-single-page .ai-single-hero-title {
		font-size: 19px;
	}

	.ai-creation-single-page .ai-single-hero-desc {
		/* 14px = 19px × (PC desc 14 / PC title 19)，与 title 同比例 */
		font-size: 14px;
	}
}

/* ========================================
   Color Subcategory Page Sections
   ======================================== */

/* Hero Banner Section */
.category-color-subcategory .color-inspiration-hero,
.atf-archive-template-category-color-subcategory .color-inspiration-hero {
	padding-top: 0;
	padding-bottom: 0;
}

/* Category Filter Tabs Section */
.category-color-subcategory .container.section-spacing:first-of-type,
.atf-archive-template-category-color-subcategory .container.section-spacing:first-of-type {
	padding-top: 40px;
	padding-bottom: 20px;
}

/* Featured Posts Section */
.category-color-subcategory .container:nth-of-type(2),
.atf-archive-template-category-color-subcategory .container:nth-of-type(2) {
	padding-top: 0;
	padding-bottom: 40px;
}

/* Products Grid Section */
.category-color-subcategory #products-section,
.atf-archive-template-category-color-subcategory #products-section {
	padding-top: 0;
	padding-bottom: 60px;
}

/* ========================================================================
   iOS / iPhone 兼容（Safari、安全区、动态视口、输入聚焦）
   与现有视觉保持一致；需前台 meta viewport 含 viewport-fit=cover
   ======================================================================== */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@supports (padding: env(safe-area-inset-bottom)) {
	.atf-agreement-doc {
		padding-top: max(20px, env(safe-area-inset-top, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
		padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
		padding-left: max(16px, env(safe-area-inset-left, 0px));
	}

	.atf-agreement-gate {
		padding-top: max(20px, env(safe-area-inset-top, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
		padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
		padding-left: max(16px, env(safe-area-inset-left, 0px));
	}

	.atf-auth-modal__dialog {
		min-height: 100vh;
		min-height: 100dvh;
		min-height: -webkit-fill-available;
		padding-top: max(12px, env(safe-area-inset-top, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
		padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
		padding-left: max(16px, env(safe-area-inset-left, 0px));
	}

	.atf-auth-modal__close {
		top: max(32px, calc(env(safe-area-inset-top, 0px) + 12px));
		right: max(32px, calc(env(safe-area-inset-right, 0px) + 12px));
	}

	.atf-contact-admin-modal {
		padding-top: env(safe-area-inset-top, 0px);
		padding-right: env(safe-area-inset-right, 0px);
		padding-bottom: env(safe-area-inset-bottom, 0px);
		padding-left: env(safe-area-inset-left, 0px);
	}
}

/* 小屏：弹层与协议层主操作触控优化（输入框 16px 已在 max-width:960 的 .atf-auth-modal 中统一） */
@media (max-width: 768px) {
	.atf-auth-modal button,
	.atf-auth-modal .atf-auth-text-link,
	.atf-auth-modal .atf-auth-submit,
	.atf-agreement-doc__btn,
	.atf-agreement-doc__contact-link,
	.atf-agreement-doc__newwin {
		touch-action: manipulation;
	}
}

/* Phase 3D-1: 分类归档短码无输出时收起空外壳（由 custom-script.js 打上 .atf-archive-section-empty） */
.atf-archive-section-empty {
	display: none !important;
}

