/**
 * Super Speedy Changelogs — page chrome.
 *
 * The bullet list itself is NOT styled here. Those `.ssp-log-*` rules live in
 * super-speedy-blocks' ssp-panels.css, which is inlined on every page, so the
 * "What's new" panel on a product page and the full changelog here render
 * identically. This file only handles what is unique to the page: the header,
 * the link panels, the release headings and the footer.
 *
 * Plain CSS on purpose — it loads after the theme's compiled velocity.css, so it
 * wins on source order at equal specificity and needs no Tailwind rebuild.
 */

.ssp-changelog-page {
	--sspcl-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* ---- Breadcrumb ---------------------------------------------------------- */
.ssp-changelog-page .rank-math-breadcrumb {
	font-size: 14px;
	color: var(--on-surface-variant);
	margin-bottom: 20px;
}
.ssp-changelog-page .rank-math-breadcrumb a {
	color: var(--on-surface-variant);
	text-decoration: none;
}
.ssp-changelog-page .rank-math-breadcrumb a:hover { color: var(--primary); }

/* ---- Page header --------------------------------------------------------- */
.sspcl-head { margin-bottom: 32px; }

.sspcl-title {
	margin: 0 0 12px;
	font-size: clamp(1.75rem, 1.25rem + 2vw, 2.5rem);
	line-height: 1.15;
	letter-spacing: -.02em;
	font-weight: 700;
	color: var(--on-surface);
}

.sspcl-tagline {
	margin: 0;
	max-width: 62ch;
	font-size: 17px;
	line-height: 1.6;
	color: var(--on-surface-variant);
}

/* At-a-glance facts */
.sspcl-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}
.sspcl-fact {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 13px;
	border: 1px solid var(--outline-variant);
	border-radius: 12px;
	background: var(--surface-container-low);
	font-size: 13.5px;
	line-height: 1.2;
}
.sspcl-fact .ico { color: var(--primary); font-size: 16px; line-height: 1; }
.sspcl-fact .lbl { color: var(--on-surface-variant); }
.sspcl-fact .val { color: var(--on-surface); font-weight: 600; font-family: var(--sspcl-mono); }

/* ---- Link panels --------------------------------------------------------- */
/* Reuses super-speedy-blocks' .ssp-features grid so these match the product and
   KB pages; only the anchor behaviour is new. */
.sspcl-panels { margin: 0 0 40px; }
.sspcl-panels a.feat {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, transform .15s ease, background-color .15s ease;
}
.sspcl-panels a.feat:hover {
	border-color: rgba(209, 188, 255, .45);
	background: var(--surface-container);
	transform: translateY(-2px);
}
.sspcl-panels a.feat:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

/* ---- Releases ------------------------------------------------------------ */
.sspcl-releases { border-top: 1px solid var(--outline-variant); }

.sspcl-release {
	padding: 26px 0 30px;
	border-bottom: 1px solid rgba(73, 68, 83, .5);
	scroll-margin-top: 110px;
}
.sspcl-release:last-child { border-bottom: 0; }

.sspcl-version {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0 0 18px;
	font-family: var(--sspcl-mono);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--on-surface);
}
.sspcl-permalink { color: inherit; text-decoration: none; }
.sspcl-permalink:hover { color: var(--primary); }
.sspcl-permalink::before { content: "v"; opacity: .45; }
.sspcl-date {
	font-family: Inter, system-ui, sans-serif;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--on-surface-variant);
}

/* Breathing room under the last bullet of a release. */
.sspcl-release .ssp-log-items { margin-bottom: 4px; }

/* Breaking changes and security fixes earn more than a coloured marker. The
   grid columns come from .ssp-log-item; this only adds the box around it. */
.sspcl-releases .ssp-log-t-important,
.sspcl-releases .ssp-log-t-security {
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, var(--ssp-log-accent) 30%, transparent);
	border-radius: 10px;
	background: color-mix(in srgb, var(--ssp-log-accent) 7%, transparent);
}

/* ---- Truncated-history note ---------------------------------------------- */
.sspcl-more {
	margin: 28px 0 0;
	padding: 16px 20px;
	border: 1px solid var(--outline-variant);
	border-radius: 12px;
	background: var(--surface-container-low);
	color: var(--on-surface-variant);
	font-size: 15px;
	text-align: center;
}
.sspcl-more a { color: var(--primary); font-weight: 500; }

/* ---- Empty state + footer ------------------------------------------------ */
.sspcl-empty {
	margin: 0;
	padding: 28px;
	border: 1px dashed var(--outline-variant);
	border-radius: 14px;
	color: var(--on-surface-variant);
	text-align: center;
}

.sspcl-foot {
	display: block;
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px solid var(--outline-variant);
}
.sspcl-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 28px;
	color: var(--primary);
	font-weight: 500;
	text-decoration: none;
	transition: gap .15s ease;
}
.sspcl-back:hover { gap: 12px; }
.sspcl-foot .sspcl-panels { margin-bottom: 0; }

