/* =========================================================================
   Crucial Lab: checkout and My Account, matching the mockup.
   ========================================================================= */

/* ---------- App pages: full-width backgrounds, no page title ---------- */

.cl-layout-app .site-content > .col-full { max-width: none; padding-left: 0; padding-right: 0; }
.cl-layout-app .site-main { margin-bottom: 0; }
.cl-layout-app .entry-header { display: none; }
.cl-layout-app .hentry, .cl-layout-app .entry-content { margin: 0; padding: 0; }
.cl-layout-app .entry-content > .woocommerce > :not(.cl-acct):not(.cl-checkout):not(.cl-cart) {
	max-width: var(--container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
	box-sizing: border-box;
}
.cl-layout-app .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }

/* Shared form look (labels above, rounded inputs) */
.cl-checkout .form-row,
.cl-acct .form-row { margin: 0; padding: 0; float: none; width: auto; display: flex; flex-direction: column; gap: 6px; }
.cl-checkout .form-row > label,
.cl-acct .form-row > label { font-size: 13.5px; font-weight: 500; color: var(--slate-800); margin: 0; line-height: 1.4; }
.cl-checkout .form-row .required,
.cl-acct .form-row .required { color: var(--red); text-decoration: none; border: 0; }
.cl-checkout .form-row .optional { display: none; }
.cl-checkout .form-row .woocommerce-input-wrapper { display: block; }
.cl-theme .cl-checkout input.input-text,
.cl-theme .cl-checkout select,
.cl-theme .cl-checkout .select2-container .select2-selection--single,
.cl-theme .cl-acct input.input-text,
.cl-theme .cl-acct select,
.cl-theme .cl-acct .select2-container .select2-selection--single {
	width: 100%;
	border: 1px solid var(--slate-350);
	border-radius: var(--radius-lg);
	padding: 13px 14px;
	font: 15px var(--font-body);
	background: var(--white);
	color: var(--navy-900);
	box-shadow: none;
	box-sizing: border-box;
	min-height: 48px;
}
.cl-theme .cl-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 20px; color: var(--navy-900); }
.cl-theme .cl-checkout .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 8px; }
.cl-theme .cl-checkout input.input-text:focus,
.cl-theme .cl-checkout select:focus,
.cl-theme .cl-acct input.input-text:focus { border-color: var(--cobalt); outline: none; box-shadow: 0 0 0 3px rgba(31, 91, 255, 0.12); }
.cl-checkout .woocommerce-invalid input.input-text { border-color: var(--red); }

/* ---------- Checkout ---------- */

.cl-checkout { background: var(--mist); min-height: 80vh; }
.cl-checkout > .cl-wrap { padding-top: 40px; padding-bottom: 96px; }
.cl-crumbs { font: 500 13px var(--font-data); color: var(--slate-500); margin: 0 0 10px; }
.cl-crumbs span { color: var(--navy-900); }
.cl-theme .cl-checkout__title { font-size: clamp(32px, 4vw, 46px); letter-spacing: -0.035em; margin: 0; }
.cl-checkout .woocommerce-notices-wrapper,
.cl-checkout .woocommerce-NoticeGroup { margin-top: 20px; }

.cl-checkout__grid { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; align-items: flex-start; }
.cl-checkout__main { flex: 1.4 1 460px; min-width: 0; }
.cl-checkout__steps { display: flex; flex-direction: column; gap: 20px; }
.cl-theme .cl-checkout .col2-set { width: auto; float: none; }

.cl-co-card { background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 24px; }
.cl-theme .cl-co-card__title { display: flex; align-items: center; gap: 12px; font-size: 19px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 18px; }
.cl-step-num { width: 30px; height: 30px; border-radius: 50%; background: var(--cobalt); color: var(--white); display: inline-flex; align-items: center; justify-content: center; font: 600 13px var(--font-data); flex: none; }
.cl-co-card__hint { font-size: 13.5px; color: var(--slate-600); margin: 12px 0 0; }

.cl-co-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.cl-co-fields > .form-row { grid-column: span 6; }
.cl-co-fields > .form-row-first,
.cl-co-fields > .form-row-last { grid-column: span 3; }
.cl-co-fields > .form-row-third { grid-column: span 2; }
.cl-co-fields > #billing_country_field { grid-column: span 6; }
.cl-co-fields > #billing_country_field strong { font-weight: 500; font-size: 15px; }
@media (max-width: 560px) {
	.cl-co-fields > .form-row-first, .cl-co-fields > .form-row-last, .cl-co-fields > .form-row-third { grid-column: span 6; }
}
.cl-co-account { margin-top: 14px; }
.cl-co-account .create-account { margin-top: 8px; }
.cl-co-account label.checkbox { flex-direction: row; align-items: center; gap: 8px; font-size: 14px; }

.cl-ship-methods { display: flex; flex-direction: column; gap: 10px; }
.cl-ship-opt { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--radius-xl); border: 2px solid var(--slate-200); background: var(--white); cursor: pointer; transition: border-color .15s ease, background-color .15s ease; margin: 0; }
.cl-ship-opt:hover { border-color: var(--cobalt); }
.cl-ship-opt.is-selected, .cl-ship-opt:has(input:checked) { border-color: var(--cobalt); background: #F5F8FF; }
.cl-ship-opt input { position: absolute; opacity: 0; pointer-events: none; }
.cl-ship-opt__dot { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--slate-300); display: flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; }
.cl-ship-opt.is-selected .cl-ship-opt__dot, .cl-ship-opt:has(input:checked) .cl-ship-opt__dot { border-color: var(--cobalt); }
.cl-ship-opt.is-selected .cl-ship-opt__dot::after, .cl-ship-opt:has(input:checked) .cl-ship-opt__dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cobalt); }
.cl-ship-opt__body { flex: 1; min-width: 0; }
.cl-ship-opt__body strong { display: block; font: 600 15.5px var(--font-display); color: var(--navy-900); }
.cl-ship-opt__body > span { font-size: 13.5px; color: var(--slate-600); }
.cl-ship-opt__price { font: 600 15px var(--font-data); white-space: nowrap; color: var(--navy-900); }
.cl-ship-methods__note, .cl-ship-methods__empty { font-size: 13px; color: var(--slate-500); margin: 4px 0 0; }

.cl-card-brands { display: flex; gap: 8px; flex-wrap: wrap; margin: -6px 0 14px; }
.cl-card-brands span { font: 600 12px var(--font-data); color: var(--slate-800); border: 1px solid var(--slate-350); border-radius: var(--radius-sm); padding: 4px 8px; }
.cl-theme .cl-checkout #payment { background: transparent; border-radius: 0; }
.cl-theme .cl-checkout #payment ul.payment_methods { padding: 0; border: 0; margin: 0; }
.cl-theme .cl-checkout #payment ul.payment_methods li { list-style: none; margin: 0; }
.cl-theme .cl-checkout #payment ul.payment_methods li.cl-no-gateway .woocommerce-info { margin: 0; }
.cl-theme .cl-checkout #payment div.payment_box { background: var(--mist); border-radius: var(--radius-lg); margin: 10px 0 0; }
.cl-theme .cl-checkout #payment div.payment_box::before { display: none; }
.cl-secure-note { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--slate-500); margin: 14px 0 0; }
.cl-secure-note i { color: var(--mint); font-size: 18px; }

.cl-co-summary { flex: 1 1 340px; min-width: 0; position: sticky; top: calc(96px + var(--admin-offset)); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 24px; display: flex; flex-direction: column; gap: 14px; box-sizing: border-box; }
.cl-theme .cl-co-summary__title { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; margin: 0; }
.cl-theme .cl-co-summary .woocommerce-checkout-review-order { float: none; width: auto; }

