/**
 * Shared front-end rendering styles for LMSP\Content\ContentBlocks::render() output.
 * Self-contained (no theme variables) and scoped under a `.lcb-render` wrapper, so any product type
 * that renders builder content just wraps it in `<div class="lcb-render">…</div>`.
 */
.lcb-render .lcb-render-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.lcb-render .lcb-col { grid-column: span 12; min-width: 0; }
.lcb-render .lcb-col-1 { grid-column: span 1; }
.lcb-render .lcb-col-2 { grid-column: span 2; }
.lcb-render .lcb-col-3 { grid-column: span 3; }
.lcb-render .lcb-col-4 { grid-column: span 4; }
.lcb-render .lcb-col-5 { grid-column: span 5; }
.lcb-render .lcb-col-6 { grid-column: span 6; }
.lcb-render .lcb-col-7 { grid-column: span 7; }
.lcb-render .lcb-col-8 { grid-column: span 8; }
.lcb-render .lcb-col-9 { grid-column: span 9; }
.lcb-render .lcb-col-10 { grid-column: span 10; }
.lcb-render .lcb-col-11 { grid-column: span 11; }
.lcb-render .lcb-col-12 { grid-column: span 12; }

.lcb-render img { max-width: 100%; height: auto; }
.lcb-render .lcb-section h4 { margin-top: 0; }

.lcb-render .lcb-btn {
	display: inline-block;
	background: #2563eb;
	color: #fff;
	padding: 11px 20px;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none;
}
.lcb-render .lcb-btn:hover { background: #1d4ed8; color: #fff; }

.lcb-render .lcb-pdf {
	display: flex;
	align-items: center;
	gap: 14px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 14px 16px;
	background: #fff;
	margin: 0 0 12px;
	flex-wrap: wrap;
}
.lcb-render .lcb-pdf-thumb img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; display: block; }
.lcb-render .lcb-pdf-main { display: flex; flex-direction: column; gap: 2px; flex: 1 1 140px; min-width: 0; }
.lcb-render .lcb-pdf-label { font-weight: 700; }
.lcb-render .lcb-pdf-size { font-size: 13px; color: #6b7280; }
.lcb-render .lcb-pdf-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.lcb-render .lcb-pdf-btn { display: inline-block; padding: 8px 16px; border-radius: 8px; font-weight: 700; font-size: 14px; text-decoration: none; }
.lcb-render .lcb-pdf-view { background: #f3f4f6; color: #111827; border: 1px solid #e5e7eb; }
.lcb-render .lcb-pdf-view:hover { border-color: #2563eb; color: #2563eb; }
.lcb-render .lcb-pdf-download { background: #2563eb; color: #fff; }
.lcb-render .lcb-pdf-download:hover { background: #1d4ed8; color: #fff; }

.lcb-render .lcb-video { margin: 0 0 1em; }
.lcb-render .lcb-video-embed { position: relative; width: 100%; padding-top: 56.25%; border-radius: 10px; overflow: hidden; }
.lcb-render .lcb-video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lcb-render .lcb-video video { width: 100%; border-radius: 10px; }

@media (max-width: 782px) {
	.lcb-render .lcb-render-grid { gap: 16px; }
	.lcb-render .lcb-col[class*="lcb-col-"] { grid-column: span 12; }
}

/* icon block (front-end) */
.lcb-render .lcb-icon { line-height: 1; }
.lcb-render .lcb-icon .lms-fa { display: inline-block; }

/* gallery block (front-end) — columns driven by --lcb-gal-cols */
.lcb-render .lcb-gallery-view { --lcb-gal-cols: 3; margin: 0; }
.lcb-render .lcb-gallery-item { margin: 0; }
.lcb-render .lcb-gallery-item img { display: block; width: 100%; border-radius: 8px; }
/* grid: uniform columns, natural image heights */
.lcb-render .lcb-gallery-grid { display: grid; grid-template-columns: repeat(var(--lcb-gal-cols), 1fr); gap: 12px; }
/* equal height: same grid but crop every tile to a common aspect */
.lcb-render .lcb-gallery-equal { display: grid; grid-template-columns: repeat(var(--lcb-gal-cols), 1fr); gap: 12px; }
.lcb-render .lcb-gallery-equal .lcb-gallery-item img { aspect-ratio: 4 / 3; object-fit: cover; height: auto; }
/* masonry: CSS columns keep varied heights, no cropping */
.lcb-render .lcb-gallery-masonry { column-count: var(--lcb-gal-cols); column-gap: 12px; }
.lcb-render .lcb-gallery-masonry .lcb-gallery-item { break-inside: avoid; margin-bottom: 12px; }
@media (max-width: 782px) {
	.lcb-render .lcb-gallery-view { --lcb-gal-cols: 2 !important; }
}
