/* Loaded only when the assigned Libera Common Article post template is used. */
body.libera-common-article .site-body-container {
	display: block;
	width: 100%;
	max-width: none;
	padding-inline: 0;
}

body.libera-common-article .sub-section {
	display: none;
}

body.libera-common-article .main-section {
	float: none;
	width: 100%;
	max-width: 800px;
	flex: 0 1 800px;
	margin-inline: auto;
}

body.libera-common-article .entry-header,
body.libera-common-article .entry-meta {
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	padding-inline: 24px;
}

body.libera-common-article .entry-header .entry-title {
	margin-block: 0 16px;
	font-size: 32px;
	line-height: 1.4;
	font-weight: 700;
}

body.libera-common-article .entry-header .entry-meta {
	padding-inline: 0;
	margin-inline: 0;
}

body.libera-common-article .entry-body {
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	padding-inline: 24px;
	font-size: 16px;
	line-height: 1.85;
}

body.libera-common-article .entry-body p {
	margin-block: 0 1.25em;
}

body.libera-common-article .entry-body .lead {
	font-weight: 600;
}

body.libera-common-article .entry-body h2 {
	margin-block: 48px 16px;
	font-size: 26px;
	line-height: 1.5;
}

body.libera-common-article .entry-body h3 {
	margin-block: 32px 12px;
	font-size: 20px;
	line-height: 1.55;
}

body.libera-common-article .entry-body .article-hero,
body.libera-common-article .entry-body .hero,
body.libera-common-article .entry-body .wp-block-image {
	margin: 24px 0;
}

body.libera-common-article .entry-body .article-hero img,
body.libera-common-article .entry-body .hero img,
body.libera-common-article .entry-body .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

body.libera-common-article .entry-body .article-index,
body.libera-common-article .entry-body .article-toc {
	margin-block: 24px 40px;
	padding: 16px 20px;
	border: 1px solid currentColor;
}