.cl-review__lines { display: flex; flex-direction: column; gap: 14px; }
.cl-review__line { display: flex; gap: 12px; align-items: center; }
.cl-review__media { position: relative; width: 52px; height: 56px; border-radius: var(--radius-lg); background: var(--slate-100); display: flex; align-items: flex-end; justify-content: center; flex: none; }
.cl-review__media img { height: 92%; width: auto; object-fit: contain; border-radius: var(--radius-lg); }
.cl-review__qty { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; border-radius: var(--pill); background: var(--navy-900); color: var(--white); font: 600 11px var(--font-data); display: flex; align-items: center; justify-content: center; padding: 0 5px; box-sizing: border-box; }
.cl-review__info { flex: 1; min-width: 0; }
.cl-review__info strong { display: block; font: 600 14.5px var(--font-display); color: var(--navy-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cl-review__info > span { font: 500 12px var(--font-data); color: var(--slate-500); }
.cl-review__total { font: 600 14px var(--font-data); white-space: nowrap; color: var(--navy-900); }
.cl-review__total.is-free { color: var(--mint-700); }
.cl-review__totals { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--slate-150); padding-top: 14px; margin-top: 14px; font-size: 14.5px; }
.cl-review__row { display: flex; justify-content: space-between; gap: 12px; color: var(--slate-700); }
.cl-review__row > span:last-child { font-family: var(--font-data); text-align: right; }
.cl-review__row.is-save { color: var(--mint-700); font-weight: 600; }
.cl-review__row.order-total { font: 700 24px var(--font-display); color: var(--navy-900); padding-top: 10px; border-top: 1px solid var(--slate-150); white-space: nowrap; }
.cl-review__row.order-total > span:last-child { font-family: var(--font-display); }
.cl-review__row.order-total small { display: none; }

.cl-co-coupon { display: flex; gap: 8px; border-top: 1px solid var(--slate-150); padding-top: 14px; }
.cl-theme .cl-co-coupon input { flex: 1; min-width: 0; border: 1px solid var(--slate-350); border-radius: var(--pill); padding: 11px 16px; font: 14px var(--font-body); text-transform: uppercase; box-shadow: none; background: var(--white); }
.cl-theme .cl-co-coupon__btn { background: var(--navy-900); padding: 0 18px; font-size: 14px; }
.cl-theme .cl-co-coupon__btn:hover { background: var(--navy-700); }
.cl-co-coupon__msg { font-size: 13px; margin: -6px 0 0; }
.cl-co-coupon__msg.is-error { color: var(--red-600); }
.cl-co-coupon__msg.is-ok { color: var(--mint-700); }

.cl-co-place { padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.cl-co-place .cc-attest,
.cl-co-place .woocommerce-terms-and-conditions-wrapper { margin: 0; }
.cl-co-place .cc-attest label { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 19px; color: var(--slate-700); cursor: pointer; flex-direction: row; }
.cl-co-place .cc-attest input { margin-top: 2px; accent-color: var(--red); width: 16px; height: 16px; flex: none; }
.cl-co-place .cc-attest abbr { display: none; }
.cl-theme .cl-place-order { width: 100%; height: 54px; font-size: 16px; gap: 10px; }
.cl-place-order__total:not(:empty)::before { content: "· "; }

/* ---------- My Account ---------- */

.cl-acct { position: relative; background: var(--blue-tint); overflow: hidden; min-height: calc(100vh - 140px); }
.cl-acct::before { content: ""; position: absolute; inset: 0; background: url(../img/pep-light.svg) 0 0 / 420px auto; pointer-events: none; }
.cl-acct > .cl-wrap { position: relative; padding-top: 72px; padding-bottom: 96px; }
.cl-eyebrow--blue { color: var(--cobalt); }

.cl-acct__guest { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cl-acct__intro { flex: 1 1 400px; min-width: 0; }
.cl-theme .cl-acct__h1 { font-size: clamp(38px, 4.6vw, 60px); letter-spacing: -0.035em; line-height: 1.04; margin: 12px 0 0; }
.cl-acct__lead { font-size: 17.5px; line-height: 28px; color: var(--slate-700); margin: 18px 0 0; max-width: 46ch; }
.cl-acct__perks { display: flex; flex-direction: column; gap: 14px; margin-top: 28px; }
.cl-acct__perks > span { display: flex; align-items: center; gap: 12px; font-size: 15.5px; color: var(--navy-900); }
.cl-perk-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--white); display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 6px rgba(11, 27, 51, 0.08); flex: none; }

.cl-auth { flex: 1 1 420px; max-width: 480px; width: 100%; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-hero); padding: 28px; box-shadow: 0 30px 60px rgba(11, 27, 51, 0.12); box-sizing: border-box; }
.cl-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: var(--slate-100); border-radius: var(--radius-lg); padding: 4px; margin-bottom: 24px; }
.cl-theme .cl-auth__tabs button { border-radius: 9px; padding: 11px; font: 600 15px var(--font-body); background: transparent; color: var(--slate-500); box-shadow: none; }
.cl-theme .cl-auth__tabs button:hover { background: transparent; color: var(--navy-900); }
.cl-theme .cl-auth[data-tab="login"] [data-cl-tab="login"].cl-tabbtn,
.cl-theme .cl-auth[data-tab="register"] [data-cl-tab="register"].cl-tabbtn,
.cl-theme .cl-auth[data-tab="login"] .cl-auth__tabs [data-cl-tab="login"],
.cl-theme .cl-auth[data-tab="register"] .cl-auth__tabs [data-cl-tab="register"] { background: var(--white); color: var(--navy-900); box-shadow: 0 1px 3px rgba(11, 27, 51, 0.12); }
.cl-auth[data-tab="login"] [data-cl-pane="register"],
.cl-auth[data-tab="register"] [data-cl-pane="login"] { display: none; }
.cl-theme .cl-auth__form { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; border: 0; }
.cl-auth .form-row > label { font-size: 14px; color: var(--navy-900); }
.cl-label-row { display: flex !important; flex-direction: row !important; justify-content: space-between; }
.cl-label-row a { font-size: 13.5px; font-weight: 500; }
.cl-input-icon { display: flex; align-items: center; gap: 10px; border: 1px solid var(--slate-350); border-radius: var(--radius-lg); padding: 0 14px; background: #F8FAFC; }
.cl-input-icon:focus-within { border-color: var(--cobalt); box-shadow: 0 0 0 3px rgba(31, 91, 255, 0.12); }
.cl-input-icon > i { color: var(--slate-500); font-size: 18px; flex: none; }
.cl-theme .cl-acct .cl-input-icon input.input-text { border: 0; background: transparent; padding: 13px 0; min-height: 0; box-shadow: none; flex: 1; min-width: 0; }
.cl-input-icon .password-input { display: flex; align-items: center; flex: 1; min-width: 0; }
.cl-theme .cl-acct .show-password-input { position: static; background: transparent; color: var(--slate-500); padding: 4px; box-shadow: none; }
.cl-theme .cl-auth .woocommerce-form-register input.input-text { background: #F8FAFC; }
.cl-form-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.cl-check-row { margin: 0; }
.cl-check-row label { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 20px; color: var(--slate-700); cursor: pointer; }
.cl-check-row input { margin-top: 2px; accent-color: var(--cobalt); width: 16px; height: 16px; flex: none; }
.woocommerce-form-register .cl-check-row label { font-size: 13.5px; }
.woocommerce-form-register .cl-check-row input { accent-color: var(--red); }
.cl-theme .cl-auth__submit { width: 100%; height: 52px; background: var(--red); font-size: 16px; }
.cl-theme .cl-auth__submit:hover { background: var(--red-600); }
.cl-auth__switch { text-align: center; font-size: 14px; color: var(--slate-600); margin: 4px 0 0; }
.cl-auth__note { font-size: 13.5px; color: var(--slate-600); margin: 0; }
.cl-auth .woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--slate-500); }
.cl-auth .woocommerce-privacy-policy-text p { margin: 0; }

.cl-acct__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.cl-theme .cl-acct__hello { font-size: clamp(32px, 4vw, 46px); letter-spacing: -0.035em; margin: 10px 0 0; }
.cl-acct__meta { font-size: 15px; color: var(--slate-600); margin: 6px 0 0; }
.cl-theme .cl-btn--signout, .cl-theme .cl-btn--signout:visited { background: var(--white); color: var(--navy-900); border: 1px solid var(--slate-300); padding: 11px 18px; font-size: 14.5px; }
.cl-theme .cl-btn--signout:hover { border-color: var(--red); color: var(--red); }

.cl-acct__grid { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; align-items: flex-start; }
.cl-theme .cl-acct__nav { flex: 0 0 230px; width: auto; float: none; display: flex; flex-direction: column; gap: 4px; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 10px; position: sticky; top: calc(96px + var(--admin-offset)); box-sizing: border-box; }
.cl-theme .cl-acct__nav a { display: flex; align-items: center; gap: 10px; border-radius: var(--radius-lg); padding: 11px 12px; font: 500 15px var(--font-body); color: var(--slate-800); }
.cl-theme .cl-acct__nav a:hover { background: var(--slate-100); color: var(--navy-900); }
.cl-theme .cl-acct__nav a.is-active { background: var(--cobalt-100); color: var(--cobalt-600); }
.cl-acct__nav i { font-size: 19px; }
.cl-theme .cl-acct__content { flex: 1 1 480px; min-width: 0; width: auto; float: none; display: flex; flex-direction: column; gap: 20px; }
@media (max-width: 760px) { .cl-theme .cl-acct__nav { position: static; flex-basis: 100%; } }

.cl-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.cl-theme .cl-tile { display: block; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 20px; color: var(--navy-900); transition: border-color .15s ease, box-shadow .15s ease; }
.cl-theme .cl-tile:hover { border-color: var(--cobalt); box-shadow: 0 0 0 1px var(--cobalt); color: var(--navy-900); }
.cl-tile i { font-size: 26px; }
.cl-tile strong { display: block; font: 700 26px var(--font-display); margin-top: 10px; letter-spacing: -0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cl-tile strong.is-small { font-size: 18px; margin-top: 16px; }
.cl-tile strong * { font: inherit; color: inherit; }
.cl-tile > span { font-size: 13.5px; color: var(--slate-600); }

.cl-panel { background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 24px; }
.cl-panel__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cl-theme .cl-panel h2, .cl-theme .cl-panel__title { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; margin: 0; }
.cl-panel__title { margin-bottom: 14px !important; }
.cl-panel__meta { font: 500 13.5px var(--font-data); color: var(--slate-500); margin: 8px 0 16px; }
.cl-panel__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.cl-pill-status { font: 600 12.5px var(--font-data); padding: 4px 10px; border-radius: var(--pill); white-space: nowrap; }

.cl-steps-track { display: flex; align-items: flex-start; }
.cl-steps-track__step { flex: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cl-steps-track__line { display: flex; align-items: center; }
.cl-steps-track__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--slate-350); flex: none; }
.cl-steps-track__bar { flex: 1; height: 3px; background: var(--slate-200); }
.cl-steps-track__step.is-done .cl-steps-track__dot { background: var(--mint); }
.cl-steps-track__step.is-through .cl-steps-track__bar { background: var(--mint); }
.cl-steps-track__step strong { font-size: 13.5px; color: #9AA6BA; }
.cl-steps-track__step.is-done strong { color: var(--navy-900); }
.cl-steps-track__step > span:last-child { font: 500 12px var(--font-data); color: var(--slate-500); }

.cl-order-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 0; border-top: 1px solid var(--slate-150); }
.cl-order-row__main { flex: 1 1 180px; min-width: 0; }
.cl-order-row__main strong { font: 600 15px var(--font-data); color: var(--navy-900); }
.cl-order-row__main > span { display: block; font-size: 13.5px; color: var(--slate-500); }
.cl-order-row__total { font: 600 15px var(--font-data); min-width: 80px; text-align: right; }
.cl-order-row__actions { display: flex; gap: 8px; }
.cl-pager { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; }

