/* Account components load after the legacy site and responsive styles. */
.header-logout-form { display: flex; margin: 0; }
.header-logout-form .header-logout { cursor: pointer; }
.logged-in-message--customer { color: var(--chem-muted); text-decoration: none; }
.logged-in-message--customer:hover { background: #fceff0; }
.logged-in-message--customer i { flex: 0 0 auto; color: var(--chem-red); font-size: 20px; }
.logged-in-message--customer:focus-visible { outline: 2px solid var(--chem-red); outline-offset: -2px; }

section.customer-account-page.first {
	min-height: 70vh;
	padding: 120px 0 72px;
	background: #f7f9fc;
	color: var(--chem-navy);
	font-size: 16px;
	line-height: 1.5;
}
.wrapper.wrapper-default.customer-account-shell {
	box-sizing: border-box;
	width: min(100% - 48px, 1040px);
	margin: 0 auto;
	padding: 0;
}
.customer-account-page *, .customer-cart-choice * { box-sizing: border-box; font-size: inherit; line-height: inherit; }
.customer-account-navigation {
	display: flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	max-width: 100%;
	margin: 0 0 24px;
	padding: 5px;
	border: 1px solid #e0e5ec;
	border-radius: 10px;
	background: #edf1f6;
}
.customer-account-navigation a,
.customer-account-navigation__logout button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: #4b5b70;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	text-decoration: none;
	cursor: pointer;
}
.customer-account-navigation i { font-size: 20px; }
.customer-account-navigation a.customer-account-navigation__back { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 10px; }
.customer-account-navigation .customer-account-navigation__back i { display: inline-block; }
.customer-account-navigation__back:focus-visible { outline: 2px solid var(--chem-red); outline-offset: 2px; }
.customer-account-navigation a[aria-current="page"] {
	border-color: #e0e5ec;
	background: #fff;
	color: var(--chem-navy);
	box-shadow: 0 1px 3px #13243a0a;
}
.customer-account-navigation a[aria-current="page"] i { color: var(--chem-red); }
.customer-account-navigation a:hover, .customer-account-navigation__logout button:hover { background: #fff; }
.customer-account-navigation__logout { display: none; margin: 0; }
.customer-account-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.customer-account-toolbar .customer-account-navigation { margin-bottom: 0; }
.customer-account-security { position: relative; margin-left: auto; color: #4b5b70; font-size: 14px; }
.customer-account-security summary { min-height: 44px; padding: 12px; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500; line-height: 20px; }
.customer-account-security summary:hover { background: #edf1f6; }
.customer-account-security summary:focus-visible { outline: 2px solid var(--chem-red); outline-offset: 2px; }
.customer-account-security__panel { display: grid; gap: 10px; position: absolute; top: calc(100% + 6px); right: 0; z-index: 20; width: 280px; max-width: calc(100vw - 48px); padding: 16px; border: 1px solid #e0e5ec; border-radius: 8px; background: #fff; box-shadow: 0 6px 20px #182c441a; }
.customer-account-security__panel p { margin: 0; color: #58677b; font-size: 13px; line-height: 1.5; }
.customer-account-security__panel form { margin: 0; padding: 0; }
.customer-account-security__panel .customer-account-secondary { width: 100%; font-size: 13px; }
.customer-account-card.paper {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 40px;
	border: 1px solid #e0e5ec;
	border-radius: 12px;
	background: #fff;
	color: var(--chem-navy);
	box-shadow: 0 4px 20px #182c4410;
	overflow: visible;
}
.customer-account-card.paper.customer-auth-card { max-width: 520px; margin: 16px auto; padding: 40px; }
@media (min-width: 681px) {
	.customer-account-card.paper.customer-profile-card, .customer-account-card.paper.customer-orders-card { padding-top: 32px; }
}
.customer-account-card.paper h1 {
	margin: 0;
	padding: 0;
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.2;
	color: var(--chem-navy);
}
.customer-account-card.paper h2 { margin: 0; padding: 0; color: var(--chem-navy); font-size: 19px; font-weight: 650; line-height: 1.4; }
.customer-account-card.paper strong { font-weight: 650; }
.customer-account-card.paper p { margin: 10px 0 0; padding: 0; color: #58677b; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.customer-account-card.paper .customer-account-eyebrow { margin: 0 0 10px; color: var(--chem-red); font-size: 11px; font-weight: 700; letter-spacing: .1em; line-height: 18px; text-transform: uppercase; }
.customer-account-card.paper .customer-account-note { font-size: 13px; line-height: 1.6; color: #657185; }
.customer-account-card.paper a:not(.customer-account-primary):not(.customer-account-secondary):not(.customer-order-row) { color: #344d70; text-decoration: none; text-underline-offset: 3px; font-size: 14px; }
.customer-account-card.paper a:hover { color: var(--chem-red); }
.customer-account-card.paper form { padding: 0; overflow: visible; }
.customer-account-form { display: grid; gap: 18px; margin-top: 28px; }
.customer-account-field { display: grid; align-content: start; gap: 8px; min-width: 0; }
.customer-account-field--wide { grid-column: 1 / -1; }
.customer-account-card.paper label { display: block; margin: 0; padding: 0; color: #344257; font-size: 13px; font-weight: 600; line-height: 20px; }
.customer-account-field__required { margin-left: 3px; color: var(--chem-red); font-size: 13px; font-weight: 600; }
.customer-account-card.paper .customer-account-form input:where(:not([type="hidden"]):not([type="checkbox"])) {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	height: 48px;
	margin: 0;
	padding: 0 13px;
	border: 1px solid #c5cfdc;
	border-radius: 6px;
	background: #fff;
	color: var(--chem-navy);
	font-size: 16px;
	line-height: normal;
	box-shadow: 0 1px 2px #182c4405;
}
.customer-account-card.paper .customer-account-form input[readonly] { background: #f3f5f8; color: #58677b; border-color: #e0e5ec; }
.customer-account-card.paper .customer-account-form input:focus { border-color: #546b8c; outline: 3px solid #dfe7f2; outline-offset: 1px; }
.customer-account-card.paper .customer-account-form input[aria-invalid="true"] { border-color: #bd2835; background: #fffafa; }
.customer-account-card.paper .customer-account-field p { margin: 0; }
.customer-account-card.paper .customer-account-field__error { color: #a51e2b; font-size: 13px; }
.customer-account-card.paper .customer-account-form #customer-login-code { height: 60px; font-family: 'Roboto Mono', monospace; font-size: 28px; font-weight: 600; letter-spacing: .4em; text-align: center; }
.customer-account-primary, .customer-account-secondary,
.customer-account-card.paper .customer-account-primary, .customer-account-card.paper .customer-account-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto;
	min-height: 46px;
	margin: 0;
	padding: 12px 20px;
	border: 1px solid var(--chem-red);
	border-radius: 6px;
	background: var(--chem-red);
	color: #fff;
	font-size: 14px;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 20px;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
}
.customer-account-secondary, .customer-account-card.paper .customer-account-secondary { border-color: #c9d3df; background: #fff; color: #344257; }
.customer-account-primary:hover, .customer-account-card.paper .customer-account-primary:hover { background: #b31f2e; border-color: #b31f2e; color: #fff; }
.customer-account-secondary:hover, .customer-account-card.paper .customer-account-secondary:hover { background: #f3f5f8; color: var(--chem-navy); }
.customer-account-page :is(a,button):focus-visible, .customer-cart-choice button:focus-visible { outline: 3px solid #6687b2; outline-offset: 3px; }
.customer-account-primary:disabled, .customer-account-secondary:disabled { opacity: .6; cursor: wait; }
.customer-account-errors, .customer-account-status { margin-top: 22px; padding: 14px 16px; border: 1px solid #efc3c7; border-radius: 6px; background: #fff3f4; color: #a51e2b; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.customer-account-status { border-color: #c1dfd0; background: #f0f8f4; color: #266146; }
.customer-account-card.paper .customer-account-errors p { margin: 0; color: inherit; font-size: inherit; }
.customer-auth-card .customer-account-form { gap: 20px; }
.customer-auth-card .customer-account-primary { width: 100%; }
.customer-profile-form { margin-top: 32px; }
.customer-profile-login-lock { margin-right: 3px; color: #657185; font-size: 15px; line-height: 1; vertical-align: -2px; }
.customer-profile-fields { display: grid; grid-column: 1 / -1; gap: 28px; min-width: 0; }
.customer-profile-progress { margin: 0 0 8px; padding: 12px 0 16px; border-bottom: 1px solid #e5eaf0; }
.customer-account-card.paper .customer-profile-progress__status { margin: 0 0 12px; color: #58677b; font-size: 12px; font-weight: 600; line-height: 1.5; }
.customer-profile-progress__bar { height: 5px; overflow: hidden; border-radius: 99px; background: #e9edf3; }
.customer-profile-progress__fill { display: block; width: 100%; height: 100%; border-radius: inherit; background: var(--chem-red); transform: scaleX(0); transform-origin: left center; transition: transform 400ms cubic-bezier(.22,1,.36,1); }
.customer-account-card.paper .customer-profile-progress__steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.customer-account-card.paper .customer-profile-progress__step { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 0; color: #657185; font-size: 12px; font-weight: 500; line-height: 1.4; transition: color 200ms ease; }
.customer-profile-progress__marker { display: inline-flex; position: relative; flex: 0 0 24px; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid #cbd4e0; border-radius: 50%; background: #fff; color: #657185; font-size: 11px; font-weight: 650; transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease, box-shadow 200ms ease; }
.customer-profile-progress__number { transition: opacity 160ms ease, transform 200ms ease; }
.customer-profile-progress__check { display: flex; position: absolute; inset: 0; align-items: center; justify-content: center; font-size: 16px; opacity: 0; transform: scale(.7); transition: opacity 160ms ease, transform 200ms ease; }
.customer-profile-progress__label { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
.customer-account-card.paper .customer-profile-progress__step.is-active { color: var(--chem-navy); font-weight: 650; }
.customer-profile-progress__step.is-active .customer-profile-progress__marker { border-color: var(--chem-red); background: #fff4f5; color: var(--chem-red); box-shadow: 0 0 0 3px #fcebed; }
.customer-account-card.paper .customer-profile-progress__step.is-complete { color: #344257; }
.customer-profile-progress__step.is-complete .customer-profile-progress__marker { border-color: var(--chem-red); background: var(--chem-red); color: #fff; }
.customer-profile-progress__step.is-complete .customer-profile-progress__number { opacity: 0; transform: scale(.7); }
.customer-profile-progress__step.is-complete .customer-profile-progress__check { opacity: 1; transform: scale(1); }
.customer-account-card.paper .customer-profile-draft-status { margin: 0 0 4px; padding: 10px 12px; border-left: 2px solid #a6b7cd; border-radius: 0 4px 4px 0; background: #f6f8fb; color: #58677b; font-size: 12px; line-height: 1.6; }
.customer-profile-progress[hidden], .customer-profile-draft-status[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
	.customer-profile-progress__fill, .customer-profile-progress__step, .customer-profile-progress__marker, .customer-profile-progress__number, .customer-profile-progress__check { transition: none; }
}
.customer-profile-form fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 24px; min-width: 0; margin: 0; padding: 24px 0 8px; border: 0; border-top: 1px solid #e5eaf0; }
.customer-profile-form legend { margin: 0 0 4px; padding: 0 12px 0 0; font-size: 18px; font-weight: 650; color: var(--chem-navy); }
.customer-profile-form legend:focus-visible { outline: 2px solid #6687b2; outline-offset: 4px; }
.customer-profile-step-panel { min-width: 0; }
.customer-profile-step-panel > fieldset + fieldset { margin-top: 24px; }
.customer-profile-progress, .customer-profile-form legend, .customer-profile-form input { scroll-margin-top: 100px; }
.customer-profile-step-panel[hidden], .customer-profile-step-action[hidden] { display: none !important; }
.customer-profile-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 24px; border-top: 1px solid #e5eaf0; }
.customer-profile-step-actions--end { justify-content: flex-end; }
.customer-profile-step-actions button { min-width: 110px; }
.customer-profile-same-delivery { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 12px; align-items: start; padding: 16px 18px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.customer-profile-same-delivery input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--chem-red); }
.customer-profile-same-delivery__text { min-width: 0; }
.customer-account-card.paper .customer-profile-same-delivery__text p { margin: 4px 0 0; }
.customer-profile-consent { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 12px; align-items: start; margin-top: 24px; padding: 18px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.customer-profile-consent input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--chem-red); }
.customer-profile-consent__text { min-width: 0; }
.customer-account-card.paper .customer-profile-consent__text p { margin: 4px 0 0; }
.customer-account-card.paper .customer-account-back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 24px; }
.customer-account-back i { font-size: 18px; }

/* A modal only shown when both guest and saved carts have contents. */
.customer-cart-choice { box-sizing: border-box; width: min(100% - 32px, 520px); max-height: calc(100dvh - 48px); margin: auto; padding: 32px; border: 1px solid #d8e0e9; border-radius: 12px; background: #fff; color: var(--chem-navy); box-shadow: 0 20px 80px #13243a30; overflow-y: auto; }
.customer-cart-choice::backdrop { background: #17253e80; }
.customer-cart-choice h2 { margin: 0; padding: 0; font-size: 26px; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.customer-cart-choice p { margin: 14px 0 0; padding: 0; font-size: 14px; line-height: 1.65; color: #58677b; }
.customer-cart-choice__actions { display: grid; gap: 10px; margin-top: 24px; }
.customer-cart-choice__actions button { width: 100%; text-align: center; }

@media (max-width: 960px) {
	section.customer-account-page.first { padding-top: 100px; }
	.header-account--customer { flex-basis: 38px; width: 38px; }
	.header-account--customer .logged-in-message--customer { display: inline-flex; justify-content: center; flex: 0 0 38px; width: 38px; max-width: 38px; height: 38px; padding: 0; border: 1px solid var(--chem-line); border-radius: 6px; line-height: 38px; }
	.header-account--customer .logged-in-message__label, .header-account--customer .logged-in-message__name, .header-account--customer .header-logout-form { display: none; }
	.customer-account-navigation__logout { display: block; }
	.customer-account-navigation__logout button { padding: 10px; }
}
@media (max-width: 680px) {
	section.customer-account-page.first { min-height: 65vh; padding: 88px 0 40px; }
	.wrapper.wrapper-default.customer-account-shell { width: calc(100% - 24px); }
	.customer-account-navigation { width: 100%; gap: 2px; margin-bottom: 16px; padding: 4px; }
	.customer-account-navigation a { flex: 1 1 0; padding: 9px 6px; font-size: 12px; gap: 5px; }
	.customer-account-navigation a i { display: none; }
	.customer-account-navigation__logout button { padding: 9px; }
	.customer-account-card.paper, .customer-account-card.paper.customer-auth-card { padding: 26px 20px; border-radius: 10px; }
	.customer-account-card.paper.customer-auth-card { margin: 4px auto 0; }
	.customer-account-card.paper h1 { font-size: 28px; }
	.customer-account-card.paper p { font-size: 14px; }
	.customer-account-form { margin-top: 24px; }
	.customer-profile-form fieldset { grid-template-columns: minmax(0,1fr); gap: 20px; }
	.customer-profile-progress, .customer-profile-form legend, .customer-profile-form input { scroll-margin-top: 80px; }
	.customer-account-card.paper .customer-profile-progress__steps { gap: 8px; margin-top: 14px; }
	.customer-account-card.paper .customer-profile-progress__step { flex-direction: column; align-items: center; gap: 8px; font-size: 11px; text-align: center; }
	.customer-profile-progress__label { width: 100%; }
	.customer-profile-step-actions button { flex: 1 1 0; min-width: 0; padding: 12px; }
	.customer-cart-choice { padding: 26px 20px; }
}

.customer-account-card.paper .customer-orders-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.customer-account-card.paper .customer-orders-list > li { margin: 0; padding: 0; list-style: none; border: 0; }
.customer-account-card.paper .customer-order-row { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) 20px; gap: 20px; align-items: center; padding: 20px; border: 1px solid #dce3ec; border-radius: 8px; background: #fff; color: var(--chem-navy); font-size: 14px; line-height: 1.5; text-decoration: none; }
.customer-account-card.paper .customer-order-row:hover { border-color: #9aabc0; background: #f9fafc; }
.customer-order-row > span:not(.material-icons) { display: grid; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.customer-order-label { display: block; color: #657185; font-size: 12px; font-weight: 400; }
.customer-order-amount { text-align: right; }
.customer-order-arrow { color: #74869c; font-size: 20px; }
.customer-orders-empty { margin-top: 32px; padding: 40px 20px; border: 1px dashed #d7e0eb; border-radius: 8px; background: #f8fafc; text-align: center; }
.customer-orders-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 18px; border: 1px solid #dfe6f0; border-radius: 12px; background: #fff; color: #68809e; font-size: 28px; }
.customer-account-card.paper .customer-orders-empty p { max-width: 420px; margin: 10px auto 22px; }
.customer-order-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.customer-account-card.paper .customer-order-placed { margin: 0; text-align: right; }
.customer-order-placed .customer-order-label { margin-bottom: 5px; }
.customer-account-card.paper .customer-order-lines { width: 100%; margin: 32px 0 0; border: 0; border-collapse: collapse; table-layout: fixed; color: var(--chem-navy); }
.customer-order-lines caption { padding: 0 0 16px; font-size: 18px; font-weight: 650; text-align: left; }
.customer-account-card.paper .customer-order-lines :is(th,td) { width: auto; height: auto; padding: 18px 14px; border: 0; border-bottom: 1px solid #e5eaf0; background: transparent; color: var(--chem-navy); font-size: 14px; font-weight: 400; line-height: 1.6; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.customer-account-card.paper .customer-order-lines thead th { padding-top: 12px; padding-bottom: 12px; background: #f3f5f8; color: #657185; font-size: 12px; font-weight: 500; }
.customer-account-card.paper .customer-order-lines th:first-child { width: 49%; }
.customer-account-card.paper .customer-order-lines :is(th,td):last-child { width: 24%; text-align: right; }
.customer-order-product strong { display: block; }
.customer-order-product-number, .customer-order-pack { display: block; margin-top: 4px; color: #657185; font-size: 12px; }
.customer-order-mobile-label { display: none; }
.customer-order-total { display: flex; align-items: center; justify-content: flex-end; gap: 32px; margin-top: 8px; padding: 22px 14px; font-size: 18px; }
.customer-order-total > span { color: #58677b; font-size: 14px; }
.customer-order-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 24px 0; }
.customer-order-details section.customer-order-detail-block { min-width: 0; min-height: 0; margin: 0; padding: 24px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.customer-account-card.paper .customer-order-detail-block h2 { font-size: 16px; }
.customer-order-contact { display: grid; gap: 12px; margin: 16px 0 0; }
.customer-order-contact dt { color: #657185; font-size: 12px; }
.customer-order-contact dd { margin: 3px 0 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.customer-order-address { margin-top: 16px; color: #344257; font-size: 14px; font-style: normal; line-height: 1.75; overflow-wrap: anywhere; }
.customer-order-reorder { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 32px 0 0; padding-top: 28px; border-top: 1px solid #e5eaf0; }
.customer-order-reorder > div { max-width: 540px; }
.customer-account-card.paper .customer-order-reorder h2 { font-size: 18px; }
.customer-order-reorder button { flex: 0 0 auto; }
.customer-order-reorder button .material-icons { font-size: 20px; }
.customer-account-errors ul { margin: 6px 0 0; padding-left: 20px; }
.customer-account-errors li { padding: 0; color: inherit; font-size: 14px; line-height: 1.6; }
.customer-auth-symbol { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 24px; border: 1px solid #e4e9f0; border-radius: 10px; background: #f7f9fc; color: #536f91; }
.customer-auth-symbol .material-icons { font-size: 24px; }
.customer-account-card.paper .customer-auth-alternative { margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5eaf0; }
.customer-account-card.paper .customer-auth-help { margin-top: 24px; padding: 16px; border-radius: 8px; background: #f5f7fa; }
.customer-account-card.paper .customer-auth-help h2 { font-size: 13px; }
.customer-account-card.paper .customer-auth-help p { margin: 6px 0 0; }
.customer-auth-email { display: block; margin-top: 4px; color: var(--chem-navy); overflow-wrap: anywhere; }
@media (max-width: 680px) {
	.customer-account-card.paper .customer-order-row { grid-template-columns: 1fr 1fr 20px; gap: 16px 12px; padding: 16px; }
	.customer-order-identity { grid-column: 1; grid-row: 1; }
	.customer-order-date { grid-column: 1; grid-row: 2; }
	.customer-order-quantity { grid-column: 2; grid-row: 2; text-align: right; }
	.customer-order-amount { grid-column: 2; grid-row: 1; }
	.customer-order-arrow { grid-column: 3; grid-row: 1 / 3; }
	.customer-orders-empty { margin-top: 24px; padding: 28px 16px; }
	.customer-account-card.paper .customer-orders-empty h2 { font-size: 18px; }
	.customer-order-heading { display: grid; gap: 10px; }
	.customer-account-card.paper .customer-order-placed { text-align: left; }
	.customer-order-placed .customer-order-label { display: inline; margin-right: 8px; }
	.customer-account-card.paper .customer-order-lines { display: block; margin-top: 28px; }
	.customer-order-lines caption { display: block; font-size: 17px; }
	.customer-order-lines thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.customer-order-lines tbody { display: block; }
	.customer-account-card.paper .customer-order-lines .customer-order-line { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px 12px; margin-bottom: 12px; padding: 18px 16px; border: 1px solid #dce3ec; border-radius: 8px; }
	.customer-account-card.paper .customer-order-lines .customer-order-line :is(th,td) { display: block; width: 100%; padding: 0; border: 0; font-size: 13px; }
	.customer-account-card.paper .customer-order-lines .customer-order-product { grid-column: 1 / -1; }
	.customer-order-mobile-label { display: block; margin-bottom: 5px; color: #657185; font-size: 11px; }
	.customer-order-total { justify-content: space-between; gap: 12px; padding: 12px 0; font-size: 17px; }
	.customer-order-details { grid-template-columns: minmax(0,1fr); gap: 12px; }
	.customer-order-details section.customer-order-detail-block { padding: 20px; }
	.customer-order-reorder { display: grid; gap: 18px; margin-top: 24px; padding-top: 24px; }
	.customer-order-reorder button { width: 100%; }
}

@media (min-width: 681px) {
	.customer-account-card.paper .customer-order-lines tr { display: table-row; }
	.customer-account-card.paper .customer-order-lines :is(th,td) { display: table-cell; }
}
.customer-account-card.paper .customer-auth-email { font-size: 16px; line-height: 1.5; }
.customer-account-card.paper .customer-account-text-link { display: inline-flex; align-items: center; gap: 7px; line-height: 1.5; }
.customer-account-text-link .material-icons { flex: 0 0 auto; font-size: 18px; }

/* Shared customer-detail choice in checkout and the saved profile. */
.customer-details-choice { margin: 0 0 24px; padding: 18px; border: 1px solid #e0e5ec; border-radius: 8px; background: #f7f9fc; }
.customer-details-choice label { display: block; margin: 0 0 10px; color: var(--chem-navy); font-size: 15px; font-weight: 600; }
.customer-details-choice select { display: block; box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #bcc8d6; border-radius: 6px; background: #fff; color: var(--chem-navy); font: inherit; }
.customer-details-choice select:focus-visible { outline: 2px solid var(--chem-red); outline-offset: 2px; }
.customer-details-choice p { margin: 10px 0 0; color: #58677b; font-size: 14px; line-height: 1.5; }
[data-full-details-required][hidden] { display: none; }

/* First step after email-code sign-in. */
section.customer-welcome-page.first { --customer-choice-accent: #0f766e; box-sizing: border-box; min-height: 100vh; min-height: 100svh; padding-top: 96px; padding-bottom: 64px; }
.customer-welcome-page .customer-account-shell { max-width: 1080px; }
.customer-welcome-heading { max-width: 760px; margin: 0 auto 60px; text-align: center; }
.customer-welcome-heading h1 { margin: 0; color: var(--chem-navy); font-size: clamp(30px, 4vw, 48px); font-weight: 500; line-height: 1.15; letter-spacing: -.035em; }
.customer-welcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 24px; margin: 0; padding: 0; }
.customer-welcome-grid .customer-welcome-card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; min-width: 0; min-height: 340px; margin: 0; padding: 36px; border: 1px solid #0f766e33; border-radius: 18px; background: linear-gradient(145deg, #0f766e0d 0%, #fff 72%); color: var(--chem-navy); box-shadow: 0 4px 18px #182c4406; text-align: center; text-transform: none; font-family: inherit; cursor: pointer; transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
.customer-welcome-card__top { display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
.customer-welcome-card .customer-welcome-card__icon { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border: 1px solid #0f766e33; border-radius: 15px; background: #0f766e14; color: var(--customer-choice-accent); font-size: 28px; transition: transform 220ms ease, background-color 220ms ease, color 220ms ease; }
.customer-welcome-card__title { display: block; margin: 0; font-size: 25px; font-weight: 400; line-height: 1.25; letter-spacing: -.025em; }
/* Untinted circular glass, with a neutral arrow above the transparent lens. */
.customer-welcome-card .customer-welcome-card__arrow { position: absolute; right: 28px; bottom: 26px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: transparent; border: 1px solid #7c858d33; color: #747b80; pointer-events: none; z-index: 2; transition: color 220ms ease, transform 220ms ease; }
.customer-welcome-card__arrow-glass { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0; backdrop-filter: blur(.5px); -webkit-backdrop-filter: blur(.5px); box-shadow: inset 0 1px 1px #ffffffed, inset 0 -1px 1px #64707824, 0 3px 8px #17212b0a; }
.customer-welcome-card__arrow-icon { position: relative; grid-area: 1 / 1; z-index: 1; display: grid; place-items: center; width: 100%; height: 100%; font-size: 27px; }
.customer-welcome-card:focus-visible .customer-welcome-card__arrow { color: #343b40; transform: translateX(6px); }
.customer-welcome-grid .customer-welcome-card:focus-visible { outline: 3px solid var(--customer-choice-accent); outline-offset: 5px; border-color: var(--customer-choice-accent); }
@media (hover: hover) {
	.customer-welcome-grid .customer-welcome-card:hover { transform: translateY(-8px); border-color: var(--customer-choice-accent); box-shadow: 0 18px 40px #182c4414; }
	.customer-welcome-card:hover .customer-welcome-card__icon { transform: translateY(-2px) rotate(-4deg); background: #0f766e24; color: #0d665f; }
	.customer-welcome-card:hover .customer-welcome-card__arrow { color: #343b40; transform: translateX(6px); }
}
.customer-welcome-grid .customer-welcome-card:active { transform: translateY(-2px); }
@media (max-width: 640px) {
	section.customer-welcome-page.first { padding-top: 96px; padding-bottom: 48px; }
	.customer-welcome-heading { margin-bottom: 48px; text-align: center; }
	.customer-welcome-grid { grid-template-columns: 1fr; gap: 16px; }
	.customer-welcome-grid .customer-welcome-card { min-height: 280px; padding: 26px; border-radius: 14px; }
	.customer-welcome-card__top { margin-bottom: 24px; }
	.customer-welcome-card__title { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.customer-welcome-grid .customer-welcome-card, .customer-welcome-card .customer-welcome-card__icon, .customer-welcome-card .customer-welcome-card__arrow { transition: none; }
	.customer-welcome-grid .customer-welcome-card:hover, .customer-welcome-grid .customer-welcome-card:active, .customer-welcome-card:hover .customer-welcome-card__icon, .customer-welcome-card:hover .customer-welcome-card__arrow, .customer-welcome-card:focus-visible .customer-welcome-card__arrow { transform: none; }
}

.customer-profile-choice-summary { margin: 0 0 24px; padding: 16px 18px; border-radius: 8px; background: #f5f7fa; color: #58677b; font-size: 14px; line-height: 1.6; }
.customer-profile-choice-summary a { color: var(--chem-red); font-size: inherit; white-space: nowrap; }

/* Saving profile details finishes with a quiet confirmation, not confetti. */
.customer-profile-form[hidden], .customer-profile-confirmation[hidden] { display: none; }
.customer-profile-confirmation { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 380px; padding: 40px 16px; text-align: center; }
.customer-profile-confirmation__check { width: 72px; height: 72px; margin-bottom: 24px; }
.customer-profile-confirmation__check path { stroke-dasharray: 44; stroke-dashoffset: 0; animation: customer-profile-check 450ms ease-out both; }
.customer-account-card .customer-profile-confirmation h1 { margin: 0 0 16px; font-size: clamp(28px, 4vw, 38px); font-weight: 500; letter-spacing: -.03em; }
.customer-account-card .customer-profile-confirmation p { max-width: 460px; margin: 0 0 28px; color: #58677b; line-height: 1.7; }
.customer-profile-confirmation__actions { display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 100%; }
.customer-profile-confirmation__actions .customer-account-primary { text-decoration: none; text-align: center; }
.customer-profile-confirmation__edit { color: #58677b; font-size: 14px; text-underline-offset: 4px; }
.customer-profile-confirmation h1:focus { outline: none; }
.customer-profile-confirmation__actions a:focus-visible { outline: 2px solid var(--chem-red); outline-offset: 4px; }
@keyframes customer-profile-check { from { stroke-dashoffset: 44; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .customer-profile-confirmation__check path { animation: none; } }

/* Bring the account tabs and order history closer to the site header. */
section.customer-account-page.first.customer-account-dashboard { padding-top: 104px; }
.customer-account-dashboard .customer-account-toolbar { margin-bottom: 16px; }
@media (max-width: 960px) { section.customer-account-page.first.customer-account-dashboard { padding-top: 84px; } }
@media (max-width: 680px) { section.customer-account-page.first.customer-account-dashboard { padding-top: 80px; } }

.customer-account-card.paper .customer-staff-login-row { margin: 16px 0 0; text-align: center; }
.customer-account-card.paper .customer-staff-login-row a.customer-staff-login[href] { color: #657185; font-size: 13px; }
.customer-account-card.paper .customer-staff-login-row a.customer-staff-login[href]:hover { color: #344d70; text-decoration: underline; }
