/* Cloudline AI Visual Components v1.2 with v0.10 homepage/product presentation */
.cloudline-ai-visual-page {
	--cl-visual-primary: #24583f;
	--cl-visual-accent: #c96f2d;
	--cl-visual-surface: #f7f2e8;
	--cl-visual-surface-strong: #edf5f1;
	--cl-visual-hero: #f7f2e8;
	--cl-visual-hero-text: #241d18;
	--cl-visual-section-gap: 1rem;
	--cl-visual-section-pad: clamp(1.2rem, 3vw, 2.4rem);
	--cl-visual-card-pad: 1.25rem;
	--cl-visual-hero-scale: 1;
	--cl-visual-section-scale: 1;
	--cl-visual-shadow: 0 16px 40px rgba(36,88,63,.08);
	--cl-visual-content-width: 1180px;
	--cl-visual-radius: 18px;
	--cl-visual-text: #241d18;
	--cl-visual-muted: #6d6259;
	--cl-visual-border: #d8d2ca;
	--cl-visual-white: #fff;
}

/* Version 0.10 product-page experience. */
.cloudline-ai-product-experience .cloudline-ai-visual-hero {
	background: radial-gradient(circle at 88% 12%, rgba(80,190,144,.20), transparent 30%), linear-gradient(135deg,#f8f4eb 0%,#eef7f3 100%);
}
.cloudline-ai-product-status { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; }
.cloudline-ai-product-status span { padding:7px 10px; border:1px solid rgba(21,98,73,.22); border-radius:999px; background:rgba(255,255,255,.75); color:#164f3c; font-size:.78rem; font-weight:700; }
.cloudline-ai-product-cta { display:inline-flex; align-items:center; justify-content:center; margin-top:18px; padding:13px 20px; border-radius:10px; background:#165f49; color:#fff !important; font-weight:800; text-decoration:none !important; box-shadow:0 10px 24px rgba(22,95,73,.18); }
.cloudline-ai-product-cta:hover,.cloudline-ai-product-cta:focus-visible { background:#0f4938; transform:translateY(-1px); }
.cloudline-ai-product-experience .cloudline-ai-visual-body table { border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(32,47,42,.08); }
.cloudline-ai-product-experience .cloudline-ai-visual-section h2::before { content:""; display:block; width:42px; height:4px; margin-bottom:12px; border-radius:4px; background:#2c8d6d; }
.cloudline-ai-product-review{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:28px;margin:0 auto clamp(28px,5vw,54px);padding:clamp(22px,3vw,34px);border:1px solid #d7e4df;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(29,72,57,.08)}
.cloudline-ai-product-review__heading span{display:block;margin-bottom:7px;color:#25775c;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.cloudline-ai-product-review__heading h2{margin:0;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.1}.cloudline-ai-product-review ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.cloudline-ai-product-review li{display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:start;padding:15px;border:1px solid #e1e9e5;border-radius:12px;background:#f8fbfa}.cloudline-ai-product-review li b{grid-row:1/3;color:#70a190;font-size:.72rem}.cloudline-ai-product-review li strong{line-height:1.25}.cloudline-ai-product-review li small{display:block;margin-top:4px;color:#62736d;line-height:1.4}
.cloudline-ai-template-primary-page .cloudline-ai-visual-hero{border-radius:0;max-width:none}.cloudline-ai-template-primary-page .cloudline-ai-visual-body{max-width:none}.cloudline-ai-template-primary-page .cloudline-ai-visual-section{padding-block:clamp(44px,6vw,82px)}.cloudline-ai-template-primary-page .cloudline-ai-section-inner{width:min(calc(100% - 40px),1240px);margin-inline:auto}.cloudline-ai-template-primary-page .cloudline-ai-visual-section:nth-child(even){background:#eef6f2}.cloudline-ai-template-primary-page .cloudline-ai-visual-section:nth-child(odd){background:#faf6ee}
@media(max-width:780px){.cloudline-ai-product-review{grid-template-columns:1fr}.cloudline-ai-product-review ol{grid-template-columns:1fr}}

body.cloudline-ai-visual-page {
	overflow-x: clip;
}

.cloudline-ai-template-main {
	box-sizing: border-box;
	clear: both;
	margin: 0;
	max-width: none !important;
	padding: clamp(1rem, 3vw, 3rem) 0 clamp(3rem, 7vw, 6rem);
	width: 100%;
}

.cloudline-ai-block-theme-shell > .cloudline-ai-template-main {
	margin-block-start: 0;
}

.cloudline-ai-visual-shell {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: none;
	padding-inline: clamp(.75rem, 2.5vw, 2.5rem);
	width: 100%;
}

.cloudline-ai-comments-wrap {
	box-sizing: border-box;
	margin: clamp(2rem, 5vw, 4rem) auto 0;
	max-width: 820px;
	padding-inline: clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.cloudline-ai-comments-wrap img,
.cloudline-ai-comments-wrap textarea,
.cloudline-ai-comments-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.cloudline-ai-comments-wrap select {
	box-sizing: border-box;
	max-width: 100%;
}

.cloudline-ai-visual-page article > .entry-header > .entry-title,
.cloudline-ai-visual-page article > .entry-header > .post-meta,
.cloudline-ai-visual-page article > .entry-header > .entry-meta,
.cloudline-ai-visual-page .site-main > article > .post-thumbnail,
.cloudline-ai-visual-page main > .wp-block-post-title,
.cloudline-ai-visual-page main > .wp-block-post-featured-image,
.cloudline-ai-visual-page .wp-block-group:has(> .wp-block-post-content) > .wp-block-post-title,
.cloudline-ai-visual-page .wp-block-group:has(> .wp-block-post-content) > .wp-block-post-featured-image {
	display: none !important;
}

.cloudline-ai-visual-page .entry-content,
.cloudline-ai-visual-page .post-content,
.cloudline-ai-visual-page .wp-block-post-content {
	max-width: none !important;
	width: 100%;
}

.cloudline-ai-visual-article,
.cloudline-ai-visual-article * {
	box-sizing: border-box;
}

.cloudline-ai-visual-article {
	color: var(--cl-visual-text);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.72;
	margin: 0 auto 4rem;
	max-width: var(--cl-visual-content-width);
	position: relative;
	transform: none;
	width: 100%;
}

.cloudline-ai-canvas-theme .cloudline-ai-visual-article {
	max-width: min(820px, 100%);
}

.cloudline-ai-canvas-wide .cloudline-ai-visual-article {
	max-width: var(--cl-visual-content-width);
	width: 100%;
}

.cloudline-ai-canvas-full .cloudline-ai-visual-article {
	max-width: 1480px;
	width: 100%;
}

.cloudline-ai-visual-article a {
	color: var(--cl-visual-primary);
	text-decoration-thickness: .08em;
	text-underline-offset: .16em;
}

.cloudline-ai-visual-article a:hover {
	color: var(--cl-visual-accent);
}

.cloudline-ai-visual-hero {
	align-items: stretch;
	background: var(--cl-visual-hero);
	border: 1px solid var(--cl-visual-border);
	border-radius: calc(var(--cl-visual-radius) + 6px);
	display: grid;
	gap: clamp(1.4rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 4.2rem);
	position: relative;
}

.cloudline-ai-visual-hero::before {
	background: var(--cl-visual-accent);
	border-radius: 999px;
	content: "";
	height: 9rem;
	opacity: .10;
	position: absolute;
	right: -2rem;
	top: -4rem;
	width: 9rem;
}

.cloudline-ai-hero-copy {
	align-self: center;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.cloudline-ai-hero-kicker {
	align-items: center;
	color: var(--cl-visual-primary);
	display: flex;
	font-size: .76rem;
	font-weight: 700;
	gap: .55rem;
	letter-spacing: .09em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.cloudline-ai-status-dot {
	background: var(--cl-visual-primary);
	border-radius: 50%;
	display: inline-block;
	height: .55rem;
	width: .55rem;
}

.cloudline-ai-visual-hero h1 {
	color: var(--cl-visual-hero-text);
	font-size: clamp(2.15rem, 5vw, 4.8rem);
	font-weight: 760;
	letter-spacing: -.045em;
	line-height: .99;
	margin: 0 0 1.5rem;
	max-width: 15ch;
}

.cloudline-ai-quick-answer {
	background: rgba(255, 255, 255, .82);
	border-left: 4px solid var(--cl-visual-primary);
	border-radius: 0 var(--cl-visual-radius) var(--cl-visual-radius) 0;
	padding: 1rem 1.15rem;
}

.cloudline-ai-quick-answer > span {
	color: var(--cl-visual-primary);
	display: block;
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .08em;
	margin-bottom: .25rem;
	text-transform: uppercase;
}

.cloudline-ai-quick-answer p {
	font-size: 1.04rem;
	margin: 0;
}

.cloudline-ai-article-meta {
	color: var(--cl-visual-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: .84rem;
	gap: .65rem 1.15rem;
	margin-top: 1.15rem;
}

.cloudline-ai-article-meta span {
	align-items: center;
	display: inline-flex;
	gap: .35rem;
}

.cloudline-ai-hero-media {
	align-self: stretch;
	min-height: 320px;
	position: relative;
}

.cloudline-ai-hero-image,
.cloudline-ai-hero-placeholder {
	border-radius: var(--cl-visual-radius);
	height: 100% !important;
	min-height: 320px;
	object-fit: cover;
	width: 100% !important;
}

.cloudline-ai-hero-placeholder {
	align-items: center;
	background: var(--cl-visual-primary);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cloudline-ai-hero-placeholder span {
	font-size: 4.4rem;
	font-weight: 800;
	letter-spacing: -.08em;
	line-height: 1;
}

.cloudline-ai-hero-placeholder small {
	font-size: .78rem;
	letter-spacing: .12em;
	margin-top: .8rem;
	text-transform: uppercase;
}

.cloudline-ai-toc {
	align-items: flex-start;
	background: var(--cl-visual-white);
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	display: grid;
	gap: 1rem 2rem;
	grid-template-columns: 145px minmax(0, 1fr);
	margin: 1.25rem 0 2rem;
	padding: 1.1rem 1.3rem;
}

.cloudline-ai-toc-label {
	display: block;
	font-weight: 750;
}

.cloudline-ai-toc small {
	color: var(--cl-visual-muted);
}

.cloudline-ai-toc ol {
	display: grid;
	gap: .38rem 1.3rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style-position: inside;
	margin: 0;
	padding: 0;
}

.cloudline-ai-toc li {
	font-size: .89rem;
	margin: 0;
}

.cloudline-ai-toc a {
	color: var(--cl-visual-text);
	text-decoration: none;
}

.cloudline-ai-toc a:hover {
	color: var(--cl-visual-primary);
	text-decoration: underline;
}

.cloudline-ai-visual-body {
	display: grid;
	gap: var(--cl-visual-section-gap);
}

.cloudline-ai-section {
	border: 1px solid transparent;
	border-radius: var(--cl-visual-radius);
	padding: var(--cl-visual-section-pad);
}

.cloudline-ai-section.is-alternate {
	background: var(--cl-visual-surface);
	border-color: var(--cl-visual-border);
}

.cloudline-ai-section-inner {
	margin: 0 auto;
	max-width: 900px;
}

.cloudline-ai-canvas-theme .cloudline-ai-section {
	padding-left: 0;
	padding-right: 0;
}

.cloudline-ai-section h2 {
	font-size: clamp(1.7rem, 3vw, 2.55rem);
	font-weight: 740;
	letter-spacing: -.025em;
	line-height: 1.12;
	margin: 0 0 1.1rem;
	scroll-margin-top: 2rem;
}

.cloudline-ai-section h3 {
	font-size: clamp(1.2rem, 2vw, 1.48rem);
	line-height: 1.25;
	margin: 1.6rem 0 .7rem;
}

.cloudline-ai-section p,
.cloudline-ai-section li {
	font-size: 1rem;
}

.cloudline-ai-section p:first-child {
	margin-top: 0;
}

.cloudline-ai-section-intro {
	font-size: 1.04rem;
}

.cloudline-ai-section img {
	height: auto;
	max-width: 100%;
}

.cloudline-ai-figure {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	margin: 1.8rem 0;
	overflow: hidden;
	padding: .5rem;
}

.cloudline-ai-figure img {
	border-radius: calc(var(--cl-visual-radius) - 6px);
	display: block;
	width: 100%;
}

.cloudline-ai-figure figcaption {
	color: var(--cl-visual-muted);
	font-size: .84rem;
	padding: .55rem .6rem .25rem;
	text-align: left;
}

.cloudline-ai-list,
.cloudline-ai-steps-list {
	margin: 1rem 0;
	padding-left: 1.25rem;
}

.cloudline-ai-steps-list {
	counter-reset: cloudline-step;
	list-style: none;
	padding: 0;
}

.cloudline-ai-steps-list > li {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: calc(var(--cl-visual-radius) - 4px);
	counter-increment: cloudline-step;
	margin: .7rem 0;
	padding: 1rem 1rem 1rem 3.6rem;
	position: relative;
}

.cloudline-ai-steps-list > li::before {
	align-items: center;
	background: var(--cl-visual-primary);
	border-radius: 50%;
	color: #fff;
	content: counter(cloudline-step);
	display: flex;
	font-size: .8rem;
	font-weight: 750;
	height: 1.8rem;
	justify-content: center;
	left: 1rem;
	position: absolute;
	top: .95rem;
	width: 1.8rem;
}

.cloudline-ai-card-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.2rem;
}

.cloudline-ai-info-card {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	padding: var(--cl-visual-card-pad);
}

.cloudline-ai-info-card h3,
.cloudline-ai-info-card h4 {
	color: var(--cl-visual-primary);
	font-size: 1.08rem;
	margin: 0 0 .55rem;
}

.cloudline-ai-info-card p,
.cloudline-ai-info-card li {
	font-size: .92rem;
}

.cloudline-ai-reference-callout {
	background: #f4f8f5;
	border-left: 4px solid var(--cl-visual-primary);
	border-radius: 0 calc(var(--cl-visual-radius) - 6px) calc(var(--cl-visual-radius) - 6px) 0;
	padding: .85rem 1rem;
}

.cloudline-ai-table-wrap {
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	margin: 1.4rem 0;
	overflow-x: auto;
}

.cloudline-ai-table {
	border-collapse: collapse;
	margin: 0;
	min-width: 620px;
	width: 100%;
}

.cloudline-ai-table th,
.cloudline-ai-table td {
	border: 0;
	border-bottom: 1px solid var(--cl-visual-border);
	padding: .8rem .9rem;
	text-align: left;
}

.cloudline-ai-table th {
	background: var(--cl-visual-primary);
	color: #fff;
	font-size: .8rem;
	letter-spacing: .03em;
}

.cloudline-ai-table tr:last-child td {
	border-bottom: 0;
}

.cloudline-ai-faq-list {
	display: grid;
	gap: .7rem;
	margin-top: 1rem;
}

.cloudline-ai-faq-item {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: calc(var(--cl-visual-radius) - 4px);
	overflow: hidden;
}

.cloudline-ai-faq-item summary {
	cursor: pointer;
	font-weight: 680;
	list-style: none;
	padding: 1rem 3rem 1rem 1rem;
	position: relative;
}

.cloudline-ai-faq-item summary::-webkit-details-marker {
	display: none;
}

.cloudline-ai-faq-item summary::after {
	color: var(--cl-visual-primary);
	content: "+";
	font-size: 1.25rem;
	position: absolute;
	right: 1rem;
	top: .72rem;
}

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

.cloudline-ai-faq-answer {
	border-top: 1px solid var(--cl-visual-border);
	padding: .9rem 1rem 1rem;
}

.cloudline-ai-faq-answer > :first-child {
	margin-top: 0;
}

.cloudline-ai-faq-answer > :last-child {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.cloudline-ai-visual-hero {
		grid-template-columns: 1fr;
	}
	.cloudline-ai-hero-media {
		min-height: 260px;
	}
	.cloudline-ai-hero-image,
	.cloudline-ai-hero-placeholder {
		min-height: 260px;
	}
	.cloudline-ai-toc {
		grid-template-columns: 1fr;
	}
	.cloudline-ai-toc ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cloudline-ai-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.cloudline-ai-visual-shell {
		padding-inline: .625rem;
	}
	.cloudline-ai-visual-hero {
		border-radius: var(--cl-visual-radius);
		padding: 1.25rem;
	}
	.cloudline-ai-visual-hero h1 {
		font-size: clamp(2rem, 11vw, 3rem);
	}
	.cloudline-ai-toc ol,
	.cloudline-ai-card-grid {
		grid-template-columns: 1fr;
	}
	.cloudline-ai-section {
		padding: 1.15rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cloudline-ai-visual-article * {
		scroll-behavior: auto !important;
	}
}


/* Dedicated-template compatibility hardening. */
.cloudline-ai-dedicated-template .cloudline-ai-visual-article,
.cloudline-ai-dedicated-template .cloudline-ai-visual-hero,
.cloudline-ai-dedicated-template .cloudline-ai-visual-body,
.cloudline-ai-dedicated-template .cloudline-ai-section,
.cloudline-ai-dedicated-template .cloudline-ai-section-inner,
.cloudline-ai-dedicated-template .cloudline-ai-card-grid,
.cloudline-ai-dedicated-template .cloudline-ai-info-card,
.cloudline-ai-dedicated-template .cloudline-ai-figure,
.cloudline-ai-dedicated-template .cloudline-ai-table-wrap,
.cloudline-ai-dedicated-template .cloudline-ai-faq-list {
	min-width: 0;
}

.cloudline-ai-dedicated-template .cloudline-ai-visual-article,
.cloudline-ai-dedicated-template .cloudline-ai-visual-article img,
.cloudline-ai-dedicated-template .cloudline-ai-visual-article figure,
.cloudline-ai-dedicated-template .cloudline-ai-visual-article table {
	max-inline-size: 100%;
}

@supports not (overflow: clip) {
	body.cloudline-ai-visual-page {
		overflow-x: hidden;
	}
}


/* Version 0.5B structured component and template treatments. */
.cloudline-ai-template-how-to .cloudline-ai-visual-hero {
	background: linear-gradient(135deg, var(--cl-visual-surface), #fff);
}

.cloudline-ai-template-comparison .cloudline-ai-visual-hero {
	border-top: 5px solid var(--cl-visual-primary);
}

.cloudline-ai-template-plain-editorial .cloudline-ai-visual-hero {
	grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr);
}

.cloudline-ai-template-plain-editorial .cloudline-ai-section-inner {
	max-width: 820px;
}

.cloudline-ai-section.is-component-key_points .cloudline-ai-list,
.cloudline-ai-section.is-component-key_points ul {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	display: grid;
	gap: .65rem;
	list-style: none;
	padding: 1.15rem;
}

.cloudline-ai-section.is-component-key_points li {
	padding-left: 1.7rem;
	position: relative;
}

.cloudline-ai-section.is-component-key_points li::before {
	align-items: center;
	background: var(--cl-visual-primary);
	border-radius: 50%;
	color: #fff;
	content: "✓";
	display: flex;
	font-size: .68rem;
	height: 1.15rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: .28rem;
	width: 1.15rem;
}

.cloudline-ai-grid-columns-1 .cloudline-ai-card-grid {
	grid-template-columns: 1fr;
}
.cloudline-ai-grid-columns-2 .cloudline-ai-card-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cloudline-ai-grid-columns-3 .cloudline-ai-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cloudline-ai-status-card {
	border-top: 4px solid var(--cl-visual-primary);
}
.cloudline-ai-status-card.is-safe,
.cloudline-ai-section.is-variant-safe .cloudline-ai-info-card {
	border-top-color: #2f7a46;
}
.cloudline-ai-status-card.is-caution,
.cloudline-ai-section.is-variant-caution .cloudline-ai-info-card {
	border-top-color: #c17a16;
}
.cloudline-ai-status-card.is-avoid,
.cloudline-ai-section.is-variant-avoid .cloudline-ai-info-card {
	border-top-color: #ba3f32;
}

.cloudline-ai-section.is-component-final_guidance {
	background: color-mix(in srgb, var(--cl-visual-primary) 8%, #fff);
	border-color: color-mix(in srgb, var(--cl-visual-primary) 30%, var(--cl-visual-border));
}

.cloudline-ai-section.is-component-final_guidance h2::before {
	color: var(--cl-visual-primary);
	content: "✓";
	font-size: .82em;
	margin-right: .55rem;
}

.cloudline-ai-section.is-component-comparison_table .cloudline-ai-table-wrap {
	box-shadow: 0 10px 28px rgba(36, 29, 24, .06);
}

.cloudline-ai-section.is-component-image_text .cloudline-ai-section-inner {
	display: grid;
	gap: 1.25rem 2rem;
	grid-template-columns: minmax(0, 1fr);
}

.cloudline-ai-section.is-component-image_text .cloudline-ai-figure {
	margin-block: 1rem;
}

.cloudline-ai-section[data-cloudline-component="rich_text"] .cloudline-ai-reference-callout,
.cloudline-ai-section[data-cloudline-component="image_text"] .cloudline-ai-reference-callout {
	box-shadow: inset 0 0 0 1px rgba(36, 88, 63, .08);
}

@media (max-width: 900px) {
	.cloudline-ai-grid-columns-3 .cloudline-ai-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.cloudline-ai-grid-columns-2 .cloudline-ai-card-grid,
	.cloudline-ai-grid-columns-3 .cloudline-ai-card-grid {
		grid-template-columns: 1fr;
	}
}

.cloudline-ai-related-link,
.cloudline-ai-reference-link {
	align-items: center;
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: calc(var(--cl-visual-radius) - 4px);
	display: flex;
	gap: .65rem;
	justify-content: space-between;
	padding: .9rem 1rem;
}

.cloudline-ai-related-link::before {
	color: var(--cl-visual-primary);
	content: "Related";
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cloudline-ai-reference-link::before {
	color: var(--cl-visual-accent);
	content: "Source";
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Version 0.5B.1 structured template refinements. */
.cloudline-ai-card-grid,
.cloudline-ai-checklist-grid,
.cloudline-ai-step-grid,
.cloudline-ai-comparison-grid {
	align-items: stretch;
}

.cloudline-ai-info-card,
.cloudline-ai-checklist-card,
.cloudline-ai-step-card,
.cloudline-ai-comparison-panel {
	height: 100%;
	min-width: 0;
}

.cloudline-ai-info-card {
	display: flex;
	flex-direction: column;
}

.cloudline-ai-card-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.cloudline-ai-card-content > :last-child,
.cloudline-ai-check-content > :last-child,
.cloudline-ai-step-content > :last-child,
.cloudline-ai-comparison-panel-content > :last-child {
	margin-bottom: 0;
}

.cloudline-ai-status-label {
	align-self: flex-start;
	border-radius: 999px;
	display: inline-flex;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 1;
	margin-bottom: .8rem;
	padding: .45rem .62rem;
	text-transform: uppercase;
}

.cloudline-ai-status-label.is-safe {
	background: #e8f5ec;
	color: #23633a;
}

.cloudline-ai-status-label.is-caution {
	background: #fff1d7;
	color: #8a570d;
}

.cloudline-ai-status-label.is-avoid {
	background: #fde9e6;
	color: #963025;
}

.cloudline-ai-status-label.is-neutral,
.cloudline-ai-status-label.is-default {
	background: #eef1ef;
	color: #45514a;
}

.cloudline-ai-step-grid {
	display: grid;
	gap: .9rem;
	margin-top: 1.2rem;
}

.cloudline-ai-step-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: calc(var(--cl-visual-radius) - 4px);
	display: grid;
	gap: 1rem;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	padding: 1rem 1.05rem;
}

.cloudline-ai-step-number {
	align-items: center;
	background: var(--cl-visual-primary);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 800;
	height: 2.25rem;
	justify-content: center;
	line-height: 1;
	width: 2.25rem;
}

.cloudline-ai-step-content h3,
.cloudline-ai-step-content h4 {
	font-size: 1.08rem;
	margin: .1rem 0 .45rem;
}

.cloudline-ai-checklist-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.2rem;
}

.cloudline-ai-checklist-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	display: grid;
	gap: .8rem;
	grid-template-columns: 1.5rem minmax(0, 1fr);
	padding: 1rem;
}

.cloudline-ai-check-icon {
	align-items: center;
	background: var(--cl-visual-primary);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: .7rem;
	font-weight: 800;
	height: 1.5rem;
	justify-content: center;
	margin-top: .15rem;
	width: 1.5rem;
}

.cloudline-ai-check-content h3,
.cloudline-ai-check-content h4 {
	font-size: 1.02rem;
	margin: 0 0 .45rem;
}

.cloudline-ai-key-points-box {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-left: 4px solid var(--cl-visual-primary);
	border-radius: 0 var(--cl-visual-radius) var(--cl-visual-radius) 0;
	padding: 1rem 1.15rem;
}

.cloudline-ai-comparison-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.2rem;
}

.cloudline-ai-comparison-columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cloudline-ai-comparison-panel {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-top: 4px solid var(--cl-visual-primary);
	border-radius: var(--cl-visual-radius);
	padding: 1.15rem;
}

.cloudline-ai-comparison-panel h3,
.cloudline-ai-comparison-panel h4 {
	color: var(--cl-visual-primary);
	font-size: 1.12rem;
	margin: 0 0 .6rem;
}

.cloudline-ai-comparison-media {
	margin-top: 1.25rem;
}

.cloudline-ai-comparison-media .cloudline-ai-figure {
	margin-bottom: 0;
}

.cloudline-ai-section-inner > .cloudline-ai-card-grid:last-child,
.cloudline-ai-section-inner > .cloudline-ai-checklist-grid:last-child,
.cloudline-ai-section-inner > .cloudline-ai-step-grid:last-child,
.cloudline-ai-section-inner > .cloudline-ai-comparison-grid:last-child,
.cloudline-ai-section-inner > .cloudline-ai-comparison-media:last-child,
.cloudline-ai-section-inner > .cloudline-ai-table-wrap:last-child,
.cloudline-ai-section-inner > .cloudline-ai-figure:last-child {
	margin-bottom: 0;
}

.cloudline-ai-section [hidden],
.cloudline-ai-section .cloudline-ai-empty-component {
	display: none !important;
}

@media (max-width: 900px) {
	.cloudline-ai-checklist-grid,
	.cloudline-ai-comparison-columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.cloudline-ai-checklist-grid,
	.cloudline-ai-comparison-grid,
	.cloudline-ai-comparison-columns-3 {
		grid-template-columns: 1fr;
	}
	.cloudline-ai-step-card {
		grid-template-columns: 2rem minmax(0, 1fr);
		padding: .9rem;
	}
	.cloudline-ai-step-number {
		height: 2rem;
		width: 2rem;
	}
}

/* Version 0.5C production profiles, support cards and editorial polish. */
.cloudline-ai-visual-hero {
	box-shadow: var(--cl-visual-shadow);
	color: var(--cl-visual-hero-text);
}
.cloudline-ai-profile-dark-professional .cloudline-ai-hero-kicker,
.cloudline-ai-profile-dark-professional .cloudline-ai-article-meta {
	color: color-mix(in srgb, var(--cl-visual-hero-text) 78%, transparent);
}
.cloudline-ai-profile-dark-professional .cloudline-ai-quick-answer {
	background: rgba(255,255,255,.94);
	color: var(--cl-visual-text);
}
.cloudline-ai-section.is-alternate {
	background: var(--cl-visual-surface);
}
.cloudline-ai-section.is-component-final_guidance {
	background: var(--cl-visual-surface-strong);
}
.cloudline-ai-info-card,
.cloudline-ai-checklist-card,
.cloudline-ai-step-card,
.cloudline-ai-comparison-panel,
.cloudline-ai-faq-item,
.cloudline-ai-table-wrap {
	box-shadow: 0 8px 24px color-mix(in srgb, var(--cl-visual-text) 6%, transparent);
}
.cloudline-ai-supporting-content {
	display: grid;
	gap: var(--cl-visual-section-gap);
	margin-top: var(--cl-visual-section-gap);
}
.cloudline-ai-source-card {
	align-items: center;
	background: var(--cl-visual-surface-strong);
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	display: grid;
	gap: 1rem;
	grid-template-columns: auto minmax(0,1fr) auto;
	padding: var(--cl-visual-card-pad);
}
.cloudline-ai-support-icon {
	align-items: center;
	background: var(--cl-visual-primary);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 1.2rem;
	height: 2.75rem;
	justify-content: center;
	width: 2.75rem;
}
.cloudline-ai-support-eyebrow {
	color: var(--cl-visual-primary);
	display: block;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.cloudline-ai-source-card h2,
.cloudline-ai-related-heading h2 {
	font-size: clamp(1.35rem,2vw,2rem);
	margin: .2rem 0;
}
.cloudline-ai-source-card p { color: var(--cl-visual-muted); margin: 0; }
.cloudline-ai-support-button {
	background: var(--cl-visual-primary);
	border-radius: calc(var(--cl-visual-radius) - 5px);
	color: #fff !important;
	font-weight: 700;
	padding: .78rem 1rem;
	text-decoration: none !important;
	white-space: nowrap;
}
.cloudline-ai-related-section {
	background: var(--cl-visual-surface);
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	padding: var(--cl-visual-section-pad);
}
.cloudline-ai-related-heading { margin-bottom: 1rem; }
.cloudline-ai-related-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3,minmax(0,1fr));
}
.cloudline-ai-related-card {
	background: #fff;
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.cloudline-ai-related-media {
	align-items: center;
	aspect-ratio: 16/9;
	background: var(--cl-visual-surface-strong);
	display: flex;
	justify-content: center;
	overflow: hidden;
}
.cloudline-ai-related-media img { height: 100%; object-fit: cover; width: 100%; }
.cloudline-ai-related-media.is-placeholder { color: var(--cl-visual-primary); font-size: 2rem; }
.cloudline-ai-related-copy { display: flex; flex: 1; flex-direction: column; padding: var(--cl-visual-card-pad); }
.cloudline-ai-related-copy h3 { font-size: 1.15rem; margin: .35rem 0 .6rem; }
.cloudline-ai-related-copy h3 a { color: var(--cl-visual-text); text-decoration: none; }
.cloudline-ai-related-copy p { color: var(--cl-visual-muted); font-size: .92rem; }
.cloudline-ai-related-link { margin-top: auto; }
.cloudline-ai-comments-wrap {
	background: var(--cl-visual-surface);
	border: 1px solid var(--cl-visual-border);
	border-radius: var(--cl-visual-radius);
	padding: clamp(1.25rem,3vw,2.25rem);
}
.cloudline-ai-comments-wrap textarea,
.cloudline-ai-comments-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]) {
	border: 1px solid var(--cl-visual-border);
	border-radius: 8px;
	padding: .75rem;
}
.cloudline-ai-comments-wrap input[type=submit] {
	background: var(--cl-visual-primary);
	border: 0;
	border-radius: 8px;
	color: #fff;
	padding: .72rem 1rem;
}
@media (max-width: 900px) {
	.cloudline-ai-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
	.cloudline-ai-source-card { grid-template-columns: 1fr; }
	.cloudline-ai-support-icon { height: 2.25rem; width: 2.25rem; }
	.cloudline-ai-related-grid { grid-template-columns: 1fr; }
	.cloudline-ai-support-button { justify-self: start; }
	.cloudline-ai-table th,
	.cloudline-ai-table td { font-size: .86rem; padding: .68rem .72rem; }
}

.cloudline-ai-heading-compact .cloudline-ai-visual-hero h1 { font-size: clamp(2rem,4.5vw,4.25rem); }
.cloudline-ai-heading-compact .cloudline-ai-section h2 { font-size: clamp(1.55rem,2.6vw,2.3rem); }
.cloudline-ai-heading-large .cloudline-ai-visual-hero h1 { font-size: clamp(2.35rem,5.5vw,5.3rem); }
.cloudline-ai-heading-large .cloudline-ai-section h2 { font-size: clamp(1.85rem,3.3vw,2.85rem); }
