

.ez-ret {
	--ez-ink: #1c2021;
	--ez-ink-soft: #3a3f41;
	--ez-muted: #6f7679;
	--ez-paper: #fff;
	--ez-paper-2: #f6f7f6;
	--ez-line: #e4e6e5;
	--ez-line-strong: #c9cdcc;
	--ez-ok: #2f7d4f;
	--ez-ok-soft: #eef4f0;
	--ez-ok-line: #cfe3d7;
	--ez-warn: #7c6418;
	--ez-warn-soft: #faf6e8;
	--ez-warn-line: #e9ddb8;
	--ez-err: #9d3535;
	--ez-err-soft: #faeeee;
	--ez-err-line: #e8caca;
	--ez-sans: 'Urbanist', 'Segoe UI', system-ui, sans-serif;
	--ez-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
	--ez-mono: ui-monospace, 'SFMono-Regular', 'Consolas', monospace;

	max-width: 760px;
	margin: 0 auto;
	padding: clamp(14px, 3vw, 32px) 0 clamp(46px, 8vw, 84px);
	font-family: var(--ez-body);
	color: var(--ez-ink);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
.ez-ret * { box-sizing: border-box; }


.ez-ret .ez-ret-hero { text-align: center; margin-bottom: clamp(24px, 4vw, 38px); }
.ez-ret .ez-ret-h1 {
	font-family: var(--ez-sans); font-weight: 700;
	font-size: clamp(26px, 4.8vw, 36px); line-height: 1.1;
	letter-spacing: -0.02em; margin: 0 0 10px; color: var(--ez-ink);
	text-wrap: balance;
}
.ez-ret .ez-ret-lede { color: var(--ez-muted); font-size: 15px; max-width: 52ch; margin: 0 auto; }


.ez-ret .ez-ret-steps { list-style: none; display: flex; margin: 0 auto clamp(26px, 4vw, 38px); padding: 0; max-width: 460px; }
.ez-ret .ez-ret-step { flex: 1; text-align: center; position: relative; min-width: 0; }
.ez-ret .ez-ret-node {
	width: 26px; height: 26px; border-radius: 50%; margin: 0 auto 8px;
	border: 2px solid var(--ez-line-strong); background: var(--ez-paper);
	font-family: var(--ez-mono); font-size: 12px; font-weight: 600; color: var(--ez-muted);
	display: flex; align-items: center; justify-content: center; position: relative; z-index: 1;
}
.ez-ret .ez-ret-conn {
	position: absolute; top: 12px; left: -50%; width: 100%; height: 2px;
	background: var(--ez-line); z-index: 0;
}
.ez-ret .ez-ret-step:first-child .ez-ret-conn { display: none; }
.ez-ret .ez-ret-step-lbl {
	font-family: var(--ez-sans); font-size: 11px; font-weight: 600;
	letter-spacing: 0.1em; text-transform: uppercase; color: var(--ez-muted);
	display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ez-ret .ez-ret-step.is-on .ez-ret-node { border-color: var(--ez-ink); color: var(--ez-ink); }
.ez-ret .ez-ret-step.is-on .ez-ret-step-lbl { color: var(--ez-ink); }
.ez-ret .ez-ret-step.is-done .ez-ret-node { border-color: var(--ez-ok); background: var(--ez-ok-soft); color: var(--ez-ok); }
.ez-ret .ez-ret-step.is-done .ez-ret-conn { background: var(--ez-ok-line); }


.ez-ret .ez-ret-card {
	background: var(--ez-paper); border: 1px solid var(--ez-line);
	border-radius: 12px; padding: clamp(18px, 3.4vw, 28px);
}
.ez-ret .ez-ret-card--narrow { max-width: 520px; margin: 0 auto; }


.ez-ret .ez-ret-field { margin-bottom: 16px; }
.ez-ret .ez-ret-lbl {
	display: block; font-family: var(--ez-sans); font-weight: 600;
	font-size: 13.5px; color: var(--ez-ink-soft); margin-bottom: 6px;
}
.ez-ret .ez-ret-input,
.ez-ret select.ez-ret-input,
.ez-ret textarea.ez-ret-input {
	width: 100%; padding: 10px 13px; font-family: var(--ez-body); font-size: 14.5px;
	color: var(--ez-ink); background: var(--ez-paper);
	border: 1px solid var(--ez-line-strong); border-radius: 8px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	height: auto; box-shadow: none;
}
.ez-ret .ez-ret-input:focus {
	border-color: var(--ez-ink); outline: 0;
	box-shadow: 0 0 0 3px rgba(28, 32, 33, 0.07);
}
.ez-ret .ez-ret-hint { font-size: 12.5px; color: var(--ez-muted); margin-top: 5px; }


.ez-ret .ez-ret-alert {
	display: flex; gap: 10px; align-items: flex-start;
	border: 1px solid var(--ez-err-line); background: var(--ez-err-soft);
	color: var(--ez-err); border-radius: 10px; padding: 12px 15px;
	font-size: 14px; margin-bottom: 18px;
}


.ez-ret .ez-ret-sec-h {
	font-family: var(--ez-sans); font-weight: 600; letter-spacing: 0.14em;
	text-transform: uppercase; font-size: 11px; color: var(--ez-muted);
	margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--ez-line);
	display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
}
.ez-ret .ez-ret-sec-h .ez-ret-count { letter-spacing: 0.02em; text-transform: none; font-weight: 500; font-family: var(--ez-mono); font-size: 12px; }
.ez-ret .ez-ret-hint-top { color: var(--ez-muted); font-size: 14px; margin: 0 0 18px; }

.ez-ret .ez-ret-item {
	border: 1px solid var(--ez-line); border-radius: 12px;
	padding: 14px 16px; margin-bottom: 12px; background: var(--ez-paper);
	transition: border-color 0.25s ease, background-color 0.25s ease;
}
.ez-ret .ez-ret-item:has(.ez-ret-check:checked) { border-color: var(--ez-ink); background: #fbfcfb; }

.ez-ret .ez-ret-item-head { display: flex; align-items: flex-start; gap: 11px; cursor: pointer; margin: 0; font-weight: 400; }
.ez-ret .ez-ret-check {
	width: 19px; height: 19px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--ez-ink); cursor: pointer;
}
.ez-ret .ez-ret-item-name { font-family: var(--ez-sans); font-weight: 600; font-size: 15px; color: var(--ez-ink); }
.ez-ret .ez-ret-item-meta { display: block; font-family: var(--ez-mono); font-size: 12px; color: var(--ez-muted); margin-top: 2px; }
.ez-ret .ez-ret-badge {
	display: inline-block; font-family: var(--ez-sans); font-size: 10.5px; font-weight: 600;
	letter-spacing: 0.08em; text-transform: uppercase; color: var(--ez-warn);
	background: var(--ez-warn-soft); border: 1px solid var(--ez-warn-line);
	border-radius: 999px; padding: 2px 9px; margin-left: 8px; vertical-align: 2px;
}

.ez-ret .ez-ret-item-ctrl { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; padding-left: 30px; }
.ez-ret .ez-ret-ctrl-qty { flex: 0 0 92px; }
.ez-ret .ez-ret-ctrl-reason { flex: 1 1 220px; }
.ez-ret .ez-ret-ctrl-opened { flex: 0 0 auto; display: flex; align-items: flex-end; padding-bottom: 9px; }
.ez-ret .ez-ret-ctrl-opened label { display: flex; align-items: center; gap: 7px; font-size: 13.5px; color: var(--ez-ink-soft); margin: 0; font-weight: 400; cursor: pointer; }
.ez-ret .ez-ret-ctrl-opened input { width: 16px; height: 16px; margin: 0; accent-color: var(--ez-ink); }
.ez-ret .ez-ret-lbl--sm { font-size: 12px; color: var(--ez-muted); font-weight: 600; }

.ez-ret .ez-ret-cfo-note {
	display: flex; gap: 9px; margin: 12px 0 0; padding: 10px 13px 10px 12px;
	border: 1px solid var(--ez-warn-line); background: var(--ez-warn-soft);
	border-radius: 9px; color: var(--ez-warn); font-size: 13px; line-height: 1.5;
}


.ez-ret .ez-ret-foot { margin-top: 20px; }
.ez-ret .ez-ret-agree { display: flex; align-items: flex-start; gap: 9px; margin: 16px 0 18px; font-size: 14px; color: var(--ez-ink-soft); }
.ez-ret .ez-ret-agree input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--ez-ink); flex: 0 0 auto; }
.ez-ret .ez-ret-agree a { color: var(--ez-ink); text-decoration: underline; }

