/* Eco Sky — Hardware Configurator */
.esw-hc {
	--esw-black: #131313;
	--esw-green-dark: #134540;
	--esw-green-mid: #687257;
	--esw-sand: #D3C9B5;
	--esw-mint: #E1EFF2;
	--esw-white: #F8F7F4;
	--esw-pure: #ffffff;
	--esw-timber: #D3C9B5;
	--esw-ease: cubic-bezier(.25,.46,.45,.94);
	font-family: 'Barlow', sans-serif;
	font-weight: 300;
	background: var(--esw-pure);
	color: var(--esw-black);
	line-height: 1.8;
	letter-spacing: .04em;
	position: relative;
}

/* ─── HERO (matches Window Configurator) ─────────── */
.esw-hc .esw-hero {
	background: linear-gradient(135deg, #091a16 0%, #152e22 45%, #2a1e10 100%);
	padding: 72px 80px 56px;
	position: relative;
	overflow: hidden;
}
.esw-hc .esw-hero::after {
	content: '';
	position: absolute; top: 0; right: 0; bottom: 0;
	width: 45%;
	background: radial-gradient(ellipse at right center, rgba(196,168,130,.07), transparent 65%);
	pointer-events: none;
}
.esw-hc .esw-hero-tag {
	font-size: 9px; letter-spacing: .5em; text-transform: uppercase;
	color: var(--esw-timber); opacity: .8;
	margin-bottom: 16px;
	display: flex; align-items: center; gap: 14px;
}
.esw-hc .esw-hero-tag::before {
	content: ''; width: 28px; height: 1px;
	background: var(--esw-timber); display: block;
}
.esw-hc .esw-hero h1 {
	font-size: clamp(28px, 4vw, 52px);
	font-weight: 200; letter-spacing: .08em; text-transform: uppercase;
	color: var(--esw-white); line-height: 1.08; margin-bottom: 16px;
}
.esw-hc .esw-hero h1 em {
	font-style: italic; font-weight: 100; color: var(--esw-timber);
}
.esw-hc .esw-hero p {
	font-size: 13px; color: rgba(248,247,244,.4);
	max-width: 500px; margin: 0;
}

/* ─── STEPPER ─────────────────────────────────────── */
.esw-hc .esw-stepper {
	background: rgba(8,18,14,.97);
	backdrop-filter: blur(20px);
	border-bottom: 1px solid rgba(211,201,181,.08);
	padding: 0 60px;
	display: flex;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.esw-hc .esw-stepper::-webkit-scrollbar { display: none; }
.esw-hc .esw-step-tab {
	display: flex; align-items: center; gap: 12px;
	padding: 18px 28px 18px 0;
	margin-right: 20px;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	opacity: .3;
	transition: opacity .3s, border-color .3s;
	white-space: nowrap;
}
.esw-hc .esw-step-tab.active {
	opacity: 1;
	border-bottom-color: var(--esw-timber);
}
.esw-hc .esw-step-tab.done { opacity: .55; }
.esw-hc .esw-step-tab.done .esw-step-num {
	background: var(--esw-green-dark);
	border-color: var(--esw-green-dark);
	color: var(--esw-white);
}
.esw-hc .esw-step-num {
	width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
	border: 1px solid rgba(211,201,181,.3);
	display: flex; align-items: center; justify-content: center;
	font-size: 10px; color: rgba(248,247,244,.4);
}
.esw-hc .esw-step-tab.active .esw-step-num {
	border-color: var(--esw-timber);
	color: var(--esw-timber);
}
.esw-hc .esw-step-label {
	font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
	color: var(--esw-white);
}
.esw-hc .esw-step-val {
	font-size: 9px; letter-spacing: .12em;
	color: rgba(211,201,181,.4);
	margin-top: 2px;
	max-width: 140px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ─── LAYOUT ──────────────────────────────────────── */
.esw-hc .esw-hc-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	min-height: 400px;
}
.esw-hc .esw-hc-panels {
	padding: 48px 60px 80px;
	background: var(--esw-white);
}
.esw-hc .esw-step-panel {
	display: none;
	animation: esw-hc-fadeUp .38s var(--esw-ease);
}
.esw-hc .esw-step-panel.active { display: block; }
@keyframes esw-hc-fadeUp {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: translateY(0); }
}

.esw-hc .esw-step-head { margin-bottom: 32px; }
.esw-hc .esw-tag {
	font-size: 9px; font-weight: 300; letter-spacing: .55em; text-transform: uppercase;
	color: var(--esw-green-mid); margin-bottom: 12px;
	display: flex; align-items: center; gap: 14px;
}
.esw-hc .esw-tag::before {
	content: ''; width: 28px; height: 1px; background: var(--esw-green-mid);
}
.esw-hc .esw-step-head h2 {
	font-size: clamp(20px, 2.4vw, 30px); font-weight: 200;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--esw-green-dark); margin-bottom: 8px; line-height: 1.1;
}
.esw-hc .esw-step-head h2 em {
	font-style: italic; font-weight: 100; color: var(--esw-green-dark);
}
.esw-hc .esw-step-head p {
	font-size: 13px; color: rgba(19,19,19,.42); line-height: 1.7; margin: 0;
}