/* ---- Small screens ------------------------------------------------------- */
@media (max-width: 640px) {
	.sspcl-facts { gap: 8px; }
	.sspcl-fact { padding: 7px 11px; font-size: 12.5px; }
	.sspcl-release { padding: 20px 0 24px; }
	.sspcl-version { font-size: 17px; }
}

/* ---- [ssp_plugin_changes] summary --------------------------------------- */
.plugin-changelog-info {
	border: 1px solid var(--outline-variant);
	border-radius: 14px;
	padding: 18px 20px;
	background: var(--surface-container-low);
}
.plugin-changelog-info .pinfo-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 7px 0;
	border-bottom: 1px solid rgba(73, 68, 83, .4);
	font-size: 14px;
}
.plugin-changelog-info .pinfo-row:last-of-type { border-bottom: 0; }
.plugin-changelog-info .pinfo-label { color: var(--on-surface-variant); }
.plugin-changelog-info .pinfo { color: var(--on-surface); font-weight: 600; }
.plugin-changelog-info .pinfo-link { margin: 12px 0 0; font-size: 14px; }

/* ---- All updates stream (ssp-changelogs/all-updates block) --------------- */
.sspcl-stream {
	--sspcl-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
	margin: 32px 0 56px;
	scroll-margin-top: 110px;
}
.sspcl-stream-h { margin: 0 0 16px; }

/* The filter row doubles as the compact per-plugin strip. */
.sspcl-stream-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.sspcl-stream-filter li { margin: 0; padding: 0; }
.sspcl-stream-filter a {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--outline-variant);
	border-radius: 999px;
	background: var(--surface-container-low);
	color: var(--on-surface);
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
}
.sspcl-stream-filter a:hover { border-color: var(--primary); color: var(--primary); }
.sspcl-stream-filter a[aria-current="page"] {
	border-color: var(--primary);
	background: var(--primary);
	color: var(--on-primary, #1b1032);
	font-weight: 600;
}
.sspcl-stream-filter a:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.sspcl-stream-scope,
.sspcl-stream-undated,
.sspcl-stream-notice {
	margin: 0 0 12px;
	color: var(--on-surface-variant);
	font-size: 15px;
}
.sspcl-stream-scope a { color: var(--primary); font-weight: 500; }
.sspcl-stream-notice { color: var(--on-surface); }

.sspcl-stream-list { border-top: 1px solid var(--outline-variant); margin-top: 20px; }
.sspcl-stream-release {
	padding: 22px 0 24px;
	border-bottom: 1px solid rgba(73, 68, 83, .5);
}
.sspcl-stream-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--on-surface);
}
.sspcl-stream-version { font-family: var(--sspcl-mono); }
.sspcl-stream-version::before { content: "v"; opacity: .45; }
.sspcl-stream-release .ssp-log-items { margin-bottom: 10px; }
.sspcl-stream-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--primary);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.sspcl-stream-link:hover { text-decoration: underline; }

.sspcl-stream-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
	font-size: 15px;
}
.sspcl-stream-pager a { color: var(--primary); font-weight: 500; text-decoration: none; }
.sspcl-stream-pager a[rel="next"] { margin-left: auto; }
.sspcl-stream-pageof { color: var(--on-surface-variant); }

/* All updates / Requested by customers: two tabs above the plugin filter. */
.sspcl-stream-views ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--outline-variant);
}
.sspcl-stream-views li { margin: 0; padding: 0; }
.sspcl-stream-views a {
	display: inline-block;
	padding: 6px 0 8px;
	margin-bottom: -1px;
	border-bottom: 2px solid transparent;
	color: var(--on-surface-variant);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}
.sspcl-stream-views a:hover { color: var(--primary); }
.sspcl-stream-views a[aria-current="page"] { border-bottom-color: var(--primary); color: var(--on-surface); font-weight: 600; }
.sspcl-stream-views a:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.sspcl-stream-others { margin: 0 0 10px; color: var(--on-surface-variant); font-size: 14px; }

/* Customer-request badge after a bullet (plugin pages and the stream). */
.sspcl-req {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 4px;
	padding: 1px 8px;
	border: 1px solid var(--outline-variant);
	border-radius: 999px;
	color: var(--on-surface-variant);
	font-size: 12px;
	line-height: 1.5;
	white-space: nowrap;
	vertical-align: baseline;
}
.sspcl-req a { display: inline-flex; align-items: center; gap: 4px; color: var(--primary); text-decoration: none; }
.sspcl-req a:hover { text-decoration: underline; }
.sspcl-req .ico { font-size: 13px; }

@media (max-width: 640px) {
	.sspcl-req { white-space: normal; }
	.sspcl-stream-filter a { font-size: 13px; padding: 5px 10px; }
	.sspcl-stream-title { font-size: 16px; }
}
