/**
 * 港口站独立页面 — Neom Business 主题风格
 */

.port-site-page--neom .port-page {
	--port-primary: var(--sp-primary, #d61523);
	--port-text: #242526;
	--port-muted: #666;
	--port-border: #e5e7eb;
	--port-shadow: 0 4px 20px rgba(36, 37, 38, 0.08);
}

.port-site-page--neom .port-page-hero {
	padding: 48px 0 52px;
	background: var(--sp-gradient2, linear-gradient(-137deg, #d61523 0%, #242526 100%));
	color: #fff;
}

.port-site-page--neom .port-page-hero-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}

.port-site-page--neom .port-page-hero-label {
	display: inline-block;
	margin-bottom: 12px;
	padding: 4px 14px;
	font-size: 13px;
	letter-spacing: 0.06em;
	background: rgba(255, 255, 255, 0.12);
	border-left: 3px solid var(--port-primary);
}

.port-site-page--neom .port-page-hero h1 {
	margin: 0 0 12px;
	font-size: 34px;
	line-height: 1.25;
	color: #fff;
}

.port-site-page--neom .port-page-hero p {
	margin: 0;
	max-width: 760px;
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.9);
}

.port-site-page--neom .port-page-body {
	padding: 56px 0 72px;
	background: #fff;
}

.port-site-page--neom .port-page-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}

.port-site-page--neom .port-section {
	margin-bottom: 56px;
}

.port-site-page--neom .port-section:last-child {
	margin-bottom: 0;
}

.port-site-page--neom .port-section-head {
	margin-bottom: 28px;
	text-align: center;
}

.port-site-page--neom .port-section-label {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--port-primary);
}

.port-site-page--neom .port-section-head h2 {
	margin: 0 0 10px;
	font-size: 28px;
	color: var(--port-text);
}

.port-site-page--neom .port-section-head h2 mark {
	color: var(--port-primary);
	background: transparent;
}

.port-site-page--neom .port-section-head p {
	margin: 0 auto;
	max-width: 720px;
	color: var(--port-muted);
	line-height: 1.8;
}

/* 关于我们 */
.port-site-page--neom .port-intro-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 36px;
	align-items: center;
}

.port-site-page--neom .port-intro-text p {
	margin: 0 0 16px;
	line-height: 1.9;
	color: var(--port-text);
}

.port-site-page--neom .port-intro-text ul {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 18px;
}

.port-site-page--neom .port-intro-text li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--port-text) !important;
	-webkit-text-fill-color: currentColor !important;
}

.port-site-page--neom .port-intro-highlights li {
	color: var(--port-text) !important;
	-webkit-text-fill-color: currentColor !important;
}

.port-site-page--neom .port-intro-text li i {
	color: var(--port-primary);
	margin-top: 3px;
}

.port-site-page--neom .port-intro-image img {
	width: 100%;
	border-radius: 12px;
	box-shadow: var(--port-shadow);
}

.port-site-page--neom .port-stats-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.port-site-page--neom .port-stat-card {
	padding: 24px 18px;
	text-align: center;
	border: 1px solid var(--port-border);
	border-radius: 10px;
	box-shadow: var(--port-shadow);
}

.port-site-page--neom .port-stat-card strong {
	display: block;
	font-size: 32px;
	line-height: 1.2;
	color: var(--port-primary);
}

.port-site-page--neom .port-stat-card span {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	color: var(--port-muted);
}

.port-site-page--neom .port-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.port-site-page--neom .port-gallery-item {
	overflow: hidden;
	border-radius: 10px;
	border: 1px solid var(--port-border);
	box-shadow: var(--port-shadow);
	background: #fafafa;
}

