/*
 * LinkCards Frontend Styles (v3.0)
 *
 * Architektur:
 *  - Container-isoliert (alles unter .lc-container)
 *  - Kein !important
 *  - CSS-Variablen aus inline-style (LC_Utils::build_css_vars + per-container Overrides)
 *  - Layout-Sub-Optionen werden als Container-Klassen ausgespielt
 *    (z.B. .lc-list-thumbposition-right, .lc-banner-imageposition-left)
 *  - Hover-Animationen via .lc-hover-{name} am Container
 *  - Stretched-Link Pattern: Cover-Link liegt mit z-index:3 über allem
 *    bei .lc-clickable; Body & Body-Kinder bekommen pointer-events:none
 */

/* ================================================================
 * 1. CONTAINER & HEADER
 * ================================================================ */
.lc-container {
	display: block;
	margin: 24px 0;
	color: var(--lc-text);
	background: transparent;
	font-family: inherit;
	box-sizing: border-box;
}
.lc-container *,
.lc-container *::before,
.lc-container *::after { box-sizing: border-box; }

.lc-container .lc-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
}
.lc-container .lc-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--lc-text);
	line-height: 1.3;
	text-transform: none;
	letter-spacing: normal;
}
.lc-container .lc-slider-controls { display: inline-flex; gap: 6px; }
.lc-container .lc-arrow {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px;
	background: var(--lc-bg);
	border: 1px solid var(--lc-border);
	border-radius: 999px;
	color: var(--lc-text);
	cursor: pointer;
	transition: background .15s, color .15s;
}
.lc-container .lc-arrow:hover { background: var(--lc-primary); color: #fff; border-color: var(--lc-primary); }
.lc-container .lc-arrow:disabled { opacity: .35; cursor: default; }

/* ================================================================
 * 2. CARD BASIS (alle Layouts außer Accordion)
 * ================================================================ */
.lc-container .lc-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--lc-bg);
	color: var(--lc-text);
	border-radius: var(--lc-radius);
	overflow: hidden;
	min-width: 0;
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s, background .2s;
}
.lc-container .lc-card-cover {
	position: absolute;
	inset: 0;
	z-index: 3;
	border-radius: inherit;
	text-indent: -9999px;
	overflow: hidden;
	color: transparent;
	background: transparent;
	border: 0;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.lc-container .lc-card-cover:focus-visible {
	outline: 2px solid var(--lc-primary);
	outline-offset: 2px;
}

.lc-container .lc-thumb {
	display: block;
	background: color-mix(in srgb, var(--lc-border) 40%, transparent);
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.lc-container .lc-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: var(--lc-img-ratio);
	object-fit: cover;
	transition: transform .35s ease;
}

.lc-container .lc-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px 14px;
	position: relative;
	z-index: 1;
}
.lc-container.lc-clickable .lc-body { pointer-events: none; }
.lc-container.lc-clickable .lc-body * { pointer-events: none; }
.lc-container .lc-card-link-real {
	pointer-events: auto;
	position: relative;
	z-index: 3;
}

.lc-container .lc-card-title {
	margin: 0;
	font-size: .98rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--lc-text);
	transition: color .2s;
	text-transform: none;
	letter-spacing: normal;
}
.lc-container .lc-card-subtitle {
	margin: 0;
	font-size: .86rem;
	line-height: 1.4;
	color: var(--lc-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-transform: none;
}
.lc-container .lc-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
	padding-top: 4px;
}
.lc-container .lc-domain {
	font-size: .72rem;
	color: var(--lc-muted);
	letter-spacing: .02em;
	text-transform: lowercase;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* CTA-Button */
.lc-container .lc-card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .82rem;
	font-weight: 600;
	color: #fff;
	background: var(--lc-primary);
	padding: 6px 12px;
	text-decoration: none;
	transition: opacity .15s, transform .15s, background .15s;
}
.lc-container .lc-card-link:hover { opacity: .92; }
.lc-container .lc-card-link-real:focus-visible { outline: 2px solid var(--lc-primary); outline-offset: 2px; }
.lc-container .lc-arrow-icon { flex-shrink: 0; }

