/**
 * Global demo hub styling — heroes, badges, cards, steps.
 */

.ltxdh-hero,
.ltxdh-section {
	max-width: 960px;
	margin: 0 auto 2.5rem;
	padding: 0 1.25rem;
}

.ltxdh-section-hero .ltxdh-hero {
	padding: clamp(2rem, 5vw, 3.5rem) 1.5rem;
	border-radius: 16px;
	background: linear-gradient(135deg, #0f172a, #1e3a8a);
	color: #fff;
	text-align: center;
}

.ltxdh-badge {
	display: inline-block;
	margin: 0 0 0.75rem;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ltxdh-badge--premium {
	background: linear-gradient(135deg, #b8860b, #f5d061);
	color: #1a1200;
}

.ltxdh-badge--free {
	background: rgba(37, 99, 235, 0.15);
	color: #1d4ed8;
}

.ltxdh-hero h1 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.15;
}

.ltxdh-hero__lead {
	margin: 0 auto 1.25rem;
	max-width: 640px;
	font-size: 1.05rem;
	opacity: 0.92;
}

.ltxdh-hero__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.ltxdh-hero__nav a {
	color: #fff;
	text-decoration: none;
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	font-size: 0.875rem;
}

.ltxdh-hero__nav a:hover {
	background: rgba(255, 255, 255, 0.12);
}

.ltxdh-section h2 {
	margin: 0 0 1rem;
	font-size: 1.5rem;
	color: #0f172a;
}

.ltxdh-prose p {
	color: #475569;
	line-height: 1.7;
}

.ltxdh-deps {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	background: #f8fafc;
	border-left: 4px solid #2563eb;
	border-radius: 4px;
	font-size: 0.9rem;
}

.ltxdh-steps {
	margin: 0;
	padding-left: 1.25rem;
	color: #334155;
	line-height: 1.8;
}

.ltxdh-steps li {
	margin-bottom: 0.5rem;
}

.ltxdh-ai-callout,
.ltxdh-editor-quality-callout {
	padding: 1rem 1.25rem;
	background: #fffbeb;
	border: 1px solid #fcd34d;
	border-radius: 8px;
}

/* Homepage */
.ltxdh-home {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #0f172a;
	line-height: 1.6;
}

.ltxdh-home__hero {
	padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
	background: #0f172a center/cover no-repeat;
	color: #fff;
	text-align: center;
	border-radius: 0 0 20px 20px;
	margin-bottom: 2rem;
}

.ltxdh-home__hero-inner {
	max-width: 800px;
	margin: 0 auto;
}

.ltxdh-home__lead {
	margin: 0 auto 1.5rem;
	max-width: 680px;
	font-size: 1.1rem;
	color: rgba(255, 255, 255, 0.92);
}

.ltxdh-home__stats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.ltxdh-home__stat {
	min-width: 7rem;
	padding: 0.75rem 1rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
}

.ltxdh-home__stat strong {
	display: block;
	font-size: 1.35rem;
}

.ltxdh-home__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.ltxdh-btn {
	display: inline-block;
	padding: 0.65rem 1.25rem;
	border-radius: 10px;
	font-weight: 600;
	text-decoration: none;
}

.ltxdh-btn--primary {
	background: #f5d061;
	color: #1a1200;
}

.ltxdh-btn--ghost {
	border: 1px solid rgba(255, 255, 255, 0.45);
	color: #fff;
}

.ltxdh-home__main {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 1.25rem 3rem;
}

.ltxdh-home__group {
	margin-bottom: 2.5rem;
}

.ltxdh-home__group--premium {
	padding-top: 0.5rem;
	border-top: 3px solid #b8860b;
}

.ltxdh-home__group-head h2 {
	margin: 0 0 0.25rem;
	font-size: 1.5rem;
}

.ltxdh-home__group-head p {
	margin: 0 0 1rem;
	color: #64748b;
}

.ltxdh-home__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.ltxdh-card {
	display: block;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, transform 0.2s;
}

.ltxdh-card:hover {
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.ltxdh-card__badge {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.2rem 0.55rem;
	border-radius: 6px;
	background: #fef3c7;
	color: #92400e;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
}

.ltxdh-card h3 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	color: #0f172a;
}

.ltxdh-card p {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: #64748b;
}

.ltxdh-card__cta {
	font-size: 0.85rem;
	font-weight: 600;
	color: #2563eb;
}

.ltxdh-home__footer {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e2e8f0;
	color: #64748b;
	font-size: 0.9rem;
	text-align: center;
}

@media (max-width: 640px) {
	.ltxdh-home__stats {
		flex-direction: column;
		align-items: stretch;
	}
}

.ltxdh-mini-cart-hint {
	margin-bottom: 1rem;
}

.ltxdh-mini-cart-products {
	margin-bottom: 5rem;
}

.ltxdh-sticky-atc-hint {
	margin-bottom: 1rem;
}

.ltxdh-sticky-atc-spacer {
	margin-top: 2rem;
	padding-bottom: 6rem;
}

.ltxdh-remote-content-hint {
	margin-bottom: 1rem;
}

.ltxdh-remote-content-hint code {
	word-break: break-all;
}

.ltx-remote-content__pre {
	margin: 0;
	padding: 1rem 1.25rem;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	font-size: 1.05rem;
	line-height: 1.5;
	white-space: pre-wrap;
}

.ltx-remote-content--error {
	color: #b91c1c;
	background: #fef2f2;
	border: 1px solid #fecaca;
	padding: 0.75rem 1rem;
	border-radius: 6px;
}

.ltxdh-motion-lab-bg {
	min-height: 360px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background-color: #1e293b;
}

.ltxdh-motion-lab-bg .elementor-column-wrap,
.ltxdh-motion-lab-bg .elementor-widget-wrap {
	width: 100%;
}

.ltxdh-motion-lab-bg-label {
	margin: 0;
	color: #fff;
	font-weight: 600;
	text-shadow: 0 1px 8px rgba( 0, 0, 0, 0.45 );
	text-align: center;
}

.ltxdh-motion-lab-hint {
	margin-bottom: 1rem;
}

.ltxdh-motion-lab-bg + .ltxdh-motion-lab-panel {
	margin-top: -5.5rem;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 2;
}

.ltxdh-motion-lab-panel .elementor-heading-title,
.ltxdh-motion-lab-panel .ltxdh-prose,
.ltxdh-motion-lab-panel .elementor-widget-text-editor {
	color: #0f172a;
}

.ltxdh-acf-gallery-hint,
.ltxdh-acf-gallery-missing,
.ltxdh-loop-facets-hint,
.ltxdh-external-grid-hint,
.ltxdh-forms-pro-hint,
.ltxdh-tooltips-hint,
.ltxdh-layout-switcher-hint {
	margin-bottom: 1rem;
}

/* Loop AJAX Facets — card grid + facet bar polish */
.ltxdh-loop-facets-showcase {
	padding: 1.75rem 1.5rem 2.25rem;
	border-radius: 16px;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 72%);
	border: 1px solid rgba(15, 23, 42, 0.08);
}

.ltxdh-loop-facets-showcase .ltxee-loop-facets {
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem 1.15rem;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.ltxdh-loop-facets-showcase .ltxee-loop-facets__legend {
	font-weight: 600;
	color: #0f172a;
}

.ltxdh-loop-facets-showcase .ltxee-loop-facets__terms {
	gap: 0.5rem;
}

.ltxdh-loop-facets-showcase .ltxee-loop-facets__label {
	border-radius: 999px;
	padding: 0.4rem 0.9rem;
	border: 1px solid #cbd5e1;
	background: #f8fafc;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.ltxdh-loop-facets-showcase .ltxee-loop-facets__label.is-active,
.ltxdh-loop-facets-showcase .ltxee-loop-facets__label:has(.ltxee-loop-facets__input:checked) {
	border-color: #2563eb;
	background: #eff6ff;
}

.ltxdh-loop-facets-showcase .ltxee-loop-facets__apply {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
}

.ltxdh-loop-facets-showcase .ee-loop > .ee-loop__item {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ltxdh-loop-facets-showcase .ee-loop > .ee-loop__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
}

.ltxdh-loop-facets-showcase .ee-post__media:before {
	padding-bottom: 62% !important;
}

.ltxdh-loop-facets-showcase .ee-post__media__thumbnail,
.ltxdh-loop-facets-showcase .ee-post__media__thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ltxdh-loop-facets-showcase .ee-post__body {
	padding: 1rem 1.1rem 1.25rem;
}

.ltxdh-loop-facets-showcase .ee-post__title a {
	color: #0f172a;
	text-decoration: none;
}

.ltxdh-loop-facets-showcase .ee-post__title a:hover {
	color: #2563eb;
}

.ltxdh-loop-facets-showcase .ee-post__terms a,
.ltxdh-loop-facets-showcase .ee-post__term {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #2563eb;
}

.ltxdh-loop-facets-showcase .ee-post__excerpt {
	color: #475569;
	line-height: 1.55;
	margin-top: 0.35rem;
}

.ltxdh-loop-facets-showcase .ee-post__metas {
	margin-top: 0.65rem;
	font-size: 0.85rem;
	color: #64748b;
}

.ltxdh-layout-switcher {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.ltxdh-layout-switcher__btn {
	appearance: none;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #0f172a;
	border-radius: 999px;
	padding: 0.45rem 1rem;
	font: inherit;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ltxdh-layout-switcher__btn:hover,
.ltxdh-layout-switcher__btn:focus-visible {
	border-color: #2563eb;
	color: #1d4ed8;
}

.ltxdh-layout-switcher__btn.is-active {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
}

.ltxdh-layout-panel,
.ltxdh-skin-panel {
	display: none !important;
	margin-bottom: 2rem;
}

.ltxdh-layout-panel.is-active,
.ltxdh-skin-panel.is-active {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100%;
}

.ltxdh-layout-panel.is-active > .elementor-container,
.ltxdh-skin-panel.is-active > .elementor-container {
	width: 100%;
	max-width: 100%;
}

.ltxdh-section-live > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section.ltxdh-layout-panel {
	width: 100%;
}

.ltxdh-skin-switcher {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

/**
 * Loop layout demo — demo-only CSS so Default / Masonry / Metro / Packery panels look distinct.
 * Child 1 of .ee-loop is the Isotope sizer; first post is nth-child(2).
 */
@media (min-width: 1025px) {
	.ltxdh-layout-panel--masonry .ee-post__media:before,
	.ltxdh-layout-panel--packery .ee-post__media:before {
		content: none !important;
		display: none !important;
		padding-bottom: 0 !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(2) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(3) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(4) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(5) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(6) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(7) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(4) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(5) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(6) .ee-post__media__thumbnail,
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(7) .ee-post__media__thumbnail {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		overflow: hidden;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(2) .ee-post__media__thumbnail {
		height: 200px !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(3) .ee-post__media__thumbnail {
		height: 340px !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(4) .ee-post__media__thumbnail {
		height: 260px !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(5) .ee-post__media__thumbnail {
		height: 300px !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(6) .ee-post__media__thumbnail {
		height: 220px !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item:nth-child(7) .ee-post__media__thumbnail {
		height: 280px !important;
	}

	.ltxdh-layout-panel--masonry .ee-loop > .ee-loop__item .ee-post__media__thumbnail img,
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item .ee-post__media__thumbnail img {
		display: block;
		height: 100% !important;
		max-height: none !important;
		object-fit: cover;
		width: 100% !important;
	}

	/* Packery demo: wide hero + narrow second tile (works even before HTML re-seed adds marker classes). */
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(2),
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item.ltxee-packery-featured {
		width: 66.666% !important;
		z-index: 1;
	}

	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(3),
	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item.ltxee-packery-second {
		width: 33.333% !important;
		z-index: 0;
	}

	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(4) .ee-post__media__thumbnail {
		height: 280px !important;
	}

	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(5) .ee-post__media__thumbnail {
		height: 220px !important;
	}

	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(6) .ee-post__media__thumbnail {
		height: 320px !important;
	}

	.ltxdh-layout-panel--packery .ee-loop > .ee-loop__item:nth-child(7) .ee-post__media__thumbnail {
		height: 240px !important;
	}
}

/* EE Mega Menu showcase (demo-mega-menu live section) */
.ltxdh-mega-menu-showcase {
	padding: 1.5rem 1.25rem 2rem;
	border-radius: 16px;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 55%);
	border: 1px solid rgba(15, 23, 42, 0.08);
}

.ltxdh-mega-menu-showcase .ee-mega-menu {
	padding: 0.5rem 0.75rem;
	border-radius: 12px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.ltxdh-mega-menu-hint {
	margin-bottom: 1rem !important;
}

.ltxdh-use-cases {
	margin: 0.75rem 0 0;
	padding-left: 1.25rem;
	color: #334155;
}

.ltxdh-use-cases li {
	margin-bottom: 0.35rem;
}

.ltxdh-mega-panel {
	color: #0f172a;
}

.ltxdh-mega-panel__badge {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background: rgba(30, 58, 138, 0.1);
	color: #1e3a8a;
}

.ltxdh-mega-panel__badge--shop {
	background: rgba(180, 83, 9, 0.12);
	color: #9a3412;
}

.ltxdh-mega-panel__title {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
	line-height: 1.25;
}

.ltxdh-mega-panel__lead {
	margin: 0;
	color: #475569;
	font-size: 0.92rem;
}

.ltxdh-mega-panel__hero {
	margin-top: 0.85rem;
	border-radius: 10px;
	overflow: hidden;
}

.ltxdh-mega-panel__hero img {
	display: block;
	width: 100%;
	height: auto;
}

.ltxdh-mega-panel__col-title {
	margin: 0 0 0.65rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
}

.ltxdh-mega-panel__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ltxdh-mega-panel__links li {
	margin: 0 0 0.65rem;
}

.ltxdh-mega-panel__links a {
	display: block;
	font-weight: 600;
	color: #0f172a;
	text-decoration: none;
}

.ltxdh-mega-panel__links a:hover {
	color: #1d4ed8;
}

.ltxdh-mega-panel__links span {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.82rem;
	color: #64748b;
}

.ltxdh-mega-panel--promo {
	padding: 1rem;
	border-radius: 12px;
	background: linear-gradient(145deg, #eff6ff, #f8fafc);
	border: 1px solid rgba(29, 78, 216, 0.12);
}

.ltxdh-mega-panel__promo-copy {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	color: #475569;
}

.ltxdh-mega-panel__cta {
	display: inline-block;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	background: #1d4ed8;
	color: #fff !important;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
}

.ltxdh-mega-panel__cta:hover {
	background: #1e40af;
}

.ltxdh-mega-panel--footer {
	font-size: 0.88rem;
	color: #64748b;
}

.ltxdh-mega-panel--footer p {
	margin: 0;
}

.ltxdh-home__subline {
	margin: 0 0 1.25rem;
	font-size: 0.95rem;
	color: rgba( 255, 255, 255, 0.88 );
	max-width: 42rem;
}

.ltxdh-viewport-band {
	padding: 1.25rem 1.5rem;
	border-radius: 8px;
	margin: 0 0 1rem;
	font-size: 1rem;
}

.ltxdh-viewport-band--mobile {
	background: #ecfdf5;
	border: 1px solid #6ee7b7;
	color: #065f46;
}

.ltxdh-viewport-band--tablet {
	background: #fffbeb;
	border: 1px solid #fcd34d;
	color: #92400e;
}

.ltxdh-viewport-band--desktop {
	background: #eff6ff;
	border: 1px solid #93c5fd;
	color: #1e3a8a;
}

.ltxdh-premium-cta {
	margin: 1.25rem 0 0;
	padding: 1rem 1.25rem;
	border-radius: 8px;
	background: linear-gradient( 135deg, rgba( 180, 134, 11, 0.12 ), rgba( 15, 23, 42, 0.06 ) );
	border: 1px solid rgba( 180, 134, 11, 0.35 );
}

.ltxdh-premium-cta p {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.ltxdh-feature-compare {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1rem;
	font-size: 0.92rem;
}

.ltxdh-feature-compare th,
.ltxdh-feature-compare td {
	border: 1px solid #e2e8f0;
	padding: 0.65rem 0.85rem;
	text-align: left;
	vertical-align: top;
}

.ltxdh-feature-compare th {
	background: #f8fafc;
	font-weight: 600;
}

.ltxdh-tabs-demo .ltxe-tabs,
.ltxdh-toc-demo .ltxe-toc,
.ltxdh-advanced-image-demo .ltxe-advanced-image {
	margin-top: 0.5rem;
}

.ltxdh-toc-demo .ltxe-toc--sticky-left + .elementor-widget,
.ltxdh-toc-demo .elementor-widget-heading {
	clear: both;
}

.ltxdh-advanced-image-demo .ltxe-advanced-image img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba( 15, 23, 42, 0.12 );
}

