/* Post-purchase only. All colour, type and motion inherit the Ecoleas system. */
.ec-orders-page {
	color: var(--ec-ink);
	background: var(--ec-page);
	padding: var(--ec-section-y-sm) var(--ec-gutter) var(--ec-section-y);
}
.ec-orders-shell { width: 100%; max-width: 1280px; margin-inline: auto; }
.ec-order, .ec-order-access { font: 400 var(--ec-body-s) / 1.65 var(--ec-font-text); overflow-wrap: anywhere; }
.ec-order h1,
.ec-order-access h1 {
	max-width: 22ch;
	margin: 0;
	font: 300 clamp(34px, 4.2vw, 60px) / 1.1 var(--ec-font-display);
	letter-spacing: var(--ec-track-display);
	text-wrap: balance;
}
.ec-order h2,
.ec-order-access h2 {
	margin: 0;
	font: 400 clamp(23px, 2.3vw, 32px) / 1.25 var(--ec-font-display);
	letter-spacing: -.025em;
}
.ec-order h3 { margin: 0; font: 400 18px / 1.4 var(--ec-font-display); }
.ec-order p, .ec-order-access p { margin: 0; }
.ec-orders-page .ec-order__eyebrow {
	color: var(--ec-label-brown);
	font: 500 10px / 1.6 var(--ec-font-text);
	text-transform: uppercase;
	letter-spacing: var(--ec-track-caption);
}
.ec-order__intro {
	position: relative;
	display: grid;
	justify-items: start;
	gap: var(--ec-stack-l);
	padding-bottom: var(--ec-section-y-sm);
	animation: ec-order-enter var(--ec-dur-reveal) ease both;
}
.ec-order__intro-copy { max-width: 64ch; color: var(--ec-ink-muted); }
.ec-order__seal {
	display: block;
	width: 56px;
	height: 56px;
	color: var(--ec-plum);
}
.ec-order__seal svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.ec-order__seal path {
	stroke-dasharray: 50;
	stroke-dashoffset: 0;
	animation: ec-order-check var(--ec-dur-reveal) ease both;
}
.ec-order__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ec-stack-m) var(--ec-col-gap);
	align-items: center;
}
.ec-orders-page .ec-order__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--ec-stack-l);
	min-width: 180px;
	min-height: 48px;
	padding: 14px 24px;
	border: 1px solid var(--ec-ink);
	border-radius: var(--ec-radius);
	background: var(--ec-ink);
	color: var(--ec-cream);
	text-decoration: none;
	font: 500 11px / 1.5 var(--ec-font-text);
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--ec-dur-hover) ease, border-color var(--ec-dur-hover) ease;
}
.ec-orders-page .ec-order__button:hover,
.ec-orders-page .ec-order__button:active {
	background: var(--ec-plum);
	border-color: var(--ec-plum);
	color: var(--ec-cream);
}
.ec-orders-page .ec-order__button:disabled { cursor: wait; opacity: .6; }
.ec-orders-page .ec-order__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ec-stack-m);
	min-height: 44px;
	padding-block: 8px;
	color: var(--ec-ink);
	text-decoration: none;
	font: 500 11px / 1.5 var(--ec-font-text);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.ec-order__link::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 4px;
	left: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--ec-dur-hover) ease;
}
.ec-orders-page .ec-order__link:hover, .ec-orders-page .ec-order__link:active { color: var(--ec-plum); }
.ec-order__link:hover::after,
.ec-order__link:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}
.ec-orders-page :is(a, button, input, textarea):focus-visible {
	outline: 2px solid var(--ec-plum) !important;
	outline-offset: 4px;
}
.ec-order__facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--ec-stack-l);
	padding-block: var(--ec-stack-l);
	margin: 0;
	border-block: 1px solid var(--ec-rule-warm);
}
.ec-order__facts dt {
	margin-bottom: var(--ec-stack-xs);
	color: var(--ec-label-brown);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ec-order__facts dd { margin: 0; color: var(--ec-ink); font-size: 16px; }
.ec-order__journey { padding-block: var(--ec-section-y-sm); border-bottom: 1px solid var(--ec-rule-warm); }
.ec-order__section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ec-stack-l);
	margin-bottom: var(--ec-stack-l);
}
.ec-order__section-head .ec-order__eyebrow { margin-bottom: var(--ec-stack-xs); }
.ec-order__timeline {
	display: flex;
	margin: 36px 0;
	padding: 0;
	list-style: none;
}
.ec-order__step {
	flex: 1 1 0;
	min-width: 0;
	position: relative;
	padding-right: var(--ec-stack-s);
}
.ec-order__step::before {
	position: absolute;
	content: '';
	top: 19px;
	left: 38px;
	right: 0;
	height: 1px;
	background: var(--ec-rule-warm);
}
.ec-order__step:last-child::before { content: none; }
.ec-order__step.is-complete::before { background: var(--ec-plum); }
.ec-order__step-dot {
	position: relative;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	margin-bottom: var(--ec-stack-m);
	border: 1px solid var(--ec-ink-muted);
	border-radius: 50%;
	background: var(--ec-page);
	color: var(--ec-ink-muted);
	font-size: 10px;
}
.ec-order__step.is-complete .ec-order__step-dot {
	border-color: var(--ec-plum);
	background: var(--ec-plum);
	color: var(--ec-cream);
}
.ec-order__step.is-current .ec-order__step-dot { border: 2px solid var(--ec-plum); color: var(--ec-plum); }
.ec-order__step h3 {
	max-width: 16ch;
	font: 500 11px / 1.6 var(--ec-font-text);
	text-transform: uppercase;
	letter-spacing: .07em;
}
.ec-order__step p { margin-top: 6px; color: var(--ec-ink-muted); font-size: 12px; }
.ec-order__shipment {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ec-col-gap);
	padding: var(--ec-col-gap) 0;
	border-bottom: 1px solid var(--ec-rule-warm);
}
.ec-order__shipment .ec-order__eyebrow { margin-bottom: var(--ec-stack-xs); }
.ec-order__shipment > div > p { color: var(--ec-ink-muted); }
.ec-order__parcel + .ec-order__parcel {
	margin-top: var(--ec-stack-l);
	padding-top: var(--ec-stack-l);
	border-top: 1px solid var(--ec-rule-warm);
}
.ec-order__tracking-number { font: 400 21px / 1.4 var(--ec-font-display); }
.ec-order__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr);
	gap: var(--ec-col-gap);
	align-items: start;
	padding-block: var(--ec-section-y-sm);
}
.ec-order__items { margin: 0; padding: 0; list-style: none; }
.ec-order__item {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr) auto;
	gap: var(--ec-stack-m);
	align-items: start;
	padding-block: var(--ec-stack-l);
	border-top: 1px solid var(--ec-rule-warm);
}
.ec-order__image {
	overflow: hidden;
	border-radius: var(--ec-radius);
	background: var(--ec-hairline);
	aspect-ratio: 2 / 3;
}
.ec-order__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ec-order__image > span {
	display: grid;
	place-content: center;
	padding: var(--ec-stack-xs);
	height: 100%;
	text-align: center;
	color: var(--ec-ink-muted);
	font-size: 12px;
}
.ec-order__item-copy { display: grid; gap: 7px; }
.ec-order__item-copy p { font-size: 13px; color: var(--ec-ink-muted); }
.ec-order__item-total { white-space: nowrap; font-size: 14px; }
.ec-order .wc-item-meta {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: var(--ec-ink-muted);
}
.ec-order .wc-item-meta li { margin: 0; }
.ec-order .wc-item-meta li p { display: inline; }
.ec-order .wc-item-meta strong { font-weight: 500; }
.ec-order__summary { padding: var(--ec-stack-l); background: var(--ec-ivory); border-radius: var(--ec-radius); }
.ec-order__summary h2 { font-size: 25px; margin-bottom: var(--ec-stack-l); }
.ec-order__totals { margin: 0; }
.ec-order__totals > div {
	display: flex;
	justify-content: space-between;
	gap: var(--ec-stack-m);
	margin-bottom: var(--ec-stack-s);
}
.ec-order__totals dt { color: var(--ec-ink-muted); }
.ec-order__totals dd { margin: 0; text-align: right; }
.ec-order__totals .ec-order__grand-total {
	margin-top: var(--ec-stack-l);
	padding-top: var(--ec-stack-m);
	border-top: 1px solid var(--ec-rule-warm);
	font-size: 18px;
}
.ec-order__grand-total dt { color: var(--ec-ink); }
.ec-order__payment {
	margin-top: var(--ec-stack-l);
	padding-top: var(--ec-stack-m);
	border-top: 1px solid var(--ec-rule-warm);
}
.ec-order__payment p + p { margin-top: var(--ec-stack-xs); }
.ec-order__muted { color: var(--ec-ink-muted); font-size: 13px; }
.ec-order__addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ec-col-gap);
	padding-block: var(--ec-col-gap);
	border-block: 1px solid var(--ec-rule-warm);
}
.ec-order__addresses h2 { margin-bottom: var(--ec-stack-m); font-size: 24px; }
.ec-order__addresses address { color: var(--ec-ink-muted); font-style: normal; }
.ec-order__addresses p { margin-top: var(--ec-stack-xs); }
.ec-order__updates { padding-top: var(--ec-col-gap); }
.ec-order__updates ol { list-style: none; margin: var(--ec-stack-l) 0 0; padding: 0; }
.ec-order__updates li {
	margin-top: var(--ec-stack-m);
	padding-left: var(--ec-stack-m);
	border-left: 1px solid var(--ec-plum);
}
.ec-order__support {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, .5fr);
	align-items: start;
	gap: var(--ec-col-gap);
	padding-top: var(--ec-section-y-sm);
}
.ec-order__support h2 { max-width: 22ch; margin: var(--ec-stack-xs) 0 var(--ec-stack-m); }
.ec-order__support p { max-width: 52ch; color: var(--ec-ink-muted); }
.ec-order__support-links { display: grid; gap: var(--ec-stack-s); }
.ec-order__extensions:empty { display: none; }
.ec-order__extensions { margin-top: var(--ec-stack-l); }
.ec-order-access { max-width: 640px; margin-inline: auto; padding-block: var(--ec-stack-m); }
.ec-order-access h1 { margin: var(--ec-stack-m) 0; }
.ec-order-access > p:not(.ec-order__eyebrow) { color: var(--ec-ink-muted); max-width: 55ch; }
.ec-order-access__form { display: grid; gap: var(--ec-stack-l); margin-block: 36px; }
.ec-order-access__form label {
	display: grid;
	gap: var(--ec-stack-xs);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.ec-orders-page input[type="text"],
.ec-orders-page input[type="email"],
.ec-orders-page input[type="password"] {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--ec-ink-muted);
	border-radius: var(--ec-radius);
	padding: 12px 14px;
	background: var(--ec-page);
	color: var(--ec-ink);
	font: 400 16px / 1.5 var(--ec-font-text);
}
.ec-order-access__form button { justify-self: start; }
.ec-order-access__account { border-top: 1px solid var(--ec-rule-warm); padding-top: var(--ec-stack-l); }
.ec-order-access__account h2 { font-size: 23px; margin-bottom: var(--ec-stack-s); }
.ec-order-access__account .ec-order__link { margin-top: var(--ec-stack-s); }
.ec-orders-page .ec-order__notice {
	border-left: 2px solid var(--ec-plum);
	padding: var(--ec-stack-s) var(--ec-stack-m);
	margin-top: var(--ec-stack-l);
	background: var(--ec-ivory);
	color: var(--ec-ink);
}
@keyframes ec-order-enter { from { opacity: 0; transform: translateY(var(--ec-reveal-rise)); } to { opacity: 1; transform: none; } }
@keyframes ec-order-check { from { stroke-dashoffset: 50; } to { stroke-dashoffset: 0; } }
@media (max-width: 960px) {
	.ec-order__layout { grid-template-columns: minmax(0, 1fr); }
	.ec-order__timeline { display: grid; grid-template-columns: 1fr; }
	.ec-order__step {
		display: grid;
		grid-template-columns: 38px 1fr;
		gap: var(--ec-stack-m);
		padding: 0 0 var(--ec-stack-l);
	}
	.ec-order__step::before {
		left: 19px;
		right: auto;
		top: 38px;
		bottom: 0;
		width: 1px;
		height: auto;
	}
	.ec-order__step-dot { margin-bottom: 0; }
	.ec-order__step h3 { max-width: none; }
	.ec-order__summary { max-width: none; }
}
@media (max-width: 600px) {
	.ec-order__facts { grid-template-columns: 1fr 1fr; }
	.ec-order__shipment, .ec-order__addresses, .ec-order__support { grid-template-columns: 1fr; }
	.ec-order__item { grid-template-columns: 82px minmax(0, 1fr); gap: var(--ec-stack-s); }
	.ec-order__image { grid-row: 1 / 3; }
	.ec-order__item-total { grid-column: 2; }
	.ec-order__item-copy h3 { font-size: 17px; }
	.ec-order__section-head { flex-wrap: wrap; align-items: start; }
	.ec-order__actions { gap: var(--ec-stack-s) var(--ec-stack-l); }
	.ec-order__actions .ec-order__button, .ec-order-access__form button { width: 100%; }
	.ec-order__summary { padding: var(--ec-stack-m); }
}
@media (prefers-reduced-motion: reduce) {
	.ec-orders-page *,
	.ec-orders-page *::before,
	.ec-orders-page *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* Post-order confirmation and tracking retain the compact Linen footer on
   phones, without changing the shared footer everywhere else. */
@media (max-width: 640px) {
	.ec-orders-page + .ec-footer .ec-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}

	.ec-orders-page + .ec-footer .ec-footer__utility {
		grid-column: 2;
		grid-row: 2;
		width: 100%;
	}

	.ec-orders-page + .ec-footer .ec-footer__inner {
		padding-inline: clamp(16px, 4.5vw, 28px);
	}

	.ec-orders-page + .ec-footer :is(a, p, select) {
		overflow-wrap: anywhere;
	}
}