/* ================================================================
 * 3. BUTTON-FORMEN, BORDER, SCHATTEN, SKINS
 * ================================================================ */
.lc-container.lc-btnshape-pill    .lc-card-link { border-radius: 999px; }
.lc-container.lc-btnshape-rounded .lc-card-link { border-radius: 8px; }
.lc-container.lc-btnshape-square  .lc-card-link { border-radius: 0; }

.lc-container.lc-border-none   .lc-card { border: 0; }
.lc-container.lc-border-thin   .lc-card { border: 1px solid var(--lc-border); }
.lc-container.lc-border-strong .lc-card { border: 2px solid var(--lc-border); }

.lc-container.lc-shadow-none .lc-card { box-shadow: none; }
.lc-container.lc-shadow-sm   .lc-card { box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.lc-container.lc-shadow-md   .lc-card { box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.lc-container.lc-shadow-lg   .lc-card { box-shadow: 0 12px 32px rgba(0,0,0,.12); }

.lc-container.lc-skin-minimal    .lc-card { background: var(--lc-bg); }
.lc-container.lc-skin-solid      .lc-card { background: color-mix(in srgb, var(--lc-primary) 6%, var(--lc-bg)); }
.lc-container.lc-skin-outline    .lc-card { background: transparent; border-color: var(--lc-border); }
.lc-container.lc-skin-borderless .lc-card { background: var(--lc-bg); border-color: transparent; }
.lc-container.lc-skin-glass      .lc-card {
	background: color-mix(in srgb, var(--lc-bg) 70%, transparent);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-color: color-mix(in srgb, var(--lc-border) 70%, transparent);
}
.lc-container.lc-skin-news .lc-card {
	background: var(--lc-bg);
	border-left: 3px solid var(--lc-primary);
	border-radius: 4px;
}
.lc-container.lc-skin-news .lc-thumb { border-radius: 0; }

/* ================================================================
 * 4. HOVER-ANIMATIONEN (NEU v3.0)
 *
 * Werden NUR bei .lc-clickable aktiv — auf statischen Cards (z.B.
 * Accordion) sind sie ohne Effekt.
 * ================================================================ */

.lc-container.lc-hover-none.lc-clickable .lc-card { transition: none; }
.lc-container.lc-hover-none.lc-clickable .lc-card:hover { transform: none; box-shadow: none; }

.lc-container.lc-hover-lift.lc-clickable .lc-card:hover { transform: translateY(-3px); }
.lc-container.lc-hover-lift.lc-clickable .lc-card:hover .lc-card-title { color: var(--lc-primary); }

.lc-container.lc-hover-lift-shadow.lc-clickable .lc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0,0,0,.14);
}
.lc-container.lc-hover-lift-shadow.lc-clickable .lc-card:hover .lc-card-title { color: var(--lc-primary); }

.lc-container.lc-hover-glow.lc-clickable .lc-card:hover {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--lc-primary) 35%, transparent),
	            0 8px 24px color-mix(in srgb, var(--lc-primary) 18%, transparent);
}
.lc-container.lc-hover-glow.lc-clickable .lc-card:hover .lc-card-title { color: var(--lc-primary); }

.lc-container.lc-hover-scale.lc-clickable .lc-card { transform-origin: center; }
.lc-container.lc-hover-scale.lc-clickable .lc-card:hover { transform: scale(1.025); }

.lc-container.lc-hover-tilt.lc-clickable .lc-card { transform-origin: center; }
.lc-container.lc-hover-tilt.lc-clickable .lc-card:hover { transform: rotate(-0.6deg) translateY(-2px); }

.lc-container.lc-hover-border.lc-clickable .lc-card:hover { border-color: var(--lc-primary); }
.lc-container.lc-border-none.lc-hover-border.lc-clickable .lc-card:hover {
	box-shadow: inset 0 0 0 2px var(--lc-primary);
}

.lc-container.lc-hover-zoom-image.lc-clickable .lc-card:hover .lc-thumb img { transform: scale(1.06); }

