/* /products/ (page 2091): same structure and colours, modern finish, no gradients. */

body.page-id-2091 {
	--ez-ink: #231f55;
	--ez-ink-soft: #4a4672;
	--ez-muted: #5f5b7d;
	--ez-accent: #ad83b4;
	--ez-accent-strong: #7d5287;
	--ez-surface: #f6f5fa;
	--ez-line: #e3dfed;
	--ez-ok: #2f7a55;
	--ez-out: cubic-bezier(.23, 1, .32, 1);
	overflow-x: clip;
}
body.page-id-2091 ::selection { background: var(--ez-accent); color: #fff; }
body.page-id-2091 :focus-visible { outline: 2px solid var(--ez-accent-strong); outline-offset: 3px; }

/* No gradients anywhere in the page content */
body.page-id-2091 #theme-main .bg-primary,
body.page-id-2091 #theme-main .btn,
body.page-id-2091 #theme-main [class*="bg-"] { background-image: none !important; }

/* ---------- Hero ---------- */

body.page-id-2091 #theme-main > section.bg-primary {
	background-color: var(--ez-ink) !important;
}
body.page-id-2091 #theme-main > section.bg-primary > .container {
	padding-top: clamp(72px, 9vw, 128px) !important;
	padding-bottom: clamp(72px, 9vw, 128px) !important;
}
body.page-id-2091 #theme-main > section.bg-primary .row { display: flex !important; flex-direction: column; align-items: center; }
body.page-id-2091 #theme-main > section.bg-primary [class*="col-"] { width: 100%; max-width: 720px; flex: none; }
body.page-id-2091 #theme-main > section.bg-primary h2 {
	font-size: var(--ez-fs-display-xl) !important;
	font-weight: 500 !important;
	letter-spacing: -.035em;
	line-height: 1.02;
	text-transform: lowercase;
	margin: 0;
}
body.page-id-2091 #theme-main > section.bg-primary h2::first-letter { text-transform: uppercase; }
body.page-id-2091 #theme-main > section.bg-primary h2 p { display: none; }
body.page-id-2091 #theme-main > section.bg-primary .lc-block.mb-4 { margin-bottom: 20px !important; }
body.page-id-2091 #theme-main > section.bg-primary p { color: #d9d5ea; margin: 0; }
body.page-id-2091 #theme-main > section.bg-primary p:empty,
body.page-id-2091 #theme-main > section.bg-primary p:not(.lead):has(> :only-child:empty) { display: none; }
body.page-id-2091 #theme-main > section.bg-primary p.lead {
	display: inline-block;
	font-size: var(--ez-fs-small);
	font-weight: 500;
	letter-spacing: .08em;
	color: var(--ez-accent);
	margin-bottom: 18px;
}
body.page-id-2091 #theme-main > section.bg-primary p:not(.lead) {
	font-size: var(--ez-fs-lead);
	line-height: 1.6;
	max-width: 58ch;
	margin-inline: auto;
	text-wrap: pretty;
}

/* ---------- Product rows ---------- */

body.page-id-2091 #theme-main > section:not(.bg-primary) { padding: clamp(48px, 6vw, 96px) 0 clamp(64px, 8vw, 120px); }

/* LiveCanvas left empty columns behind; hide them so the zig-zag lines up */
body.page-id-2091 #theme-main .row > [class*="col-"]:empty,
body.page-id-2091 #theme-main .row:not(:has(.lc-block)) { display: none; }

body.page-id-2091 #theme-main > section:not(.bg-primary) .row.align-items-center {
	--bs-gutter-x: clamp(32px, 6vw, 96px);
	margin-bottom: 0 !important;
	padding-block: clamp(40px, 5vw, 72px);
	border-top: 1px solid var(--ez-line);
}
body.page-id-2091 #theme-main > section:not(.bg-primary) .container:first-child > .row.align-items-center:first-of-type { border-top: 0; padding-top: 0; }
body.page-id-2091 #theme-main > section:not(.bg-primary) .container + .container .row.align-items-center:first-of-type { border-top: 1px solid var(--ez-line); }
body.page-id-2091 #theme-main [class*="col-"].p-lg-6 { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Image stage */
body.page-id-2091 #theme-main .lc-block.text-center:has(> img) {
	background: var(--ez-surface);
	border-radius: 24px;
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	padding: clamp(24px, 4vw, 56px);
}
body.page-id-2091 #theme-main .lc-block.text-center > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform 600ms var(--ez-out);
}
@media (hover: hover) and (pointer: fine) {
	body.page-id-2091 #theme-main .row.align-items-center:hover .lc-block.text-center > img { transform: scale(1.025); }
}

/* Title + status */
body.page-id-2091 #theme-main .lc-block.mb-5 { margin-bottom: 24px !important; }
body.page-id-2091 #theme-main h2.display-6 {
	font-size: var(--ez-fs-display) !important;
	font-weight: 500 !important;
	letter-spacing: -.025em;
	line-height: 1.08;
	color: var(--ez-ink);
	margin: 0 0 14px;
}
body.page-id-2091 #theme-main h2.display-6 + p.lead {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--ez-fs-small);
	font-weight: 500;
	padding: 5px 12px 5px 10px;
	border-radius: 999px;
	background: #f3edf5;
	color: var(--ez-accent-strong) !important;
	margin: 0;
}
body.page-id-2091 #theme-main h2.display-6 + p.lead::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}
body.page-id-2091 #theme-main .row:has(a[href*="contact-v-2"]) h2.display-6 + p.lead {
	background: #e8f3ed;
	color: var(--ez-ok) !important;
}

