/* ryzhcn 自定义样式 */

/* ═══════════════ 主题色彩变量 ═══════════════ */
:root {
	--color-bg: #f5f5f5;
	--color-bg-card: #fff;
	--color-bg-dark: #eee;
	--color-bg-darker: #e8e8e8;
	--color-bg-modal: #fff;
	--color-text: #1a1a1a;
	--color-text-secondary: #555;
	--color-text-muted: #888;
	--color-text-dim: #999;
	--color-border: #e0e0e0;
	--color-border-light: #eee;
	--color-border-medium: #ddd;
	--color-accent: #22c55e;
	--color-accent-dim: rgba(34,197,94,0.06);
	--color-accent-border: rgba(34,197,94,0.2);
	--color-header-bg: rgba(255,255,255,0.92);
	--color-header-scrolled: rgba(255,255,255,0.98);
	--color-overlay: rgba(0,0,0,0.45);
	--color-overlay-heavy: rgba(0,0,0,0.6);
	--color-nav-text: #444;
	--color-nav-hover: #111;
	--color-nav-active: #111;
	--color-toggle-bg: #e0e0e0;
	--color-toggle-icon: #555;
	--nav-dropdown-bg: rgba(255,255,255,0.98);
	--color-scrollbar-thumb: #ccc;
	--leaflet-popup-bg: #fff;
	--leaflet-popup-text: #333;
	--leaflet-tile-filter: none;
	--color-hero-video-backdrop: rgba(255,255,255,0.9);
}

[data-theme="dark"] {
	--color-bg: #000;
	--color-bg-card: #111;
	--color-bg-dark: #0a0a0a;
	--color-bg-darker: #080808;
	--color-bg-modal: #111;
	--color-text: #fff;
	--color-text-secondary: #999;
	--color-text-muted: #666;
	--color-text-dim: #777;
	--color-border: #222;
	--color-border-light: #1a1a1a;
	--color-border-medium: #333;
	--color-accent: #22c55e;
	--color-accent-dim: rgba(34,197,94,0.04);
	--color-accent-border: rgba(34,197,94,0.15);
	--color-header-bg: rgba(0,0,0,0.9);
	--color-header-scrolled: rgba(10,10,10,0.98);
	--color-overlay: rgba(0,0,0,0.88);
	--color-overlay-heavy: rgba(0,0,0,0.75);
	--color-nav-text: rgba(255,255,255,0.7);
	--color-nav-hover: #fff;
	--color-nav-active: #fff;
	--color-toggle-bg: #333;
	--color-toggle-icon: #ccc;
	--nav-dropdown-bg: rgba(0,0,0,0.95);
	--color-scrollbar-thumb: #333;
	--leaflet-popup-bg: #3a3a3a;
	--leaflet-popup-text: #e5e5e5;
	--leaflet-tile-filter: invert(90%) hue-rotate(180deg) brightness(0.85) contrast(1.15);
	--color-hero-video-backdrop: rgba(0,0,0,0.28);
}

/* 隐藏 WordPress 管理栏（前台） */
html { margin-top: 0 !important; }
#wpadminbar { display: none !important; }
body { padding-top: 0 !important;
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: var(--color-bg);
color: var(--color-text);
transition: background 0.3s ease, color 0.3s ease;
}