/* Native My Account sections (order details, addresses, account details) as cards */
.cl-acct__content > .woocommerce-order-details,
.cl-acct__content > .woocommerce-customer-details,
.cl-acct__content > form.woocommerce-EditAccountForm,
.cl-acct__content > form.edit-account,
.cl-acct__content > form:not(.cl-auth__form):not(.cl-details),
.cl-acct__content > .woocommerce-MyAccount-paymentMethods,
.cl-acct__content > p:first-child { background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 24px; margin: 0; }
.cl-acct__content > p:first-child { font-size: 15px; color: var(--slate-700); }
.cl-acct__content mark { background: var(--cobalt-100); color: var(--cobalt-600); padding: 2px 6px; border-radius: 6px; }
.cl-theme .cl-acct__content h2, .cl-theme .cl-acct__content h3 { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 14px; }
.cl-acct__content table.shop_table { border: 0; margin: 0; border-collapse: collapse; }
.cl-acct__content table.shop_table th, .cl-acct__content table.shop_table td { padding: 12px 0; border-top: 1px solid var(--slate-150); background: transparent; font-weight: 400; }
.cl-acct__content table.shop_table thead th { border-top: 0; font: 600 12.5px var(--font-data); color: var(--slate-500); text-transform: uppercase; letter-spacing: 0.04em; }
.cl-acct__content table.shop_table tfoot th { color: var(--slate-700); }
.cl-acct__content table.shop_table tfoot th, .cl-acct__content table.shop_table tfoot td { font: 500 15px var(--font-body); color: var(--navy-900); }
.cl-acct__content table.shop_table td:last-child, .cl-acct__content table.shop_table th:last-child { text-align: right; }
.cl-acct__content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.cl-acct__content .woocommerce-Addresses::before, .cl-acct__content .woocommerce-Addresses::after { display: none; }
.cl-theme .cl-acct__content .woocommerce-Address { width: auto; float: none; border: 1px solid var(--slate-200); border-radius: var(--radius-2xl); padding: 18px; }
.cl-acct__content .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cl-theme .cl-acct__content .woocommerce-Address-title h2 { font-size: 16px; margin: 0; }
.cl-theme .cl-acct__content .woocommerce-Address-title .edit { float: none; font-size: 14px; }
.cl-acct__content address { font-style: normal; line-height: 24px; color: var(--slate-700); margin-top: 10px; }
.cl-acct__content form .form-row { margin-bottom: 14px; }
.cl-acct__content form fieldset { border: 1px solid var(--slate-200); border-radius: var(--radius-xl); padding: 16px; margin: 10px 0 18px; }
.cl-acct__content form fieldset legend { font: 600 15px var(--font-display); padding: 0 6px; }
.cl-acct__content .woocommerce-address-fields__field-wrapper,
.cl-acct__content form.edit-account { display: block; }
.cl-acct__content .form-row-first, .cl-acct__content .form-row-last { width: 100%; }
@media (min-width: 640px) {
	.cl-acct__content .woocommerce-address-fields__field-wrapper,
	.cl-acct__content form.edit-account { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
	.cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-wide,
	.cl-acct__content form.edit-account > :not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
}
.cl-acct__content .order-again { margin: 0; }
.cl-acct__content .woocommerce-pagination { margin-top: 12px; }

.cl-theme .cl-co-summary .cl-review,
.cl-theme .cl-co-summary .woocommerce-checkout-review-order { background: none; border: 0; padding: 0; margin: 0; }
/* US-only store: the country is fixed, so its field is hidden (WooCommerce sets an inline display). */
.cl-co-fields > #billing_country_field { display: none !important; }
.cl-theme .cl-co-summary #order_review { float: none; width: auto; margin: 0; padding: 0; background: none; border: 0; }
.cl-co-extra:empty { display: none; }

.cl-theme .cl-auth[data-tab="register"] .cl-auth__tabs [data-cl-tab="login"],
.cl-theme .cl-auth[data-tab="login"] .cl-auth__tabs [data-cl-tab="register"] { background: transparent; color: var(--slate-500); box-shadow: none; }
.cl-acct__content > .woocommerce-notices-wrapper:empty { display: none; }
.cl-acct__content .woocommerce-order-details__title, .cl-acct__content .woocommerce-column__title { font-size: 20px; }
.cl-acct__content form.edit-account > .cl-form-title { grid-column: 1 / -1; }

.cl-theme .cl-acct a, .cl-theme .cl-checkout a, .cl-theme .cl-acct a:hover, .cl-theme .cl-checkout .cl-crumbs a { text-decoration: none; }

/* Storefront clearfix pseudo-elements become empty flex/grid items (and add a gap). */
.cl-checkout__grid::before, .cl-checkout__grid::after,
.cl-acct__grid::before, .cl-acct__grid::after,
.cl-cart__grid::before, .cl-cart__grid::after,
.cl-cart__main::before, .cl-cart__main::after,
.cl-acct__content::before, .cl-acct__content::after,
.cl-addr-grid::before, .cl-addr-grid::after,
.cl-co-fields::before, .cl-co-fields::after,
.cl-details__grid::before, .cl-details__grid::after { content: none !important; display: none !important; }

/* ---------- Cart (mockup) ---------- */

.cl-cart > .cl-wrap { padding-top: 56px; padding-bottom: 96px; }
.cl-theme .cl-cart__title { font-size: clamp(34px, 4vw, 50px); letter-spacing: -0.035em; margin: 0; }
.cl-cart .woocommerce-notices-wrapper:not(:empty) { margin-top: 20px; }
.cl-cart__grid { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 32px; align-items: flex-start; }
.cl-theme .cl-cart__main { flex: 2 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; border: 0; }
.cl-cart__lines { display: flex; flex-direction: column; gap: 12px; }
.cl-theme .cl-cart .cl-arrive { margin: 0; }
.cl-cart__shipok { display: flex; gap: 14px; align-items: center; padding: 6px 4px; }
.cl-cart__shipok i { font-size: 28px; color: var(--mint); flex: none; }
.cl-cart__shipok span { font-size: 14.5px; color: #0B5E4A; font-weight: 600; }

.cl-line { display: flex; gap: 16px; align-items: center; border: 1px solid var(--slate-200); border-radius: 16px; padding: 16px; flex-wrap: wrap; background: var(--white); }
.cl-line__media { width: 64px; height: 64px; border-radius: var(--radius-lg); background: var(--slate-100); display: flex; align-items: flex-end; justify-content: center; flex: none; overflow: hidden; }
.cl-line__media a { display: flex; align-items: flex-end; justify-content: center; height: 100%; width: 100%; }
.cl-line__media img { height: 92%; width: auto; object-fit: contain; }
.cl-line__info { flex: 1; min-width: 160px; line-height: 1.5; }
.cl-line__info strong { font: 700 17px var(--font-display); color: var(--navy-900); letter-spacing: -0.01em; }
.cl-theme .cl-line__info strong a { color: var(--navy-900); text-decoration: none; }
.cl-theme .cl-line__info strong a:hover { color: var(--cobalt); }
.cl-line__meta { font: 500 13px var(--font-data); color: var(--slate-500); }
.cl-line__price { text-align: right; line-height: 1.5; }
.cl-line__price strong { font: 700 18px var(--font-display); color: var(--navy-900); }
.cl-line__price strong * { font: inherit; color: inherit; }
.cl-line__price strong.is-free { color: var(--mint-700); }
.cl-line__price s { font: 500 12.5px var(--font-data); color: var(--slate-500); }
.cl-line__save { font: 600 12.5px var(--font-data); color: var(--mint-700); white-space: nowrap; }
.cl-line .cl-badge--free { font-size: 11.5px; padding: 3px 7px; margin-left: 6px; vertical-align: 2px; }

.cl-qty { display: flex; align-items: center; border: 1px solid var(--slate-300); border-radius: var(--pill); overflow: hidden; flex: none; }
.cl-theme .cl-qty__btn { width: 36px; height: 38px; border: 0; border-radius: 0; background: var(--mist); font-size: 16px; color: var(--navy-900); padding: 0; box-shadow: none; }
.cl-theme .cl-qty__btn:hover { background: var(--slate-100); color: var(--navy-900); }
.cl-theme .cl-qty__input { width: 32px; min-width: 28px; text-align: center; font: 600 15px var(--font-data); border: 0; padding: 0; background: var(--white); box-shadow: none; -moz-appearance: textfield; color: var(--navy-900); }
.cl-qty__input::-webkit-outer-spin-button, .cl-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cl-line .product-remove { flex: none; }
.cl-theme .cl-line__remove, .cl-theme .cl-line .product-remove a.remove { display: flex; align-items: center; justify-content: center; width: 36px; height: 38px; color: var(--red) !important; font-size: 22px; background: transparent !important; border-radius: 8px; text-decoration: none; }
.cl-theme .cl-line .product-remove a.remove:hover { color: var(--red-600) !important; }

.cl-cart__nudge { display: flex; gap: 14px; align-items: center; border: 1px dashed #9DB5E8; background: #F5F8FF; border-radius: 16px; padding: 14px 16px; }
.cl-cart__nudge > i { font-size: 28px; flex: none; }
.cl-cart__nudge > span { flex: 1; display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; color: var(--slate-700); }
.cl-cart__nudge strong { color: var(--navy-900); }
.cl-cart__nudge strong * { font: inherit; color: inherit; }
.cl-cart__bar { height: 6px; border-radius: 3px; background: var(--slate-200); overflow: hidden; }
.cl-cart__bar span { display: block; height: 100%; border-radius: 3px; }

.cl-cart__actions { display: none; }

.cl-theme .cl-cart__aside { flex: 1 1 320px; min-width: 0; width: auto; float: none; }
.cl-theme .cl-cart__aside .cart_totals { width: 100%; float: none; }
.cl-sum { background: var(--navy-900); color: var(--white); border-radius: var(--radius-3xl); padding: 24px; display: flex; flex-direction: column; gap: 12px; box-sizing: border-box; }
.cl-sum__row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: #B8C4D6; }
.cl-sum__row .is-mono { font-family: var(--font-data); }
.cl-sum__row.is-good { color: #5BE3BD; font-weight: 600; }
.cl-sum__row * { color: inherit; }
.cl-sum__total { display: flex; justify-content: space-between; font: 700 26px var(--font-display); padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.12); color: var(--white); letter-spacing: -0.01em; }
.cl-sum__total * { font: inherit; color: inherit; }
.cl-sum__attest { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 20px; color: #B8C4D6; margin-top: 6px; cursor: pointer; }
.cl-sum__attest input { margin-top: 3px; accent-color: var(--red); width: 16px; height: 16px; flex: none; }
.cl-theme .cl-sum .wc-proceed-to-checkout { padding: 0; margin: 0; }
.cl-theme .cl-sum__checkout, .cl-theme .cl-sum__checkout:visited { display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--red); color: var(--white); border-radius: var(--pill); height: 52px; font: 600 16px var(--font-body); text-decoration: none; margin: 0; padding: 0; box-shadow: none; transition: opacity .15s ease, background-color .15s ease; }
.cl-theme .cl-sum__checkout:hover { background: var(--red-600); color: var(--white); }
.cl-theme .cl-sum__checkout.is-disabled { opacity: .45; cursor: not-allowed; }

.cl-cart__empty { margin-top: 28px; background: var(--mist); border-radius: var(--radius-3xl); padding: 48px; text-align: center; }
.cl-cart__empty > i { font-size: 48px; color: var(--cobalt); }
.cl-cart__empty p { font-size: 17px; margin: 12px 0 20px; color: var(--navy-900); }
.cl-theme .cl-btn--square { border-radius: var(--radius-lg); padding: 14px 24px; font-size: 15px; }

/* Mockup uses 12px corners on the sign-in buttons and tabs */
.cl-theme .cl-auth__submit { border-radius: var(--radius-lg); }

/* ---------- My Account: addresses, order, details (mockup) ---------- */

.cl-addr-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.cl-addr { flex: 1 1 260px; background: var(--white); border: 1.5px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 22px; display: flex; flex-direction: column; gap: 12px; box-sizing: border-box; }
.cl-addr__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cl-addr__head strong { font: 700 16px var(--font-display); color: var(--navy-900); }
.cl-pill-default { font: 600 11px var(--font-data); color: var(--cobalt-600); background: var(--cobalt-100); border-radius: var(--pill); padding: 3px 9px; }
.cl-addr__lines { font-size: 14.5px; line-height: 23px; color: var(--slate-700); margin: 0; }
.cl-addr__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }

.cl-theme .cl-back { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; color: var(--cobalt); font: 600 14.5px var(--font-body); }
.cl-theme .cl-back:hover { color: var(--cobalt-600); }
.cl-panel__head--top { align-items: flex-start; }
.cl-theme .cl-panel .cl-order-title { font: 700 26px var(--font-display); letter-spacing: -0.02em; margin: 0; }
.cl-order-sub { font-size: 14px; color: var(--slate-500); margin: 6px 0 0; }
.cl-steps-track--lg { margin-top: 22px; }
.cl-steps-track--lg .cl-steps-track__dot { width: 16px; height: 16px; }
.cl-steps-track--lg .cl-steps-track__step strong { font-size: 14px; }
.cl-panel__head--top .cl-pill-status { font-size: 13px; padding: 6px 12px; }
.cl-theme .cl-panel .cl-panel__title { margin-bottom: 6px !important; }
.cl-oline { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 14px 0; border-bottom: 1px solid var(--slate-150); }
.cl-oline:last-child { border-bottom: 0; }
.cl-oline__media { width: 56px; height: 60px; }
.cl-oline__info { flex: 1 1 200px; min-width: 0; line-height: 1.5; }
.cl-oline__info strong { font: 700 15.5px var(--font-display); color: var(--navy-900); }
.cl-oline__meta { font: 500 12.5px var(--font-data); color: var(--slate-500); }
.cl-oline__total { font: 600 15px var(--font-data); color: var(--navy-900); }
.cl-oline__total.is-free { color: var(--mint-700); }
.cl-ocards { display: flex; flex-wrap: wrap; gap: 20px; }
.cl-ocard { flex: 1 1 260px; box-sizing: border-box; }
.cl-theme .cl-panel.cl-ocard h2 { font-size: 17px; margin: 0; }
.cl-ocard__text { font-size: 14.5px; line-height: 23px; color: var(--slate-700); margin-top: 10px; }
.cl-ocard__mono { font: 600 14.5px var(--font-data); color: var(--navy-900); margin: 10px 0 0; }
.cl-ocard__note { font-size: 13.5px; color: var(--slate-500); margin: 8px 0 0; }
.cl-ocard--sum { display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; }
.cl-ocard--sum h2 { margin-bottom: 4px !important; }
.cl-ocard__total { font: 700 20px var(--font-display) !important; color: var(--navy-900) !important; padding-top: 8px; border-top: 1px solid var(--slate-150); }
.cl-ocard__total > span:last-child { font-family: var(--font-display) !important; }
.cl-ocard__total * { font: inherit; }
.cl-oactions { margin-top: 0; }
.cl-note { font-size: 14.5px; color: var(--slate-700); padding: 10px 0; border-top: 1px solid var(--slate-150); }
.cl-note > span { font: 500 12.5px var(--font-data); color: var(--slate-500); }

.cl-theme .cl-acct__content > form.cl-details { display: block; padding: 24px; }
.cl-details__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.cl-details__grid .is-full { grid-column: 1 / -1; }
.cl-theme .cl-acct .cl-details .form-row { margin: 0; }
.cl-theme .cl-acct .cl-details input.input-text { padding: 12px 14px; min-height: 0; }
.cl-details .form-row > label { color: var(--slate-800); }
.cl-details__actions { margin-top: 20px; }
.cl-theme .cl-acct__content .cl-btn-save, .cl-theme .cl-acct__content button.cl-btn-save[type="submit"] { background: var(--cobalt); padding: 10px 18px; font-size: 14px; }
.cl-theme .cl-acct__content button.cl-btn-save[type="submit"]:hover { background: var(--cobalt-600); }

/* Edit address form as a white card */
.cl-theme .cl-acct__content > form:not(.cl-details) { background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 24px; }
.cl-theme .cl-acct__content > form h2, .cl-theme .cl-acct__content > form h3 { font-size: 20px; margin: 0 0 16px; }
.cl-theme .cl-acct__content > form .woocommerce-address-fields p:last-child button { background: var(--cobalt); padding: 10px 18px; font-size: 14px; margin-top: 8px; }
.cl-sum__attest.is-nudge { animation: cl-nudge .4s ease; }
@keyframes cl-nudge { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.cl-theme .cl-cart__aside .cart_totals.cl-sum { background: var(--navy-900); color: var(--white); border: 0; padding: 24px; }
.cl-theme .cl-qty input.qty.cl-qty__input { width: 34px; height: 38px; border: 0; border-radius: 0; padding: 0; margin: 0; background: var(--white); box-shadow: none; text-align: center; font: 600 15px var(--font-data); min-height: 0; }
.cl-theme .cl-qty input.qty.cl-qty__input:focus { outline: none; box-shadow: none; }
.cl-theme .cl-sum__attest span { color: #B8C4D6; font-weight: 400; }

.cl-theme .cl-acct .cl-details .form-row { margin: 0 !important; }
.cl-theme .cl-details .cl-panel__title { margin-bottom: 16px !important; }
.cl-theme .cl-acct__content .cl-addr-grid { background: none; border: 0; padding: 0; }
.cl-theme .cl-acct__content .cl-addr-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.cl-theme .cl-acct__content .cl-addr.woocommerce-Address { background: var(--white); border: 1.5px solid var(--slate-200); border-radius: var(--radius-3xl); padding: 22px; width: auto; float: none; }
.cl-acct__content .woocommerce-address-fields__field-wrapper { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 12px; }
.cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row { grid-column: span 6; margin: 0 !important; }
.cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-first,
.cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: span 3; }
.cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-third { grid-column: span 2; }
.cl-acct__content #billing_country_field { display: none !important; }
.cl-acct .form-row .optional { display: none; }
.cl-acct__content .woocommerce-address-fields__field-wrapper::before, .cl-acct__content .woocommerce-address-fields__field-wrapper::after { content: none; display: none; }
@media (max-width: 560px) { .cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-first, .cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-last, .cl-acct__content .woocommerce-address-fields__field-wrapper > .form-row-third { grid-column: span 6; } }

/* Cart: exact mockup metrics (normal line-height inside boxes, aside basis 320 + padding). */
.cl-theme .cl-cart__title { line-height: 1.3; }
.cl-theme .cl-cart .cl-arrive, .cl-theme .cl-cart .cl-cart__nudge, .cl-theme .cl-cart .cl-cart__shipok { line-height: normal; }
.cl-theme .cl-cart .cl-sum { line-height: normal; }
.cl-theme .cl-cart .cl-sum__attest { line-height: 20px; }
.cl-theme .cl-cart__aside { flex: 1 1 368px; }
.cl-theme .cl-qty input.qty.cl-qty__input { width: 28px; min-width: 28px; }
.cl-theme .cl-line__info, .cl-theme .cl-line__price { line-height: normal; }
.cl-cart .woocommerce-message:has(a.wc-forward) { display: none; }

/* Checkout notices (WooCommerce inserts them at the start of the form): full-width row above the sections. */
.cl-checkout__grid > .woocommerce-NoticeGroup,
.cl-checkout__grid > .woocommerce-error,
.cl-checkout__grid > .woocommerce-message,
.cl-checkout__grid > .woocommerce-info,
.cl-checkout__grid > .woocommerce-notices-wrapper { flex: 0 0 100%; width: 100%; order: -1; margin: 0; }
.cl-checkout__grid > .woocommerce-NoticeGroup .woocommerce-error,
.cl-checkout__grid > .woocommerce-NoticeGroup .woocommerce-message,
.cl-checkout__grid > .woocommerce-NoticeGroup .woocommerce-info { margin: 0; }
.cl-checkout__grid > .woocommerce-NoticeGroup:empty { display: none; }

/* ---------- My Account: exact mockup metrics ----------
   The mockup uses content-box sizing for padded cards and the browser's normal
   line-height, so the same is applied here. */
.cl-theme .cl-acct { font-size: 16px; line-height: normal; color: var(--navy-900); }
.cl-theme .cl-acct .cl-auth,
.cl-theme .cl-acct .cl-acct__nav,
.cl-theme .cl-acct .cl-addr,
.cl-theme .cl-acct .cl-ocard { box-sizing: content-box; }
.cl-theme .cl-acct .cl-auth { max-width: 480px; }
.cl-theme .cl-acct__intro .cl-eyebrow { line-height: normal; }
.cl-theme .cl-acct__lead { line-height: 28px; }
.cl-theme .cl-acct__perks > span { line-height: normal; }

/* Sign in / Create account */
.cl-theme .cl-auth__tabs button { line-height: normal; }
.cl-theme .cl-auth .form-row { gap: 6px; }
.cl-theme .cl-auth .form-row > label { font-size: 14px; font-weight: 500; line-height: normal; color: var(--navy-900); }
.cl-theme .cl-auth .cl-label-row a { font-size: 13.5px; font-weight: 500; line-height: normal; }
.cl-theme .cl-acct .cl-input-icon input.input-text { font-size: 15px; line-height: normal; color: var(--navy-900); }
.cl-theme .cl-acct .cl-input-icon .password-input { display: flex; align-items: center; flex: 1; min-width: 0; position: static; }
.cl-theme .cl-acct .cl-input-icon .show-password-input { position: static; flex: none; display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; margin: 0; padding: 4px; border: 0; background: transparent; color: var(--slate-500); font-size: 18px; line-height: 1; box-shadow: none; cursor: pointer; }
.cl-theme .cl-acct .cl-input-icon .show-password-input::before { content: none; display: none; }
.cl-theme .cl-acct .cl-input-icon .show-password-input::after { content: "\e220"; font-family: "Phosphor" !important; font-size: 18px; line-height: 1; font-weight: normal; display: block; position: static; background: none; margin: 0; width: auto; height: auto; }
.cl-theme .cl-acct .cl-input-icon .show-password-input.display-password::after { content: "\e224"; }
.cl-theme .cl-acct .cl-input-icon .show-password-input i { font-size: 18px; }
.cl-theme .cl-acct .cl-input-icon .show-password-input:hover { color: var(--navy-900); background: transparent; }
.cl-theme .cl-auth .cl-remember { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 400; line-height: normal; color: var(--slate-700); cursor: pointer; }
.cl-theme .cl-auth .cl-remember input { width: 16px; height: 16px; margin: 3px 3px 3px 4px; accent-color: var(--cobalt); flex: none; }
.cl-theme .cl-auth .woocommerce-form-register { gap: 14px; }
.cl-theme .cl-auth .woocommerce-form-register input.input-text { padding: 13px 14px; min-height: 0; line-height: normal; background: #F8FAFC; border-color: var(--slate-350); }
.cl-theme .cl-auth .cl-check-row label { font-weight: 400; }
.cl-theme .cl-auth .woocommerce-form-register .cl-check-row label { font-size: 13.5px; line-height: 20px; }
.cl-theme .cl-auth .woocommerce-form-register .cl-check-row input { margin-top: 3px; }
.cl-theme .cl-auth .cl-ref-row > label { display: flex; flex-direction: column; gap: 6px; }
.cl-theme .cl-auth .cl-label-note { font-weight: 400; color: var(--slate-500); }
.cl-theme .cl-acct input.cl-input-mono { font-family: var(--font-data); text-transform: uppercase; }
.cl-theme .cl-acct input.cl-input-mono::placeholder { text-transform: uppercase; }
.cl-theme .cl-auth__submit { gap: 8px; line-height: normal; border: 0; }
.cl-theme .cl-auth__submit i { font-size: 16px; }
.cl-theme .cl-auth__switch { line-height: normal; }

/* WooCommerce's show-password toggle only on the sign-in password (as in the mockup) */
.cl-theme .cl-acct .password-input { display: block; position: relative; }
.cl-theme .cl-acct .show-password-input { display: none; }
.cl-theme .cl-acct .cl-input-icon .password-input { display: flex; }
.cl-theme .cl-acct .cl-input-icon .show-password-input { display: inline-flex; }

/* Signed in: head, sidebar, cards */
.cl-theme .cl-acct__head .cl-eyebrow { line-height: normal; }
.cl-theme .cl-acct__hello { line-height: normal; }
.cl-theme .cl-acct__meta { line-height: normal; }
.cl-theme .cl-btn--signout, .cl-theme .cl-btn--signout:visited { gap: 8px; line-height: normal; }
.cl-theme .cl-btn--signout i { font-size: 14.5px; }
.cl-theme .cl-acct__nav a { line-height: normal; text-decoration: none; }
.cl-theme .cl-acct__nav i { font-size: 19px; line-height: 1; }
.cl-theme .cl-acct .cl-tile { line-height: normal; }
.cl-theme .cl-acct .cl-tile i { display: inline-block; line-height: 1; }
.cl-theme .cl-acct .cl-tile strong { line-height: normal; letter-spacing: normal; }
.cl-theme .cl-acct .cl-tile strong.is-small { font-size: 20px; margin-top: 12px; }
.cl-theme .cl-acct .cl-panel h2, .cl-theme .cl-acct .cl-panel__title { font-family: var(--font-display); font-weight: 600; font-size: 20px; line-height: normal; letter-spacing: normal; }
.cl-theme .cl-acct .cl-pill-status { line-height: normal; }
.cl-theme .cl-acct .cl-panel__meta { line-height: normal; }
.cl-theme .cl-acct .cl-steps-track__step strong { font-weight: 700; line-height: normal; }
.cl-theme .cl-acct .cl-steps-track__step > span:last-child { line-height: normal; min-height: 16px; }
.cl-theme .cl-acct .cl-btn--sm, .cl-theme .cl-acct .cl-btn--sm:visited { padding: 10px 18px; gap: 8px; font: 600 14px/normal var(--font-body); }
.cl-theme .cl-acct .cl-btn--sm i { font-size: 14px; }
.cl-theme .cl-acct .cl-btn--blue { border: 0; }
.cl-theme .cl-acct button.cl-btn { cursor: pointer; }
.cl-theme .cl-acct__content button.cl-btn-save, .cl-theme .cl-acct__content .cl-btn-save { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: var(--pill); padding: 10px 18px; font: 600 14px/normal var(--font-body); color: var(--white); background: var(--cobalt); }

/* Orders */
.cl-theme .cl-acct .cl-order-row { line-height: normal; }
.cl-theme .cl-acct .cl-order-row__main a { color: var(--navy-900); }
.cl-theme .cl-acct .cl-order-row__main > span { display: block; }

/* Single order */
.cl-theme .cl-acct .cl-back { line-height: normal; }
.cl-theme .cl-acct .cl-order-title { line-height: normal; letter-spacing: normal; }
.cl-theme .cl-acct .cl-order-sub { line-height: normal; }
.cl-track { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; background: #F5F8FF; border: 1px solid var(--slate-350); border-radius: 14px; padding: 14px 16px; }
.cl-track__num { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--slate-700); }
.cl-track__num i { font-size: 22px; color: var(--cobalt); }
.cl-track__num strong { font-family: var(--font-data); color: var(--navy-900); }
.cl-theme .cl-track a { font-weight: 600; font-size: 14px; }
.cl-theme .cl-acct .cl-oline { border-bottom: 1px solid var(--slate-150); line-height: normal; }
.cl-theme .cl-acct .cl-oline:last-of-type { border-bottom: 1px solid var(--slate-150); }
.cl-theme .cl-acct .cl-oline__media { width: 56px; height: 60px; border-radius: 12px; background: var(--slate-100); display: flex; align-items: flex-end; justify-content: center; flex: none; overflow: hidden; }
.cl-theme .cl-acct .cl-oline__media img { height: 92%; width: auto; max-width: none; object-fit: contain; margin: 0; }
.cl-theme .cl-acct .cl-oline__info { line-height: normal; }
.cl-theme .cl-acct .cl-oline__info strong { font: 600 15.5px var(--font-display); }
.cl-oline__actions { display: flex; gap: 8px; }
.cl-ogift { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--slate-150); font-size: 14.5px; }
.cl-ogift > span { white-space: nowrap; }
.cl-ogift > span > strong { font-family: var(--font-display); }
.cl-ogift .cl-badge--free { font: 700 11px var(--font-data); color: var(--white); background: var(--red); border-radius: 6px; padding: 2px 6px; margin-left: 4px; }
.cl-ogift__free { font-family: var(--font-data); color: var(--mint-700); }
.cl-theme .cl-acct .cl-panel.cl-ocard h2 { font-size: 17px; }
.cl-theme .cl-acct .cl-ocard__text, .cl-theme .cl-acct .cl-ocard__text address { font-style: normal; font-size: 14.5px; line-height: 23px; color: var(--slate-700); margin: 10px 0 0; }
.cl-theme .cl-acct .cl-ocard__mono, .cl-theme .cl-acct .cl-ocard__note { line-height: normal; }
.cl-theme .cl-acct .cl-ocard--sum .cl-review__row { display: flex; justify-content: space-between; color: var(--slate-700); line-height: normal; font-size: 14.5px; }
.cl-theme .cl-acct .cl-ocard--sum .cl-review__row > span:last-child { font-family: var(--font-data); }
.cl-theme .cl-acct .cl-ocard--sum .cl-review__row.is-save { color: var(--mint-700); font-weight: 600; }
.cl-theme .cl-acct .cl-ocard--sum .cl-ocard__total { font: 700 20px/normal var(--font-display) !important; color: var(--navy-900) !important; }

/* Addresses */
.cl-theme .cl-acct__content .cl-addr.woocommerce-Address { line-height: normal; }
.cl-theme .cl-acct__content .cl-addr.woocommerce-Address.is-default { border-color: var(--cobalt); }
.cl-theme .cl-acct .cl-addr__head strong { font-weight: 700; }
.cl-theme .cl-acct .cl-addr__lines { line-height: 23px; }

/* Payment methods */
.cl-cards { display: flex; flex-direction: column; gap: 10px; }
.cl-cardrow { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1.5px solid var(--slate-200); border-radius: 14px; padding: 14px 16px; }
.cl-cardrow.is-default { border-color: var(--cobalt); }
.cl-cardrow__brand { font: 700 12px var(--font-data); border: 1px solid var(--slate-350); border-radius: 6px; padding: 4px 8px; flex: none; }
.cl-cardrow__info { flex: 1; min-width: 140px; }
.cl-cardrow__info strong { font-family: var(--font-data); }
.cl-cardrow__info span { font-size: 13px; color: var(--slate-500); }
.cl-theme .cl-cardrow__del { color: var(--red); font-size: 20px; flex: none; }
.cl-theme .cl-cardrow__del:hover { color: var(--red-600); }
.cl-cards__empty { font-size: 14.5px; color: var(--slate-500); margin: 0 0 6px; }
.cl-cards__add { margin-top: 14px; }

/* Account details */
.cl-theme .cl-acct .cl-details .form-row > label,
.cl-theme .cl-acct .cl-addr-form .form-row > label { font-size: 13.5px; font-weight: 500; line-height: normal; color: var(--slate-800); }
.cl-theme .cl-acct .cl-details input.input-text,
.cl-theme .cl-acct .cl-addr-form input.input-text,
.cl-theme .cl-acct .cl-addr-form select { padding: 12px 14px; min-height: 0; line-height: normal; background: var(--white); border-color: var(--slate-350); }
.cl-theme .cl-acct .cl-addr-form .select2-container .select2-selection--single { min-height: 0; height: auto; padding: 12px 14px; border: 1px solid var(--slate-350); border-radius: var(--radius-lg); background: var(--white); }
.cl-theme .cl-acct .cl-addr-form .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: normal; color: var(--navy-900); }
.cl-theme .cl-acct .cl-addr-form .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 8px; }
.cl-theme .cl-acct .cl-details .cl-optional { font-weight: 400; color: var(--slate-500); }
.cl-theme .cl-acct .cl-pw-current[hidden] { display: none !important; }
.cl-theme .cl-acct .cl-prefs__title { font: 600 16px/normal var(--font-display); letter-spacing: normal; margin: 22px 0 10px; }
.cl-theme .cl-acct .cl-pref { display: flex; gap: 10px; align-items: center; font-size: 14.5px; font-weight: 400; line-height: normal; color: var(--slate-700); margin: 0 0 8px; cursor: pointer; }
.cl-theme .cl-acct .cl-pref:last-of-type { margin-bottom: 0; }
.cl-theme .cl-acct .cl-pref input { width: 16px; height: 16px; margin: 3px 3px 3px 4px; accent-color: var(--cobalt); }

/* Edit address: same grid as the mockup's address form */
.cl-theme .cl-acct__content > form.cl-addr-form { padding: 24px; }
.cl-theme .cl-acct__content > form.cl-addr-form h2 { font: 600 20px/normal var(--font-display); letter-spacing: normal; margin: 0 0 16px; }
.cl-theme .cl-acct__content .cl-addr-form .woocommerce-address-fields__field-wrapper { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: 12px; }
.cl-theme .cl-acct__content .cl-addr-form .woocommerce-address-fields__field-wrapper > .form-row { grid-column: 1 / -1; }
.cl-theme .cl-acct__content .cl-addr-form .woocommerce-address-fields__field-wrapper > .form-row-first,
.cl-theme .cl-acct__content .cl-addr-form .woocommerce-address-fields__field-wrapper > .form-row-last,
.cl-theme .cl-acct__content .cl-addr-form .woocommerce-address-fields__field-wrapper > .form-row-third,
.cl-theme .cl-acct__content .cl-addr-form .woocommerce-address-fields__field-wrapper > #billing_phone_field { grid-column: auto; }
.cl-theme .cl-acct__content .cl-addr-form #billing_email_field { display: none !important; }
.cl-addr-form__actions { display: flex; gap: 10px; margin-top: 18px; }

/* Download invoice prints the order page only */
@media print {
	.cl-topbar, .site-header, .site-footer, .cl-footer, .cl-acct__head, .cl-acct__nav, .cl-back, .cl-oactions, .cl-oline__actions, .cc-mini, .cl-acct::before { display: none !important; }
	.cl-acct { background: #fff !important; min-height: 0; }
	.cl-acct > .cl-wrap { padding: 0 !important; }
	.cl-panel { break-inside: avoid; }
}
.cl-theme .cl-auth wc-order-attribution-inputs { display: none; }
.cl-theme .cl-acct .cl-panel__head h2 { margin: 0 !important; }
.cl-theme .cl-acct .cl-panel > .cl-panel__title { margin: 0 0 14px !important; }
.cl-theme .cl-acct .cl-panel > .cl-panel__title--tight { margin-bottom: 6px !important; }
.cl-theme .cl-acct .cl-details > .cl-panel__title { margin-bottom: 16px !important; }
.cl-theme .cl-acct .cl-panel h2.cl-order-title { font: 700 26px/normal var(--font-display); letter-spacing: normal; margin: 0 !important; }
.cl-theme .cl-acct .cl-back i { font-size: 14.5px; }
.cl-theme .cl-acct .cl-tile { font-size: 13.3333px; }
.cl-theme .cl-acct .cl-ocard__text { display: flex; flex-direction: column; }
.cl-theme .cl-acct__h1, .cl-theme .cl-acct__hello { text-wrap: wrap; }
.cl-theme .cl-acct .cl-oline:last-child { border-bottom: 1px solid var(--slate-150); }
.cl-cards__note { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--slate-500); margin: 14px 0 0; }
.cl-cards__note i { color: var(--mint); font-size: 18px; }
.cl-theme .cl-acct .cl-addr-form .form-row .required, .cl-theme .cl-acct .cl-details .form-row .required { display: none; }
/* Address book: Remove (red outline), inline action forms, add/edit form below the cards */
.cl-addr__form-inline { display: contents; margin: 0; }
.cl-theme .cl-acct .cl-btn--remove, .cl-theme .cl-acct .cl-btn--remove:visited { background: transparent; color: var(--red); border: 1px solid #F7C9CF; }
.cl-theme .cl-acct .cl-btn--remove:hover { border-color: var(--red); background: #FDE8EB; color: var(--red); }
.cl-theme .cl-acct__content > form.cl-addr-form { background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-3xl); }
.cl-theme .cl-acct .cl-addr-form .form-row .optional { display: none; }
.cl-addr-form { scroll-margin-top: 110px; }
/* Add a card (mockup: grey box inside the Saved cards card) */
.cl-cardform { margin-top: 16px; border: 1px solid var(--slate-350); border-radius: 16px; padding: 18px; background: #F8FAFC; }
.cl-cardform__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.cl-cardform__head strong { font: 600 16px/normal var(--font-display); color: var(--navy-900); }
.cl-cardform__note { font-size: 14.5px; line-height: 22px; color: var(--slate-700); margin: 0; }
.cl-cardform__actions { display: flex; gap: 10px; margin-top: 16px; }
.cl-theme .cl-acct .cl-cardform #payment { background: none; border: 0; padding: 0; margin: 0; }
.cl-theme .cl-acct .cl-cardform .payment_methods { list-style: none; margin: 0; padding: 0; border: 0; }
.cl-theme .cl-acct .cl-cardform .payment_methods li { margin: 0; padding: 0; border: 0; background: none; }
.cl-theme .cl-acct .cl-cardform .payment_methods.is-single > li > input.input-radio,
.cl-theme .cl-acct .cl-cardform .payment_methods.is-single > li > label { display: none; }
.cl-theme .cl-acct .cl-cardform .payment_box { background: none; padding: 0; margin: 0; font-size: 14.5px; color: var(--slate-700); }
.cl-theme .cl-acct .cl-cardform .payment_box::before { display: none; }
.cl-theme .cl-acct .cl-cardform .payment_box input.input-text { background: var(--white); padding: 12px 14px; min-height: 0; line-height: normal; }
/* Payment methods card: same blue outline as the default address card */
.cl-theme .cl-acct .cl-panel--accent { border: 1.5px solid var(--cobalt); }
/* Referral code tile: mono like the mockup */
.cl-theme .cl-acct .cl-tile strong.is-code { font: 700 20px/normal var(--font-data); margin-top: 12px; letter-spacing: normal; }
/* Tiles are buttons in the mockup: content centred vertically in equal-height tiles */
.cl-theme .cl-acct .cl-tile { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.cl-theme .cl-acct .cl-tile i { display: block; height: 28px; }
.cl-theme .cl-acct .cl-tile strong { align-self: stretch; }
/* My COAs */
.cl-theme .cl-acct .cl-panel > .cl-panel__title--flush { margin-bottom: 0 !important; }
.cl-theme .cl-acct .cl-panel > .cl-panel__title--ten { margin-bottom: 10px !important; }
.cl-panel__lead { font-size: 14px; color: var(--slate-600); margin: 6px 0 14px; }
.cl-coa-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px 0; border-top: 1px solid var(--slate-150); }
.cl-coa-row > i { font-size: 26px; color: var(--red); flex: none; }
.cl-coa-row__main { flex: 1 1 200px; min-width: 0; }
.cl-coa-row__main > strong { font-family: var(--font-display); font-size: 15px; }
.cl-coa-row__meta { font: 500 12.5px var(--font-data); color: var(--slate-500); }
.cl-coa-row__purity { font: 600 14px var(--font-data); color: var(--cobalt); }
/* Referral & credit */
.cl-ref-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.cl-ref-tiles__k { font: 500 12px var(--font-data); color: var(--slate-500); }
.cl-ref-tiles__credit { display: block; font: 700 30px/normal var(--font-display); color: var(--mint-700); margin-top: 6px; }
.cl-ref-tiles__credit * { font: inherit; color: inherit; }
.cl-ref-tiles__code { display: block; font: 700 26px/normal var(--font-data); margin-top: 8px; }
.cl-ref-tiles__count { display: block; font: 700 30px/normal var(--font-display); margin-top: 6px; }
.cl-ref-tiles__note { font-size: 13.5px; color: var(--slate-600); }
.cl-theme .cl-acct .cl-ref-tiles__copy { display: block; margin-top: 8px; border: 0; background: transparent; color: var(--cobalt); font: 600 14px/normal var(--font-body); padding: 0; cursor: pointer; box-shadow: none; }
.cl-theme .cl-acct .cl-ref-tiles__copy:hover { color: var(--cobalt-600); background: transparent; text-decoration: underline; }
.cl-credit-row { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--slate-150); font-size: 14.5px; }
.cl-credit-row > strong { font-family: var(--font-data); color: var(--mint-700); }
.cl-credit-row > strong.is-neg { color: var(--slate-700); }
.cl-credit-actions { margin-top: 14px; }

/* ---------- Crucial Credit toggle at checkout (1.3.7) ---------- */
.cl-co-credit { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid #BFE8DA; background: #F1FBF7; border-radius: 12px; font-size: 14px; color: var(--navy-900); cursor: pointer; margin: 0; }
.cl-co-credit input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: #0E9474; flex: none; }
.cl-co-credit > span { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cl-co-credit i { color: #0E9474; font-size: 18px; }
.cl-co-credit strong { color: #0E9474; font-weight: 700; }

/* Phones: the account cards fill the width, so their padding must sit inside it (1.4.1). */
@media (max-width: 760px) {
	.cl-theme .cl-acct .cl-auth,
	.cl-theme .cl-acct .cl-acct__nav,
	.cl-theme .cl-acct .cl-addr,
	.cl-theme .cl-acct .cl-ocard { box-sizing: border-box; max-width: 100%; }
}


/* ==========================================================================
   Mobile fixes from the phone audit (1.4.4)
   ========================================================================== */

/* Header: menu, logo, account and cart on one row; search on the row below. */
@media (max-width: 600px) {
	.cl-theme .cl-header__row { column-gap: 4px; row-gap: 10px; padding-top: 10px; padding-bottom: 12px; }
	.cl-theme .cl-nav-toggle { order: -1 !important; padding: 8px 10px !important; margin-right: 2px; }
	.cl-theme .cl-brand { order: 0; gap: 8px; min-width: 0; }
	.cl-theme .cl-brand .cl-logo-mark { width: 28px; height: 28px; }
	.cl-theme .cl-brand__word { font-size: 17px; }
	.cl-theme .cl-header__row .custom-logo-link img { max-height: 32px; }
	.cl-theme .cl-account { order: 2; margin-left: auto; padding: 8px 6px; }
	.cl-theme .cl-cart-link { order: 3; padding: 8px 6px 8px 8px; gap: 5px; }
	.cl-theme .cl-search { order: 9; }
}
@media (max-width: 370px) {
	.cl-theme .cl-brand__word { font-size: 15.5px; }
	.cl-theme .cl-brand .cl-logo-mark { width: 24px; height: 24px; }
}

/* Top notice bar: one line on phones. */
@media (max-width: 600px) {
	.cl-theme .cl-topbar { font-size: 12.5px; padding-top: 7px; padding-bottom: 7px; gap: 4px 16px; }
}

/* Cart page on phones: the items first, then the delivery dates. */
@media (max-width: 760px) {
	.cl-theme .cl-cart__main > .cl-cart__lines { order: 1; }
	.cl-theme .cl-cart__main > .cl-arrive { order: 2; }
	.cl-theme .cl-cart__main > * { order: 3; }
	.cl-theme .cl-cart__main > .cl-cart__shipok,
	.cl-theme .cl-cart__main > .cl-cart__nudge { order: 0; }
}
.cl-theme .cl-cart .cl-arrive { gap: 8px; }

/* Checkout: the code box and long product names fit. */
.cl-theme .cl-co-coupon input::placeholder { text-transform: none; letter-spacing: 0; }
.cl-theme .cl-co-coupon input { text-overflow: ellipsis; }
.cl-review__info strong { white-space: normal; overflow: visible; text-overflow: clip; }

/* Text never below 12px. */
.cl-badge, .cl-review__qty, .cl-pill-default { font-size: 12px; }

/* Thumb-sized targets on touch screens. */
@media (pointer: coarse), (max-width: 760px) {
	.cl-theme input[type="checkbox"] { width: 20px; height: 20px; min-width: 20px; }
	.cl-theme .woocommerce-breadcrumb a { display: inline-block; padding: 8px 0; }
	.cl-theme.single-product .woocommerce-product-gallery__trigger { width: 40px; height: 40px; display: grid; place-items: center; }
	.cl-theme .cl-qty__btn { width: 40px; height: 42px; }
	.cl-theme .cl-qty input.qty.cl-qty__input { height: 42px; width: 34px; }
	.cl-theme .cl-ref-tiles__copy { padding: 10px 14px; min-height: 40px; }
	.cl-theme .cl-back { padding: 10px 0; }
	.cl-theme .cl-crumbs a { display: inline-block; padding: 8px 0; }
	.cl-theme .cl-remember, .cl-theme .cl-pref { min-height: 40px; align-items: center; }
	.cl-theme .cl-acct .woocommerce-orders-table a, .cl-theme .cl-orow a { min-height: 40px; display: inline-flex; align-items: center; }
}

/* No drop shadows on any button (1.4.5). Keyboard focus still shows an outline. */
:root { --shadow-cta: none; }
.cl-theme button, .cl-theme button:hover, .cl-theme button:focus,
.cl-theme .button, .cl-theme .button:hover, .cl-theme .button:focus,
.cl-theme input[type="submit"], .cl-theme input[type="button"],
.cl-theme .cl-btn, .cl-theme .cl-btn:hover, .cl-theme .cl-btn:focus,
.cl-theme .checkout-button, .cl-theme .checkout-button:hover,
.cl-theme #place_order, .cl-theme #place_order:hover,
.cl-theme .single_add_to_cart_button, .cl-theme .single_add_to_cart_button:hover,
.cl-theme .wc-block-components-button, .cl-theme .wc-block-components-button:hover,
.cl-theme .woocommerce-product-gallery__trigger,
body .cc-mini .button, body .cc-mini .button:hover, body .cc-mini .button:visited { box-shadow: none !important; }
.cl-theme button:focus-visible, .cl-theme .button:focus-visible, .cl-theme .cl-btn:focus-visible,
.cl-theme .checkout-button:focus-visible, .cl-theme #place_order:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }

/* Free item icon: test tube instead of a gift box, also in the slide-out cart (1.4.5). */
.cc-mini .ph-duotone.ph-gift:before { content: "\e7a0"; }
.cc-mini .ph-duotone.ph-gift:after { content: "\e7a1"; }


/* Header account greeting and cart with the count inside the basket (1.4.6). */
.cl-theme .cl-account { gap: 8px; line-height: 1.1; }
.cl-theme .cl-account i { font-size: 28px; }
.cl-theme .cl-account .cl-account__text { display: flex !important; flex-direction: column; align-items: flex-start; }
.cl-account__text small { font: 500 12px var(--font-body); color: var(--slate-600); }
.cl-account__text strong { font: 700 14.5px var(--font-body); color: var(--navy-900); max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cl-theme .cl-cart-link { padding: 6px 8px; gap: 0; }
.cl-cart-icon { position: relative; display: inline-block; width: 38px; height: 38px; }
.cl-theme .cl-cart-icon i { font-size: 38px; line-height: 38px; color: var(--cobalt); display: block; }
.cl-theme .cl-cart-icon .cl-cart-count { position: absolute; left: 57%; top: 41%; transform: translate(-50%, -50%); color: var(--navy-900); font: 700 12.5px/1 var(--font-body); letter-spacing: -0.02em; }
.cl-theme .cl-cart-icon .cl-cart-count.is-wide { font-size: 10.5px; }
@media (max-width: 600px) {
	.cl-theme .cl-account { gap: 5px; padding: 6px 4px; }
	.cl-theme .cl-account i { font-size: 26px; }
	.cl-account__text small { font-size: 11px; }
	.cl-account__text strong { font-size: 13px; max-width: 64px; }
	.cl-cart-icon { width: 34px; height: 34px; }
	.cl-theme .cl-cart-icon i { font-size: 34px; line-height: 34px; }
	.cl-theme .cl-cart-icon .cl-cart-count { font-size: 11.5px; }
	.cl-theme .cl-cart-icon .cl-cart-count.is-wide { font-size: 9.5px; }
}
@media (max-width: 370px) {
	.cl-theme .cl-account .cl-account__text { display: none !important; }
}
/* Cart count: red, 50% bigger, no fill inside the basket (1.4.6). */
.cl-theme .cl-cart-icon .cl-cart-count { color: var(--red); font-size: 18.75px; font-weight: 800; top: 40%; left: 57%; }
.cl-theme .cl-cart-icon .cl-cart-count.is-wide { font-size: 15.75px; }
@media (max-width: 600px) {
	.cl-theme .cl-cart-icon .cl-cart-count { font-size: 17.25px; }
	.cl-theme .cl-cart-icon .cl-cart-count.is-wide { font-size: 14.25px; }
}
/* Bigger basket so the larger count sits inside it. */
.cl-cart-icon { width: 46px; height: 46px; }
.cl-theme .cl-cart-icon i { font-size: 46px; line-height: 46px; }
.cl-theme .cl-cart-icon .cl-cart-count { top: 46%; left: 56%; }
@media (max-width: 600px) {
	.cl-cart-icon { width: 42px; height: 42px; }
	.cl-theme .cl-cart-icon i { font-size: 42px; line-height: 42px; }
}
@media (max-width: 600px) {
	.cl-theme .cl-cart-link { padding: 4px 0 4px 2px; }
	.cl-cart-icon { width: 40px; height: 40px; }
	.cl-theme .cl-cart-icon i { font-size: 40px; line-height: 40px; }
	.cl-theme .cl-account { padding: 6px 2px; }
}

/* Open-top basket (no line above the count), count raised (1.4.6). */
.cl-cart-svg { display: block; width: 100%; height: 100%; color: var(--cobalt); }
.cl-theme .cl-cart-icon .cl-cart-count { top: 36%; left: 57%; }

/* Header polish (1.4.6): wider basket with the count centred, outline profile icon, tighter account, logo closer to the name. */
.cl-cart-icon { width: 54px; height: 46px; }
.cl-theme .cl-cart-icon .cl-cart-count { left: 55%; top: 38%; }
.cl-theme .cl-account { gap: 4px; padding: 6px 4px; }
.cl-theme .cl-account i { font-size: 30px; color: var(--cobalt); }
.cl-theme .cl-brand { gap: 3px; }
@media (max-width: 600px) {
	.cl-cart-icon { width: 48px; height: 40px; }
	.cl-theme .cl-account { gap: 3px; padding: 6px 2px; }
	.cl-theme .cl-account i { font-size: 28px; }
	.cl-theme .cl-brand { gap: 2px; }
}
@media (max-width: 600px) {
	.cl-theme .cl-brand .cl-logo-mark { width: 31px; height: 31px; }
	.cl-theme .cl-brand__word { font-size: 18px; }
}
@media (max-width: 399px) {
	.cl-theme .cl-account .cl-account__text { display: none !important; }
	.cl-theme .cl-brand .cl-logo-mark { width: 30px; height: 30px; }
	.cl-theme .cl-brand__word { font-size: 17.5px; }
}
@media (max-width: 350px) {
	.cl-theme .cl-brand .cl-logo-mark { width: 26px; height: 26px; }
	.cl-theme .cl-brand__word { font-size: 15.5px; }
}

/* Cart: normal basket for 1 digit, slightly wider for 2+; profile icon without circle; Go button near the edge (1.4.6). */
.cl-cart-icon { width: 46px; height: 46px; }
.cl-cart-icon.is-wide { width: 50px; }
.cl-cart-svg--two { display: none; }
.cl-cart-icon.is-wide .cl-cart-svg--one { display: none; }
.cl-cart-icon.is-wide .cl-cart-svg--two { display: block; }
.cl-theme .cl-cart-icon .cl-cart-count { left: 53%; top: 38%; }
.cl-theme .cl-cart-icon.is-wide .cl-cart-count { left: 52.5%; }
.cl-theme .cl-account i { font-size: 27px; }
.cl-theme .cl-search { padding: 3px 3px 3px 16px; }
.cl-theme .cl-search button { align-self: stretch; }
@media (max-width: 600px) {
	.cl-cart-icon { width: 40px; height: 40px; }
	.cl-cart-icon.is-wide { width: 44px; }
	.cl-theme .cl-account i { font-size: 25px; }
}

/* Greeting: half the space between "Hi," and the name (1.4.7). */
.cl-account__text small { line-height: 1; }
.cl-account__text strong { line-height: 1.05; margin-top: 1px; }

/* Mobile menu: credit and orders at a glance (1.4.7). */
.cl-nav-acct { display: none; }
@media (max-width: 900px) {
	.cl-nav-acct { display: block; margin: 2px 0 8px; border: 1px solid var(--slate-200); border-radius: 10px; overflow: hidden; background: var(--mist); }
	.cl-nav-acct__row { display: flex; align-items: center; gap: 10px; padding: 11px 12px; color: var(--navy-900); text-decoration: none; font-size: 15px; }
	.cl-nav-acct__row + .cl-nav-acct__row { border-top: 1px solid var(--slate-200); }
	.cl-nav-acct__row > i:first-child { font-size: 20px; color: var(--navy-700, var(--navy-900)); }
	.cl-theme .cl-nav-acct__row, .cl-theme .cl-nav-acct__row span { color: var(--navy-900); }
	.cl-nav-acct__row span { flex: 1; }
	.cl-theme .cl-nav-acct__row strong { color: var(--blue-600, #1f5cff); }
	.cl-nav-acct__row strong { font-weight: 700; font-variant-numeric: tabular-nums; }
	.cl-nav-acct__go { font-size: 14px; color: var(--slate-500, #64748b); }
	.cl-nav-acct__row:active { background: var(--slate-100); }
}

/* Mobile header: half the space under the top bar, 25% less above the search (1.4.7). */
@media (max-width: 900px) {
	.cl-theme .cl-header__row { padding-top: 2px; row-gap: 6px; }
}

/* Mobile menu: lifetime bulk savings row (1.4.8). */
@media (max-width: 900px) {
	.cl-theme .cl-nav-acct__row.is-save { background: #e9f8f1; }
	.cl-theme .cl-nav-acct__row.is-save > i:first-child,
	.cl-theme .cl-nav-acct__row.is-save strong { color: #0f8a5f; }
}

/* Footer (1.4.8): logo 30% bigger, Company links on wrapped lines with " | ", copyright on its own line. */
.cl-theme .cl-footer .cl-brand svg { height: 36px; width: auto; }
.cl-theme .cl-footer .cl-brand__word { font-size: 25px; }
@media (max-width: 900px) {
	.cl-theme .cl-footer .cl-brand svg { height: 40px; }
	.cl-theme .cl-footer .cl-brand__word { font-size: 23.5px; }
}
@media (max-width: 760px) {
	.cl-theme .cl-footer__list--company, .cl-theme .cl-footer__list--support { flex-direction: row; flex-wrap: wrap; gap: 6px 0; }
	.cl-theme .cl-footer__list--company li:not(:last-child)::after, .cl-theme .cl-footer__list--support li:not(:last-child)::after { content: "|"; margin: 0 9px; color: #4A5A75; }
}
.cl-theme .cl-footer__copy { margin-top: 10px !important; }

/* Footer disclaimer label (1.4.10). */
.cl-theme .cl-footer__label { color: #AEB9CC; font-weight: 600; }

/* Back to top bar, flush with the top of the footer (1.4.12). */
.cl-theme .cl-totop { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; box-sizing: border-box; margin: 0; padding: 14px 16px; background: var(--footer-bar); color: #D5DEEA; font-size: 14.5px; font-weight: 600; text-decoration: none; letter-spacing: .01em; }
.cl-theme .cl-totop:hover, .cl-theme .cl-totop:focus-visible { background: var(--footer-bar-over); color: #fff; }
.cl-theme .cl-totop i { font-size: 17px; -webkit-text-stroke: .6px currentColor; }
@media print { .cl-totop { display: none !important; } }

/* Mobile footer: Shop links in 2 columns of 3, a little more space between them (1.4.13). */
@media (max-width: 760px) {
	.cl-theme .cl-footer__list--shop { display: grid; grid-template-rows: repeat(3, auto); grid-auto-flow: column; grid-auto-columns: max-content; gap: 14px 44px; }
}

/* Refer page: flat program summary instead of the order slider (1.4.15). */
.cl-ref-sum { display: flex; flex-direction: column; gap: 0; }
.cl-ref-sum .cl-calc-row { padding: 10px 0; font: 14.5px var(--font-body); color: var(--slate-700); }
.cl-ref-sum .cl-calc-row + .cl-calc-row { border-top: 1px solid rgba(14,148,116,.18); }
.cl-ref-sum .cl-calc-row strong { font-weight: 700; }
.cl-ref-sum .cl-calc-row strong.is-earn { color: var(--mint-700); }

/* Lab testing: the five assay cards overlap the bottom of the banner and are numbered 01–05,
   so they read as part of "Five assays. One public record." (1.4.16) */
.cl-page-hero:has(+ .cl-sec .cl-assay-cards) > .cl-wrap { padding-bottom: 152px; }
.cl-page-hero + .cl-sec:has(> .cl-assay-cards) { position: relative; z-index: 2; margin-top: -96px; padding-top: 0; }
.cl-assay-cards { counter-reset: cl-assay; }
.cl-theme .cl-assay-cards .cl-assay-card { position: relative; counter-increment: cl-assay; box-shadow: 0 14px 34px rgba(11, 27, 51, 0.09); }
.cl-assay-cards .cl-assay-card::after { content: "0" counter(cl-assay); position: absolute; top: 20px; right: 22px; font: 600 13px var(--font-data); letter-spacing: .06em; color: var(--slate-400, #94a3b8); }
@media (max-width: 760px) {
	.cl-page-hero:has(+ .cl-sec .cl-assay-cards) > .cl-wrap { padding-bottom: 112px; }
	.cl-page-hero + .cl-sec:has(> .cl-assay-cards) { margin-top: -64px; }
}

/* Product page (1.4.17): AKA names under the title, "SKU: … | 10MG", crossed-out price half the sale price. */
.cl-theme.single-product .summary .cl-title-aka { margin: 6px 0 0; font-size: 15px; line-height: 1.45; color: var(--slate-600); }
.cl-theme.single-product .summary .cl-title-aka span { font-weight: 600; color: var(--slate-700); }
.cl-theme .cl-sku { text-transform: uppercase; }
.cl-theme .cl-sku__sep { margin: 0 10px; color: var(--slate-300, #cbd5e1); }
.cl-theme.single-product .summary .price del { font-size: .5em; vertical-align: middle; color: var(--slate-500); margin-right: -2px; }
.cl-theme.single-product .summary .price del * { font-size: inherit; }
.cl-theme.single-product .summary .price ins { text-decoration: none; }

/* Desktop header logo 25% bigger (1.4.20). */
@media (min-width: 901px) {
	.cl-theme .cl-header .cl-brand { gap: 4px; }
	.cl-theme .cl-header .cl-brand .cl-logo-mark { width: 45px; height: 45px; }
	.cl-theme .cl-header .cl-brand__word { font-size: 23.75px; }
}