.port-site-page--neom .port-gallery-item img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.port-site-page--neom .port-gallery-item a.port-image-lightbox {
	display: block;
	position: relative;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.port-site-page--neom .port-gallery-item .port-image-zoom-hint,
.port-site-page--neom .port-showcase-photo .port-image-zoom-hint {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	opacity: 0;
	transform: scale(0.92);
	transition: opacity 0.2s, transform 0.2s;
	pointer-events: none;
}

.port-site-page--neom .port-image-lightbox:hover .port-image-zoom-hint,
.port-site-page--neom .port-image-lightbox:focus-visible .port-image-zoom-hint {
	opacity: 1;
	transform: scale(1);
}

.port-site-page--neom .port-gallery-item:hover img,
.port-site-page--neom .port-showcase-photo:hover img {
	transform: scale(1.04);
}

.port-site-page--neom .port-gallery-item:hover img {
	transform: scale(1.04);
}

/* 证书完整展示（不裁剪） */
.port-site-page--neom .port-gallery-grid--certs .port-gallery-item {
	background: #fff;
}

.port-site-page--neom .port-gallery-grid--certs .port-gallery-item img {
	height: auto;
	min-height: 0;
	max-height: none;
	object-fit: contain;
	padding: 12px;
}

.port-site-page--neom .port-page-body,
.port-site-page--neom .port-page-body p,
.port-site-page--neom .port-page-body li,
.port-site-page--neom .port-page-body h2,
.port-site-page--neom .port-page-body h3 {
	color: var(--port-text);
	-webkit-text-fill-color: currentColor;
}

.port-site-page--neom .port-page-body mark {
	color: var(--port-primary);
	background: transparent;
	-webkit-text-fill-color: currentColor;
}

.port-site-page--neom .port-partners-row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.port-site-page--neom .port-partner-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 88px;
	padding: 14px;
	border: 1px solid var(--port-border);
	border-radius: 8px;
	background: #fff;
}

.port-site-page--neom .port-partner-logo img {
	max-width: 100%;
	max-height: 52px;
	object-fit: contain;
	filter: grayscale(20%);
	transition: filter 0.2s ease;
}

.port-site-page--neom .port-partner-logo:hover img {
	filter: none;
}

.port-site-page--neom .port-values-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.port-site-page--neom .port-value-card {
	padding: 26px 22px;
	border-top: 4px solid var(--port-primary);
	border-radius: 10px;
	border: 1px solid var(--port-border);
	border-top: 4px solid var(--port-primary);
	box-shadow: var(--port-shadow);
}

.port-site-page--neom .port-value-card h3 {
	margin: 0 0 10px;
	font-size: 18px;
	color: var(--port-text);
}

.port-site-page--neom .port-value-card p {
	margin: 0;
	line-height: 1.8;
	color: var(--port-muted);
	font-size: 14px;
}

/* 展会 / 客户来访 — 图文交替展示 */
.port-site-page--neom .port-showcase-intro {
	padding-bottom: 8px;
}

.port-site-page--neom .port-showcase {
	padding-top: 8px;
	padding-bottom: 12px;
}

.port-site-page--neom .port-showcase-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 36px 40px;
	align-items: center;
}

.port-site-page--neom .port-showcase-layout--reverse .port-showcase-copy {
	order: 2;
}

.port-site-page--neom .port-showcase-layout--reverse .port-showcase-gallery {
	order: 1;
}

.port-site-page--neom .port-showcase-copy h2 {
	margin: 0 0 14px;
	font-size: 28px;
	line-height: 1.3;
	color: var(--port-text);
}

.port-site-page--neom .port-showcase-copy h2 mark {
	color: var(--port-primary);
	background: transparent;
}

.port-site-page--neom .port-showcase-desc {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.9;
	color: var(--port-muted);
}

.port-site-page--neom .port-showcase-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.port-site-page--neom .port-showcase-points li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--port-text);
}

.port-site-page--neom .port-showcase-points li i {
	color: var(--port-primary);
	margin-top: 3px;
	flex-shrink: 0;
}

.port-site-page--neom .port-showcase-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	max-width: 100%;
}