/* ── 亮/暗主题切换按钮 ── */
.theme-toggle {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: var(--color-toggle-bg); border: 1px solid var(--color-border);
	color: var(--color-toggle-icon); cursor: pointer;
	transition: background 0.25s, color 0.25s, transform 0.2s;
	margin-left: 12px; flex-shrink: 0;
}
.theme-toggle:hover { transform: scale(1.1); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle .icon-sun { display: none; }
.theme-toggle .icon-moon { display: block; }
[data-theme="dark"] .theme-toggle .icon-sun { display: block; }
[data-theme="dark"] .theme-toggle .icon-moon { display: none; }

/* ── 多语言切换按钮 ── */
.language-selector {
	display: inline-flex; align-items: center; position: relative;
}
/* translate.js 生成的 select */
.language-selector select {
	appearance: none; -webkit-appearance: none;
	padding: 8px 18px 8px 12px;
	border: 1px solid var(--color-border);
	border-radius: 20px;
	background: var(--color-toggle-bg);
	color: var(--color-nav-text);
	font-size: 13px; font-weight: 500;
	cursor: pointer; outline: none;
	transition: border-color 0.25s, color 0.25s, background 0.25s;
}
.language-selector select:hover {
	border-color: var(--color-accent); color: var(--color-accent);
}
.language-selector select:focus {
	border-color: var(--color-accent); box-shadow: 0 0 0 2px var(--color-accent-dim);
}
/* 下拉箭头 */
.language-selector::after {
	content: ''; position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
	width: 0; height: 0;
	border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid var(--color-nav-text);
	pointer-events: none; transition: border-color 0.25s;
}
.language-selector:hover::after { border-top-color: var(--color-accent); }
/* 下拉选项 */
.language-selector select option {
	background: var(--color-bg-card); color: var(--color-text);
	padding: 8px 12px;
}
/* 文字颜色 */
[data-theme="light"] .text-white { color: #1a1a1a !important; }
[data-theme="light"] .text-white\/70 { color: rgba(0,0,0,0.65) !important; }
[data-theme="light"] .text-white\/50 { color: rgba(0,0,0,0.45) !important; }
[data-theme="light"] .text-\[\#f8f6f3\] { color: #1a1a1a !important; }
[data-theme="light"] .text-gray-300 { color: #555 !important; }
[data-theme="light"] .text-gray-400 { color: #666 !important; }
[data-theme="light"] .text-gray-500 { color: #777 !important; }
[data-theme="light"] .hover\:text-gray-300:hover { color: #444 !important; }

/* 背景颜色 */
[data-theme="light"] .bg-black { background-color: #fff !important; }
[data-theme="light"] .bg-black\/95 { background-color: rgba(255,255,255,0.95) !important; }
[data-theme="light"] .bg-black\/70 { background-color: rgba(255,255,255,0.7) !important; }
[data-theme="light"] #hero-slider .bg-black\/70 { background-color: rgba(0,0,0,0.7) !important; }

/* Hero 焦点图：亮色模式下文字颜色保持与暗色一致 */
[data-theme="light"] #hero-slider .text-white { color: #fff !important; }
[data-theme="light"] #hero-slider .text-gray-300 { color: #d1d5db !important; }
[data-theme="light"] #hero-slider .text-gray-400 { color: #9ca3af !important; }
[data-theme="light"] #hero-slider .text-gray-500 { color: #6b7280 !important; }
[data-theme="light"] #hero-slider .border-white\/20 { border-color: rgba(255,255,255,0.2) !important; }
[data-theme="light"] #hero-slider .hover\:text-\[\#22c55e\]:hover { color: #22c55e !important; }
[data-theme="light"] .bg-black\/40 { background-color: rgba(255,255,255,0.4) !important; }
[data-theme="light"] .bg-\[\#0a0a0a\] { background-color: #fff !important; }
[data-theme="light"] .bg-\[\#111\] { background-color: #fff !important; }
[data-theme="light"] .bg-gray-800 { background-color: #e8e8e8 !important; }

/* 边框颜色 */
[data-theme="light"] .border-\[\#222\] { border-color: #efefef !important; }
[data-theme="light"] .border-white\/10 { border-color: rgba(0,0,0,0.08) !important; }
[data-theme="light"] .border-white\/20 { border-color: rgba(0,0,0,0.12) !important; }
[data-theme="light"] .border-gray-700 { border-color: #efefef !important; }
[data-theme="light"] .border-gray-800 { border-color: #efefef !important; }

/* 品牌名称链接 hover 效果保持 */
[data-theme="light"] .group:hover .group-hover\:text-\[\#22c55e\] { color: #22c55e !important; }
[data-theme="light"] .hover\:text-\[\#22c55e\]:hover { color: #22c55e !important; }
/* hover 变回深色（如按钮 hover:text-black） */
[data-theme="light"] .hover\:text-black:hover { color: #000 !important; }

/* ── 渐变背景覆盖（Tailwind 梯度变量）── */
[data-theme="light"] .from-black {
	--tw-gradient-from: #f5f5f5 var(--tw-gradient-from-position) !important;
	--tw-gradient-to: rgb(245 245 245 / 0) var(--tw-gradient-to-position) !important;
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
[data-theme="light"] .via-black\/80,
[data-theme="light"] .via-black\/95 {
	--tw-gradient-via: rgb(245 245 245 / 0.85) var(--tw-gradient-via-position) !important;
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to) !important;
}
[data-theme="light"] .to-black {
	--tw-gradient-to: #f5f5f5 var(--tw-gradient-to-position) !important;
}
[data-theme="light"] .from-\[\#111\] {
	--tw-gradient-from: #fff var(--tw-gradient-from-position) !important;
	--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position) !important;
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
[data-theme="light"] .to-\[\#1a1a1a\] {
	--tw-gradient-to: #f0f0f0 var(--tw-gradient-to-position) !important;
}
[data-theme="light"] .to-\[\#0a0a0a\] {
	--tw-gradient-to: #f0f0f0 var(--tw-gradient-to-position) !important;
}
[data-theme="light"] .from-\[\#1a1a1a\] {
	--tw-gradient-from: #f5f5f5 var(--tw-gradient-from-position) !important;
	--tw-gradient-to: rgb(245 245 245 / 0) var(--tw-gradient-to-position) !important;
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

/* 导航下拉菜单 */
.nav-dropdown { display: none; }
.nav-item:hover .nav-dropdown { display: block; }

/* 桥接 hover 间隙：鼠标离开 nav-link 到 dropdown 之间的 8px 空白区域 */
.nav-item::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 10px;
	z-index: 1;
}

/* 汉堡菜单动画 */
#mobile-menu-btn span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--color-text);
	transition: all 0.3s;
}
#mobile-menu-btn.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
#mobile-menu-btn.open span:nth-child(2) { opacity: 0; }
#mobile-menu-btn.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* 移动端菜单面板滑入动画 */
#mobile-menu {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.4s ease, opacity 0.3s ease, background 0.3s ease;
}
#mobile-menu.mobile-menu-open {
	max-height: 600px;
	opacity: 1;
}

/* Header 初始状态 */
#site-header {
	background: var(--color-header-bg) !important;
	backdrop-filter: blur(12px);
	transition: background 0.3s ease, box-shadow 0.3s ease;
	border-bottom:1px solid rgba(255,255,255,.16) ;
	box-shadow: 0 1px 6px rgba(0,0,0,0.04);
	font-weight: 700;
}
/* 滚动后加深 */
#site-header.header-scrolled {
	background: var(--color-header-scrolled) !important;
	box-shadow: 0 1px 8px rgba(0,0,0,0.2);
}
[data-theme="dark"] #site-header.header-scrolled {
	box-shadow: 0 1px 8px rgba(0,0,0,0.5);
}
[data-theme="light"] #site-header.header-scrolled {
	box-shadow: 0 1px 12px rgba(0,0,0,0.08);
}

/* 顶部菜单 */
.nav-link{
	display: block;
	padding: .4rem 1.2rem;
	color: var(--color-nav-text);
}
.nav-link:hover,
.nav-link.active { color: var(--color-nav-hover); }
[data-theme="light"] .nav-link:hover { color: #22c55e !important; }

.font-serif{ font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;}

/* Footer 底部导航菜单项 */
footer .space-y-3 li {
	list-style: none;
}
footer .space-y-3 li > a {
	display: block;
	text-decoration: none;
	color: var(--color-text-muted);
	font-size: 0.875rem;
	line-height: 1.25rem;
	transition: color 0.3s;
}
footer .space-y-3 li > a:hover {
	color: var(--color-accent);
}

/* ═══════════════ 案例卡片 & 弹窗（统一） ═══════════════ */

/* ── 筛选 ── */
#case-filter .filter-btn.active { background:#22c55e; color:#000; border-color:#22c55e !important; }
.case-card-hidden { display:none !important; }
#filter-panel { display:block; overflow:hidden; transition:max-height .3s ease,opacity .3s; max-height:500px; opacity:1; }
#filter-panel.collapsed { max-height:0; opacity:0; margin-top:0; padding-top:0; }

/* ── 卡片 ── */
.case-card-new { background:var(--color-bg-card); border: 1px solid var(--color-border-medium); border-radius:12px; overflow:hidden; transition:transform .3s,box-shadow .3s,border .2s; cursor:pointer; }
.case-card-new:hover { transform:translateY(-4px); border: 1px solid #22c55e; box-shadow:0 12px 40px rgba(34,197,94,.15); }
.case-card-new .case-img-wrap { position:relative; overflow:hidden; }
.case-card-new .case-img-wrap img { width:100%; height:260px; object-fit:cover; display:block; transition:transform .5s; }
.case-card-new:hover .case-img-wrap img { transform:scale(1.05); }
.case-card-new .case-info { padding:20px 24px 24px; overflow:hidden; }
.case-card-new .case-title { font-size:18px; font-weight:600; color:var(--color-text); margin-bottom:8px; line-height:1.4; overflow-wrap:break-word; word-break:break-word; }
.case-card-new .case-tag { display:inline-block; font-size:13px; color:#22c55e; margin-bottom:10px; overflow-wrap:break-word; }
.case-card-new .case-desc { font-size:14px; color:var(--color-text-muted); line-height:1.7; overflow-wrap:break-word; }

/* ── 弹窗遮罩 ── */
#case-modal-overlay {
	display:none; position:fixed; inset:0; z-index:9999;
	background:var(--color-overlay); backdrop-filter:blur(6px);
	align-items:center; justify-content:center;
}
#case-modal-overlay.show { display:flex; }

/* ── 首页案例弹窗遮罩（复用案例页样式） ── */
#home-case-modal-overlay {
	display:none; position:fixed; inset:0; z-index:9999;
	background:var(--color-overlay); backdrop-filter:blur(6px);
	align-items:center; justify-content:center;
}
#home-case-modal-overlay.show { display:flex; }
#home-case-modal {
	width:94%; max-width:1200px; height:88vh; max-height:860px;
	border:1px solid var(--color-border-medium);
	background:var(--color-bg-card); border-radius:16px; overflow:hidden;
	display:flex; position:relative; animation:modalIn .25s ease;
}
/* 首页全屏查看器 */
#home-img-viewer {
	display:none; position:fixed; inset:0; z-index:99999;
	background:var(--color-bg); flex-direction:column;
}
#home-img-viewer.show { display:flex; }

/* ── 弹窗主体 ── */
#case-modal {
	width:94%; max-width:1200px; height:88vh; max-height:860px;
	border: 1px solid var(--color-border-medium);
	background:var(--color-bg-card); border-radius:16px; overflow:hidden;
	display:flex; position:relative; animation:modalIn .25s ease;
}
@keyframes modalIn { from{opacity:0; transform:scale(.96)} to{opacity:1; transform:scale(1)} }

/* 关闭按钮 */
.modal-close {
	position:fixed; top:24px; right:24px; z-index:10000;
	width:40px; height:40px; border-radius:50%;
	background:var(--color-bg-card); border:1px solid var(--color-border-medium);
	color:var(--color-text-muted); cursor:pointer; display:flex; align-items:center; justify-content:center;
	transition:background .2s,color .2s,transform .2s;
}
.modal-close:hover { background:var(--color-bg-dark); color:var(--color-text); transform:scale(1.08); }

/* 左侧图片区 */
.modal-left {
	width:56%; min-width:0; background:var(--color-bg-darker);
	display:flex; flex-direction:column; position:relative;
}
.modal-img-bar {
	display:flex; align-items:center; justify-content:space-between;
	padding:14px 18px; background:var(--color-bg-card); color:var(--color-text-muted); font-size:13px;
	border-bottom:1px solid var(--color-border);
}
.modal-img-bar .bar-icons { display:flex; gap:16px; align-items:center; }
.modal-bar-icon { cursor:pointer; opacity:.55; transition:opacity .2s; display:flex; align-items:center; gap:4px; color:var(--color-text-dim); font-size:12px; }
.modal-bar-icon:hover { opacity:1; }

/* 轮播图区 */
.modal-carousel { flex:1; position:relative; overflow:hidden; }
.modal-slide-container {
	width:100%; height:100%; display:flex; transition:transform .4s cubic-bezier(.25,.46,.45,.94);
}
.modal-slide {
	min-width:100%; height:100%; display:flex; align-items:center; justify-content:center;
	padding:24px; background:var(--color-bg-darker);
}
.modal-slide img {
	max-width:100%; max-height:100%; object-fit:contain;
	border-radius:6px; user-select:none; -webkit-user-drag:none;
}

/* 箭头 */
.carousel-arrow {
	position:absolute; top:50%; transform:translateY(-50%);
	width:36px; height:48px; border-radius:6px;
	background:var(--color-overlay); border:1px solid var(--color-border-medium);
	color:var(--color-text); cursor:pointer; display:flex; align-items:center; justify-content:center;
	z-index:5; transition:background .2s,color .2s; backdrop-filter:blur(4px);
}
.carousel-arrow:hover { background:var(--color-overlay-heavy); color:var(--color-text); }
.carousel-arrow.prev { left:8px; }
.carousel-arrow.next { right:8px; }

/* 底部缩略图条 */
.modal-thumbs-strip {
	flex-shrink:0; padding:10px 14px; background:var(--color-bg-dark); border-top:1px solid var(--color-border);
	display:flex; gap:8px; align-items:center;
}
.modal-thumb-item {
	width:64px; height:44px; border-radius:4px; overflow:hidden;
	cursor:pointer; border:2px solid transparent; opacity:.5;
	transition:border-color .2s,opacity .2s; flex-shrink:0;
}
.modal-thumb-item:hover { opacity:.75; }
.modal-thumb-item.active { border-color:#22c55e; opacity:1; }
.modal-thumb-item img { width:100%; height:100%; object-fit:cover; display:block; }

/* 右侧信息区 */
.modal-right {
	width:44%; min-width:0; padding:28px 26px 20px;
	overflow-y:auto; display:flex; flex-direction:column;
}
.modal-right > * { min-width:0; }
.modal-right::-webkit-scrollbar { width:4px; }
.modal-right::-webkit-scrollbar-thumb { background:var(--color-scrollbar-thumb); border-radius:4px; }

/* 分享按钮 */
.modal-share-row {
	display:flex; justify-content:flex-end; margin-bottom:10px; flex-shrink:0;
}
.share-btn {
	display:inline-flex; align-items:center; gap:5px;
	font-size:12px; color:#22c55e; padding:5px 14px;
	border:1px solid #22c55e33; border-radius:6px;
	background:transparent; cursor:pointer; transition:background .15s,color .15s;
}
.share-btn:hover { background:#22c55e11; }

/* 分类标签 + 标题 */
.modal-tags-top { font-size:13px; color:#22c55e; margin-bottom:6px; flex-shrink:0; overflow-wrap:break-word; }
.modal-title { font-size:26px; font-weight:700; color:var(--color-text); margin-bottom:4px; line-height:1.3; overflow-wrap:break-word; word-break:break-word; }
.modal-subtitle { font-size:14px; color:var(--color-text-dim); margin-bottom:16px; flex-shrink:0; overflow-wrap:break-word; word-break:break-word; }

/* 元信息行 */
.modal-meta {
	display:flex; gap:20px; flex-wrap:wrap;
	font-size:13px; color:var(--color-text-secondary); margin-bottom:18px;
	padding-bottom:16px; border-bottom:1px solid var(--color-border-light); flex-shrink:0;
}
.modal-meta span { display:flex; align-items:center; gap:5px; }
.modal-meta svg { width:15px; height:15px; opacity:.65; }

/* 描述框 */
.modal-desc-box {
	background:var(--color-accent-dim); border:1px solid var(--color-accent-border); border-radius:8px;
	padding:14px 16px; margin-bottom:16px; flex-shrink:0;
}
.modal-desc-box p { font-size:13px; color:var(--color-text-secondary); line-height:1.85; margin:0; overflow-wrap:break-word; word-break:break-word; }

/* 标签 pills */
.modal-tag-pills { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px; flex-shrink:0; }
.modal-tag-pill {
	font-size:12px; padding:5px 13px; border-radius:4px;
	border:1px solid var(--color-border-medium); color:var(--color-text-dim); background:transparent; cursor:pointer;
	transition:border-color .15s,color .15s;
}
.modal-tag-pill:hover { border-color:var(--color-text-muted); color:var(--color-text-secondary); }

/* 案例视频模块 */
.modal-video-section { margin-bottom:20px; flex-shrink:0; }
.modal-video-label {
	font-size:13px; color:#22c55e; font-weight:600; margin-bottom:10px;
	display:flex; align-items:center; gap:6px;
}
.modal-video-player {
	width:100%; aspect-ratio:16/9; background:var(--color-bg-dark); border-radius:8px;
	overflow:hidden; position:relative; border:1px solid var(--color-border-light);
	cursor:pointer;
}
.modal-video-player img {
	width:100%; height:100%; object-fit:cover; display:block;
}
.modal-video-overlay {
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	background:rgba(0,0,0,.35); transition:background .2s;
}
.modal-video-player:hover .modal-video-overlay { background:rgba(0,0,0,.2); }
.play-icon {
	width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.15);
	backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.25);
	display:flex; align-items:center; justify-content:center; color:#fff;
	transition:transform .15s,background .15s;
}
.modal-video-player:hover .play-icon { transform:scale(1.08); background:rgba(255,255,255,.22); }
.video-source-line {
	display:flex; align-items:center; justify-content:space-between;
	margin-top:8px; font-size:12px; color:var(--color-text-muted);
}
.video-open-link {
	color:#22c55e; text-decoration:none; display:flex; align-items:center; gap:4px;
	cursor:pointer; transition:color .15s;
}
.video-open-link:hover { color:#4ade80; }

/* ── Hero 视频弹窗 ── */
.hero-video-modal {
	display:none; position:fixed; inset:0; z-index:2147483647;
}
.hero-video-modal.active { display:block; }
.hero-video-backdrop {
	position:absolute; inset:0; background:var(--color-hero-video-backdrop);
	backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.hero-video-dialog {
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	width:90vw; max-width:1100px; aspect-ratio:16/9;
	background:#000; border-radius:12px; overflow:hidden;
	box-shadow:0 0 80px rgba(34,197,94,.12);
	animation:heroVideoIn .3s ease;
}
@keyframes heroVideoIn {
	from { opacity:0; transform:translate(-50%,-50%) scale(.95); }
	to { opacity:1; transform:translate(-50%,-50%) scale(1); }
}
.hero-video-close {
	position:absolute; top:16px; right:16px; z-index:10;
	width:36px; height:36px; border-radius:50%; border:none;
	background:rgba(0,0,0,.8); color:#fff; font-size:16px;
	cursor:pointer; display:flex; align-items:center; justify-content:center;
	transition:background .2s;
}
.hero-video-close:hover { background:rgba(255,255,255,.25); }
.hero-video-inner {
	width:100%; height:100%;
}
.hero-video-inner iframe,
.hero-video-iframe {
	width:100%; height:100%; border:none;
}
.hero-video-native {
	width:100%; height:100%; object-fit:contain; background:#000;
}
/* 移动端适配 */
@media (max-width:768px) {
	.hero-video-dialog { width:96vw; aspect-ratio:16/9; border-radius:8px; }
	.hero-video-close { top:10px; right:10px; width:30px; height:30px; font-size:14px; }
}

/* 分割线 + 推荐 */
.modal-divider { height:1px; background:var(--color-border-light); margin-bottom:16px; flex-shrink:0; }
.modal-rec-title {
	font-size:13px; color:#22c55e; font-weight:600; margin-bottom:12px;
	display:flex; align-items:center; gap:6px; flex-shrink:0;
}
.modal-rec-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.modal-rec-item {
	display:flex; align-items:center; gap:10px; padding:10px 12px;
	background:var(--color-border-light); border-radius:8px; cursor:pointer;
	transition:background .2s; border:1px solid transparent;
}
.modal-rec-item:hover { background:var(--color-bg-dark); border-color:var(--color-border-medium); }
.modal-rec-thumb { width:44px; height:44px; border-radius:6px; object-fit:cover; flex-shrink:0; background:var(--color-bg-card); }
.modal-rec-info { min-width:0; flex:1; display:flex; flex-direction:column; justify-content:center; }
.modal-rec-name { font-size:13px; color:var(--color-text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.modal-rec-cat { font-size:11px; color:var(--color-text-muted); margin-top:2px; }
.modal-rec-ext { color:var(--color-text-muted); font-size:12px; flex-shrink:0; }

/* 全屏查看器 */
#img-viewer { display:none; position:fixed; inset:0; z-index:99999; background:var(--color-bg); }
#img-viewer.show { display:flex; flex-direction:column; }
.imgv-topbar { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; padding:12px 20px; background:var(--color-bg-card); border-bottom:1px solid var(--color-border); }
.imgv-title { font-size:13px; color:var(--color-text-muted); }
.imgv-count { font-size:13px; color:var(--color-text-secondary); }
.imgv-close { width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s; }
.imgv-close:hover { background:var(--color-border-light); color:var(--color-text); }
.imgv-main { flex:1; display:flex;align-items:center;justify-content:center;padding:30px 40px;overflow:hidden;cursor:pointer; }
.imgv-main img { max-width:100%;max-height:100%;object-fit:contain;border-radius:4px; }
.imgv-thumbs { flex-shrink:0; display:flex;justify-content:center;gap:10px;padding:14px 20px 18px;background:linear-gradient(to top,var(--color-bg),transparent); }
.imgv-thumb { width:56px;height:40px;border-radius:4px;object-fit:cover;opacity:.45;border:2px solid transparent;cursor:pointer;transition:all .2s; }
.imgv-thumb:hover { opacity:.75; }
.imgv-thumb.active { border-color:#22c55e; opacity:1; }
.modal-img-wrap { cursor:pointer; }

/* 网格视图 */
.modal-grid-view {
	display:none; position:absolute; inset:0; z-index:30;
	background:var(--color-bg); border-radius:16px; flex-direction:column;
	overflow:hidden; animation:mgridIn .25s ease;
}
.modal-grid-view.show { display:flex; }
@keyframes mgridIn { from{opacity:0;transform:scale(.96);} to{opacity:1;transform:scale(1);} }
.grid-view-header {
	flex-shrink:0; display:flex; align-items:center; justify-content:space-between;
	padding:14px 20px; background:var(--color-bg-card); border-bottom:1px solid var(--color-border);
	font-size:13px; color:var(--color-text-muted);
}
.grid-view-close {
	width:28px;height:28px;border-radius:50%;border:none;background:transparent;
	color:var(--color-text-secondary);cursor:pointer;font-size:18px;display:flex;align-items:center;
	justify-content:center; transition:color .15s,background .15s;
}
.grid-view-close:hover { background:var(--color-border-light); color:var(--color-text); }
.grid-view-body { flex:1; overflow-y:auto; padding:16px; display:flex; flex-wrap:wrap; gap:10px; align-content:flex-start; justify-content:center; }
.grid-view-item {
	width:calc(33.333% - 7px); aspect-ratio:4/3; border-radius:8px; overflow:hidden;
	position:relative; cursor:pointer; background:var(--color-bg-card); transition:transform .2s,box-shadow .2s;
}
.grid-view-item:hover { transform:scale(1.03); box-shadow:0 4px 20px var(--color-overlay); z-index:1; }
.grid-view-item img { width:100%;height:100%;object-fit:cover;display:block; }
.grid-view-idx {
	position:absolute; bottom:6px; right:6px; padding:2px 7px;
	background:var(--color-overlay); color:var(--color-text); font-size:11px; border-radius:10px;
}
@media (max-width:600px) {
	.grid-view-item { width:calc(50% - 5px); }
}

/* ── 联系页 Leaflet 地图 ── */
#contact-location-map .leaflet-container { background: var(--color-bg-dark); }
#contact-location-map .leaflet-tile {
	filter: var(--leaflet-tile-filter);
	-webkit-filter: var(--leaflet-tile-filter);
}
#contact-location-map .leaflet-popup-content-wrapper,
#contact-location-map .leaflet-popup-tip { background: var(--leaflet-popup-bg); color: var(--leaflet-popup-text); box-shadow:0 3px 14px rgba(0,0,0,.6); }
#contact-location-map .leaflet-popup-content { color: var(--leaflet-popup-text); font-size:13px; margin:10px 12px; line-height:1.5; }
#contact-location-map .leaflet-popup-content strong { color:#22c55e; }
#contact-location-map .leaflet-popup-close-button { color:#666 !important; }
#contact-location-map .leaflet-popup-close-button:hover { color: var(--leaflet-popup-text) !important; }
#contact-location-map .leaflet-control-zoom { display:none; }

/* ── 案例分享弹窗 ── */
#share-modal-overlay {
	position:fixed; inset:0; z-index:100000;
	background:var(--color-overlay); backdrop-filter:blur(8px);
	display:flex; align-items:center; justify-content:center;
	opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s;
}
#share-modal-overlay.show { opacity:1; visibility:visible; }

#share-modal {
	width:min(480px,92vw); max-height:90vh; overflow-y:auto;
	background:var(--color-bg-card); border:1px solid var(--color-border-medium); border-radius:16px;
	box-shadow:0 24px 80px rgba(0,0,0,.6), 0 8px 24px rgba(0,0,0,.4);
	transform:scale(.96) translateY(12px); transition:transform .25s cubic-bezier(.16,1,.3,1);
}
#share-modal-overlay.show #share-modal { transform:scale(1) translateY(0); }

.share-modal-header {
	display:flex; align-items:center; justify-content:space-between;
	padding:18px 20px 14px; border-bottom:1px solid var(--color-border);
}
.share-modal-title {
	display:inline-flex; align-items:center; gap:8px;
	font-size:15px; font-weight:600; color:var(--color-text);
}
.share-modal-title svg { width:16px; height:16px; stroke:#22c55e; }
.share-modal-close {
	background:none; border:none; cursor:pointer; padding:4px; border-radius:50%;
	color:var(--color-text-muted); transition:color .15s;
}
.share-modal-close:hover { color:var(--color-text); background:var(--color-border-light); }

/* ── 分享卡片内容区（html2canvas 截图目标）── */
.share-card-content { padding:24px; background:#222226;
	box-sizing:border-box; overflow:hidden;
}

.share-brand-row {
	display:flex; align-items:center; gap:10px; margin-bottom:16px;
	height:40px;
}
.share-brand-logo {
	width:36px; height:36px; border-radius:8px; object-fit:cover; flex-shrink:0;
	display:block;
}
.share-brand-logo-placeholder {
	width:36px; height:36px; min-width:36px; border-radius:8px; background:#22c55e;
	display:flex; align-items:center; justify-content:center;
	font-size:16px; font-weight:700; color:#111; flex-shrink:0;
}
.share-brand-name { font-size:14px; font-weight:600; color:#fff; white-space:nowrap; }
.share-brand-tag { 
	font-size:11px; color:#22c55e; background:rgba(34,197,94,.12); 
	padding:2px 10px; border-radius:10px; white-space:nowrap; flex-shrink:0;
}

.share-case-image-wrap {
	border-radius:10px; overflow:hidden; margin-bottom:16px;
	border:1px solid rgba(255,255,255,.06); width:100%;
	min-height:221px; background:#1a1a2e;
}
.share-case-img {
	width:100%; height:221px; object-fit:cover; display:block;
}

.share-case-title { 
	font-size:18px; font-weight:700; color:#fff; margin-bottom:8px; line-height:1.35; word-break:break-word; 
}
.share-case-desc { 
	font-size:13px; color:#bbb; margin-bottom:14px; line-height:1.65; 
	word-break:break-word; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}

.share-case-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.share-tag-pill {
	font-size:12px; color:#22c55e; background:rgba(34,197,94,.10);
	padding:5px 12px; border-radius:6px; white-space:nowrap; border:1px solid rgba(34,197,94,.20);
}

.share-qr-row {
	display:flex; align-items:flex-start; gap:14px;
	padding-top:16px; border-top:1px solid rgba(255,255,255,.07);
}
.share-qr-canvas {
	width:84px; height:84px; min-width:84px; border-radius:8px; flex-shrink:0;
	background:#fff; border:1px solid #333;
	object-fit:contain;
}
.share-qr-text { font-size:13px; color:#999; line-height:1.6; padding-top:6px; }
.share-qr-sub { font-size:12px; color:#22c55e; margin-top:3px; font-weight:500; }

/* 下载按钮 */
.share-download-btn {
	display:flex; align-items:center; justify-content:center; gap:8px;
	width:calc(100% - 48px); margin:20px auto 14px; padding:14px;
	background:#22c55e; color:#0a0a0a; border:none; border-radius:10px;
	font-size:14px; font-weight:600; cursor:pointer; transition:opacity .15s,transform .1s;
	&:hover { opacity:.88; transform:translateY(-1px); }
	&:active { transform:translateY(0); }
	&:disabled { opacity:.65; cursor:not-allowed; transform:none; }
}

/* 复制链接行 */
.share-copy-row {
	display:flex; align-items:center; gap:8px;
	margin:0 24px 22px; padding:10px 14px;
	background:var(--color-border-light); border-radius:8px;
}
.share-copy-row input {
	flex:1; min-width:0; background:none; border:none; outline:none;
	color:var(--color-text-muted); font-size:12px; cursor:text;
}
.share-copy-row button {
	flex-shrink:0; background:none; border:none; color:#22c55e;
	font-size:12px; font-weight:600; cursor:pointer; padding:4px 12px;
	transition:background .15s;
}
.share-copy-row button:hover { background:rgba(34,197,94,.12); border-radius:4px; }

@media (max-width:600px) {
	#share-modal { width:95vw; }
	.share-card-content { width:auto; padding:16px; margin:12px 12px 0; }
	.share-case-img { width:100%; height:auto; aspect-ratio:16/9; }
	.share-download-btn { width:calc(100% - 32px); margin:14px auto 10px; }
}

/* ── 多语言翻译：全局防文字溢出 ── */
h1, h2, h3, h4, h5, h6, p, li, td, th,
.case-title, .case-desc, .case-tag,
.modal-title, .modal-subtitle, .modal-desc-box p,
.share-case-title, .share-case-desc {
	overflow-wrap: break-word;
	word-break: break-word;
}