/* ─── COLLECTION GRID ─────────────────────────────── */
.esw-hc .esw-col-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3px;
}
.esw-hc .esw-col-card {
	position: relative;
	background: #f2f0eb;
	cursor: pointer;
	overflow: hidden;
	min-height: 360px;
	display: flex; flex-direction: column;
	border: 2px solid transparent;
	transition: border-color .3s var(--esw-ease), transform .3s var(--esw-ease), box-shadow .35s var(--esw-ease);
}
.esw-hc .esw-col-card.esw-span-wide { grid-column: span 2; }
.esw-hc .esw-col-card:hover {
	border-color: rgba(19,69,64,.25);
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,0,0,.09);
}
.esw-hc .esw-col-card.sel {
	border-color: var(--esw-green-dark);
	box-shadow: 0 0 0 1px var(--esw-green-dark), 0 16px 40px rgba(0,0,0,.09);
}
.esw-hc .esw-col-card.sel::after {
	content: '✓';
	position: absolute; top: 14px; right: 14px;
	width: 26px; height: 26px;
	background: var(--esw-green-dark); border-radius: 50%;
	color: #fff; font-size: 12px; line-height: 26px; text-align: center;
	z-index: 10;
}
.esw-hc .esw-col-visual {
	flex: 1;
	display: flex; align-items: center; justify-content: center;
	padding: 40px 30px 20px;
	position: relative; overflow: hidden;
}
.esw-hc .esw-col-visual::before {
	content: '';
	position: absolute; inset: 0;
	background: radial-gradient(ellipse at 50% 55%, rgba(211,201,181,.18) 0%, transparent 65%);
	pointer-events: none;
}
.esw-hc .esw-col-visual svg {
	filter: drop-shadow(0 10px 24px rgba(0,0,0,.2));
	transition: transform .5s var(--esw-ease);
	max-height: 240px;
}
.esw-hc .esw-col-card:hover .esw-col-visual svg {
	transform: translateY(-6px) scale(1.04);
}
.esw-hc .esw-col-info {
	padding: 22px 26px 20px;
	border-top: 1px solid rgba(19,69,64,.07);
	background: #f2f0eb;
}
.esw-hc .esw-col-tier {
	font-size: 8px; letter-spacing: .38em; text-transform: uppercase;
	color: var(--esw-green-mid); margin-bottom: 6px; opacity: .7;
}
.esw-hc .esw-col-name {
	font-size: 20px; font-weight: 200; letter-spacing: .18em;
	text-transform: uppercase; color: var(--esw-green-dark);
	margin-bottom: 4px; line-height: 1;
}
.esw-hc .esw-col-by {
	font-size: 9px; letter-spacing: .3em; text-transform: uppercase;
	color: rgba(19,69,64,.38); margin-bottom: 10px;
}
.esw-hc .esw-col-desc {
	font-size: 11px; color: rgba(19,19,19,.45); line-height: 1.65;
}
.esw-hc .esw-col-footer {
	padding: 12px 26px;
	display: flex; align-items: center; justify-content: space-between;
	background: #ede9e2;
}
.esw-hc .esw-col-dots { display: flex; gap: 5px; }
.esw-hc .esw-cdot {
	width: 11px; height: 11px; border-radius: 50%;
	border: 1px solid rgba(0,0,0,.06);
}
.esw-hc .esw-col-price { display: flex; gap: 3px; }
.esw-hc .esw-ppip {
	width: 6px; height: 6px; border-radius: 50%;
	background: rgba(19,69,64,.14);
}
.esw-hc .esw-ppip.on { background: var(--esw-green-mid); }

