/*
Theme Name: OpenLX Blocksy Production
Theme URI: https://www.openlx.cn/
Description: OpenLX 文旅 GEO·中国文旅 AI 信源基础设施的生产候选 Child Theme。
Author: OpenLX
Template: blocksy
Version: 1.0.4
Text Domain: openlx-blocksy
*/

:root {
	--brand-primary: #18263A;
	--brand-secondary: #37B7C9;
	--brand-surface: #F5F8FA;
	--brand-accent: #D59A3A;
	--brand-ink: #122033;
	--brand-muted: #5E6D7D;
	--brand-line: #D8E1E8;
	--brand-radius: 18px;
	--brand-shadow: 0 24px 56px rgba(18, 32, 51, 0.12);
	--brand-heading-font: "Space Grotesk", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
	--brand-body-font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
	--openlx-reading: min(780px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body.openlx-blocksy-site {
	background: var(--brand-surface);
	color: var(--brand-ink);
	font-family: var(--brand-body-font);
}

body.openlx-blocksy-site .ct-container-full,
body.openlx-blocksy-site .site-main {
	width: 100%;
}

.openlx-site-header {
	background: var(--brand-primary);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	color: #FFFFFF;
	position: relative;
	z-index: 20;
}

.openlx-header__inner {
	align-items: center;
	display: flex;
	gap: 32px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1440px;
	min-height: 92px;
	padding: 12px 32px;
}

.openlx-brand {
	align-items: center;
	display: inline-flex;
	flex: 0 1 250px;
	min-width: 0;
}

.openlx-brand img {
	display: block;
	height: auto;
	max-height: 68px;
	max-width: 220px;
	width: 220px;
}

.openlx-brand__wordmark {
	color: #FFFFFF;
	font-family: var(--brand-heading-font);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.openlx-nav {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}

.openlx-nav__list {
	align-items: center;
	display: flex;
	gap: clamp(14px, 1.5vw, 24px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.openlx-nav__list > li {
	margin: 0;
	position: relative;
}

.openlx-nav a {
	align-items: center;
	color: rgba(255, 255, 255, 0.84);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	min-height: 44px;
	text-decoration: none;
	white-space: nowrap;
}

.openlx-nav a:hover,
.openlx-nav a:focus-visible {
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.openlx-nav__list > .menu-item-has-children > a::after {
	border-bottom: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: "";
	height: 6px;
	margin-left: 7px;
	transform: rotate(45deg) translateY(-2px);
	width: 6px;
}

.openlx-nav__list .sub-menu {
	background: #FFFFFF;
	border: 1px solid var(--brand-line);
	border-radius: 14px;
	box-shadow: 0 22px 48px rgba(5, 18, 35, 0.24);
	display: flex;
	flex-direction: column;
	gap: 0;
	left: 50%;
	list-style: none;
	margin: 0;
	max-height: calc(100vh - 120px);
	min-width: 230px;
	opacity: 0;
	overflow-y: auto;
	padding: 10px;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 6px);
	transform: translate(-50%, 8px);
	transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
	visibility: hidden;
	z-index: 40;
}

.openlx-nav__list > li:nth-last-child(-n+2) > .sub-menu {
	left: auto;
	right: 0;
	transform: translateY(8px);
}

.openlx-nav__list > li:hover > .sub-menu,
.openlx-nav__list > li:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
	visibility: visible;
}

.openlx-nav__list > li:nth-last-child(-n+2):hover > .sub-menu,
.openlx-nav__list > li:nth-last-child(-n+2):focus-within > .sub-menu {
	transform: translateY(0);
}

.openlx-nav__list .sub-menu a {
	border-radius: 9px;
	color: var(--brand-primary);
	display: flex;
	font-size: 14px;
	line-height: 1.4;
	min-height: 42px;
	padding: 10px 12px;
	white-space: normal;
}

.openlx-nav__list .sub-menu a:hover,
.openlx-nav__list .sub-menu a:focus-visible {
	background: var(--brand-surface);
	color: #0D6372;
	text-decoration: none;
}

.openlx-header__action,
.openlx-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	line-height: 1.2;
	min-height: 46px;
	padding: 12px 18px;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.openlx-header__action,
.openlx-button--primary {
	background: var(--brand-secondary);
	color: #06222A;
}

.openlx-header__action:hover,
.openlx-header__action:focus-visible,
.openlx-button--primary:hover,
.openlx-button--primary:focus-visible {
	background: #7BE4EF;
	color: #06222A;
	transform: translateY(-1px);
}

.openlx-button--quiet {
	border-color: rgba(255, 255, 255, 0.42);
	color: #FFFFFF;
}

.openlx-button--quiet:hover,
.openlx-button--quiet:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	border-color: #FFFFFF;
	color: #FFFFFF;
}

.openlx-mobile-menu {
	display: none;
	position: relative;
}

.openlx-mobile-menu summary {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 999px;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	list-style: none;
	min-height: 44px;
	padding: 0 14px;
}

.openlx-mobile-menu summary::-webkit-details-marker { display: none; }

.openlx-mobile-menu__panel {
	background: #FFFFFF;
	border-radius: 14px;
	box-shadow: var(--brand-shadow);
	max-height: calc(100vh - 112px);
	min-width: min(320px, calc(100vw - 32px));
	overflow-y: auto;
	padding: 12px;
	position: absolute;
	right: 0;
	top: 52px;
}

.openlx-mobile-menu__panel a {
	color: var(--brand-primary);
	display: block;
	font-weight: 700;
	padding: 12px;
	text-decoration: none;
}

.openlx-mobile-menu__panel a:hover,
.openlx-mobile-menu__panel a:focus-visible {
	background: var(--brand-surface);
}

.openlx-main { overflow: clip; }

.openlx-hero {
	background: var(--brand-primary);
	color: #FFFFFF;
	padding: clamp(72px, 11vw, 152px) 0 clamp(64px, 9vw, 120px);
}

.openlx-hero__inner {
	display: grid;
	gap: clamp(36px, 6vw, 100px);
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.72fr);
	margin: 0 auto;
	max-width: 1440px;
	padding: 0 32px;
}

.openlx-kicker {
	color: var(--brand-secondary);
	font-family: var(--brand-heading-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 20px;
	text-transform: uppercase;
}

.openlx-hero h1 {
	color: #FFFFFF;
	font-family: var(--brand-heading-font);
	font-size: clamp(52px, 5.15vw, 74px);
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin: 0;
	max-width: none;
}

.openlx-hero h1 span { display: block; }

@media (min-width: 641px) {
	.openlx-hero h1 span:first-child { white-space: nowrap; }
}

.openlx-hero__lede {
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.75;
	margin: 30px 0 0;
	max-width: 660px;
}

.openlx-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 36px;
}

.openlx-system-panel {
	align-self: end;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--brand-radius);
	padding: 24px;
}

.openlx-system-panel__title {
	color: rgba(255, 255, 255, 0.66);
	font-family: var(--brand-heading-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.openlx-system-panel ol {
	counter-reset: openlx-system;
	list-style: none;
	margin: 0;
	padding: 0;
}

.openlx-system-panel li {
	align-items: baseline;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	display: grid;
	gap: 14px;
	grid-template-columns: 28px 1fr;
	padding: 14px 0;
}

.openlx-system-panel li::before {
	color: var(--brand-accent);
	content: "0" counter(openlx-system);
	counter-increment: openlx-system;
	font-family: var(--brand-heading-font);
	font-size: 12px;
	font-weight: 700;
}

.openlx-system-panel strong {
	color: #FFFFFF;
	display: block;
	font-size: 16px;
	line-height: 1.35;
}

.openlx-system-panel span {
	color: rgba(255, 255, 255, 0.62);
	display: block;
	font-size: 13px;
	line-height: 1.55;
	margin-top: 4px;
}

.openlx-section {
	margin: 0 auto;
	max-width: 1440px;
	padding: clamp(70px, 9vw, 132px) 32px;
}

.openlx-section--muted {
	background: #EAF0F4;
	max-width: none;
}

.openlx-section--dark {
	background: #102033;
	color: #FFFFFF;
	max-width: none;
}

.openlx-section--muted > .openlx-section__inner,
.openlx-section--dark > .openlx-section__inner {
	margin: 0 auto;
	max-width: 1376px;
}

.openlx-section__head {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
	margin-bottom: 44px;
}

.openlx-section__head h2 {
	color: var(--brand-primary);
	font-family: var(--brand-heading-font);
	font-size: clamp(32px, 4vw, 58px);
	letter-spacing: -0.045em;
	line-height: 1.06;
	margin: 0;
	max-width: 14ch;
}

.openlx-section__head p {
	color: var(--brand-muted);
	font-size: 17px;
	line-height: 1.75;
	margin: 0;
	max-width: 54ch;
}

.openlx-section--dark .openlx-section__head h2 { color: #FFFFFF; }
.openlx-section--dark .openlx-section__head p { color: rgba(255, 255, 255, 0.7); }

.openlx-capability-grid {
	border-top: 1px solid var(--brand-line);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.openlx-capability {
	border-right: 1px solid var(--brand-line);
	min-height: 260px;
	padding: 28px 28px 28px 0;
}

.openlx-capability + .openlx-capability { padding-left: 28px; }
.openlx-capability:last-child { border-right: 0; }

.openlx-capability__number,
.openlx-method__number,
.openlx-boundary__label {
	color: var(--brand-secondary);
	font-family: var(--brand-heading-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.openlx-capability h3,
.openlx-boundary h3 {
	color: var(--brand-primary);
	font-family: var(--brand-heading-font);
	font-size: 24px;
	line-height: 1.22;
	margin: 24px 0 12px;
}

.openlx-capability p,
.openlx-boundary p {
	color: var(--brand-muted);
	font-size: 15px;
	line-height: 1.72;
	margin: 0;
}

.openlx-method-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.openlx-method {
	border-left: 1px solid rgba(255, 255, 255, 0.18);
	min-height: 240px;
	padding: 24px 24px 24px 28px;
}

.openlx-method:first-child {
	border-left: 0;
	padding-left: 0;
}

.openlx-method h3 {
	color: #FFFFFF;
	font-family: var(--brand-heading-font);
	font-size: 23px;
	line-height: 1.24;
	margin: 24px 0 12px;
}

.openlx-method p {
	color: rgba(255, 255, 255, 0.66);
	font-size: 15px;
	line-height: 1.72;
	margin: 0;
}

.openlx-boundary-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.openlx-boundary {
	background: #FFFFFF;
	border: 1px solid var(--brand-line);
	border-radius: var(--brand-radius);
	min-height: 220px;
	padding: 28px;
}

.openlx-boundary__label { color: var(--brand-accent); }

.openlx-action-panel {
	align-items: end;
	background: var(--brand-primary);
	border-radius: var(--brand-radius);
	color: #FFFFFF;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(30px, 5vw, 58px);
}

.openlx-action-panel h2 {
	color: #FFFFFF;
	font-family: var(--brand-heading-font);
	font-size: clamp(30px, 4vw, 54px);
	letter-spacing: -0.045em;
	line-height: 1.08;
	margin: 0;
	max-width: 13ch;
}

.openlx-action-panel p {
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.75;
	margin: 16px 0 0;
	max-width: 55ch;
}

.openlx-page,
.openlx-article {
	margin: 0 auto;
	max-width: var(--openlx-reading);
	padding: clamp(52px, 8vw, 100px) 0;
}

.openlx-archive {
	margin: 0 auto;
	max-width: 1440px;
	padding: clamp(52px, 8vw, 100px) 32px;
}

.openlx-archive__head {
	max-width: var(--openlx-reading);
}

.openlx-archive__description {
	color: var(--brand-muted);
	font-size: 17px;
	line-height: 1.75;
	margin-top: -10px;
	max-width: 62ch;
}

.openlx-page__eyebrow,
.openlx-article__meta {
	color: var(--brand-muted);
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 14px;
}

.openlx-page h1,
.openlx-article h1,
.openlx-archive h1 {
	color: var(--brand-primary);
	font-family: var(--brand-heading-font);
	font-size: clamp(40px, 5vw, 70px);
	letter-spacing: -0.05em;
	line-height: 1.05;
	margin: 0 0 26px;
}

.openlx-page__content,
.openlx-article__content,
.openlx-archive__content {
	color: var(--brand-ink);
	font-size: 18px;
	line-height: 1.88;
}

.openlx-page__content > * + *,
.openlx-article__content > * + * {
	margin-top: 1.4em;
}

.openlx-article__content h2,
.openlx-page__content h2 {
	color: var(--brand-primary);
	font-family: var(--brand-heading-font);
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.18;
	margin-top: 2em;
	scroll-margin-top: 112px;
}

.openlx-article__content a,
.openlx-page__content a {
	color: #126F80;
	font-weight: 700;
}

.openlx-article__footer {
	border-top: 1px solid var(--brand-line);
	color: var(--brand-muted);
	font-size: 14px;
	line-height: 1.7;
	margin-top: 56px;
	padding-top: 22px;
}

.openlx-article__outline {
	background: #EAF7F8;
	border: 1px solid #A8DEE4;
	border-radius: 14px;
	margin: 0 0 36px;
	padding: 22px 24px;
}

.openlx-article__outline > p {
	color: #0E5964;
	font-family: var(--brand-heading-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.openlx-article__outline ol {
	column-count: 2;
	column-gap: 32px;
	margin: 0;
	padding-left: 20px;
}

.openlx-article__outline li {
	break-inside: avoid;
	color: #126F80;
	line-height: 1.55;
	margin: 0 0 10px;
}

.openlx-article__outline a {
	color: var(--brand-primary);
	font-weight: 700;
	text-decoration: none;
}

.openlx-article__outline a:hover,
.openlx-article__outline a:focus-visible {
	color: #126F80;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.openlx-archive__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.openlx-archive-card {
	background: #FFFFFF;
	border: 1px solid var(--brand-line);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	padding: 24px;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.openlx-archive-card:hover,
.openlx-archive-card:focus-within {
	border-color: #A8DEE4;
	box-shadow: 0 18px 42px rgba(18, 32, 51, 0.1);
	transform: translateY(-2px);
}

.openlx-archive-card__meta {
	color: #126F80;
	font-family: var(--brand-heading-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.openlx-archive-card h2 {
	font-family: var(--brand-heading-font);
	font-size: 25px;
	line-height: 1.25;
	margin: 0;
}

.openlx-archive-card h2 a {
	color: var(--brand-primary);
	text-decoration: none;
}

.openlx-archive-card p {
	color: var(--brand-muted);
	line-height: 1.7;
	margin: 14px 0 0;
}

.openlx-archive-card__link {
	color: #126F80;
	font-size: 14px;
	font-weight: 700;
	margin-top: 22px;
	text-decoration: none;
}

.openlx-archive-card__link:hover,
.openlx-archive-card__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.openlx-archive .navigation.pagination {
	border-top: 1px solid var(--brand-line);
	margin-top: 42px;
	padding-top: 24px;
}

.openlx-archive .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.openlx-archive .page-numbers {
	border: 1px solid var(--brand-line);
	border-radius: 999px;
	color: var(--brand-primary);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	padding: 11px 14px;
	text-decoration: none;
}

.openlx-archive .page-numbers.current,
.openlx-archive .page-numbers:hover,
.openlx-archive .page-numbers:focus-visible {
	background: var(--brand-primary);
	border-color: var(--brand-primary);
	color: #FFFFFF;
}

.openlx-site-footer {
	background: #0E1928;
	color: rgba(255, 255, 255, 0.68);
	padding: 42px 0;
}

.openlx-footer__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1440px;
	padding: 0 32px;
}

.openlx-footer__brand {
	color: #FFFFFF;
	font-family: var(--brand-heading-font);
	font-size: 16px;
	font-weight: 700;
}

.openlx-footer__note {
	font-size: 13px;
	line-height: 1.6;
	margin: 8px 0 0;
}

.openlx-footer__meta {
	font-size: 13px;
	margin: 0;
	text-align: right;
}

.openlx-footer__meta a { color: inherit; text-decoration: none; }
.openlx-footer__meta a:hover,
.openlx-footer__meta a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1180px) {
	.openlx-header__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.openlx-nav,
	.openlx-header__action {
		display: none;
	}

	.openlx-mobile-menu { display: block; }

	.openlx-hero__inner,
	.openlx-section__head,
	.openlx-action-panel {
		grid-template-columns: 1fr;
	}

	.openlx-capability-grid,
	.openlx-method-list,
	.openlx-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.openlx-capability:nth-child(2) { border-right: 0; }

	.openlx-capability:nth-child(3) {
		border-top: 1px solid var(--brand-line);
		padding-left: 0;
	}

	.openlx-capability:nth-child(4) {
		border-right: 0;
		border-top: 1px solid var(--brand-line);
	}

	.openlx-method:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}

	.openlx-boundary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	:root { --openlx-reading: min(100vw - 32px, 780px); }

	.openlx-header__inner,
	.openlx-hero__inner,
	.openlx-section,
	.openlx-archive,
	.openlx-footer__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.openlx-hero { padding-top: 68px; }
	.openlx-hero h1 {
		font-size: clamp(38px, 12vw, 52px);
		max-width: none;
	}
	.openlx-system-panel { padding: 20px; }
	.openlx-section__head { margin-bottom: 34px; }

	.openlx-capability-grid,
	.openlx-method-list,
	.openlx-archive__grid {
		grid-template-columns: 1fr;
	}

	.openlx-article__outline {
		padding: 18px;
	}

	.openlx-article__outline ol {
		column-count: 1;
	}

	.openlx-capability,
	.openlx-capability + .openlx-capability,
	.openlx-capability:nth-child(3),
	.openlx-capability:nth-child(4),
	.openlx-method,
	.openlx-method:first-child,
	.openlx-method:nth-child(3) {
		border-left: 0;
		border-right: 0;
		border-top: 1px solid var(--brand-line);
		min-height: auto;
		padding: 24px 0;
	}

	.openlx-capability:first-child,
	.openlx-method:first-child {
		border-top: 0;
	}

	.openlx-method { border-color: rgba(255, 255, 255, 0.18); }

	.openlx-footer__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.openlx-footer__meta { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* WordPress-editable trust and methodology pages. */
.openlx-preview-status {
	align-items: flex-start;
	background: #EAF7F8;
	border: 1px solid #A8DEE4;
	border-radius: 14px;
	color: #1A4B53;
	display: grid;
	font-size: 14px;
	gap: 6px;
	grid-template-columns: max-content minmax(0, 1fr);
	line-height: 1.65;
	margin: 0 0 42px;
	padding: 16px 18px;
}

.openlx-preview-status strong {
	color: #0E5964;
	font-family: var(--brand-heading-font);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.openlx-doc-intro {
	border-bottom: 1px solid var(--brand-line);
	padding-bottom: 42px;
}

.openlx-doc-kicker,
.openlx-card-label {
	color: #126F80;
	font-family: var(--brand-heading-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.openlx-doc-intro h2,
.openlx-doc-section h2,
.openlx-verification-note h2 {
	color: var(--brand-primary);
	font-family: var(--brand-heading-font);
	font-size: clamp(30px, 4vw, 48px);
	letter-spacing: -0.045em;
	line-height: 1.08;
	margin: 0;
}

.openlx-doc-intro > p:last-child,
.openlx-doc-section > p:last-child,
.openlx-verification-note p {
	color: var(--brand-muted);
	font-size: 18px;
	line-height: 1.85;
	margin: 22px 0 0;
}

.openlx-trust-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 42px;
}

.openlx-trust-card {
	background: #FFFFFF;
	border: 1px solid var(--brand-line);
	border-radius: var(--brand-radius);
	box-shadow: 0 16px 36px rgba(18, 32, 51, 0.06);
	padding: 28px;
}

.openlx-trust-card h3 {
	color: var(--brand-primary);
	font-family: var(--brand-heading-font);
	font-size: 25px;
	letter-spacing: -0.03em;
	line-height: 1.2;
	margin: 0;
}

.openlx-trust-card > p:last-child {
	color: var(--brand-muted);
	font-size: 16px;
	line-height: 1.75;
	margin: 14px 0 0;
}

.openlx-doc-section {
	border-top: 1px solid var(--brand-line);
	margin-top: 52px;
	padding-top: 52px;
}

.openlx-process-list {
	counter-reset: openlx-process;
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
}

.openlx-process-list li {
	align-items: baseline;
	border-top: 1px solid var(--brand-line);
	display: grid;
	gap: 16px;
	grid-template-columns: 42px minmax(0, 1fr);
	padding: 20px 0;
}

.openlx-process-list li::before {
	color: var(--brand-accent);
	content: "0" counter(openlx-process);
	counter-increment: openlx-process;
	font-family: var(--brand-heading-font);
	font-size: 13px;
	font-weight: 700;
}

.openlx-process-list strong,
.openlx-process-list span {
	display: block;
}

.openlx-process-list strong {
	color: var(--brand-primary);
	font-size: 18px;
}

.openlx-process-list span {
	color: var(--brand-muted);
	font-size: 16px;
	line-height: 1.7;
	margin-top: 4px;
}

.openlx-verification-note {
	background: var(--brand-primary);
	border-radius: var(--brand-radius);
	color: #FFFFFF;
	margin-top: 52px;
	padding: clamp(30px, 5vw, 52px);
}

.openlx-verification-note h2 {
	color: #FFFFFF;
	font-size: clamp(27px, 3.2vw, 42px);
}

.openlx-verification-note p {
	color: rgba(255, 255, 255, 0.75);
}

.openlx-faq-stack {
	border-top: 1px solid var(--brand-line);
	margin-top: 42px;
}

.openlx-faq-item {
	border-bottom: 1px solid var(--brand-line);
	padding: 0;
}

.openlx-faq-item summary {
	color: var(--brand-primary);
	cursor: pointer;
	font-family: var(--brand-heading-font);
	font-size: clamp(21px, 2.4vw, 29px);
	font-weight: 700;
	line-height: 1.35;
	padding: 26px 42px 26px 0;
	position: relative;
}

.openlx-faq-item summary::marker { color: var(--brand-secondary); }

.openlx-faq-item summary::after {
	color: #126F80;
	content: "+";
	font-family: var(--brand-heading-font);
	font-size: 30px;
	font-weight: 400;
	position: absolute;
	right: 0;
	top: 20px;
}

.openlx-faq-item[open] summary::after { content: "−"; }

.openlx-faq-item p {
	color: var(--brand-muted);
	font-size: 17px;
	line-height: 1.8;
	margin: -2px 0 28px;
	max-width: 70ch;
}

.openlx-imported-archive-note {
	align-items: flex-start;
	background: #FFF6E8;
	border: 1px solid #E7C588;
	border-radius: 12px;
	color: #6E4B10;
	display: grid;
	font-size: 14px;
	gap: 6px;
	grid-template-columns: max-content minmax(0, 1fr);
	line-height: 1.65;
	margin: 0 0 30px;
	padding: 14px 16px;
}

.openlx-imported-archive-note strong {
	font-family: var(--brand-heading-font);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.openlx-article__cover,
.openlx-archive-card__media,
.openlx-imported-preview-card__media {
	background: #EAF0F4;
	border-radius: 14px;
	overflow: hidden;
}

.openlx-article__cover {
	margin: 0 0 34px;
}

.openlx-article__cover img,
.openlx-archive-card__media img,
.openlx-imported-preview-card__media img {
	display: block;
	height: auto;
	width: 100%;
}

.openlx-archive-card__media,
.openlx-imported-preview-card__media {
	margin: -24px -24px 22px;
}

.openlx-archive-card__media img,
.openlx-imported-preview-card__media img {
	aspect-ratio: 1.91 / 1;
	object-fit: cover;
}

.openlx-section--reading {
	background: #FFFFFF;
	max-width: none;
}

.openlx-section--reading > * {
	margin-left: auto;
	margin-right: auto;
	max-width: 1376px;
}

.openlx-imported-preview-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.openlx-imported-preview-card {
	background: var(--brand-surface);
	border: 1px solid var(--brand-line);
	border-radius: var(--brand-radius);
	padding: 24px;
}

.openlx-imported-preview-card h3 {
	font-family: var(--brand-heading-font);
	font-size: 26px;
	letter-spacing: -0.035em;
	line-height: 1.18;
	margin: 0;
}

.openlx-imported-preview-card h3 a {
	color: var(--brand-primary);
	text-decoration: none;
}

.openlx-imported-preview-card > p:last-of-type {
	color: var(--brand-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 14px 0 0;
}

.openlx-text-link {
	color: #126F80;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	margin-top: 20px;
	text-decoration: none;
}

.openlx-text-link:hover,
.openlx-text-link:focus-visible { text-decoration: underline; }

.openlx-reading-link { margin-top: 30px; }

.openlx-button--outline {
	border-color: var(--brand-primary);
	color: var(--brand-primary);
}

.openlx-button--outline:hover,
.openlx-button--outline:focus-visible {
	background: var(--brand-primary);
	border-color: var(--brand-primary);
	color: #FFFFFF;
}

@media (max-width: 640px) {
	.openlx-preview-status {
		grid-template-columns: 1fr;
		margin-bottom: 30px;
	}

	.openlx-trust-grid { grid-template-columns: 1fr; }

	.openlx-imported-preview-grid { grid-template-columns: 1fr; }

	.openlx-doc-section,
	.openlx-verification-note { margin-top: 36px; }

	.openlx-doc-section { padding-top: 36px; }

	.openlx-process-list li { grid-template-columns: 34px minmax(0, 1fr); }

	.openlx-faq-item summary { padding-right: 34px; }

	.openlx-imported-archive-note { grid-template-columns: 1fr; }
}
