/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SMOUSE STUDIO — INSTALL GUIDE POPUP (shared / single source of truth)
   A lightbox-style modal with per-product install instructions. installGuide.js
   injects the markup and wires the "Installation Guide" button; this file styles
   it to match the site's dark / orange scheme. Edit copy in installGuide-config.js.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── overlay / dimmed backdrop (click to close) ───────────────────────────── */
.sm-install {
	/* ★ MASTER SIZE KNOB — scales the WHOLE popup (box + text + padding) uniformly.
	   1 = default · 1.2 = 20% bigger · 0.85 = smaller. Change this one value to taste. */
	--sm-install-scale: 0.75;

	position: fixed;
	inset: 0;
	z-index: 10001;

	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5vmin;

	background: rgba(141, 141, 141, 0);
	-webkit-backdrop-filter: blur(5px) saturate(120%);
	backdrop-filter: blur(5px) saturate(120%);

	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.sm-install.is-open {
	opacity: 1;
	visibility: visible;
}

/* ── the instruction box ──────────────────────────────────────────────────── */
.sm-install__box {
	position: relative;
	width: 100%;
	max-width: 58rem;
	max-height: 85vh;
	overflow-y: auto;
	padding: 2.25rem 2.25rem 2rem;

	background: rgba(22, 22, 24, 0.97);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 1rem;
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.6);

	transform: translateY(0.75rem) scale(calc(0.985 * var(--sm-install-scale, 1)));
	transition: transform 0.25s ease;
}
.sm-install.is-open .sm-install__box { transform: translateY(0) scale(var(--sm-install-scale, 1)); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.sm-install__box { background: #161618; }
}

/* small orange eyebrow above the heading */
.sm-install__eyebrow {
	margin: 0 0 0.5rem;
	font-family: 'DM Mono', monospace;
	font-size: 0.62rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--smouse-orange, #E35300);
}

.sm-install__title {
	margin: 0 0 1.1rem;
	padding-right: 2.5rem;            /* clear the close button */
	font-family: 'DM Sans', sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	color: #FAF2F0;
}

/* ── body copy ────────────────────────────────────────────────────────────── */
.sm-install__body {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.92rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
}
.sm-install__body p { margin: 0 0 0.9rem; }
.sm-install__body strong { color: #FAF2F0; font-weight: 600; }
.sm-install__body a { color: var(--smouse-orange, #E35300); text-decoration: underline; }
.sm-install__body code {
	font-family: 'DM Mono', monospace;
	font-size: 0.86em;
	padding: 0.08em 0.35em;
	border-radius: 0.3rem;
	background: rgba(255, 255, 255, 0.08);
	color: #FAF2F0;
}

/* numbered steps */
.sm-install__body ol {
	margin: 0 0 0.9rem;
	padding-left: 0;
	list-style: none;
	counter-reset: sm-step;
}
.sm-install__body ol > li {
	position: relative;
	margin: 0 0 0.7rem;
	padding-left: 2.4rem;
	counter-increment: sm-step;
}
.sm-install__body ol > li::before {
	content: counter(sm-step);
	position: absolute;
	left: 0;
	top: 0.05em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	background: var(--smouse-orange, #E35300);
	color: #FFFFFF;
	border-radius: 50%;
	font-family: 'DM Mono', monospace;
	font-size: 0.8rem;
	font-weight: 500;
}

/* a soft "tip" callout for the closing note */
.sm-install__body .sm-install__tip {
	margin-top: 1.1rem;
	padding: 0.8rem 1rem;
	border-left: 3px solid var(--smouse-orange, #E35300);
	border-radius: 0 0.5rem 0.5rem 0;
	background: rgba(227, 83, 0, 0.08);
	font-size: 0.85rem;
}

/* ── close (X) button — redundant to click-off ───────────────────────────── */
.sm-install__close {
	position: absolute;
	top: 1rem;
	right: 1rem;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;

	background: #2a2a2a;
	border: 1px solid #575757;
	border-radius: 50%;
	color: #FAF2F0;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.sm-install__close:hover {
	background: var(--smouse-orange, #E35300);
	border-color: var(--smouse-orange, #E35300);
}
.sm-install__close svg {
	width: 44%;
	height: 44%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.25;
	stroke-linecap: round;
}

@media (max-width: 600px) {
	.sm-install__box { padding: 1.75rem 1.4rem 1.5rem; }
	.sm-install__title { font-size: 1.25rem; }
}