/* ─── PRODUCT TYPE ────────────────────────────────── */
.esw-hc .esw-type-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
}
.esw-hc .esw-type-card {
	border: 1.5px solid rgba(19,69,64,.12); padding: 26px 16px;
	cursor: pointer; text-align: center;
	transition: all .3s var(--esw-ease); position: relative; background: #fff;
}
.esw-hc .esw-type-card:hover {
	border-color: var(--esw-green-mid);
	background: rgba(19,69,64,.02);
}
.esw-hc .esw-type-card.sel {
	border-color: var(--esw-green-dark);
	background: rgba(19,69,64,.04);
}
.esw-hc .esw-type-card.sel::after {
	content: '✓'; position: absolute; top: 10px; right: 12px;
	font-size: 10px; color: var(--esw-green-dark);
}
.esw-hc .esw-type-card svg { width: 50px; height: 50px; margin-bottom: 12px; }
/* Product icons: match HTML; resist theme/global svg stroke/fill overrides */
.esw-hc .esw-type-card {
	color: #134540;
}
.esw-hc .esw-type-card .esw-product-icon,
.esw-hc .esw-type-card > svg.esw-product-icon {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.esw-hc .esw-type-card .esw-product-icon rect,
.esw-hc .esw-type-card .esw-product-icon line,
.esw-hc .esw-type-card .esw-product-icon path,
.esw-hc .esw-type-card > svg.esw-product-icon rect,
.esw-hc .esw-type-card > svg.esw-product-icon line,
.esw-hc .esw-type-card > svg.esw-product-icon path {
	stroke: currentColor !important;
	fill: none !important;
}
.esw-hc .esw-type-card .esw-product-icon .esw-icon-fill,
.esw-hc .esw-type-card > svg.esw-product-icon circle.esw-icon-fill {
	fill: currentColor !important;
	stroke: none !important;
}
.esw-hc .esw-col-visual svg,
.esw-hc .esw-handle-visual svg.esw-handle-icon {
	fill: unset;
	stroke: unset;
}
.esw-hc .esw-type-name {
	font-size: 10px; font-weight: 300; letter-spacing: .22em;
	text-transform: uppercase; color: var(--esw-green-dark);
}

/* ─── FINISH ──────────────────────────────────────── */
.esw-hc .esw-finish-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
	gap: 12px;
}
.esw-hc .esw-finish-card {
	border: 1.5px solid rgba(19,69,64,.1);
	cursor: pointer; overflow: hidden;
	transition: all .3s var(--esw-ease); position: relative; background: #fff;
}
.esw-hc .esw-finish-card.esw-hidden { display: none; }
.esw-hc .esw-finish-card:hover {
	border-color: var(--esw-green-mid);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,.07);
}
.esw-hc .esw-finish-card.sel {
	border-color: var(--esw-green-dark);
	box-shadow: 0 0 0 1px var(--esw-green-dark);
}
.esw-hc .esw-fswatch { height: 72px; position: relative; }
.esw-hc .esw-fcheck {
	position: absolute; top: 7px; right: 7px; width: 20px; height: 20px;
	border-radius: 50%; background: var(--esw-green-dark);
	display: flex; align-items: center; justify-content: center;
	font-size: 10px; color: #fff; opacity: 0; transition: opacity .2s;
}
.esw-hc .esw-finish-card.sel .esw-fcheck { opacity: 1; }
.esw-hc .esw-finfo { padding: 10px 12px; }
.esw-hc .esw-fname {
	font-size: 10px; font-weight: 300; letter-spacing: .18em;
	text-transform: uppercase; color: var(--esw-green-dark); margin-bottom: 2px;
}
.esw-hc .esw-fcode {
	font-size: 9px; letter-spacing: .1em; color: rgba(19,19,19,.28);
}