/* Intro sentence under the status */
body.page-id-2091 #theme-main .lc-block.mb-5:not(:has(h2)),
body.page-id-2091 #theme-main [class*="col-"] > .lc-block.text-primary:not(:has(svg, h2, .btn)) {
	margin-bottom: 24px !important;
	font-size: var(--ez-fs-lead);
	line-height: 1.6;
	color: var(--ez-ink-soft) !important;
	max-width: 48ch;
}

/* Feature list */
body.page-id-2091 #theme-main [class*="col-"] > .lc-block.text-primary:has(svg) {
	color: var(--ez-ink-soft) !important;
	line-height: 1.5;
	margin-bottom: 12px;
}
body.page-id-2091 #theme-main .lc-block .d-inline-flex > .ms-3 {
	margin-left: 0 !important;
	display: grid;
	grid-template-columns: 22px 1fr;
	column-gap: 12px;
	align-items: start;
	font-size: var(--ez-fs-body);
	max-width: 52ch;
}
body.page-id-2091 #theme-main .lc-block .d-inline-flex > div:empty { display: none; }
body.page-id-2091 #theme-main .lc-block .d-inline-flex svg {
	width: 20px;
	height: 20px;
	margin-top: 2px;
	color: var(--ez-accent-strong) !important;
}

/* Buttons */
body.page-id-2091 #theme-main .lc-block.mt-md-3 { margin-top: 28px !important; }
body.page-id-2091 #theme-main .lc-block .btn {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 10px;
	font-weight: 500;
	font-size: var(--ez-fs-body);
	border: 1.5px solid var(--ez-ink);
	background-color: var(--ez-ink);
	color: #fff;
	box-shadow: none;
	transition: transform 160ms var(--ez-out), background-color 150ms ease, color 150ms ease;
}
body.page-id-2091 #theme-main .lc-block .btn:active { transform: scale(.97); }
body.page-id-2091 #theme-main .lc-block .btn[href*="contact-light"],
body.page-id-2091 #theme-main .lc-block .btn[href*="contact-v-3"] {
	background-color: transparent;
	color: var(--ez-ink);
}
@media (hover: hover) and (pointer: fine) {
	body.page-id-2091 #theme-main .lc-block .btn:hover { background-color: #2f2a6e; border-color: #2f2a6e; color: #fff; }
}

/* ---------- Mobile ---------- */

@media (max-width: 991.98px) {
	body.page-id-2091 #theme-main > section:not(.bg-primary) .row.align-items-center { --bs-gutter-x: 24px; }
	body.page-id-2091 #theme-main .lc-block.text-center:has(> img) { margin-bottom: 28px; border-radius: 20px; }
	/* On phones the image always comes first */
	body.page-id-2091 #theme-main .row.align-items-center > [class*="col-"]:has(> .lc-block.text-center > img) { order: -1; }
}

@media (prefers-reduced-motion: reduce) {
	body.page-id-2091 #theme-main .lc-block.text-center > img,
	body.page-id-2091 #theme-main .lc-block .btn { transition: none; }
	body.page-id-2091 #theme-main .row.align-items-center:hover .lc-block.text-center > img { transform: none; }
}

/* ---------- Enrichment (rendered by inc/ezme-product.php) ---------- */

/* Hero jump links */
body.page-id-2091 .ezme-jump {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 36px;
}
body.page-id-2091 .ezme-jump a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .22);
	color: #fff;
	font-size: var(--ez-fs-small);
	font-weight: 500;
	text-decoration: none;
	transition: background-color 150ms ease, border-color 150ms ease, transform 160ms var(--ez-out);
}
body.page-id-2091 .ezme-jump a:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) {
	body.page-id-2091 .ezme-jump a:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .4); }
}
body.page-id-2091 .ezme-jump__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ez-accent); }
body.page-id-2091 .ezme-jump__dot.is-now { background: #6fd3a0; }
body.page-id-2091 h2.display-6[id] { scroll-margin-top: 96px; }
html:has(body.page-id-2091) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html:has(body.page-id-2091) { scroll-behavior: auto; } }

/* Row price + facts */
body.page-id-2091 .ezme-row-price {
	margin: 20px 0 0;
	color: var(--ez-muted);
	font-size: var(--ez-fs-body);
	font-variant-numeric: tabular-nums;
}
body.page-id-2091 .ezme-row-price strong { color: var(--ez-ink); font-size: var(--ez-fs-h3); margin-right: 4px; }
body.page-id-2091 .ezme-row-facts {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 16px 0 0;
}
body.page-id-2091 .ezme-row-facts li {
	font-size: var(--ez-fs-small);
	color: var(--ez-ink-soft);
	background: var(--ez-surface);
	border: 1px solid var(--ez-line);
	border-radius: 999px;
	padding: 4px 12px;
}
body.page-id-2091 #theme-main .lc-block.mt-md-3:has(.ezme-row-more) { display: flex; flex-wrap: wrap; gap: 12px; }
body.page-id-2091 #theme-main .lc-block .btn.ezme-row-more { background-color: transparent; color: var(--ez-ink); }

/* Shared sections after the models */
body.page-id-2091 .ezme-overview-sections { padding-bottom: clamp(64px, 8vw, 120px); }
body.page-id-2091 .ezme-overview-sections > .ezme-section:first-child { margin-top: 0; }
body.page-id-2091 .ezme-overview-sections .ezme-compare { padding-top: clamp(48px, 6vw, 80px); border-top: 1px solid var(--ez-line); }

/* Coming-soon buttons stay outlined (site-wide .btn-primary is solid) */
body.page-id-2091 #theme-main .lc-block .btn[href*="contact-light"],
body.page-id-2091 #theme-main .lc-block .btn[href*="contact-v-3"] {
	background-color: transparent !important;
	color: var(--ez-ink) !important;
}