.lc-container.lc-hover-slide-up.lc-clickable .lc-card .lc-body { transition: transform .25s ease; }
.lc-container.lc-hover-slide-up.lc-clickable .lc-card:hover .lc-body { transform: translateY(-4px); }

.lc-container.lc-hover-underline.lc-clickable .lc-card-title {
	background-image: linear-gradient(var(--lc-primary), var(--lc-primary));
	background-size: 0 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size .25s ease, color .2s;
	display: inline;
}
.lc-container.lc-hover-underline.lc-clickable .lc-card:hover .lc-card-title {
	background-size: 100% 2px;
}

/* ================================================================
 * 5. LAYOUT: GRID
 * ================================================================ */
.lc-container.lc-layout-grid .lc-list {
	display: grid;
	grid-template-columns: var(--lc-grid-template, repeat(auto-fill, minmax(var(--lc-col-min), 1fr)));
	gap: var(--lc-gap);
}

.lc-container.lc-layout-grid.lc-grid-cardaspect-square    .lc-thumb img,
.lc-container.lc-layout-grid.lc-grid-cardaspect-portrait  .lc-thumb img,
.lc-container.lc-layout-grid.lc-grid-cardaspect-landscape .lc-thumb img {
	aspect-ratio: var(--lc-grid-aspect, auto);
}