/* ─── HANDLE ──────────────────────────────────────── */
.esw-hc .esw-handle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}
.esw-hc .esw-handle-card {
	border: 1.5px solid rgba(19,69,64,.1); cursor: pointer;
	transition: all .3s var(--esw-ease); position: relative;
	background: #fff; overflow: hidden;
}
.esw-hc .esw-handle-card.esw-hidden { display: none; }
.esw-hc .esw-handle-card:hover {
	border-color: var(--esw-green-mid);
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(0,0,0,.08);
}
.esw-hc .esw-handle-card.sel {
	border-color: var(--esw-green-dark);
	box-shadow: 0 0 0 1px var(--esw-green-dark);
}
.esw-hc .esw-handle-card.sel::after {
	content: '✓'; position: absolute; top: 12px; right: 14px;
	font-size: 11px; color: var(--esw-green-dark);
}
.esw-hc .esw-handle-visual {
	height: 160px; background: #f0ede8;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.esw-hc .esw-handle-visual svg {
	filter: drop-shadow(0 6px 16px rgba(0,0,0,.18));
	transition: transform .4s var(--esw-ease);
}
.esw-hc .esw-handle-card:hover .esw-handle-visual svg {
	transform: scale(1.06) translateY(-2px);
}
.esw-hc .esw-handle-info { padding: 18px 20px; }
.esw-hc .esw-handle-name {
	font-size: 11px; font-weight: 300; letter-spacing: .22em;
	text-transform: uppercase; color: var(--esw-green-dark); margin-bottom: 5px;
}
.esw-hc .esw-handle-desc {
	font-size: 11px; color: rgba(19,19,19,.4); line-height: 1.65;
}
.esw-hc .esw-handle-sku {
	font-size: 9px; letter-spacing: .18em;
	color: rgba(19,69,64,.35); margin-top: 8px;
}

/* ─── PANEL NAV ───────────────────────────────────── */
.esw-hc .esw-panel-nav {
	display: flex; gap: 12px; align-items: center; margin-top: 40px;
}
.esw-hc .esw-btn-next {
	font-family: 'Barlow', sans-serif; font-size: 9px; font-weight: 300;
	letter-spacing: .32em; text-transform: uppercase;
	background: var(--esw-green-dark); color: #fff; border: none;
	padding: 14px 32px; cursor: pointer; transition: background .3s;
	opacity: .3; pointer-events: none;
}
.esw-hc .esw-btn-next.ready { opacity: 1; pointer-events: auto; }
.esw-hc .esw-btn-next.ready:hover { background: var(--esw-black); }
.esw-hc .esw-btn-back {
	font-family: 'Barlow', sans-serif; font-size: 9px; font-weight: 300;
	letter-spacing: .32em; text-transform: uppercase;
	background: transparent; color: rgba(19,69,64,.45);
	border: 1.5px solid rgba(19,69,64,.16); padding: 13px 22px;
	cursor: pointer; transition: all .3s;
}
.esw-hc .esw-btn-back:hover {
	border-color: var(--esw-green-dark); color: var(--esw-green-dark);
}