.ez-ret .ez-ret-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }

.ez-ret .ez-ret-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	font-family: var(--ez-sans); font-weight: 600; font-size: 14.5px; letter-spacing: 0.01em;
	color: #fff; background: var(--ez-ink); border: 1px solid var(--ez-ink);
	border-radius: 999px; padding: 12px 26px; cursor: pointer;
	transition: background-color 0.3s ease, transform 0.3s ease;
	text-decoration: none;
}
.ez-ret .ez-ret-btn:hover, .ez-ret .ez-ret-btn:focus { background: #000; color: #fff; text-decoration: none; }
.ez-ret .ez-ret-btn[disabled] { opacity: 0.55; cursor: default; }
.ez-ret .ez-ret-btn--ghost {
	color: var(--ez-ink-soft); background: transparent; border-color: var(--ez-line-strong);
}
.ez-ret .ez-ret-btn--ghost:hover, .ez-ret .ez-ret-btn--ghost:focus { background: var(--ez-paper-2); color: var(--ez-ink); }
.ez-ret .ez-ret-btn--block { width: 100%; }



.ez-ret .ez-ret-done { text-align: center; padding-top: clamp(8px, 2vw, 18px); }
.ez-ret .ez-ret-done-text { color: var(--ez-ink-soft); font-size: 15px; max-width: 54ch; margin: 0 auto 8px; }
.ez-ret .ez-ret-done-sub { color: var(--ez-muted); font-size: 14px; max-width: 54ch; margin: 0 auto 26px; }


.ez-ret .ez-ret-closed { text-align: center; padding-top: clamp(14px, 3vw, 26px); padding-bottom: clamp(14px, 3vw, 26px); }
.ez-ret .ez-ret-closed .ez-ret-done-text { color: var(--ez-ink-soft); font-size: 15.5px; }


@media (prefers-reduced-motion: no-preference) {
	.ez-ret .ez-ret-card, .ez-ret .ez-ret-item, .ez-ret .ez-ret-done {
		animation: ezRetIn 0.7s cubic-bezier(0.22, 0.8, 0.3, 1) both;
	}
	.ez-ret .ez-ret-item:nth-child(2) { animation-delay: 0.06s; }
	.ez-ret .ez-ret-item:nth-child(3) { animation-delay: 0.12s; }
	.ez-ret .ez-ret-item:nth-child(4) { animation-delay: 0.18s; }
	.ez-ret .ez-ret-item:nth-child(5) { animation-delay: 0.24s; }
}
@keyframes ezRetIn {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}


@media (max-width: 560px) {
	.ez-ret .ez-ret-item-ctrl { padding-left: 0; }
	.ez-ret .ez-ret-actions { flex-direction: column-reverse; align-items: stretch; }
	.ez-ret .ez-ret-actions .ez-ret-btn { width: 100%; }
}