/* 4 张：整齐 2×2 */
.port-site-page--neom .port-showcase-gallery--count-4 {
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

/* 3 张：上 1 大 + 下 2 小 */
.port-site-page--neom .port-showcase-gallery--count-3 {
	grid-template-rows: auto auto;
}

.port-site-page--neom .port-showcase-gallery--count-3 .port-showcase-photo--lead {
	grid-column: 1 / -1;
}

/* 2 张：并排 */
.port-site-page--neom .port-showcase-gallery--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 1 张：单图 */
.port-site-page--neom .port-showcase-gallery--count-1 {
	grid-template-columns: 1fr;
	max-width: 100%;
}

.port-site-page--neom .port-showcase-gallery--empty {
	min-height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	border: 1px dashed var(--port-border);
	border-radius: 10px;
	background: #fafafa;
	color: var(--port-muted);
}

.port-site-page--neom .port-showcase-photo {
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
	border: 1px solid var(--port-border);
	box-shadow: var(--port-shadow);
	background: #f5f5f5;
}

.port-site-page--neom .port-showcase-photo a {
	display: block;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}

.port-site-page--neom .port-showcase-photo img {
	display: block;
	width: 100%;
	height: 168px;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.port-site-page--neom .port-showcase-gallery--count-3 .port-showcase-photo--lead img {
	height: 220px;
}

.port-site-page--neom .port-showcase-gallery--count-1 .port-showcase-photo img {
	height: 240px;
}

.port-site-page--neom .port-intro-text strong {
	color: var(--port-text);
	font-weight: 700;
}

/* 新闻中心 */
.port-site-page--neom .port-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.port-site-page--neom .port-news-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--port-border);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: var(--port-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.port-site-page--neom .port-news-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 36px rgba(36, 37, 38, 0.12);
}

.port-site-page--neom .port-news-card-media img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.port-site-page--neom .port-news-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px;
}

.port-site-page--neom .port-news-date {
	font-size: 13px;
	color: var(--port-primary);
	margin-bottom: 8px;
}

.port-site-page--neom .port-news-card h3 {
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 1.45;
}

.port-site-page--neom .port-news-card h3 a {
	color: var(--port-text);
	text-decoration: none;
}

.port-site-page--neom .port-news-card h3 a:hover {
	color: var(--port-primary);
}

.port-site-page--neom .port-news-excerpt {
	flex: 1;
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.75;
	color: var(--port-muted);
}

.port-site-page--neom .port-news-more {
	font-size: 14px;
	font-weight: 600;
	color: var(--port-primary);
}

.port-site-page--neom .port-pagination {
	margin-top: 36px;
	text-align: center;
}

.port-site-page--neom .port-pagination .nav-links {
	display: inline-flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}

.port-site-page--neom .port-pagination a,
.port-site-page--neom .port-pagination span {
	display: inline-block;
	min-width: 40px;
	padding: 8px 14px;
	border: 1px solid var(--port-border);
	border-radius: 4px;
	color: var(--port-text);
	text-decoration: none;
}

.port-site-page--neom .port-pagination span.current {
	background: var(--port-primary);
	border-color: var(--port-primary);
	color: #fff;
}

.port-site-page--neom .port-empty {
	padding: 48px 24px;
	text-align: center;
	border: 1px dashed var(--port-border);
	border-radius: 10px;
	color: var(--port-muted);
}

/* 联系我们 */
.port-site-page--neom .port-contact-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.port-site-page--neom .port-contact-cards {
	display: grid;
	gap: 16px;
}

.port-site-page--neom .port-contact-card {
	display: flex;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--port-border);
	border-radius: 10px;
	box-shadow: var(--port-shadow);
}