/* ─── SIDEBAR ─────────────────────────────────────── */
.esw-hc .esw-hc-sidebar {
	background: #0f3a37;
	padding: 46px 32px;
	display: flex; flex-direction: column;
	position: sticky; top: 0;
	align-self: start;
	max-height: 100vh;
	overflow-y: auto;
}
.esw-hc .esw-sb-title {
	font-size: 9px; letter-spacing: .45em; text-transform: uppercase;
	color: var(--esw-sand); margin-bottom: 24px;
	display: flex; align-items: center; gap: 10px;
}
.esw-hc .esw-sb-title::before {
	content: ''; width: 16px; height: 1px; background: var(--esw-sand);
}
.esw-hc .esw-preview-box {
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(211,201,181,.1);
	aspect-ratio: 4/3; margin-bottom: 20px;
	display: flex; align-items: center; justify-content: center;
	position: relative; overflow: hidden;
}
.esw-hc .esw-preview-box svg { width: 62%; transition: all .5s var(--esw-ease); }
.esw-hc .esw-preview-label {
	position: absolute; bottom: 8px; right: 8px;
	font-size: 8px; letter-spacing: .3em; text-transform: uppercase;
	color: rgba(211,201,181,.25);
}
.esw-hc .esw-sb-range-pill {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7px 13px; font-size: 9px; letter-spacing: .3em; text-transform: uppercase;
	color: rgba(248,247,244,.35); border: 1px solid rgba(255,255,255,.06);
	margin-bottom: 20px; transition: all .4s;
}
.esw-hc .esw-sb-range-pill.set {
	color: var(--esw-sand); border-color: rgba(211,201,181,.2);
}
.esw-hc .esw-sb-range-pill .esw-rpd {
	width: 7px; height: 7px; border-radius: 50%;
	background: rgba(248,247,244,.16); transition: background .4s;
}
.esw-hc .esw-sb-range-pill.set .esw-rpd { background: var(--esw-sand); }
.esw-hc .esw-srow {
	padding: 12px 0; border-bottom: 1px solid rgba(211,201,181,.06);
	display: flex; gap: 12px; align-items: flex-start;
}
.esw-hc .esw-srow:first-of-type { border-top: 1px solid rgba(211,201,181,.06); }
.esw-hc .esw-srow-ico {
	width: 26px; height: 26px; min-width: 26px;
	border: 1px solid rgba(211,201,181,.1);
	display: flex; align-items: center; justify-content: center;
}
.esw-hc .esw-srow-ico svg { width: 12px; height: 12px; }
.esw-hc .esw-srow-lbl {
	font-size: 8px; letter-spacing: .38em; text-transform: uppercase;
	color: rgba(211,201,181,.34); margin-bottom: 3px;
}
.esw-hc .esw-srow-val {
	font-size: 12px; font-weight: 300; color: #fff; transition: color .3s;
}
.esw-hc .esw-srow-val.empty {
	color: rgba(248,247,244,.16); font-style: italic; font-size: 11px;
}
.esw-hc .esw-sw-dot {
	display: inline-block; width: 9px; height: 9px; border-radius: 50%;
	margin-right: 6px; vertical-align: middle;
	border: 1px solid rgba(0,0,0,.07);
}
.esw-hc .esw-sb-cta { margin-top: 20px; }
.esw-hc .esw-sb-cta p {
	font-size: 11px; color: rgba(248,247,244,.24);
	line-height: 1.7; margin-bottom: 14px;
}
.esw-hc .esw-btn-enquire {
	display: block; width: 100%;
	font-family: 'Barlow', sans-serif; font-size: 9px; font-weight: 300;
	letter-spacing: .32em; text-transform: uppercase;
	background: var(--esw-sand); color: var(--esw-green-dark);
	border: none; padding: 14px; cursor: pointer; text-align: center;
	text-decoration: none; opacity: .25; pointer-events: none;
	transition: background .3s;
}
.esw-hc .esw-btn-enquire.ready { opacity: 1; pointer-events: auto; }
.esw-hc .esw-btn-enquire.ready:hover { background: var(--esw-white); }