body.libera-common-article .entry-body .article-table-scroll,
body.libera-common-article .entry-body .table-wrap,
body.libera-common-article .entry-body .wp-block-table {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

body.libera-common-article .entry-body .article-table-scroll table,
body.libera-common-article .entry-body .table-wrap table,
body.libera-common-article .entry-body .wp-block-table table {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
}

body.libera-common-article .entry-body .seo-cta,
body.libera-common-article .entry-body .cta {
	margin-block: 32px;
	padding: 24px;
	border: 1px solid currentColor;
	text-align: center;
	background: var(--vk-color-primary, #337ab7);
	color: #fff;
}

body.libera-common-article .entry-body .seo-cta .wp-block-button__link,
body.libera-common-article .entry-body .cta .wp-block-button__link {
	background: #fff;
	color: var(--vk-color-primary, #337ab7);
}

body.libera-common-article .entry-body .cta-button,
body.libera-common-article .entry-body .wp-block-button__link {
	display: inline-block;
	max-width: 100%;
	box-sizing: border-box;
	padding: 12px 20px;
	border: 1px solid currentColor;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

body.libera-common-article .entry-body .seo-cta h2,
body.libera-common-article .entry-body .cta h2 {
	margin-block-start: 0;
}

body.libera-common-article .entry-body .wp-block-table th,
body.libera-common-article .entry-body .wp-block-table td {
	padding: 12px;
	border: 1px solid currentColor;
	vertical-align: top;
}

body.libera-common-article .entry-body .wp-element-caption {
	margin-block: 8px 0;
}

@media (max-width: 767px) {
	body.libera-common-article .entry-body h3 {
		font-size: 18px;
	}
	body.libera-common-article .entry-body .cta,
	body.libera-common-article .entry-body .seo-cta {
		padding: 20px;
	}
	body.libera-common-article .main-section.main-section--col--two {
		width: 100%;
		max-width: 100%;
		flex-basis: 100%;
	}

	body.libera-common-article .entry-header .entry-title {
		font-size: 26px;
	}

	body.libera-common-article .entry-body h2 {
		margin-block-start: 40px;
		font-size: 22px;
	}

	body.libera-common-article .entry-body {
		padding-inline: 24px;
	}
}

/* Shared article shell: omit generic archive/category widgets and breadcrumbs. */
body.libera-common-article .breadSection,
body.libera-common-article .breadcrumb,
body.libera-common-article .widget:has(.wp-block-archives),
body.libera-common-article .widget:has(.wp-block-categories) { display: none; }
body.libera-common-article .libera-entry-meta { display:flex; flex-wrap:wrap; gap:8px 20px; }
body.libera-common-article .entry-body .article-diagram { background:#f2f7fb; border:1px solid #b6cede; border-radius:8px; padding:24px; margin-block:24px; }
body.libera-common-article .article-diagram > p:first-child { margin-top:0; font-weight:700; }
body.libera-common-article .article-diagram .wp-block-list { display:grid; gap:16px; list-style:none; padding-left:0; counter-reset:diagram; }
body.libera-common-article .article-diagram .wp-block-list > li { background:white; border:1px solid #b6cede; border-radius:6px; padding:16px; counter-increment:diagram; margin:0; }
body.libera-common-article .article-diagram .wp-block-list > li::before { content:counter(diagram, decimal-leading-zero); display:block; color:#176b83; font-weight:700; margin-bottom:8px; }
body.libera-common-article .article-diagram ol.wp-block-list > li:not(:last-child)::after { content:'\2193'; display:block; text-align:center; color:#176b83; margin-top:12px; font-size:24px; }
@media(max-width:600px) {
body.libera-common-article .entry-body .article-diagram { padding:20px; }
}

body.libera-common-article .original-diagram-mobile { display:none; }
/* Keep the accepted trial's admin-only widget guidance out of article navigation. */
body.libera-common-article .veu_adminEdit { display:none; }
@media(max-width:620px) {
body.libera-common-article .original-diagram-desktop { display:none; }
body.libera-common-article .original-diagram-mobile { display:block; }
}

/* Public company footer, shared by explicitly assigned article templates. */
body.libera-common-article .libera-common-footer {--navy:#0b2f50;--blue:#1769aa;--sky:#edf6fb;--ink:#172433;--muted:#5b6876;--line:#dce7ef;--white:#fff;}
body.libera-common-article .libera-common-footer .site-footer:not(.lw-footer){display:none!important}
body.libera-common-article .libera-common-footer .lw-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
body.libera-common-article .libera-common-footer{background:#071f34;color:#dceaf5;padding:54px 0 30px}
body.libera-common-article .libera-common-footer .lw-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
body.libera-common-article .libera-common-footer .lw-logo{font-size:25px;font-weight:900;color:#fff}
body.libera-common-article .libera-common-footer h3{color:#fff;font-size:15px;margin:0 0 14px}
body.libera-common-article .libera-common-footer a{display:block;color:#dceaf5;margin:9px 0}
body.libera-common-article .libera-common-footer small{display:block;border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:22px;color:#9db3c5}
body.libera-common-article .libera-common-footer .lw-note{font-size:13px;color:#9db3c5;margin-top:10px}
@media (max-width:980px){body.libera-common-article .libera-common-footer .lw-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){body.libera-common-article .libera-common-footer .lw-wrap{width:min(100% - 28px,1180px)}
body.libera-common-article .libera-common-footer .lw-footer__grid{grid-template-columns:1fr}}

/* Keep original wide diagrams readable without replacing their source images. */
@media (max-width: 620px) {
 body.libera-common-article .entry-body figure.wp-block-image:not(.original-diagram-desktop):not(.original-diagram-mobile) { overflow-x: auto; }
 body.libera-common-article .entry-body figure.wp-block-image:not(.original-diagram-desktop):not(.original-diagram-mobile) img { width: 752px; max-width: none; }
 body.libera-common-article .entry-body > figure.wp-block-image:not(.original-diagram-desktop):not(.original-diagram-mobile):first-of-type img { width: 100%; max-width: 100%; }
}
/* Compact, manually operated carousel for the existing latest-posts widget. */
body.libera-common-article .libera-related-carousel .wp-block-latest-posts {
    display: grid !important;
    grid-auto-flow: column;
    grid-template-columns: none !important;
    grid-template-rows: auto;
    grid-auto-columns: calc((100% - 32px) / 3);
    gap: 16px !important;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    padding: 0 0 12px !important;
}
body.libera-common-article .libera-related-six .wp-block-latest-posts { grid-template-rows: repeat(2, auto); }
body.libera-common-article .libera-related-carousel .wp-block-latest-posts li {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start;
    scroll-snap-align: start;
    min-width: 0;
    margin: 0 !important;
}
body.libera-common-article .libera-related-carousel .wp-block-latest-posts__featured-image { margin: 0 !important; grid-column: 1; grid-row: 1; }
body.libera-common-article .libera-related-carousel .wp-block-latest-posts__featured-image img { width: 96px !important; height: 72px !important; object-fit: cover; }
body.libera-common-article .libera-related-carousel .wp-block-latest-posts__post-title { grid-column: 2; grid-row: 1; font-size: 14px; line-height: 1.6; }
body.libera-common-article .libera-related-controls { display: flex; gap: 12px; align-items: center; justify-content: flex-end; margin-bottom: 16px; }
body.libera-common-article .libera-related-controls button,
body.libera-common-article .libera-related-controls select { flex: 0 0 auto; width: auto; min-height: 44px; padding: 6px 12px; border: 1px solid #d0dae4; border-radius: 4px; color: #103656; background: #fff; white-space: nowrap; }
body.libera-common-article .libera-related-controls span { white-space: nowrap; }
body.libera-common-article .libera-related-controls button:disabled { opacity: .45; }
body.libera-common-article .libera-related-controls :focus-visible { outline: 2px solid #f58220; outline-offset: 2px; }
@media (max-width: 700px) {
    body.libera-common-article .libera-related-carousel .wp-block-latest-posts { grid-auto-columns: 100%; grid-template-rows: auto !important; }
    body.libera-common-article .libera-related-controls select { display: none; }
}