.port-site-page--neom .port-contact-card-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	border-radius: 50%;
	background: var(--sp-gradient2, linear-gradient(-137deg, #d61523 0%, #242526 100%));
	color: #fff;
}

.port-site-page--neom .port-contact-card h3 {
	margin: 0 0 6px;
	font-size: 16px;
}

.port-site-page--neom .port-contact-card p,
.port-site-page--neom .port-contact-card a {
	margin: 0;
	line-height: 1.8;
	color: var(--port-muted);
}

.port-site-page--neom .port-contact-card a {
	color: var(--port-primary);
	font-weight: 600;
}

.port-site-page--neom .port-contact-panel {
	padding: 28px;
	border-radius: 12px;
	background: linear-gradient(135deg, #242526 0%, #3a1218 100%);
	color: #fff;
}

.port-site-page--neom .port-contact-panel h2 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 24px;
}

.port-site-page--neom .port-contact-panel p {
	margin: 0 0 20px;
	line-height: 1.85;
	color: rgba(255, 255, 255, 0.88);
}

.port-site-page--neom .port-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.port-site-page--neom .port-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.port-site-page--neom .port-btn-primary {
	background: var(--port-primary);
	color: #fff !important;
}

.port-site-page--neom .port-btn-outline {
	border: 1px solid rgba(255, 255, 255, 0.65);
	color: #fff !important;
}

.port-site-page--neom .port-btn:hover {
	opacity: 0.92;
}

.port-site-page--neom .port-map-note {
	margin-top: 24px;
	padding: 18px 20px;
	border-left: 4px solid var(--port-primary);
	background: #fafafa;
	border-radius: 0 8px 8px 0;
	color: var(--port-muted);
	line-height: 1.8;
}

/* 联系表单 */
.port-site-page--neom .port-contact-layout--with-form {
	align-items: start;
}

.port-site-page--neom .port-contact-form-panel {
	padding: 28px;
	border: 1px solid var(--port-border);
	border-radius: 12px;
	box-shadow: var(--port-shadow);
	background: #fff;
}

.port-site-page--neom .port-contact-form-title {
	margin: 0 0 8px;
	font-size: 22px;
	color: var(--port-text);
}

.port-site-page--neom .port-contact-form-desc {
	margin: 0 0 20px;
	color: var(--port-muted);
	line-height: 1.7;
}

.port-site-page--neom .port-form-notice {
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.6;
}

.port-site-page--neom .port-form-notice--success {
	background: #ecfdf3;
	border: 1px solid #bbf7d0;
	color: #166534;
}

.port-site-page--neom .port-form-notice--error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.port-site-page--neom .port-form-row {
	display: grid;
	gap: 16px;
	margin-bottom: 16px;
}

.port-site-page--neom .port-form-row--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.port-site-page--neom .port-form-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--port-text);
}

.port-site-page--neom .port-form-field .required {
	color: var(--port-primary);
}

.port-site-page--neom .port-form-field input,
.port-site-page--neom .port-form-field textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--port-border);
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--port-text) !important;
	background: #fff !important;
	-webkit-text-fill-color: currentColor !important;
	box-sizing: border-box;
}

.port-site-page--neom .port-form-field input::placeholder,
.port-site-page--neom .port-form-field textarea::placeholder {
	color: #888 !important;
	opacity: 1;
	-webkit-text-fill-color: #888 !important;
}

.port-site-page--neom .port-form-field input:focus,
.port-site-page--neom .port-form-field textarea:focus {
	border-color: var(--port-primary);
	outline: none;
	box-shadow: 0 0 0 2px rgba(214, 21, 35, 0.12);
}

.port-site-page--neom .port-form-honeypot,
.port-form-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.port-site-page--neom .port-form-submit {
	border: none;
	cursor: pointer;
}

.port-site-page--neom .port-contact-quick {
	margin-top: 8px;
}

.port-site-page--neom .port-contact-quick .port-btn {
	display: inline-flex;
	width: 100%;
	justify-content: center;
}

@media (max-width: 991px) {
	.port-site-page--neom .port-form-row--2 {
		grid-template-columns: 1fr;
	}

	.port-site-page--neom .port-intro-grid,
	.port-site-page--neom .port-contact-layout,
	.port-site-page--neom .port-showcase-layout,
	.port-site-page--neom .port-showcase-layout--reverse .port-showcase-copy,
	.port-site-page--neom .port-showcase-layout--reverse .port-showcase-gallery {
		grid-template-columns: 1fr;
		order: unset;
	}

	.port-site-page--neom .port-stats-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.port-site-page--neom .port-gallery-grid,
	.port-site-page--neom .port-news-grid,
	.port-site-page--neom .port-values-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.port-site-page--neom .port-partners-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.port-site-page--neom .port-showcase-gallery--count-3 .port-showcase-photo--lead {
		grid-column: 1 / -1;
	}

	.port-site-page--neom .port-showcase-photo img,
	.port-site-page--neom .port-showcase-gallery--count-3 .port-showcase-photo--lead img {
		height: 150px;
	}

	.port-site-page--neom .port-showcase-gallery--count-1 .port-showcase-photo img {
		height: 200px;
	}
}

@media (max-width: 600px) {
	.port-site-page--neom .port-page-hero h1 {
		font-size: 26px;
	}

	.port-site-page--neom .port-intro-text ul,
	.port-site-page--neom .port-stats-row,
	.port-site-page--neom .port-gallery-grid,
	.port-site-page--neom .port-news-grid,
	.port-site-page--neom .port-values-grid,
	.port-site-page--neom .port-partners-row {
		grid-template-columns: 1fr;
	}
}