@media (max-width: 540px) {
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-3 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-4 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-5 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-6 .lc-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 380px) {
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-2 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-3 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-4 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-5 .lc-list,
	.lc-container.lc-layout-grid.lc-grid-itemsperrow-6 .lc-list {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
 * 6. LAYOUT: SLIDER
 * ================================================================ */
.lc-container.lc-layout-slider .lc-list {
	display: flex;
	gap: var(--lc-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	scrollbar-width: thin;
	padding-bottom: 4px;
}
.lc-container.lc-layout-slider .lc-list::-webkit-scrollbar { height: 6px; }
.lc-container.lc-layout-slider .lc-list::-webkit-scrollbar-thumb { background: var(--lc-border); border-radius: 999px; }
.lc-container.lc-layout-slider .lc-card {
	flex: 0 0 var(--lc-slider-basis, var(--lc-col-min));
	scroll-snap-align: start;
}

.lc-container.lc-layout-slider.lc-slider-variant-peek .lc-list {
	padding-right: 18%;
	scroll-padding-right: 18%;
}
@media (min-width: 720px) {
	.lc-container.lc-layout-slider.lc-slider-variant-peek .lc-list {
		padding-right: 12%;
		scroll-padding-right: 12%;
	}
}

.lc-container.lc-layout-slider.lc-slider-variant-centered .lc-list {
	scroll-snap-type: x mandatory;
	padding-left: 50%;
	padding-right: 50%;
	scroll-padding-left: 50%;
	scroll-padding-right: 50%;
}
.lc-container.lc-layout-slider.lc-slider-variant-centered .lc-card {
	scroll-snap-align: center;
}

.lc-container.lc-layout-slider.lc-slider-variant-fullwidth .lc-card {
	flex: 0 0 100%;
}
.lc-container.lc-layout-slider.lc-slider-variant-fullwidth .lc-thumb img {
	aspect-ratio: 21 / 9;
}

@media (max-width: 540px) {
	.lc-container.lc-layout-slider.lc-slider-itemsperview-3,
	.lc-container.lc-layout-slider.lc-slider-itemsperview-4,
	.lc-container.lc-layout-slider.lc-slider-itemsperview-5,
	.lc-container.lc-layout-slider.lc-slider-itemsperview-6 {
		--lc-slider-basis: 78%;
	}
}

/* ================================================================
 * 7. LAYOUT: ACCORDION
 * ================================================================ */
.lc-container.lc-layout-accordion .lc-accordion {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.lc-container.lc-layout-accordion .lc-card-accordion {
	background: var(--lc-bg);
	border: 1px solid var(--lc-border);
	border-radius: var(--lc-radius);
	overflow: hidden;
	padding: 0;
	position: static;
}
.lc-container.lc-layout-accordion .lc-acc-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 14px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	color: var(--lc-text);
}
.lc-container.lc-layout-accordion .lc-acc-summary::-webkit-details-marker { display: none; }
.lc-container.lc-layout-accordion .lc-acc-chevron { transition: transform .2s; flex-shrink: 0; }
.lc-container.lc-layout-accordion .lc-card-accordion[open] .lc-acc-chevron { transform: rotate(180deg); }
.lc-container.lc-layout-accordion .lc-acc-body {
	padding: 0 14px 14px;
	border-top: 1px solid var(--lc-border);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.lc-container.lc-layout-accordion .lc-acc-body .lc-thumb {
	margin-top: 12px;
	border-radius: 8px;
	overflow: hidden;
}
.lc-container.lc-layout-accordion .lc-card-meta { padding-top: 0; margin-top: 4px; }

.lc-container.lc-layout-accordion.lc-accordion-chevronpos-left .lc-acc-summary {
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.lc-container.lc-layout-accordion.lc-accordion-style-flat .lc-card-accordion {
	border-left: 0;
	border-right: 0;
	border-radius: 0;
}
.lc-container.lc-layout-accordion.lc-accordion-style-flat .lc-accordion { gap: 0; }
.lc-container.lc-layout-accordion.lc-accordion-style-separated .lc-accordion { gap: 12px; }
.lc-container.lc-layout-accordion.lc-accordion-style-separated .lc-card-accordion {
	box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

/* ================================================================
 * 8. LAYOUT: COMPACT
 * ================================================================ */
.lc-container.lc-layout-compact .lc-list {
	display: grid;
	grid-template-columns: var(--lc-compact-template, repeat(auto-fill, minmax(220px, 1fr)));
	gap: 6px;
}
.lc-container.lc-layout-compact .lc-card {
	flex-direction: row;
	align-items: stretch;
	gap: 0;
}
.lc-container.lc-layout-compact .lc-thumb { display: none; }
.lc-container.lc-layout-compact .lc-body { padding: 8px 10px; gap: 2px; }
.lc-container.lc-layout-compact .lc-card-title { font-size: .86rem; }
.lc-container.lc-layout-compact .lc-card-subtitle { display: none; }
.lc-container.lc-layout-compact .lc-card-link { padding: 3px 9px; font-size: .76rem; }
.lc-container.lc-layout-compact .lc-domain { display: none; }

.lc-container.lc-layout-compact.lc-compact-showthumb-1 .lc-thumb {
	display: block;
	flex: 0 0 56px;
	max-width: 56px;
}
.lc-container.lc-layout-compact.lc-compact-showthumb-1 .lc-thumb img {
	height: 100%;
	aspect-ratio: 1 / 1;
}

@media (max-width: 540px) {
	.lc-container.lc-layout-compact.lc-compact-itemsperrow-3 .lc-list,
	.lc-container.lc-layout-compact.lc-compact-itemsperrow-4 .lc-list,
	.lc-container.lc-layout-compact.lc-compact-itemsperrow-5 .lc-list,
	.lc-container.lc-layout-compact.lc-compact-itemsperrow-6 .lc-list {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
 * 9. LAYOUT: BANNER
 * ================================================================ */
.lc-container.lc-layout-banner .lc-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
@media (min-width: 720px) {
	.lc-container.lc-layout-banner .lc-card {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		min-height: 260px;
	}
	.lc-container.lc-layout-banner .lc-thumb { height: 100%; }
	.lc-container.lc-layout-banner .lc-thumb img {
		height: 100%;
		aspect-ratio: var(--lc-banner-ratio, 16/9);
		object-fit: cover;
	}
}
.lc-container.lc-layout-banner .lc-body { padding: 20px 22px; gap: 10px; justify-content: center; }
.lc-container.lc-layout-banner .lc-card-title { font-size: 1.4rem; }
.lc-container.lc-layout-banner .lc-card-subtitle {
	font-size: 1rem;
	-webkit-line-clamp: 4;
}
.lc-container.lc-layout-banner .lc-card-link { padding: 10px 20px; font-size: .92rem; }

@media (min-width: 720px) {
	.lc-container.lc-layout-banner.lc-banner-imageposition-left .lc-card {
		grid-template-areas: "img body";
	}
	.lc-container.lc-layout-banner.lc-banner-imageposition-left .lc-thumb { grid-area: img; }
	.lc-container.lc-layout-banner.lc-banner-imageposition-left .lc-body  { grid-area: body; }

	.lc-container.lc-layout-banner.lc-banner-imageposition-right .lc-card {
		grid-template-areas: "body img";
	}
	.lc-container.lc-layout-banner.lc-banner-imageposition-right .lc-thumb { grid-area: img; }
	.lc-container.lc-layout-banner.lc-banner-imageposition-right .lc-body  { grid-area: body; }
}

.lc-container.lc-layout-banner.lc-banner-imageposition-top .lc-card,
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-card {
	grid-template-columns: 1fr;
}
.lc-container.lc-layout-banner.lc-banner-imageposition-top .lc-thumb img {
	height: auto;
	aspect-ratio: var(--lc-banner-ratio, 16/9);
}

.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-card {
	position: relative;
	min-height: 320px;
}
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-thumb {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: auto;
}
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,.15) 60%, rgba(0,0,0,0));
}
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-body {
	position: relative;
	z-index: 2;
	color: #fff;
	padding: 32px 28px;
}
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-card-title { color: #fff; }
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-card-subtitle { color: rgba(255,255,255,.85); }
.lc-container.lc-layout-banner.lc-banner-imageposition-background .lc-domain { color: rgba(255,255,255,.7); }

.lc-container.lc-layout-banner.lc-banner-textalign-center .lc-body { align-items: center; text-align: center; }
.lc-container.lc-layout-banner.lc-banner-textalign-center .lc-card-meta { justify-content: center; }
.lc-container.lc-layout-banner.lc-banner-textalign-right  .lc-body { align-items: flex-end; text-align: right; }
.lc-container.lc-layout-banner.lc-banner-textalign-right  .lc-card-meta { justify-content: flex-end; }

/* ================================================================
 * 10. LAYOUT: LIST
 * ================================================================ */
.lc-container.lc-layout-list .lc-list {
	display: flex;
	flex-direction: column;
	gap: var(--lc-gap);
}
.lc-container.lc-layout-list .lc-card {
	flex-direction: row;
	align-items: stretch;
}
.lc-container.lc-layout-list .lc-thumb {
	flex: 0 0 var(--lc-list-thumb-w, 180px);
	max-width: var(--lc-list-thumb-w, 180px);
}
.lc-container.lc-layout-list .lc-thumb img { height: 100%; aspect-ratio: auto; object-fit: cover; }
.lc-container.lc-layout-list .lc-body { flex: 1 1 auto; padding: 14px 16px; }
@media (max-width: 540px) {
	.lc-container.lc-layout-list .lc-card { flex-direction: column; }
	.lc-container.lc-layout-list .lc-thumb { flex: 0 0 auto; max-width: none; }
	.lc-container.lc-layout-list .lc-thumb img { aspect-ratio: var(--lc-img-ratio); }
}

.lc-container.lc-layout-list.lc-list-thumbposition-right .lc-card {
	flex-direction: row-reverse;
}
.lc-container.lc-layout-list.lc-list-thumbposition-none .lc-thumb {
	display: none;
}

/* ================================================================
 * 11. LAYOUT: INLINE
 * ================================================================ */
.lc-container.lc-layout-inline { margin: 12px 0; }
.lc-container.lc-layout-inline .lc-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lc-container.lc-layout-inline .lc-card {
	flex-direction: row;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	max-width: 100%;
	background: color-mix(in srgb, var(--lc-primary) 8%, var(--lc-bg));
	border: 1px solid var(--lc-border);
	border-radius: 999px;
}
.lc-container.lc-layout-inline .lc-thumb {
	width: 28px; height: 28px;
	flex-shrink: 0;
	border-radius: 999px;
	overflow: hidden;
}
.lc-container.lc-layout-inline .lc-thumb img { aspect-ratio: 1 / 1; }
.lc-container.lc-layout-inline .lc-body { padding: 0; flex-direction: row; align-items: center; gap: 6px; }
.lc-container.lc-layout-inline .lc-card-title { font-size: .82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px; }
.lc-container.lc-layout-inline .lc-card-subtitle,
.lc-container.lc-layout-inline .lc-domain { display: none; }
.lc-container.lc-layout-inline .lc-card-link {
	background: transparent;
	color: var(--lc-primary);
	padding: 0;
	font-size: 0;
}
.lc-container.lc-layout-inline .lc-cta-text { display: none; }

.lc-container.lc-layout-inline.lc-inline-style-flat .lc-card {
	border-radius: 6px;
	background: color-mix(in srgb, var(--lc-primary) 4%, var(--lc-bg));
}
.lc-container.lc-layout-inline.lc-inline-style-underline .lc-card {
	background: transparent;
	border: 0;
	border-bottom: 2px solid var(--lc-primary);
	border-radius: 0;
	padding: 4px 2px;
}
.lc-container.lc-layout-inline.lc-inline-style-underline .lc-thumb { border-radius: 4px; }

.lc-container.lc-layout-inline.lc-inline-withthumb-0 .lc-thumb { display: none; }

/* ================================================================
 * 12. LAYOUT: MOSAIC (Pinterest-Style)
 * ================================================================ */
.lc-container.lc-layout-mosaic .lc-list {
	column-count: var(--lc-mosaic-cols, auto);
	column-width: var(--lc-col-min);
	column-gap: var(--lc-gap);
}
.lc-container.lc-layout-mosaic .lc-card {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	margin: 0 0 var(--lc-gap);
	display: inline-block;
	width: 100%;
}
.lc-container.lc-layout-mosaic .lc-thumb img { aspect-ratio: auto; height: auto; }

@media (max-width: 540px) {
	.lc-container.lc-layout-mosaic.lc-mosaic-columns-3 .lc-list,
	.lc-container.lc-layout-mosaic.lc-mosaic-columns-4 .lc-list,
	.lc-container.lc-layout-mosaic.lc-mosaic-columns-5 .lc-list {
		column-count: 2;
	}
}
@media (max-width: 380px) {
	.lc-container.lc-layout-mosaic .lc-list { column-count: 1; }
}

/* ================================================================
 * 13. LAYOUT: EDITORIAL
 * ================================================================ */
.lc-container.lc-layout-editorial .lc-editorial {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--lc-gap);
}
.lc-container.lc-layout-editorial .lc-ed-hero { display: block; }
.lc-container.lc-layout-editorial .lc-ed-featured {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--lc-gap);
}
.lc-container.lc-layout-editorial .lc-ed-rest {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--lc-gap);
}
@media (min-width: 720px) {
	.lc-container.lc-layout-editorial .lc-ed-featured {
		grid-template-columns: 1fr 1fr;
	}
}

.lc-container.lc-layout-editorial .lc-card-editorial-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
.lc-container.lc-layout-editorial .lc-card-editorial-hero .lc-thumb img {
	aspect-ratio: 16 / 9;
}
.lc-container.lc-layout-editorial .lc-card-editorial-hero .lc-body { padding: 18px 22px 22px; gap: 8px; }
.lc-container.lc-layout-editorial .lc-card-editorial-hero .lc-card-title { font-size: 1.6rem; line-height: 1.2; }
.lc-container.lc-layout-editorial .lc-card-editorial-hero .lc-card-subtitle { font-size: 1rem; -webkit-line-clamp: 4; }

@media (min-width: 900px) {
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-split .lc-card-editorial-hero {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
		min-height: 320px;
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-split .lc-card-editorial-hero .lc-thumb { height: 100%; }
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-split .lc-card-editorial-hero .lc-thumb img { height: 100%; aspect-ratio: auto; }
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-split .lc-card-editorial-hero .lc-card-title { font-size: 2rem; }

	.lc-container.lc-layout-editorial.lc-editorial-herolayout-stacked .lc-card-editorial-hero {
		grid-template-columns: 1fr;
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-stacked .lc-card-editorial-hero .lc-card-title { font-size: 2rem; }

	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero {
		grid-template-columns: 1fr;
		min-height: 400px;
		position: relative;
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero .lc-thumb {
		position: absolute;
		inset: 0;
		z-index: 0;
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero .lc-thumb img {
		width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover;
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero .lc-thumb::after {
		content: '';
		position: absolute; inset: 0;
		background: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0) 70%);
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero .lc-body {
		position: relative; z-index: 2;
		color: #fff;
		align-self: flex-end;
		padding: 36px 32px;
	}
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero .lc-card-title { color: #fff; font-size: 2.4rem; }
	.lc-container.lc-layout-editorial.lc-editorial-herolayout-fullwidth .lc-card-editorial-hero .lc-card-subtitle { color: rgba(255,255,255,.9); }
}

.lc-container.lc-layout-editorial .lc-card-editorial-featured .lc-thumb img { aspect-ratio: 16 / 10; }
.lc-container.lc-layout-editorial .lc-card-editorial-featured .lc-card-title { font-size: 1.1rem; }
.lc-container.lc-layout-editorial .lc-card-editorial-featured .lc-card-subtitle { -webkit-line-clamp: 3; }

.lc-container.lc-layout-editorial .lc-card-editorial-rest {
	flex-direction: row;
	align-items: stretch;
}
.lc-container.lc-layout-editorial .lc-card-editorial-rest .lc-thumb { display: none; }
.lc-container.lc-layout-editorial .lc-card-editorial-rest .lc-body { padding: 10px 12px; gap: 4px; }
.lc-container.lc-layout-editorial .lc-card-editorial-rest .lc-card-title { font-size: .94rem; }
.lc-container.lc-layout-editorial .lc-card-editorial-rest .lc-card-subtitle {
	-webkit-line-clamp: 2;
	font-size: .8rem;
}
.lc-container.lc-layout-editorial .lc-card-editorial-rest .lc-card-link { padding: 4px 10px; font-size: .76rem; }

@media (min-width: 720px) {
	.lc-container.lc-layout-editorial.lc-editorial-featuredcount-1 .lc-ed-featured {
		grid-template-columns: 1fr;
	}
	.lc-container.lc-layout-editorial.lc-editorial-featuredcount-3 .lc-ed-featured {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ================================================================
 * 14. LAYOUT: TABS
 * ================================================================ */
.lc-container.lc-layout-tabs .lc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--lc-border);
}
.lc-container.lc-layout-tabs .lc-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	background: transparent;
	border: 1px solid var(--lc-border);
	border-radius: 999px;
	color: var(--lc-text);
	font-size: .85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.lc-container.lc-layout-tabs .lc-tab:hover {
	border-color: var(--lc-primary);
	color: var(--lc-primary);
}
.lc-container.lc-layout-tabs .lc-tab.is-active {
	background: var(--lc-primary);
	color: #fff;
	border-color: var(--lc-primary);
}
.lc-container.lc-layout-tabs .lc-tab-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 18px;
	padding: 0 6px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--lc-text) 12%, transparent);
	font-size: .7rem;
	font-weight: 700;
}
.lc-container.lc-layout-tabs .lc-tab.is-active .lc-tab-count {
	background: rgba(255,255,255,.25);
}
.lc-container.lc-layout-tabs .lc-tab-panel { display: none; }
.lc-container.lc-layout-tabs .lc-tab-panel.is-active { display: block; }
.lc-container.lc-layout-tabs .lc-tab-panel .lc-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--lc-col-min), 1fr));
	gap: var(--lc-gap);
}

.lc-container.lc-layout-tabs.lc-tabs-tabstyle-underline .lc-tabs {
	gap: 24px;
}
.lc-container.lc-layout-tabs.lc-tabs-tabstyle-underline .lc-tab {
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 8px 4px;
}
.lc-container.lc-layout-tabs.lc-tabs-tabstyle-underline .lc-tab.is-active {
	background: transparent;
	color: var(--lc-primary);
	border-bottom-color: var(--lc-primary);
}
.lc-container.lc-layout-tabs.lc-tabs-tabstyle-underline .lc-tab.is-active .lc-tab-count {
	background: color-mix(in srgb, var(--lc-primary) 12%, transparent);
	color: var(--lc-primary);
}

.lc-container.lc-layout-tabs.lc-tabs-tabstyle-buttons .lc-tab {
	border-radius: 6px;
}

.lc-container.lc-layout-tabs.lc-tabs-tabstyle-segmented .lc-tabs {
	display: inline-flex;
	gap: 0;
	background: color-mix(in srgb, var(--lc-border) 40%, transparent);
	padding: 4px;
	border-radius: 8px;
	border-bottom: 0;
}
.lc-container.lc-layout-tabs.lc-tabs-tabstyle-segmented .lc-tab {
	border: 0;
	border-radius: 6px;
	background: transparent;
}
.lc-container.lc-layout-tabs.lc-tabs-tabstyle-segmented .lc-tab.is-active {
	background: var(--lc-bg);
	color: var(--lc-text);
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

@media (min-width: 720px) {
	.lc-container.lc-layout-tabs.lc-tabs-tabposition-left {
		display: grid;
		grid-template-columns: 220px 1fr;
		gap: 24px;
	}
	.lc-container.lc-layout-tabs.lc-tabs-tabposition-left .lc-tabs {
		flex-direction: column;
		align-items: stretch;
		border-bottom: 0;
		border-right: 1px solid var(--lc-border);
		padding-bottom: 0;
		padding-right: 16px;
		margin-bottom: 0;
	}
	.lc-container.lc-layout-tabs.lc-tabs-tabposition-left .lc-tab {
		justify-content: space-between;
	}
}

.lc-container.lc-layout-tabs.lc-tabs-innerlayout-list .lc-tab-panel .lc-list {
	display: flex;
	flex-direction: column;
	gap: var(--lc-gap);
}
.lc-container.lc-layout-tabs.lc-tabs-innerlayout-list .lc-card {
	flex-direction: row;
}
.lc-container.lc-layout-tabs.lc-tabs-innerlayout-list .lc-thumb {
	flex: 0 0 180px;
	max-width: 180px;
}
.lc-container.lc-layout-tabs.lc-tabs-innerlayout-list .lc-thumb img { height: 100%; aspect-ratio: auto; }

.lc-container.lc-layout-tabs.lc-tabs-innerlayout-compact .lc-tab-panel .lc-list {
	gap: 6px;
}
.lc-container.lc-layout-tabs.lc-tabs-innerlayout-compact .lc-card { flex-direction: row; }
.lc-container.lc-layout-tabs.lc-tabs-innerlayout-compact .lc-thumb { display: none; }
.lc-container.lc-layout-tabs.lc-tabs-innerlayout-compact .lc-card-subtitle { display: none; }

/* ================================================================
 * 15. HIDDEN CARDS / MORE-TOGGLE / a11y
 * ================================================================ */
.lc-container [data-lc-hidden] { display: none; }
.lc-container.lc-show-all [data-lc-hidden] { display: flex; }
.lc-container.lc-layout-mosaic.lc-show-all [data-lc-hidden] { display: inline-block; }

.lc-container .lc-more-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 8px 16px;
	background: transparent;
	border: 1px solid var(--lc-border);
	border-radius: 999px;
	color: var(--lc-text);
	font-size: .82rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.lc-container .lc-more-toggle:hover { background: var(--lc-primary); color: #fff; border-color: var(--lc-primary); }

.lc-container .lc-arrow:focus     { outline: 2px solid var(--lc-primary); outline-offset: 2px; }
.lc-container .lc-acc-summary:focus { outline: 2px solid var(--lc-primary); outline-offset: -2px; }

/* ================================================================
 * 16. REDUCED MOTION + PRINT
 * ================================================================ */
@media (prefers-reduced-motion: reduce) {
	.lc-container * { transition: none; animation: none; scroll-behavior: auto; }
	.lc-container.lc-clickable .lc-card:hover { transform: none; }
	.lc-container.lc-clickable .lc-card:hover .lc-thumb img { transform: none; }
}

@media print {
	.lc-container.lc-no-print { display: none; }
}