/* --- Track order: form card beside a "what you'll see" panel ------------ */
.ec-orders-page .ec-track {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(20px, 3vw, 36px);
	max-width: 1040px;
	padding-block: clamp(8px, 2vw, 24px);
	animation: ec-order-enter var(--ec-dur-reveal) ease both;
}
.ec-track__card,
.ec-track__aside {
	border: 1px solid var(--ec-rule-warm);
	border-radius: 14px;
	padding: clamp(24px, 3.4vw, 44px);
}
.ec-track__card { background: var(--ec-page); box-shadow: 0 24px 48px -38px rgba(23, 18, 14, .45); }
.ec-track__aside { background: var(--ec-ivory); }
.ec-track__mark {
	display: grid;
	width: 46px;
	height: 46px;
	margin-bottom: 18px;
	border-radius: 50%;
	place-items: center;
	background: var(--ec-ink);
	color: var(--ec-page);
}
.ec-orders-page .ec-track h1 { margin: 10px 0 12px; font-size: clamp(32px, 3.6vw, 48px); }
.ec-track__lede { color: var(--ec-ink-muted); max-width: 46ch; }
.ec-orders-page .ec-track .ec-order-access__form { gap: 18px; margin-block: 28px 0; }
.ec-track .ec-order-access__form label > span:first-child { color: var(--ec-ink-muted); }
.ec-track__field { position: relative; display: block; }
.ec-track__field svg {
	position: absolute;
	top: 50%;
	left: 15px;
	color: var(--ec-ink-muted);
	transform: translateY(-50%);
	pointer-events: none;
}
.ec-orders-page .ec-track__field input[type="text"],
.ec-orders-page .ec-track__field input[type="email"] {
	min-height: 52px;
	padding-left: 44px;
	border-color: var(--ec-rule-warm);
	border-radius: 10px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}