/* ─── STEP 5 SUMMARY + FORM ───────────────────────── */
.esw-hc .esw-step5-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.esw-hc .esw-step5-layout--solo { grid-template-columns: 1fr; }
.esw-hc .esw-step5-summary-col {
	display: block;
	min-width: 0;
}
.esw-hc .esw-step5-summary-col .esw-rrb-name,
.esw-hc .esw-step5-summary-col .esw-rval,
.esw-hc .esw-step5-summary-col .esw-rval-sub {
	color: var(--esw-green-dark) !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.esw-hc .esw-result-range-badge {
	display: flex; align-items: center; gap: 14px;
	margin-bottom: 24px; padding: 16px 20px;
	background: #fff; border: 1px solid rgba(19,69,64,.08);
	border-left: 3px solid var(--esw-green-dark);
}
.esw-hc .esw-rrb-name {
	font-size: 17px; font-weight: 200; letter-spacing: .18em;
	text-transform: uppercase; color: var(--esw-green-dark);
}
.esw-hc .esw-rrb-sub {
	font-size: 9px; letter-spacing: .38em; text-transform: uppercase;
	color: rgba(19,69,64,.36); margin-top: 2px;
}
.esw-hc .esw-result-box {
	background: var(--esw-mint); padding: 32px; margin-bottom: 26px;
}
.esw-hc .esw-rrow {
	display: flex; gap: 16px; padding: 14px 0;
	border-bottom: 1px solid rgba(19,69,64,.08);
}
.esw-hc .esw-rrow:last-child { border: none; }
.esw-hc .esw-rlbl {
	font-size: 9px; letter-spacing: .4em; text-transform: uppercase;
	color: var(--esw-green-mid); min-width: 78px; padding-top: 2px;
}
.esw-hc .esw-rval {
	font-size: 14px; font-weight: 300; color: var(--esw-green-dark);
	display: flex; align-items: center; gap: 8px;
}
.esw-hc .esw-rval-sub {
	font-size: 11px; color: rgba(19,69,64,.42); margin-top: 3px;
}
.esw-hc .esw-res-dot {
	width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0;
}
.esw-hc .esw-result-note {
	font-size: 12px; color: rgba(19,19,19,.34);
	line-height: 1.8; padding-top: 18px;
	border-top: 1px solid rgba(19,69,64,.08);
}

/* Form (shared patterns with window configurator) */
.esw-hc .esw-cf-form .esw-form-row {
	display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
	margin-bottom: 16px;
}
.esw-hc .esw-cf-form label {
	display: block; font-size: 9px; letter-spacing: .28em;
	text-transform: uppercase; color: var(--esw-green-mid); margin-bottom: 6px;
}
.esw-hc .esw-cf-form .esw-req { color: #c45; }
.esw-hc .esw-cf-form input,
.esw-hc .esw-cf-form select,
.esw-hc .esw-cf-form textarea {
	width: 100%; font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 300;
	padding: 12px 14px;
	border: 1px solid rgba(19,69,64,.15);
	background: #fff; color: var(--esw-black);
}
.esw-hc .esw-cf-form textarea { min-height: 100px; resize: vertical; }
/* Role select — horizontal padding like other fields; no vertical (clips text with theme) */
.esw-hc .esw-cf-form select[name="role"] {
	padding: 0 14px;
	box-sizing: border-box;
	min-height: 44px;
	line-height: 1.35;
	letter-spacing: 0;
}
.esw-hc .esw-form-privacy {
	font-size: 11px; color: rgba(19,19,19,.4); margin: 16px 0;
	line-height: 1.7;
}
.esw-hc .esw-form-actions {
	display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap;
}
.esw-hc .esw-form-submit {
	font-family: 'Barlow', sans-serif; font-size: 9px; font-weight: 300;
	letter-spacing: .32em; text-transform: uppercase;
	background: var(--esw-green-dark); color: #fff; border: none;
	padding: 14px 32px; cursor: pointer;
}
.esw-hc .esw-form-submit:hover { background: var(--esw-black); }
.esw-hc .esw-btn-restart {
	font-family: 'Barlow', sans-serif; font-size: 9px; font-weight: 300;
	letter-spacing: .32em; text-transform: uppercase;
	background: transparent; color: var(--esw-green-mid);
	border: 1.5px solid rgba(19,69,64,.18); padding: 13px 22px;
	cursor: pointer;
}

/* ─── SUCCESS ─────────────────────────────────────── */
.esw-hc .esw-success {
	display: none;
	position: absolute; inset: 0; z-index: 50;
	background: rgba(248,247,244,.97);
	align-items: center; justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 60px 40px;
}
.esw-hc.esw-show-success .esw-success { display: flex; }
.esw-hc .esw-success-icon {
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--esw-green-dark); color: var(--esw-white);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 24px;
}
.esw-hc .esw-success-h {
	font-size: clamp(22px, 3vw, 32px); font-weight: 200;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--esw-green-dark); margin-bottom: 16px;
}
.esw-hc .esw-success-body {
	font-size: 14px; color: rgba(19,19,19,.5);
	max-width: 480px; line-height: 1.85;
}

/* ─── RESPONSIVE ──────────────────────────────────── */
@media (max-width: 1100px) {
	.esw-hc .esw-col-grid { grid-template-columns: repeat(2, 1fr); }
	.esw-hc .esw-col-card.esw-span-wide { grid-column: span 1; }
	.esw-hc .esw-hc-layout { grid-template-columns: 1fr; }
	.esw-hc .esw-hc-sidebar {
		position: static; max-height: none;
	}
}
@media (max-width: 700px) {
	.esw-hc .esw-hero { padding: 56px 24px 40px; }
	.esw-hc .esw-stepper { padding: 0 20px; }
	.esw-hc .esw-hc-panels { padding: 30px 20px 60px; }
	.esw-hc .esw-col-grid { grid-template-columns: 1fr; }
	.esw-hc .esw-type-grid { grid-template-columns: repeat(2, 1fr); }
	.esw-hc .esw-step5-layout { grid-template-columns: 1fr; }
	.esw-hc .esw-cf-form .esw-form-row { grid-template-columns: 1fr; }
}