.ec-orders-page .ec-track__field input:focus {
	border-color: var(--ec-ink);
	outline: none;
	box-shadow: 0 0 0 3px rgba(23, 18, 14, .08);
}
.ec-orders-page .ec-track .ec-order-access__form .ec-track__submit {
	justify-self: stretch;
	justify-content: center;
	min-height: 52px;
	margin-top: 4px;
}
.ec-track__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--ec-ink-muted);
	font-size: 12px;
}
.ec-orders-page .ec-track .ec-order-access__account {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-top: 26px;
	padding-top: 20px;
}
.ec-orders-page .ec-track .ec-order-access__account .ec-order__link { margin-top: 0; }

.ec-track__steps { display: grid; gap: 0; margin: 18px 0 0; padding: 0; list-style: none; }
.ec-track__steps li {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 14px;
	padding-bottom: 20px;
}
.ec-track__steps li:not(:last-child)::before {
	position: absolute;
	top: 34px;
	bottom: 0;
	left: 16px;
	width: 1px;
	background: var(--ec-rule-warm);
	content: '';
}
.ec-track__dot {
	display: grid;
	width: 34px;
	height: 34px;
	border: 1px solid var(--ec-rule-warm);
	border-radius: 50%;
	place-items: center;
	background: var(--ec-page);
	font: 500 11px / 1 var(--ec-font-text);
	letter-spacing: .04em;
}
.ec-track__steps strong { display: block; margin: 6px 0 2px; color: var(--ec-ink); font-weight: 500; }
.ec-track__steps li > span:last-child { color: var(--ec-ink-muted); font-size: 13px; line-height: 1.5; }
.ec-track__help { margin-top: 8px; padding-top: 20px; border-top: 1px solid var(--ec-rule-warm); }
.ec-track__help-title { margin-bottom: 6px !important; color: var(--ec-ink); font-weight: 500; }
.ec-track__help > p:not(.ec-track__help-title) { color: var(--ec-ink-muted); font-size: 13px; }
.ec-track__help-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ec-track__help-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--ec-ink);
	border-radius: 999px;
	color: var(--ec-ink);
	font-size: 13px;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}
.ec-track__help-links a:hover,
.ec-track__help-links a:focus-visible { background: var(--ec-ink); color: var(--ec-page); }

@media (max-width: 860px) {
	.ec-orders-page .ec-track { grid-template-columns: minmax(0, 1fr); }
}
